Имя: Пароль:
1C
1C 7.7
v7: Штрих-м и маркировка шин - вопросы
0 jq
 
08.10.20
15:58
Добрый день. В поисках совета, поделитесь своим опытом пожалуйста.
У штрих-м и на форумах как всегда все запутанно, в связи с чем возникли вопросы:

1. Правильно ли я понимаю, что при пробитии чека с шинами, например, 1 позиция в кол-ве 4 шт, у меня в блоке Операция по товару в чеке будет один блок с товаром, далее закрывается операция FNOperation() и потом в цикле присваиваю 4 кода маркировки? Или должно быть 4 одинаковых блока FNOperation с одним и тем же товаром, и после каждой операции в чеке нужно списывать по 1 коду маркировки?
Т.е. так правильно?

    Пока СписокТоваров.ПолучитьСтроку() = 1 Цикл
        Объект.CheckType          = 1; // приход
        Объект.Password          = Пароль;
        Объект.StringForPrinting = СписокТоваров.Товар.Наименование;
        Объект.Price             = СписокТоваров.Цена;
        Объект.Quantity          = СписокТоваров.Количество;
        Объект.Department        = НомерСекции;
        Объект.Tax1              = 3;
        //.....
        Объект.FNOperation();
        
        КодыМаркировки.ВыбратьСтроки();
        Пока КодыМаркировки.ПолучитьСтроку() = 1 Цикл
            Объект.MarkingType := "$444D"; //Data Matrix 2
            Объект.GTIN = "04604060006000";
            Объект.SerialNumber = "N4N57RSCBUZTQ";
            Объект.FNSendItemCodeData();
        КонецЦикла;
    КонецЦикла;
    //.....
    Driver.CloseCheckEx();

Или так?

    КодыМаркировки.ВыбратьСтроки();
    Пока КодыМаркировки.ПолучитьСтроку() = 1 Цикл
        //.....
        Объект.FNOperation();
        
        Объект.MarkingType := "$444D"; //Data Matrix 2
        Объект.GTIN = "04604060006000";
        Объект.SerialNumber = "N4N57RSCBUZTQ";
        Объект.FNSendItemCodeData();            
    КонецЦикла;
    //.....
    Driver.CloseCheckEx();

2. В инструкции к драйверу штриха написано, что для маркировки нужно писать так Объект.MarkingType := "$444D"; //Data Matrix 2
Вопрос - доллар здесь лишний? Т.е. правильно так:

Объект.MarkingType = "444D";

Или нужно "44 4D" или все таки с $ ??? Что из этого "съест" Штрих-м ФР?

3. Как узнать и проверить какой код маркировки используется Data Matrix 2 или Data Matrix 3. Там отличие в последнем - в конце серийного номера нужно добавлять два пробела...
1 victuan1
 
09.10.20
04:36
1. Второй вариант - должно быть 4 одинаковых блока FNOperation с одним и тем же товаром, и после каждой операции в чеке нужно списывать по 1 коду маркировки

2. Это в каком мануале написано Объект.MarkingType := "$444D"? Можно ссылку на этот мануал?
Я пишу так:
Объект.MarkingType = 17485;

3. Что за термины "Data Matrix 2" и "Data Matrix 3"? Первый раз слышу. Можно ссылку на это описание?
2 jq
 
09.10.20
13:47
(1) Спасибо за ответы
Вообще у них есть мануал называется Штрих-М: Драйвер ККТ 4.15 Руководство программиста (последняя версия от 03.06.20) с полным описанием процедур драйвера Штрих-м для ККТ, и там для метода FNSendItemCodeData() и приведен кусок кода...
А также есть документ от Штриха с подробным описанием методов, но там как всегда путаница - Работа с тегом 1162, в нем описан обычный метод передачи тега, где и встречается "$444D" и упоминается Data Matrix 3...
https://docs.google.com/document/d/1m3gHyKvM0gBMPgpzG-1cFsfVDnecouCtzQBJVDooGuM/edit#heading=h.mognv3d88osw
Где-то на форумах встречал, что "17485" используется на старых прошивках до марта 2020 года...
3 jq
 
09.10.20
13:55
Действительно, это я уже что-то запутался, в мануале так:

444Dh (17485) - Код товара в формате GS1
Data Matrix или Data Matrix маркировки
Основная теорема систематики: Новые системы плодят новые проблемы.