shtrih-m / javapos_shtrih

Реализация JavaPOS драйвера принтера фискального регистратора для устройств Штрих-М
http://www.shtrih-m.ru
MIT License
33 stars 16 forks source link

Накидайте, пожалуйста, пример для поддержки ФФД 1.2 (с проверкой кода маркировки) #138

Open anddever opened 2 years ago

Tango600 commented 2 years ago

как то так: printer.addItemCode(goodCheckInfo.codeMarking.getBytes()); // строка целиком, с кодом маркировки addTag1212(SubjectOFDType.MarkingProduct); // значение 33 printer.printRecItem(....

anddever commented 2 years ago

Спасибо, примерно так и делаю (только printer.setItemCode), только в чеке "КМ?" и "[M-]" печатается, КМ в ОФД передаётся, но результат проверки 2106 = 5, 2107 = 1

как то так: printer.addItemCode(goodCheckInfo.codeMarking.getBytes()); // строка целиком, с кодом маркировки addTag1212(SubjectOFDType.MarkingProduct); // значение 33 printer.printRecItem(....

Tango600 commented 2 years ago

"КМ?" и "[M-]", это не проверен. Но 2106 = %101 это как? Состояния битов в значении реквизита «результат проверки сведений о товаре» (тег 2106)

бит - статус 0 - «1» – код маркировки проверен 1 - «0» – результат проверки КП КМ отрицательный или код маркировки не был проверен 2 - «1» – проверка статуса ОИСМ выполнена

anddever commented 2 years ago

123

"КМ?" и "[M-]", это не проверен. Но 2106 = %101 это как? Состояния битов в значении реквизита «результат проверки сведений о товаре» (тег 2106)

бит - статус 0 - «1» – код маркировки проверен 1 - «0» – результат проверки КП КМ отрицательный или код маркировки не был проверен 2 - «1» – проверка статуса ОИСМ выполнена

bgwke commented 2 years ago

@Tango600 делаю как в примере. 1163 заполняется реквизитом 1304 вместо 1305 и КМ в чек не печатается. Почему, что делаю не так?

printer.setItemCode("04012922850973EAlW+x4AC+8o2Wv"); // КМ табачной пачки. Пробовал и другие КМ
printer.setParameter(SmFptrConst.SMFPTR_DIO_PARAM_ITEM_SUBJECT_TYPE, 31);
printer.printRecItem("Товар 1", 0, 1000000, 2, 3000);

Вторую строку пробовал передавать по-другому: пробовал разместить перед setItemCode; пробовал передавать значение 33; пробовал заменить на printer.fsWriteTag(1212, 33L, 1) (пробовал и перед, и после setItemCode); пробовал вообще её убрать.

Тот же КМ "04012922850973EAlW+x4AC+8o2Wv" через тест драйвер определяется корректно - 1305. В чеке печатается [M-] (или [M+] в зависимости от результатов проверки).

Tango600 commented 2 years ago

Смотри как в тест драйвере, там ещё может важен порядок подачи параметров. Смотрите различия внимательно.

bgwke commented 2 years ago

@Tango600 есть какая-то документация, примеры к java библиотеке fptr версии 642?

Tango600 commented 2 years ago

Я такой не видел.

bgwke commented 2 years ago

@VitalyKravtsov2016, столкнулись с проблемой. Подскажите, пожалуйста, есть документация и примеры к java библиотеке fptr версии 642?

Tango600 commented 1 year ago

@VitalyKravtsov2016, столкнулись с проблемой. Подскажите, пожалуйста, есть документация и примеры к java библиотеке fptr версии 642?

mcClearBuffer у тебя тоже не работает?