Форум ЦТО

Торговый дом «ШТРИХ-М» => Вопросы по ККТ: ШТРИХ-ON-LINE ШТРИХ-М-01Ф ШТРИХ-М-02Ф ШТРИХ-ЛАЙТ-01Ф ШТРИХ-ЛАЙТ-02Ф ШТРИХ-МИНИ-01Ф ШТРИХ-МИНИ-02Ф ШТРИХ-ФР-01Ф ШТРИХ-ФР-02Ф => Тема начата: Вадим от 27 Ноября 2019, 14:16:11

Название: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: Вадим от 27 Ноября 2019, 14:16:11
Правильно ли мы понимаем порядок пробития
1. команда FNOperation
2. команда FNBindMarkingItem  (что присваивать BarCode, код считанный сканером полностью или GTIN?)
далее ели проверка прошла
3. команда FNCloseCheckEx

При возврате товара надо ли  FNBindMarkingItem?
Просто про возврат товаров маркировки не понятно совсем
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: Селихов Дмитрий от 28 Ноября 2019, 13:31:38
В п2 команда неверная. Надо использовать FNSendItemBarcode.
https://prnt.sc/q39gro
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: Вадим от 29 Ноября 2019, 09:11:41
BarCode (код  маркировки в формате GS-1 то), что считал сканер полностью?

И все же, как с возвратом?

Ваш скриншот  с нового руководства программиста, на сайте его нет,
пожалуйста пришлите на tks31597@yandex.ru
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: Селихов Дмитрий от 29 Ноября 2019, 09:47:55
1. Да, полностью, в этом и смысл новой команды что ККТ сама разбирает марки и осуществляет ФЛК, только : https://prnt.sc/q3ocl3
2. Насколько я понимаю, тоже что и продажами, т.е. также сканируем марку и передаем.
3. Выслал. В ЛК ЦТО обновим.
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: 492 от 24 Января 2020, 14:39:03
1. Да, полностью, в этом и смысл новой команды что ККТ сама разбирает марки и осуществляет ФЛК, только : https://prnt.sc/q3ocl3

а можно привести картинку для шк из примера документа фнс
"Считанная бинарная последовательность: 010460043993125621JgXJ5.T\u001d8005112000930001\u001d923zbrLA==\u001d24014276281"

где \u001 это тот самый 1D

а то несколько не понятно как все таки должен все должно выглядеть в конечном счете

так
010460043993125621JgXJ5.T<0x1D>d8005112000930001<0x1D>d923zbrLA==<0x1D>d24014276281
или <0x1D> надо в кавычках т.е. так
010460043993125621JgXJ5.T"<0x1D>"d8005112000930001"<0x1D>"d923zbrLA=="<0x1D>"d24014276281

просто сейчас под рукой нет фр с соответствующими лицензиями для проверки, а без них фр
ШТРИХ-ЛАЙТ-01Ф, Версия ПО: C.1, Сборка ПО: 12744, Дата ПО: 09/12/2019
отвечает на любую комбинацию странным образом "(119) Ошибка принтера: нет сигнала с датчиков" :)

Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: Вадим от 27 Января 2020, 08:58:27
 1D без кавычек надо вставлять только если тестируем в тесте драйвера (1D не видимый символ,
поэтому когда мы копируем текстовый результат сканера его нет, для этого и вставляем 1D, чтобы драйвер при разборе строки мог
разобрать её на блоки ),
непосредственно в коде ПО 1D не вставляем, передаем все как считал сканер, проверял на МГБ ошибок не дает.

Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: Гонтарь Тимофей от 27 Января 2020, 09:03:13
Цитировать
а можно привести картинку для шк из примера документа фнс
Я, к сожалению, не уверен, что приведенный пример должен как то передаться.

В качестве ответа на Ваш вопрос приведу боевой код маркировки для обуви:
010465012500817521dqT2iTkBxEwxs240640491ffd092OTMWE7tASOzx1G7dXWcZgM7VICsC8W5g5CVEVr69VqI6dfkyMoUcJ6OhV63wMC5oFnBmdO8tNFqjd8vjDvVXCg==

Здесь "" и есть тот символ, который необходимо заменить в утилите "Тест драйвера ФР"  на <0x1D>, т.е. для передачи через утилиту при помощи команды FNSendItemBarcode необходимо использовать строку вида:
010465012500817521dqT2iTkBxEwxs<0x1D>240640491ffd0<0x1D>92OTMWE7tASOzx1G7dXWcZgM7VICsC8W5g5CVEVr69VqI6dfkyMoUcJ6OhV63wMC5oFnBmdO8tNFqjd8vjDvVXCg==

P.S. Символ  "" - в интерпретации ASCII, в зависимости от кодировки, может иметь значение: "1D", "\u001D" или "&#x001D". 
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: 492 от 27 Января 2020, 13:20:33
спасибо за развернутый ответ

Я, к сожалению, не уверен, что приведенный пример должен как то передаться.

я тоже :) поэтому и использовал его чтобы убедиться, но все таки непонятка пока еще остается - в документе упоминаются "Знач. байта 0 реквизита в ЭФ" и "Знач. байта 1 реквизита в ЭФ" для тега 1162 (например для "Код товара в формате GS1 Data Matrix или Data Matrix маркировки" это 44 4D)
правильно ли я понял предыдущий ответ что их не надо передавать в фр ?
также и для обычной передачи значения (не в окне теста драйвера, а программно - методами драйвера) мне не надо будет заменять приведенный в предыдущем ответе (примере) "квадратик" (1D) на строку <0x1D> ?


Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: Гонтарь Тимофей от 28 Января 2020, 12:55:08
Цитировать
также и для обычной передачи значения (не в окне теста драйвера, а программно - методами драйвера) мне не надо будет заменять приведенный в предыдущем ответе (примере) "квадратик" (1D) на строку <0x1D> ?
Нет, не нужно.
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: 492 от 28 Января 2020, 13:13:24
спасибо
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: Гонтарь Тимофей от 29 Января 2020, 11:49:10
Не за что.
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: 492 от 04 Февраля 2020, 12:13:41
вопросы продолжаются :)

с сигаретами\обувью и FNSendItemBarcode все работает и на продажу и на возврат, а вот с алкоголем - не получается - при продаже ошибка
[211] - Товар не произведен или выбыл - режим: 8 - подрежим: 0

тестовый фр штрих лайт
Версия ПО                 : C.1
Сборка ПО                 : 12744
Дата ПО                   : 09/12/2019

Лицензия "20% НДС: без ограничения
Лицензия "ФФД 1.1": отсутствует
Лицензия "Маркировка базовая": без ограничения
Подписка на обновление: действительна c 01.01.2019 по 31/12/2020

используются: мгм, тестовый офд такском, тестовый УТМ
регистрация по УТМ проходит, слип УТМ печатается, сам чек печатается с выводом данной ошибки и в офд нет информации по марке (коду товара тегу 1162)

с чем это м.б. связано поскольку используется только тестовое оборудование и ПО ?

сразу хочу отметить, что офд понимает алкогольные марки - есть тестовый сп802 и с ним все в порядке - все регистрируется и отображается в офд и при продаже и при возврате, как с новыми (150 символов) так и со старыми (68 символов) алкогольными марками



Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: Гонтарь Тимофей от 04 Февраля 2020, 13:04:23
Цитировать
с чем это м.б. связано поскольку используется только тестовое оборудование и ПО ?
К сожалению, это связано с прошивкой. В ней не реализована поддержка всех типов реквизитов кода товара. Т.е. сейчас с использованием метода FNSendItemBarcode (команда FF67h) можно передать только тот товар, где применяется кодировка GS1 DataMatrix (код маркировки "44h 4Dh" - табак, обувь, лекарства...).
Поддержка всех остальных типов реквизитов кода товара будет реализована в обновлении, которые ожидается в середине февраля.
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: 492 от 04 Февраля 2020, 13:37:45
Поддержка всех остальных типов реквизитов кода товара будет реализована в обновлении, которые ожидается в середине февраля.

ок! спасибо за ответ, получается так что можно считать, что если по GS1 (44h 4Dh) все проходит, то после обновления прошивки пройдет и все остальное по данной схеме ? мне просто надо понимать - менять алгоритм обработки у себя или нет ...
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: Гонтарь Тимофей от 04 Февраля 2020, 17:10:06
Цитировать
ок! спасибо за ответ, получается так что можно считать, что если по GS1 (44h 4Dh) все проходит, то после обновления прошивки пройдет и все остальное по данной схеме ? мне просто надо понимать - менять алгоритм обработки у себя или нет ...
Да, именно так.

P.S. Проверьте личные сообщения.
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: 492 от 04 Февраля 2020, 17:21:09
P.S. Проверьте личные сообщения.

ок! спасибо за участие :)
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: Гонтарь Тимофей от 04 Февраля 2020, 17:38:52
Не за что.
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: 492 от 06 Февраля 2020, 08:29:50
И снова здравствуйте :)

используется полученная для тестов
Версия ПО                 : C.1
 Сборка ПО                : 18571
 Дата ПО                   : 31/01/2020
на команду FNSendItemBarcode не зависимо от типа марки приходит ответ [-7] - Неверная длина ответа - режим: 8 - подрежим: 0

тест драйвера 4.14.0.792, причем что самое интересное марка передается в офд и там отображается, на чеке М печатается

в офд
50452 57544881025334 EBOMU0DQ640925016, исходное значение C51434563631313645424F4D55304451363430393235303136
и
17485 46218704 kxFV?<GABr8, исходное значение
444D000002C13DD06B7846563F3C47414272382020

лог в аттаче
это просто информация для разработчиков, т.к. вроде все нормально, а ошибку в программе у себя мы просто пока проигнорим :)
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: Гонтарь Тимофей от 06 Февраля 2020, 17:25:29
Это проблема в драйвере. Дело в том, что в ответ на команду FF67h возвращается 3 байта, в которых кодируется тип распознанного кода товара. Драйвер будет доработан.
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: 492 от 06 Февраля 2020, 17:46:38
Драйвер будет доработан.

как я писал выше - мы в программе у себя это обошли, после того как убедились что печатается и передается в офд верно, как будут изменения в драйвере - внесем и к себе :)
спасибо за исчерпывающий ответ
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: Гонтарь Тимофей от 07 Февраля 2020, 13:03:30
Не за что.
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: 1360 от 12 Февраля 2020, 05:40:34
У меня вопрос такой, алкоголь тоже относится к маркированной продукции, и следуя инструкции формирования нужно тоже передавать данные в ОФД или НЕ НУЖНО, где можно почитать информацию?

вот выдержка из инструкции

9. В случае если длина считанной последовательности данных равна 68 символам и последовательность
символов состоит из прописных латинских букв и цифр и не содержит наличие идентификаторов применения
(AI) по стандарту GS1, то значение реквизита «код товара» (тег 1162) формируется из классификатора типов
идентификаторов (первые два байта реквизита «код товара» (тег 1162) принимают значение «С5h 14h») и
переданной последовательности данных начиная с 9 символа по 31 символ включительно, сформированной по
правилам интерпретации ASCII в hex.
Пример:
Считанная последовательность:
22N00002NU5DBKYDOT17ID980726019019608CW1A4XR5EJ7JKFX50FHHGV92ZR2GZRZ.
Выделенная последовательность для передачи в значение реквизита «код товара» (тег 1162):
NU5DBKYDOT17ID980726019.
NU5DBKYDOT17ID980726019 - кодируется в набор байт hex, интерпретируя символы согласно ASCII
таблицы: 4Eh 55h 35h 44h 42h 4Bh 59h 44h 4Fh 54h 31h 37h 49h 44h 39h 38h 30h 37h 32h 36h 30h 31h 39h.
Значение реквизита «код товара» (тег 1162): C5h 14h 4Eh 55h 35h 44h 42h 4Bh 59h 44h 4Fh 54h 31h 37h
49h 44h 39h 38h 30h 37h 32h 36h 30h 31h 39h.
10. В случае если длина считанной последовательности данных равна 150 символам и
последовательность символов состоит из прописных латинских букв и цифр и не содержит наличие
идентификаторов применения (AI) по стандарту GS1, то значение реквизита «код товара» (тег 1162) формируется
из классификатора типов идентификаторов (первые два байта реквизита «код товара» (тег 1162) принимают
5
значение «С5h 1Eh») и переданной последовательности данных начиная с 1 символа по 14 символ включительно,
сформированной по правилам интерпретации ASCII в hex.
Пример:
Считанная последовательность:
136222000058810918QWERDFEWT5123456YGHFDSWERT56YUIJHGFDSAERTYUIOKJ8HGFVCXZSDLKJHGFDSA
OIPLMNBGHJYTRDFGHJKIREWSDFGHJIOIUTDWQASDFRETYUIUYGTREDFG HUYTREWQWE.
Выделенная последовательность для передачи в значение реквизита «код товара» (тег 1162):
13622200005881.
13622200005881 - кодируется в набор байт hex, интерпретируя символы согласно ASCII таблицы: 31h 33h
36h 32h 32h 32h 30h 30h 30h 30h 35h 38h 38h 31h.
Значение реквизита «код товара» (тег 1162): C5h 1Eh 31h 33h 36h 32h 32h 32h 30h 30h 30h 30h 35h 38h
38h 31h.».
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: Nick от 12 Февраля 2020, 12:39:18
Подскажите, когда планируется выход нового драйвера, единовременно с прошивкой ???
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: Селихов Дмитрий от 12 Февраля 2020, 17:35:44
Цитировать
У меня вопрос такой, алкоголь тоже относится к маркированной продукции, и следуя инструкции формирования нужно тоже передавать данные в ОФД или НЕ НУЖНО, где можно почитать информацию?
По хорошему - это не совсем к нам вопрос. Пока, насколько я понимаю, про продаже алкоголя тег 1162 отправлять не нужно.
Цитировать
Подскажите, когда планируется выход нового драйвера, единовременно с прошивкой ???
Думаю, да, в 20-х числах февраля.
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: Вадим от 19 Февраля 2020, 12:15:57
Команда FF67h возвращается 3 байта.
Как раскодировать эти  3 байта, и как понять что команда выполнена без ошибок
Название: Re: Как по к приказу №2 ФНС от 21.03.2017 передавать код маркировки
Отправлено: Селихов Дмитрий от 20 Февраля 2020, 13:41:17
Привязка маркированного товара к позиции
Код команды FF67h. Длина сообщения: 5+N байт.
Пароль оператора: 4 байта
Длина кода маркировки: 1 байт
Данные маркировки N байт.
Данная команда должна вызываться после привязки всех тегов к предмету
расчета.
Ответ: FF67h Длина сообщения: 4 байт.
Код ошибки: 1 байт
Первые 2 байта значения реквизита "код товара”: 2 байта,
Тип Data Matrix:1 байт.
0 – КМ 88,
1-КМ симметричный,
2-КМ Табачный,
3-КМ 44.