тег 1162 атол с какой прошивки
Тег 1162 атол с какой прошивки
С 3 августа 2017 восстановление лицензий производится ТОЛЬКО через СервисДеск
Просьба обращаться к партнерам компании для оформления заявок в СД
Начинающий
Группа: Пользователи
Сообщений: 82
Регистрация: 28.11.2016
Пользователь №: 129 222
Интегрировали программное обеспечение с ККМ Атол 30Ф под управлением Атол ДТО 10.
1) Имеем код маркировки обуви, выданный сканером штрих-кодов:
2) Извлеваем из него GTIN и Serial
gtin: «02900000280250»
serial: «HEFWeTXudLfd:»
3) Передаем данные GTIN и Serial Атолу, Атол распечатывает чек
fptr.setParam(fptr.LIBFPTR_PARAM_NOMENCLATURE_TYPE, fptr.LIBFPTR_NT_SHOES)
fptr.setParam(fptr.LIBFPTR_PARAM_GTIN, ‘02900000280250’)
fptr.setParam(fptr.LIBFPTR_PARAM_SERIAL_NUMBER, ‘HEFWeTXudLfd:’)
fptr.utilFormNomenclature
mbKodTovara = fptr.getParamByteArray(fptr.LIBFPTR_PARAM_TAG_VALUE)
fptr.setParam(1162, mbKodTovara)
На бумажном чеке, распечатанном Атолом, отображается код товара:
В лог-файле Атол ДТО 10 отображается следующее:
Вроде данные о теге 1162, распечатанном на чеке, совпадают.
4) Проверяем, что ушло в ОФД, там отображается, что вместе с продажей товара была передана маркировка
(как я понимаю, это то же самое, что распечаталось на чеке, толкьо закодированное алгоритмом Base64Encode)
На чеке, который пришел на электронную почту из ОФД, отображается то же самое:
1) Правильно ли мы извлекли gtin и serial на шаге 2?
Как проконтролировать, правильно ли передается маркировка в ОФД?
Тег 1162 атол с какой прошивки
С 3 августа 2017 восстановление лицензий производится ТОЛЬКО через СервисДеск
Просьба обращаться к партнерам компании для оформления заявок в СД
Начинающий
Группа: Пользователи
Сообщений: 82
Регистрация: 28.11.2016
Пользователь №: 129 222
Интегрировали программное обеспечение с ККМ Атол 30Ф под управлением Атол ДТО 10.
1) Имеем код маркировки обуви, выданный сканером штрих-кодов:
2) Извлеваем из него GTIN и Serial
gtin: «02900000280250»
serial: «HEFWeTXudLfd:»
3) Передаем данные GTIN и Serial Атолу, Атол распечатывает чек
fptr.setParam(fptr.LIBFPTR_PARAM_NOMENCLATURE_TYPE, fptr.LIBFPTR_NT_SHOES)
fptr.setParam(fptr.LIBFPTR_PARAM_GTIN, ‘02900000280250’)
fptr.setParam(fptr.LIBFPTR_PARAM_SERIAL_NUMBER, ‘HEFWeTXudLfd:’)
fptr.utilFormNomenclature
mbKodTovara = fptr.getParamByteArray(fptr.LIBFPTR_PARAM_TAG_VALUE)
fptr.setParam(1162, mbKodTovara)
На бумажном чеке, распечатанном Атолом, отображается код товара:
В лог-файле Атол ДТО 10 отображается следующее:
Вроде данные о теге 1162, распечатанном на чеке, совпадают.
4) Проверяем, что ушло в ОФД, там отображается, что вместе с продажей товара была передана маркировка
(как я понимаю, это то же самое, что распечаталось на чеке, толкьо закодированное алгоритмом Base64Encode)
На чеке, который пришел на электронную почту из ОФД, отображается то же самое:
1) Правильно ли мы извлекли gtin и serial на шаге 2?
Как проконтролировать, правильно ли передается маркировка в ОФД?
Тег 1162 атол с какой прошивки
С 3 августа 2017 восстановление лицензий производится ТОЛЬКО через СервисДеск
Просьба обращаться к партнерам компании для оформления заявок в СД
Группа: Пользователи
Сообщений: 21
Регистрация: 23.4.2019
Пользователь №: 242 873
Имеется ККМ с параметрами
Номер кассира: 0
Номер ККТ: 0
Дата и время в ККТ: 2020.12.04 10:26:34
ККТ зарегистрирована
ФН найден, фискализирован
Заводской номер: 00106727827281
Код модели: 67
Название ККТ: АТОЛ 11Ф
Версия прошивки: 7651
Режим ККТ: 0
Подрежим ККТ: 0
Смена открыта
Номер смены: 13
Значение внутреннего счетчика чеков: 1
Значение внутреннего счетчика документов: 64
Чек закрыт
Сумма чека: 0.00
Крышка закрыта
Денежный ящик закрыт
Чековая лента присутствует
Чековая лента скоро закончится: нет
Ширина чековой ленты: 42/384
Соединение с принтером: нет
Невосстановимая ошибка принтера: нет
Ошибка отрезчика: нет
Перегрев ТПГ: нет
Блокировка ККТ: нет
Продавец настойчиво заверил меня, что данная ККМ с тегом 1162 может работать только с 10-м драйвером.
Драйвер 10.8.0 установлен, фронт ККМ на самописной 1С 7.7 исправлен, все работает, данные в ОФД идут за исключением тега 1162 (табак)
В соответствии с рекомендациями г-на Царюкова в процедуру регистрации внесено следующее:
ECR.setParam(ECR.LIBFPTR_PARAM_NOMENCLATURE_TYPE, ECR.LIBFPTR_NT_TOBACCO);
ECR.setParam(ECR.LIBFPTR_PARAM_GTIN, ГТИН);
ECR.setParam(ECR.LIBFPTR_PARAM_SERIAL_NUMBER, Серия);
ECR.utilFormNomenclature();
nomenclatureCode = ECR.getParamByteArray(ECR.LIBFPTR_PARAM_TAG_VALUE);
ECR.setParam(ECR.LIBFPTR_PARAM_COMMODITY_NAME, Номенклатура.Наименование);
ECR.setParam(ECR.LIBFPTR_PARAM_PRICE, Цена);
ECR.setParam(ECR.LIBFPTR_PARAM_QUANTITY, КолВо);
ECR.setParam(ECR.LIBFPTR_PARAM_POSITION_SUM, КолВо*Цена);
ECR.setParam(ECR.LIBFPTR_PARAM_TAX_TYPE, ECR.LIBFPTR_TAX_NO );
В результате получаю ошибку на инструкции ECR.getParamByteArray(ECR.LIBFPTR_PARAM_TAG_VALUE)
в попытке разобраться узнаю, что getParamByteArray не поддерживается 1С 7.7
пытаюсь использовать инструкции
ECR.setParamStrHex(1162, МассивБайт);
или
ECR.setParam(ECR.LIBFPTR_PARAM_MARKING_CODE, МассивБайт) где МассивБайт=»01 02 FF AA..» и т.д.
но, в этом случае получаю ошибку «Отсутствует необходимый параметр LIBFPTR_PARAM_COMMODITY_NAME»
Отсюда два вопроса:
1. Что сделать, чтобы тег 1162 передавался без ошибок?
2. Если для этого невозможно совместить 1С 7.7 и ДТО 10, будет ли указанная ККМ работать под ДТО 8, где все работает как надо?
Тег 1162 атол с какой прошивки
С 3 августа 2017 восстановление лицензий производится ТОЛЬКО через СервисДеск
Просьба обращаться к партнерам компании для оформления заявок в СД
Группа: Новички
Сообщений: 14
Регистрация: 3.11.2010
Из: Новокузнецк
Пользователь №: 22 732
Работа с драйвером из 1С через Com объект.
С блока сигарет считали марку 0104600266011725212095134931209513424010067290
Разбираем ее по правилам https://www.garant.ru/products/ipo/prime/doc/72089916/:
01 ИД GTIN, далее 14 знаков GTIN: 04600266011725.
21 ИД Serial, далее 7 знаков serial: 2095134.
Формируем коды в соответствии с документацией на драйвер.
fptr.setParam(fptr.LIBFPTR_PARAM_NOMENCLATURE_TYPE, fptr.LIBFPTR_NT_TOBACCO);
fptr.setParam(fptr.LIBFPTR_PARAM_GTIN, «04600266011725»);
fptr.setParam(fptr.LIBFPTR_PARAM_SERIAL_NUMBER, «2095134»);
fptr.utilFormNomenclature();
nomenclatureCode = fptr.getParamByteArray(fptr.LIBFPTR_PARAM_TAG_VALUE);
рез = fptr.setParam(1162, nomenclatureCode);
В чеке, который пришел в ОФД код товара выглядит следующим образом: AAUELxU4tE0yMDk1MTM0.
Вопрос: правильно ли мы передаем код в чистом виде в драйвер или необходимо какое-то дополнительное преобразование?
Тех.поддержка
Группа: Администраторы
Сообщений: 54 905
Регистрация: 25.9.2008
Из: Москва
Пользователь №: 14 717
По ссылке у меня ничего не открывается
Вопрос только почему отбросил 01 из марки?
В целом методика верная (под текущие реалии)
Группа: Новички
Сообщений: 14
Регистрация: 3.11.2010
Из: Новокузнецк
Пользователь №: 22 732
Постановление Правительства РФ от 28 февраля 2019 г. № 224(https://www.garant.ru/products/ipo/prime/doc/72089916/)
37. Средство идентификации потребительской упаковки содержит код маркировки, включающий в себя 4 группы данных, из которых первые 3 группы образуют код идентификации потребительской упаковки, при этом:
первая группа обязательных данных идентифицируется кодом применения AI = ′01′ и содержит код товара (14 цифр) групповой упаковки;
вторая группа обязательных данных идентифицируется кодом применения AI = ′21′ и содержит индивидуальный серийный номер (7 символов) групповой упаковки;
Я так понял что коды применения не входят, просто служат для определения состава данных. Если не отбрасывать 01, тогда получится GTIN 16 знаков, ошибка будет.
Тех.поддержка
Группа: Администраторы
Сообщений: 54 905
Регистрация: 25.9.2008
Из: Москва
Пользователь №: 14 717
Группа: Новички
Сообщений: 14
Регистрация: 3.11.2010
Из: Новокузнецк
Пользователь №: 22 732
842a63f4_6a08_4113_8582_c4fbe63fa6fe.jpeg ( 79.08 килобайт ) Кол-во скачиваний: 119
Только такую марку нашли
Тех.поддержка
Группа: Администраторы
Сообщений: 54 905
Регистрация: 25.9.2008
Из: Москва
Пользователь №: 14 717
842a63f4_6a08_4113_8582_c4fbe63fa6fe.jpeg ( 79.08 килобайт ) Кол-во скачиваний: 119
Только такую марку нашли
Группа: Новички
Сообщений: 14
Регистрация: 3.11.2010
Из: Новокузнецк
Пользователь №: 22 732
Тех.поддержка
Группа: Администраторы
Сообщений: 54 905
Регистрация: 25.9.2008
Из: Москва
Пользователь №: 14 717
Наш образец на конференции уже куда-то ушёл
Кто-то скурил кусок целофана )
Группа: Новички
Сообщений: 14
Регистрация: 3.11.2010
Из: Новокузнецк
Пользователь №: 22 732
2019_02_14_00852.png ( 366.54 килобайт ) Кол-во скачиваний: 69
Это правильная марка? Ее содержание: 00000046186195Xp4k=xyAQDPtFEa
Как ее разбирать?
Если брать первые 14 символов как GTIN: 00000046186195
следующие 7 как Serial: Xp4k=xy
Дальше непонятно что такое AQDPtFEa
Передаем в драйвер без преобразований:
fptr.setParam(fptr.LIBFPTR_PARAM_NOMENCLATURE_TYPE, fptr.LIBFPTR_NT_TOBACCO);
fptr.setParam(fptr.LIBFPTR_PARAM_GTIN, «00000046186195»);
fptr.setParam(fptr.LIBFPTR_PARAM_SERIAL_NUMBER, «Xp4k=xy»);
fptr.utilFormNomenclature();
мбКодТовара = fptr.getParamByteArray(fptr.LIBFPTR_PARAM_TAG_VALUE);
fptr.setParam(1162, мбКодТовара);
В ОФД код товара: AAUAAALAvtNYcDRrPXh5
Это правильный алгоритм?
Тех.поддержка
Группа: Администраторы
Сообщений: 54 905
Регистрация: 25.9.2008
Из: Москва
Пользователь №: 14 717
Группа: Новички
Сообщений: 14
Регистрация: 3.11.2010
Из: Новокузнецк
Пользователь №: 22 732
Начинающий
Группа: Пользователи
Сообщений: 82
Регистрация: 28.11.2016
Пользователь №: 129 222
libfptr_set_param_int(fptr, LIBFPTR_PARAM_NOMENCLATURE_TYPE, LIBFPTR_NT_TOBACCO);
libfptr_set_param_str(fptr, LIBFPTR_PARAM_GTIN, L»98765432101234″);
libfptr_set_param_str(fptr, LIBFPTR_PARAM_SERIAL_NUMBER, L»ABC1234″);
libfptr_util_form_nomenclature(fptr);
std::vector nomenclatureCode;
int size = libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE, &nomenclatureCode[0], nomenclatureCode.size());
if (size > nomenclatureCode.size())
<
nomenclatureCode.resize(size);
libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE, &nomenclatureCode[0], nomenclatureCode.size());
>
В связи с этим вопросы:
1) Все ли в документации правильно, как правильно передать тег 1162, используя Атол 10 на Delphi?
2) Можно ли ограничиться таким кодом
libfptr_set_param_int(fptr, LIBFPTR_PARAM_NOMENCLATURE_TYPE, LIBFPTR_NT_TOBACCO);
libfptr_set_param_str(fptr, LIBFPTR_PARAM_GTIN, L»98765432101234″);
libfptr_set_param_str(fptr, LIBFPTR_PARAM_SERIAL_NUMBER, L»ABC1234″);
libfptr_util_form_nomenclature(fptr);
уже и так передает тег 1162 в Атол, а тот код, что дальше только для проверки но не для передачи тега 1162 (тк там вызываются только get методы)?
Тех.поддержка
Группа: Администраторы
Сообщений: 54 905
Регистрация: 25.9.2008
Из: Москва
Пользователь №: 14 717
fptr.setParam(fptr.LIBFPTR_PARAM_NOMENCLATURE_TYPE, fptr.LIBFPTR_NT_TOBACCO);
fptr.setParam(fptr.LIBFPTR_PARAM_GTIN, ‘98765432101234’);
fptr.setParam(fptr.LIBFPTR_PARAM_SERIAL_NUMBER, ‘ABC1234’);
fptr.utilFormNomenclature;
fptr.setParam(fptr.LIBFPTR_PARAM_COMMODITY_NAME, ‘товар1’);
fptr.setParam(1212, 5);
fptr.setParam(fptr.LIBFPTR_PARAM_PRICE, pr);
fptr.setParam(fptr.LIBFPTR_PARAM_QUANTITY, 1);
fptr.setParam(fptr.LIBFPTR_PARAM_TAX_TYPE, fptr.LIBFPTR_TAX_VAT0);
fptr.setParam(fptr.LIBFPTR_PARAM_USE_ONLY_TAX_TYPE, True);
Начинающий
Группа: Пользователи
Сообщений: 82
Регистрация: 28.11.2016
Пользователь №: 129 222
fptr.setParam(fptr.LIBFPTR_PARAM_NOMENCLATURE_TYPE, fptr.LIBFPTR_NT_TOBACCO);
fptr.setParam(fptr.LIBFPTR_PARAM_GTIN, ‘98765432101234’);
fptr.setParam(fptr.LIBFPTR_PARAM_SERIAL_NUMBER, ‘ABC1234’);
fptr.utilFormNomenclature;
fptr.setParam(fptr.LIBFPTR_PARAM_COMMODITY_NAME, ‘товар1’);
fptr.setParam(1212, 5);
fptr.setParam(fptr.LIBFPTR_PARAM_PRICE, pr);
fptr.setParam(fptr.LIBFPTR_PARAM_QUANTITY, 1);
fptr.setParam(fptr.LIBFPTR_PARAM_TAX_TYPE, fptr.LIBFPTR_TAX_VAT0);
fptr.setParam(fptr.LIBFPTR_PARAM_USE_ONLY_TAX_TYPE, True);
2. И можно ли как-то обойтись без методов вроде
libfptr_get_param_bytearray
libfptr_set_param_bytearray
(не понимаю, как эти процедуры импортировать на Delphi из DLL)
а использовать метод
и самому шифровать GTIN и Serial по специальному алгоритму в Base64? Как тогда будет выглядеть код для передачи тега 1162?
Тех.поддержка
Группа: Администраторы
Сообщений: 54 905
Регистрация: 25.9.2008
Из: Москва
Пользователь №: 14 717
я вам привел код, написанный на делфи
Начинающий
Группа: Пользователи
Сообщений: 82
Регистрация: 28.11.2016
Пользователь №: 129 222
я вам привел код, написанный на делфи
Там нет процедур вроде
DTOX_SHARED_EXPORT void DTOX_SHARED_CCA libfptr_set_param_int(libfptr_handle handle, int param_id, uint value);
DTOX_SHARED_EXPORT void DTOX_SHARED_CCA libfptr_set_param_str(libfptr_handle handle, int
param_id, const wchar_t *value);
которые я переделал на Delphi
Tlibfptr_set_param_int = procedure(libfptr_handle: THandle; param_id, value: integer); cdecl;
Tlibfptr_set_param_str = procedure(libfptr_handle: THandle; param_id: integer; const value: PWideChar); cdecl;
DTOX_SHARED_EXPORT void DTOX_SHARED_CCA libfptr_set_param_bytearray(libfptr_handle handle, int param_id, const uchar *value, int size);
—>
Tlibfptr_set_param_bytearray = procedure(libfptr_handle: THandle; param_id: integer; const value: PWideChar; size: integer); cdecl;
DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_get_param_bytearray(libfptr_handle handle, int param_id, uchar *value, int size);
—>
Tlibfptr_get_param_bytearray = function(libfptr_handle: THandle; param_id: integer; var value: PWideChar; size: integer): integer; cdecl;