Выгрузка нескольких штрих-кодов одного товара в программу Штрих-Кассир

1. Arutunov 38 11.06.12 12:30 Сейчас в теме
УТ 10.3. Столкнулся с такой задачей нужно, чтобы выгружались все штрих-коды у номенклатуры, причем забитые на одну ед. измерения. Кто сталкивался подскажите, что делать.
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Dens11 13.06.12 13:53 Сейчас в теме
Уважаемый в чем собственно проблема? Конкретно что не получается сделать - построить правильный запрос, допилить обработку выгрузки или еще что?
3. Arutunov 38 15.06.12 14:31 Сейчас в теме
Не могу сообразить как правильно изменить стандартный запрос, чтобы новый код присваивался новому штрих-коду. Если можете подскажите, в какую сторону нужно рулить.
4. fromlion 184 15.06.12 14:35 Сейчас в теме
заремарь то место где он ищет штрихкод по владельцу при создании штрихкод, а просто создавай новый. Или выложи код глянем.
5. Arutunov 38 15.06.12 14:58 Сейчас в теме
Как я понимаю вот процедура которая выбирает условия заполнения товаров для выгрузки в ккм:

Процедура ЗаполнитьПостроительОтчета()

ПостроительОтчета.Параметры.Вставить("ПустаяСерия", Справочники.СерииНоменклатуры.ПустаяСсылка());
ПостроительОтчета.Параметры.Вставить("КассыККМ", КассыККМ);

Если ИсточникиДанныхНеВыбраны() Тогда
ТекстЗапроса = "
|ВЫБРАТЬ
| 0
|";
Иначе
ТекстЗапроса = "ВЫБРАТЬ РАЗЛИЧНЫЕ
| Ном.*,
| СпрКассы.Ссылка КАК Касса
|ИЗ
| (
|";

Если ЗаполнитьПоШтрихКодам Тогда
ТекстЗапроса = ТекстЗапроса + "
|ВЫБРАТЬ
| РегШтрихКоды.Владелец КАК Номенклатура,
| РегШтрихКоды.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| РегШтрихКоды.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры

|ИЗ
| РегистрСведений.Штрихкоды КАК РегШтрихКоды
|ГДЕ
| РегШтрихКоды.Владелец Ссылка Справочник.Номенклатура
|{ГДЕ РегШтрихКоды.Владелец.* КАК Номенклатура}
|";
КонецЕсли;

Если ЗаполнитьПоСправочникуНоменклатуры Тогда
Если ЗаполнитьПоШтрихКодам Или ЗаполнитьПоКодамВесовогоТовара Тогда
ТекстЗапроса = ТекстЗапроса + "
|ОБЪЕДИНИТЬ";
КонецЕсли;

ТекстЗапроса = ТекстЗапроса + "
|ВЫБРАТЬ
| СпрНоменклатура.Ссылка КАК Номенклатура,
|";

Если ИспользоватьЕдиницыИзмерения Тогда
ТекстЗапроса = ТекстЗапроса + "
| СпрЕдиницы.Ссылка КАК ЕдиницаИзмерения,
|";
Иначе
ТекстЗапроса = ТекстЗапроса + "
| СпрНоменклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
|";
КонецЕсли;

Если ИспользоватьХарактеристики Тогда
ТекстЗапроса = ТекстЗапроса + "
| ЕСТЬNULL(СпрХарактеристики.Ссылка, СпрНоменклатура.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатуры,
|";
Иначе
ТекстЗапроса = ТекстЗапроса + "
| СпрНоменклатура.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры
|";
КонецЕсли;


ТекстЗапроса = ТекстЗапроса + "
|ИЗ
| (ВЫБРАТЬ
| СпрНоменклатура.Ссылка КАК Ссылка,
| СпрНоменклатура.ЕдиницаХраненияОстатков КАК ЕдиницаХраненияОстатков,
| ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) КАК ХарактеристикаНоменклатуры
| ИЗ
| Справочник.Номенклатура КАК СпрНоменклатура
| ГДЕ
| НЕ СпрНоменклатура.ЭтоГруппа
| {ГДЕ СпрНоменклатура.Ссылка.* КАК Номенклатура}
| ) КАК СпрНоменклатура
|";

Если ИспользоватьЕдиницыИзмерения Тогда
ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ
| Справочник.ЕдиницыИзмерения КАК СпрЕдиницы
|ПО
| СпрЕдиницы.Владелец = СпрНоменклатура.Ссылка
|";
КонецЕсли;

Если ИспользоватьХарактеристики Тогда
ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ
| (ВЫБРАТЬ
| СпрХарактеристики.Ссылка КАК Ссылка,
| СпрХарактеристики.Владелец КАК Владелец
| ИЗ
| Справочник.ХарактеристикиНоменклатуры КАК СпрХарактеристики
| ОБЪЕДИНИТЬ
| ВЫБРАТЬ
| ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка),
| NULL
| )КАК СпрХарактеристики
|ПО
| СпрХарактеристики.Владелец = СпрНоменклатура.Ссылка
| ИЛИ СпрХарактеристики.Ссылка = СпрНоменклатура.ХарактеристикаНоменклатуры
|";
КонецЕсли;

КонецЕсли;

ТекстЗапроса = ТекстЗапроса + "
|) КАК Ном
|";

ТекстЗапроса = ТекстЗапроса + "
|ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| Справочник.КассыККМ КАК СпрКассы
|ПО
| СпрКассы.Ссылка В (&КассыККМ)
|ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрСведений.ТоварыНаККМ КАК ТоварыНаККМ
|ПО
| ТоварыНаККМ.Номенклатура = Ном.Номенклатура
| И ТоварыНаККМ.ХарактеристикаНоменклатуры = Ном.ХарактеристикаНоменклатуры
| И ТоварыНаККМ.ЕдиницаИзмерения = Ном.ЕдиницаИзмерения
| И ТоварыНаККМ.КассаККМ = СпрКассы.Ссылка
|";

Если ТолькоИмеющиесяВНаличии Тогда
ТекстЗапроса = ТекстЗапроса + "
|ЛЕВОЕ СОЕДИНЕНИЕ
| (ВЫБРАТЬ
| Остатки.Номенклатура КАК Номенклатура,
| Остатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| СУММА(Остатки.Количество) КАК Количество
| ИЗ
| (ВЫБРАТЬ
| РегТоварыНаСкладах.Номенклатура КАК Номенклатура,
| РегТоварыНаСкладах.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| РегТоварыНаСкладах.КоличествоОстаток КАК Количество
| ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(, {Номенклатура.* КАК Номенклатура,
| Склад.* КАК Склад}) КАК РегТоварыНаСкладах
| ОБЪЕДИНИТЬ ВСЕ
| ВЫБРАТЬ
| РегТоварыВРознице.Номенклатура КАК Номенклатура,
| РегТоварыВРознице.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| РегТоварыВРознице.КоличествоОстаток КАК Количество
| ИЗ
| РегистрНакопления.ТоварыВРознице.Остатки(, {Номенклатура.* КАК Номенклатура,
| Склад.* КАК Склад}) КАК РегТоварыВРознице
| ) КАК Остатки
| СГРУППИРОВАТЬ ПО
| Остатки.Номенклатура,
| Остатки.ХарактеристикаНоменклатуры
| ) КАК Остатки
|ПО
| Остатки.Номенклатура = Ном.Номенклатура
| И Остатки.ХарактеристикаНоменклатуры = Ном.ХарактеристикаНоменклатуры
|ГДЕ
| (ЕСТЬNULL(Остатки.Количество, 0) > 0
| ИЛИ Ном.Номенклатура.Услуга)
| И ТоварыНаККМ.Номенклатура ЕСТЬ NULL
| И Не Ном.Номенклатура.Набор
|";
Иначе
ТекстЗапроса = ТекстЗапроса + "
|ГДЕ
| ТоварыНаККМ.Номенклатура ЕСТЬ NULL
| И Не Ном.Номенклатура.Набор
|";
КонецЕсли;

ТекстЗапроса = ТекстЗапроса + "
|";
КонецЕсли;

ПостроительОтчета.Текст = ТекстЗапроса;

ПостроительОтчета.ЗаполнитьНастройки();

// Создадим список доступных отборов.
СоответствиеДоступныхОтборов = Новый Соответствие;
СоответствиеДоступныхОтборов.Вставить("Номенклатура", 0);
СоответствиеДоступныхОтборов.Вставить("Склад", 0);

Для Каждого ДоступноеПоле Из ПостроительОтчета.ДоступныеПоля Цикл
Если СоответствиеДоступныхОтборов[ДоступноеПоле.Имя] = Неопределено Тогда
ДоступноеПоле.Отбор = Ложь;
Иначе
ДоступноеПоле.Отбор = Истина;
КонецЕсли;
КонецЦикла;

// Создадим массив отборов.
МассивОтбора = Новый Массив;

Если Не ИсточникиДанныхНеВыбраны() Тогда
МассивОтбора.Добавить("Номенклатура");

Если ТолькоИмеющиесяВНаличии Тогда
МассивОтбора.Добавить("Склад");
КонецЕсли;
КонецЕсли;

Для Каждого ЭлементОтбора Из МассивОтбора Цикл
Если ПостроительОтчета.Отбор.Найти(ЭлементОтбора) = Неопределено Тогда
ПостроительОтчета.Отбор.Добавить(ЭлементОтбора);
КонецЕсли;
КонецЦикла;
6. fromlion 184 15.06.12 15:28 Сейчас в теме
ну, вот написано что можно заполнять по штрихкоду, а не по справочнику. Интересует другой момент, ты могешь создать для одной номенклатуры с одной и тойже единицей разные штрихкоды?
7. Arutunov 38 15.06.12 15:52 Сейчас в теме
Да могу бывает приходит один и тот же товар, а штрих-код разный. Когда заполняешь по штрих-коду он выбирает только ту номенклатуру у которой вообще есть штрих-код.
8. fromlion 184 15.06.12 16:10 Сейчас в теме
что то я непонимаю твоей проблемы.
9. Arutunov 38 15.06.12 16:31 Сейчас в теме
Проблема в том что-бы каждому штрих-коду номенклатуры присваивался свой код для выгрузки.
10. reazek 18.06.12 12:49 Сейчас в теме
читай формат файла штрих-кассира.
поддерживается неограниченное количество ШК на один товар.
главное их верно грузить в текстовик
13. tvixeg 499 15.11.12 13:58 Сейчас в теме
(10) reazek, Так то если почитать формат файла кассира поддерживается только один штрих-код на товар. Через дополнительные единицы измерения канечно можно, но все таки для Кассира это будут разные товары со своим наименованием и ценой. Сам настраивал обмен между комплексной и кассиром. Бывает штрих-коды у товаров меняются, но действующий обычно один. При поступлении новых товаров очищал их старые штрих-кода, назначал новые. В таком виде все корректно работает, у каждого товара один штрих-код.
14. reazek 15.11.12 14:17 Сейчас в теме
(13) Товар для кассира 1-н - остальные к нему доп единицы измерения.
так что несколько поддерживается и работает на ура.
пример - у клиента помимио заводских ШК всегда по умолчанию присваивается внутренний, в кассире - как минимум два.
а то и 10-ть - есть кампании , которые при смене упаковки на товар меняют ШК. а по факту это единый товар, из-за него заводить отдельный товар как сущность в бэке смысла нет.
Кроме того вопрос как выделять товар. пример - носки. у каждого размера свой ШК, у цвета свой ШК.
если выделять каждый отдельный шк как товар - будет 25 носков. если носки идут как сопутка - смысла нет.
11. Arutunov 38 29.06.12 11:54 Сейчас в теме
все разобрался загрузил как дополнительную ед. через #. Если кого заинтересует спрашивайте.
vovan1322; +1 Ответить
12. admin1s@rambler.ru 14.11.12 12:22 Сейчас в теме
Как все таки получилось выгрузить товар с несколькими ШК, не совсем понял про "через #. "
15. admin1s@rambler.ru 15.11.12 18:27 Сейчас в теме
Про разные ед. измерения понятно. Те есть товар, ему добавил ед. измерения - шт, шт 1, шт 2 и тд. Не будет ли проблем при загрузке продаж, если товар оприходован в шт, а продавался в шт1?
16. reazek 15.11.12 18:42 Сейчас в теме
(15)Если у тебя все доп единицы одного типа нет.
И если разного - тоже нет.
т.е. если у тебя создано 5 допединицы равных основной и все они шт - все ок.
и если у тебя основная штука а доп с др штрихкодов упаковка - тоже нет.
во втором случае - смотри за коэффициентом
17. admin1s@rambler.ru 16.11.12 11:06 Сейчас в теме
Понял, спасибо, буду пробовать
18. user1293179 10.10.19 12:49 Сейчас в теме
Добрый день. Подскажите, пожалуйста, как добавлять на склад по штрихкоду товар, если он приходит несколькими пакетами? Как объединить штрихкода в один? То есть пришел шкаф, по товарной накладной одной строкой, Продается одной строкой, но на склад поступает как отдельные детали со штрихкодами. Интересует как сделать штрихкод на сам шкаф и под ним внутри несколько штрихкодов, и в программе отражалось как один шкаф , а не три например. Вводим штрихкоды на шкаф, пробиваются три шкафа, на три детали от одного шкафа.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот