Перейти к основному контенту

Штрих-М. Передача тега 1163 (Маркировка ФФД 1.2) через Тест Драйвера

Передача тега 1163 через Тест Драйвера - функция для тестирования инженерами и разработчиками. Тест Драйвера не предполагает за собой ежедневное использование, поэтому жутко неудобен. Для работы с маркировкой лучше использовать нормальные кассовые программы, например бесплатные Бифит Касса и Торговля Онлайн.

 

Здесь описано что делать после того как подготовились к работе, завели позицию через Тест Драйвера ФР и теперь требуется передать тег 1163 с помощью его же.

 

Если установлен Тест Драйвера версии 5.17 и выше, то сканировать код можно сразу в окно во вкладке КТ2, если сканер в клавиатурном режиме и передает символ GS.

 

Убедитесь что включена печать тегов в Таблице 17 Поле 25

0 - не печатать

1 - печатать

 

Ниже описание на примере Тестового ОФД. Тестовый ОФД бракует все Коды Маркировки как выбывшие или несуществующие, поэтому в каждом бумажном чеке написано КМ?

 

Если связь с интернетом есть, то будет печататься [М-], так как тестовый ОФД сигнализирует о том, что все коды выбыли.

 

Если связи с интернетом нет, то будет печататься [М], так как аппарат не может ни подтвердить ни опровергнуть что код плохой

Пачка сигарет

Считываем код в notepad++

Вне зависимости настроен ли сканер на чтение символа-разделителя или нет, считается правильно, так как в коде пачки сигарет нет символов-разделителей.

У нас получится:

00000046217141je+ySKSABoAb54O

Где 00000046217141 - GTIN

je+ySKS - код идентификации экземпляра товара

ABoA - Максимальная Розничная Цена. Не участвует в старых требованиях

b54O - крипто-информация. 

Заводим позицию и переходим во вкладку привязывания кода маркировки к позиции.

 

Считываем сканером и сразу передаем в данное окошко:

Табак не проверяется ФН, так как имеет короткий криптохвост. Поэтому пишется "КМ данного типа не подлежит проверке в ФН" и "код маркировки не может быть проверен".

 

В ФН запишется так:

Обратите внимание, что признак предмета расчета у табака 2 - подакцизный товар

А на печать выйдет так:

Блок сигарет

Считываем код блока сигарет через notepad++

Если сканер настроен неверно, то у нас получится:

Если сканер настроен правильно, то у нас получится:

 

0104640030090839210001+n0800514500093zBLp

Где 04640030090839 - GTIN

0001+n0 - код идентификации экземпляра товара

145000 - Максимальная Розничная Цена за блок в не кодированном виде с копейками. 

zBLp 

 

Добавляем символ 

<0x1D> 

перед “8005” и шести знаков после “8005”:

0104640030090839210001+n0<0x1D>8005145000<0x1D>93zBLp

Код не подлежит проверке в ФН

В фн запишется так:

Распечатается так:

 

Обувь 

 

Считываем код коробки обуви через notepad++

Если сканер настроен неверно, то у нас получится:

Если сканер настроен правильно, то у нас получится:



У нас получится:

010290000000776521&d>V)0S>8fqDt91802392HUwL7ZRe79iU1uDW29owQD7VlDJa3Y5kDwEOwoD56cLGDMpYqjdID1dj+CCSmcrKLcnDlNDbMO4ZQLOTwTPaEg==

Где 02900000007765 - GTIN, а &d>V)0S>8fqDt - код идентификации экземпляра товара




Перед 91 и перед 92 ставим символ <0x1D>:

010290000000776521&d>V)0S>8fqDt<0x1D>918023<0x1D>92HUwL7ZRe79iU1uDW29owQD7VlDJa3Y5kDwEOwoD56cLGDMpYqjdID1dj+CCSmcrKLcnDlNDbMO4ZQLOTwTPaEg==

Код проверки подлежит проверке в ФН, но у данного экземпляра МГМ нет ключа проверки, возможно, потому что код старый (2019 год).

 

 

Еще пример:

010123456789012321soTr9,r!/bMc3r91005892pRJrcYZjki4XIC0ts7MMAE4xs18rlFDHLWypN/TaTckLbz919gqHTlIqi+ONEIOwxSRjBplVPfzIg4dPvFRxRg==

Добавляем разделители перед “91” и “92”:

010123456789012321soTr9,r!/bMc3r<0x1D>910058<0x1D>92pRJrcYZjki4XIC0ts7MMAE4xs18rlFDHLWypN/TaTckLbz919gqHTlIqi+ONEIOwxSRjBplVPfzIg4dPvFRxRg==

Данная категория товаров подлежит проверке в ФН.

В ФН запишется так:

Напечатается так:



Шины, Лекарства, Парфюм, Текстиль

Считываем код через notepad++

Если сканер настроен неверно, то у нас получится:

Если сканер настроен правильно, то у нас получится:

 

У нас получится:

010641944025951221s40h&'LFSH_pY91TEST92dGVzdKk/OuKnAGLc70iJZ784IB9k5tgsGdvmX4hN+mQ=

Где 06419440259512 - GTIN, а s40h&'LFSH_pY - код идентификации экземпляра товара

 

Перед 91 и перед 92 ставим символ <0x1D>:

010641944025951221s40h&'LFSH_pY<0x1D>91TEST<0x1D>92dGVzdKk/OuKnAGLc70iJZ784IB9k5tgsGdvmX4hN+mQ=

 

Код проверки не подлежит проверке в ФН, так 44 символьные коды проверки не подлежат проверке в ФН

 

Еще примеры:

Одежда:

Шины:

Лекарства:



Фототовары

Считываем код через notepad++

Если сканер настроен неверно, то у нас получится:

Если сканер настроен правильно, то у нас получится:




010290000005737121oUbNp4ImG7'3xa.R'X:W91TEST92dGVzdOmMebPKZi7YvQhSZnNuz4pbVmlMw/vkk3TktoA=

Где 

02900000057371 - GTIN,

oUbNp4ImG7'3xa.R'X:W - код идентификации экземпляра товара

 

Добавляем символ разделитель <0x1D>:

010290000005737121oUbNp4ImG7'3xa.R'X:W<0x1D>91TEST<0x1D>92dGVzdOmMebPKZi7YvQhSZnNuz4pbVmlMw/vkk3TktoA=

 

Фототовары не подлежат проверке в ФН. ОФД тестовый, поэтому проверка на сервере ОИСМ провалена.

Распечатается так:

В ФН запишется так:

 

Молочная продукция

Считываем код через notepad++

Если сканер настроен неверно, то у нас получится:

Если сканер настроен правильно, то у нас получится:

 

0104603745968015215YJF"Z93NGv1

 

Где 

02900000057371 - GTIN,

5YJF"Z - код идентификации экземпляра товара

NGv1 - крипто-информация

 

Перед 93 ставим символ разделитель <0x1D>:

0104603745968015215YJF"Z<0x1D>93NGv1

 

Молочная продукция не подлежит проверке в ФН.

 

В ФН запишется так:

Распечатается так:

Так как ОФД Тестовый, то код не прошел онлайн-проверку и распечаталась [М-]КМ?

 

Средства защиты

                   Берем постановление и копируем любой из кодов.

Можно также сгенерировать его в EAN-13  и считать сканером:

2400001225606

Передаем как есть:

Так как это не является маркированной продукцией, то проверки в ФН не проводится и буквы [М] напечатано не будет.

В ФН запишется так:

Про символ GS, он же <0x1D>

Это является обычным управляющим символом в кодировке ASCII, а точнее символом-разделителем.

Чтобы его ввести, нужно включить NUM на клавиатуре, зажать клавишу ALT и нажать на Num-паде 0, потом 2, потом 9, а затем отпустить клавишу ALT.

Виден он будет только в notepad++:

В остальных программах он будет, но будет невидим.



Он уже зашифрован в QR-код, однако сканера по умолчанию не настроены на передачу после считывания управляющих символов.

Например в сканерах наших партнеров VMC для его считывания нужно включить опцию тут:

И сохранить настройки в сканер.

 

На сайте Честного Знака проверка сканера работает плохо:

https://честныйзнак.рф/barcode/

 

Нужно проверять с помощью notepad++

Запустите программу и считайте марку.

Сканер к маркировке готов:

Присутствует символ-разделитель

 

Сканер к маркировке не готов:

Нет символов-разделителей. Нужно обращаться в техническую поддержку по сканерам и запрашивать как настраивать его для работы с маркировкой.

 

Для некоторых сканеров уже заготовлены настроечные коды, которые нужно считать, на сайте честного знака:

https://честныйзнак.рф/barcode/

https://xn--80ajghhoc2aj1c8b.xn--p1ai/barcode/

выберите категорию товаров и внизу будет список сканеров с документацией на них:

 

Для некоторых сканеров заветный настроечный код нужно искать в инструкции.

Называться он может:

Вывод с помощью alt-кодов

 

Выполните поиск по инструкции к сканеру:

Acsii

Alt

и найдите нужную настройку.

 

Если взять и скопировать значение с символами-разделителями из notepad++ и вставить в Тест Драйвера, то тот его примет без ошибок и без необходимости вручную вставлять символ <0x1D>:

 

Всего примерно три способа передать невидимые символы и этот символ-разделитель:

 

Первый и самый правильный - использовать сканер в интерфейсе rs232 или usb-com. В данном случае данные из datamatrix-кода передаются в кассовую программу ровно как они есть без всякой обработки. В том числе спецсимвол передается в явном виде 1d hex.

 

При использовании клавиатурного интерфейса начинаются проблемы. Просто потому, что на клавиатуре нет клавиши 1d.  Есть два обхода : заменять этот код на комбинацию обычных кнопок. Или передавать не коды клавиш, а alt-коды.