|
Печать чеков коррекции на Атол 55Ф через команды драйверу из 1С ↓ (Волшебник 24.11.2023 09:22) |
☑ | ||
---|---|---|---|---|
0
Selma2
23.11.23
✎
14:11
|
Добрый день! Может кто-то сталкивался с проблемой печати чеков коррекции из 1С? У нас Атол 55Ф, ФФД 1.2. Не понимаю, что я делаю не так. На чеке пропечатывается тип коррекции. пропечатывается строчка с данными по товару, но в итоге в самом низу чека - Ошибка ККТ 0x70АЕ, так как вот тут: fptr.LIBFPTR_PARAM_DOCUMENT_CLOSED в итоге false, то есть, функции closeReceipt() чего-то не хватает, и она не отрабатывает так как надо.
Код: fptr = Новый COMобъект("AddIn.Fptr10"); fptr.setSingleSetting(fptr.LIBFPTR_SETTING_PORT, Строка(fptr.LIBFPTR_PORT_USB)); fptr.applySingleSettings(); fptr.open(); fptr.setParam(1021, СокрЛП(Кассир)); fptr.setParam(1203, СокрЛП(КассирИНН)); fptr.operatorLogin(); fptr.setParam(fptr.LIBFPTR_PARAM_RECEIPT_TYPE, fptr.LIBFPTR_RT_SELL_CORRECTION ); fptr.clearMarkingCodeValidationResult(); //пробую очищать марки, по аналогии с вызовом этого метода несколькими строками ниже перед назначением реквизита 1173, но это не дает никакого эффекта //составной реквизит Fptr.setParam(1178, "2023-041-01"); Fptr.setParam(1179, "0"); Fptr.utilFormTlv(); correctionInfo = Fptr.getParamByteArray(Fptr.LIBFPTR_PARAM_TAG_VALUE); Fptr.setParam(1174, correctionInfo); fptr.clearMarkingCodeValidationResult(); fptr.setParam(1173, 0); //на чеке пропечатывается: Тип коррекции "САМОСТОЯТЕЛЬНО", но только если команда очистки марок находится строчкой выше. Изменение порядка назначения реквизитов 1174 и 1173 приводит к ошибке чека. fptr.setParam(fptr.LIBFPTR_PARAM_RECEIPT_TYPE, fptr.LIBFPTR_RT_SELL_CORRECTION ); fptr.openReceipt(); //товары Fptr.setParam(Fptr.LIBFPTR_PARAM_COMMODITY_NAME, "Каша"); Fptr.setParam(Fptr.LIBFPTR_PARAM_PRICE, 10); Fptr.setParam(Fptr.LIBFPTR_PARAM_QUANTITY, 1); Fptr.setParam(Fptr.LIBFPTR_PARAM_TAX_TYPE, Fptr.LIBFPTR_TAX_VAT0); Fptr.setParam(1212, 1); Fptr.setParam(2108, Fptr.LIBFPTR_IU_PIECE); Fptr.registration(); // fptr.setParam(fptr.LIBFPTR_PARAM_PAYMENT_TYPE, fptr.LIBFPTR_PT_other); fptr.setParam(fptr.LIBFPTR_PARAM_PAYMENT_SUM,10); fptr.payment(); fptr.setParam(fptr.LIBFPTR_PARAM_PAYMENT_TYPE, fptr.LIBFPTR_PT_other); fptr.closeReceipt(); подозреваю, что ошибка в составном реквизите 1174, но не понятно какая.... Помогите, пожалуйста, если вдруг кто-то уже сталкивался с такой проблемой! |
|||
1
Selma2
23.11.23
✎
14:13
|
*1 в дате опечатка, там без цифры 4, если что, то дело конечно же не в этом, это я уже когда тему создавала, подчистила лишнее и опечаталась )
|
|||
2
Тихий омут
24.11.23
✎
04:27
|
Попробуй добавить в тег 1174 тег 1177 - описание коррекции. На прошлой неделе столкнулся - касса со старой прошивкой отказывается печатать чек коррекции без него, хотя он вроде бы как уже не нужен
|
|||
3
Selma2
24.11.23
✎
08:48
|
В общем, заработало вот так
fptr.setParam(1021, СокрЛП(Кассир)); fptr.setParam(1203, СокрЛП(КассирИНН)); fptr.operatorLogin(); Fptr.setParam(1177, "Служебная записка"); fptr.setParam(1178, Date(2021,09,01)); Fptr.setParam(1179, "00001"); Fptr.utilFormTlv(); correctionInfo = Fptr.getParamByteArray(Fptr.LIBFPTR_PARAM_TAG_VALUE); Fptr.setParam(Fptr.LIBFPTR_PARAM_RECEIPT_TYPE, Fptr.LIBFPTR_RT_SELL_CORRECTION); Fptr.setParam(1173, 0); Fptr.setParam(1174, correctionInfo); fptr.openReceipt(); правда, сделала не я))))) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |