Штрих-М. Передача тега 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-коды.