Чек коррекции ФФД 1.2 + С# = печатает только наличку
Здравствуйте!
Кто может подсказать, по чеку коррекции в ФФД 1.2 и библиотеке C#, передаю оплату безналом, но на чеке печатается наличка.
Если логировать, видно что вызов идет на Constants.LIBFPTR_PT_ELECTRONICALLY
Пробовал на ДТО 10.9.5 и 10.10
Кто может подсказать, по чеку коррекции в ФФД 1.2 и библиотеке C#, передаю оплату безналом, но на чеке печатается наличка.
if (pay == 0)
{
fptr.setParam(Constants.LIBFPTR_PARAM_PAYMENT_TYPE, Constants.LIBFPTR_PT_CASH);
fptr.setParam(Constants.LIBFPTR_PARAM_PAYMENT_SUM, check_summa);
fptr.payment();
}
else if(pay == 1)
{
fptr.setParam(Constants.LIBFPTR_PARAM_PAYMENT_TYPE, Constants.LIBFPTR_PT_ELECTRONICALLY);
fptr.setParam(Constants.LIBFPTR_PARAM_PAYMENT_SUM, check_summa); //sum
fptr.payment();
}
ПоказатьЕсли логировать, видно что вызов идет на Constants.LIBFPTR_PT_ELECTRONICALLY
Пробовал на ДТО 10.9.5 и 10.10
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Формирование чека коррекции (ФФД 1.05) состоит из следующих операций:
открытие чека и передача реквизитов чека;
регистрация итога;
регистрация налогов на чек (необязательный пункт);
регистрация оплат (необязательный пункт);
закрытие чека;
проверка состояния чека.
Чеки коррекции
Кто может подсказать, по чеку коррекции в ФФД 1.2
Формирование чека коррекции (ФФД 1.05) состоит из следующих операций:
открытие чека и передача реквизитов чека;
регистрация итога;
регистрация налогов на чек (необязательный пункт);
регистрация оплат (необязательный пункт);
закрытие чека;
проверка состояния чека.
(2) У меня даже не обязательные пункты включены
fptr.setParam(1021, "Го******* Н.М.");
fptr.setParam(1203, "34**********1");
fptr.operatorLogin();
//корректировка
fptr.setParam(1178, date);
fptr.setParam(1179, "00001");
fptr.utilFormTlv();
byte[] correctionInfo = fptr.getParamByteArray(Constants.LIBFPTR_PARAM_TAG_VALUE);
fptr.setParam(Constants.LIBFPTR_PARAM_RECEIPT_TYPE, Constants.LIBFPTR_RT_SELL_CORRECTION);
fptr.setParam(1173, 0);
fptr.setParam(1174, correctionInfo);
//СНО чека
fptr.setParam(1055, Constants.LIBFPTR_TT_PATENT);
//Открытие чека
fptr.openReceipt();
//Позиция чека
foreach (var item in check_grid)
{
fptr.setParam(Constants.LIBFPTR_PARAM_COMMODITY_NAME, item.Item1);
fptr.setParam(Constants.LIBFPTR_PARAM_PRICE, item.Item3);
fptr.setParam(Constants.LIBFPTR_PARAM_QUANTITY, item.Item2);
fptr.setParam(Constants.LIBFPTR_PARAM_TAX_TYPE, Constants.LIBFPTR_TAX_NO);
fptr.setParam(Constants.LIBFPTR_PARAM_MEASUREMENT_UNIT, Constants.LIBFPTR_IU_PIECE);
fptr.registration();
}
//Регистрация итога
fptr.setParam(Constants.LIBFPTR_PARAM_SUM, check_summa);
fptr.receiptTotal();
//регистрация оплаты
if (pay == 0)
{
fptr.setParam(Constants.LIBFPTR_PARAM_PAYMENT_TYPE, Constants.LIBFPTR_PT_CASH);
}
if(pay == 1)
{
fptr.setParam(Constants.LIBFPTR_PARAM_PAYMENT_TYPE, Constants.LIBFPTR_PT_ELECTRONICALLY);
}
fptr.setParam(Constants.LIBFPTR_PARAM_PAYMENT_SUM, check_summa);
fptr.payment();
//Закрытие чека
fptr.closeReceipt();
Показать
Актуально. У меня такая же проблема.
Печатает через скрипт только Наличные. Нужно безнал сделать.
Fptr.setParam(1021, "Кассир"); //наименование кассира
Fptr.setParam(1203, "590********"); //ИНН кассира
Fptr.operatorLogin();
Fptr.setParam(1178, new Date("2024-03-19T00:00:00")); //дата время
Fptr.setParam(1177, "Служебная записка");
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.setParam(Fptr.LIBFPTR_PARAM_RECEIPT_ELECTRONICALLY, true); / Чтобы чек не печатался (электронный чек), нужно установить параметру LIBFPTR_PARAM_RECEIPT_ELECTRONICALLY значение true. */
Fptr.openReceipt();
Fptr.setParam(Fptr.LIBFPTR_PARAM_COMMODITY_NAME, " "); //товар
Fptr.setParam(Fptr.LIBFPTR_PARAM_PRICE, 3); //сумма
Fptr.setParam(Fptr.LIBFPTR_PARAM_QUANTITY, 1); //количество
Fptr.setParam(Fptr.LIBFPTR_PARAM_TAX_TYPE, Fptr.LIBFPTR_TAX_NO); // не облагается НДС
Fptr.setParam(2108, 0); //2108 Мера количества предмета расчета
Fptr.registration();
Fptr.setParam(Fptr.LIBFPTR_PARAM_PAYMENT_TYPE, Fptr.LIBFPTR_PT_ELECTRONICALLY); // нал - Fptr.LIBFPTR_PT_CASH, безнал - LIBFPTR_PT_ELECTRONICALLY
Fptr.setParam(Fptr.LIBFPTR_PARAM_PAYMENT_SUM, 0.00); //сумма расчета
Fptr.payment();
Fptr.setParam(Fptr.LIBFPTR_PARAM_SUM, 0.00); // полная сумма по чеку
Fptr.receiptTotal();
Fptr.closeReceipt();
Печатает через скрипт только Наличные. Нужно безнал сделать.
Fptr.setParam(1021, "Кассир"); //наименование кассира
Fptr.setParam(1203, "590********"); //ИНН кассира
Fptr.operatorLogin();
Fptr.setParam(1178, new Date("2024-03-19T00:00:00")); //дата время
Fptr.setParam(1177, "Служебная записка");
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.setParam(Fptr.LIBFPTR_PARAM_RECEIPT_ELECTRONICALLY, true); / Чтобы чек не печатался (электронный чек), нужно установить параметру LIBFPTR_PARAM_RECEIPT_ELECTRONICALLY значение true. */
Fptr.openReceipt();
Fptr.setParam(Fptr.LIBFPTR_PARAM_COMMODITY_NAME, " "); //товар
Fptr.setParam(Fptr.LIBFPTR_PARAM_PRICE, 3); //сумма
Fptr.setParam(Fptr.LIBFPTR_PARAM_QUANTITY, 1); //количество
Fptr.setParam(Fptr.LIBFPTR_PARAM_TAX_TYPE, Fptr.LIBFPTR_TAX_NO); // не облагается НДС
Fptr.setParam(2108, 0); //2108 Мера количества предмета расчета
Fptr.registration();
Fptr.setParam(Fptr.LIBFPTR_PARAM_PAYMENT_TYPE, Fptr.LIBFPTR_PT_ELECTRONICALLY); // нал - Fptr.LIBFPTR_PT_CASH, безнал - LIBFPTR_PT_ELECTRONICALLY
Fptr.setParam(Fptr.LIBFPTR_PARAM_PAYMENT_SUM, 0.00); //сумма расчета
Fptr.payment();
Fptr.setParam(Fptr.LIBFPTR_PARAM_SUM, 0.00); // полная сумма по чеку
Fptr.receiptTotal();
Fptr.closeReceipt();
раобрался.
Fptr.setParam(Fptr.LIBFPTR_PARAM_PAYMENT_SUM, 0.00); //сумма расчета
Fptr.setParam(Fptr.LIBFPTR_PARAM_SUM, 0.00); // полная сумма по чеку
В этих тегах если сумму указать, то безнал будет. Если не указывать, то наличные.
Тег (Fptr.LIBFPTR_PARAM_PAYMENT_TYPE, Fptr.LIBFPTR_PT_ELECTRONICALLY) - игнорируется при этом
Fptr.setParam(Fptr.LIBFPTR_PARAM_PAYMENT_SUM, 0.00); //сумма расчета
Fptr.setParam(Fptr.LIBFPTR_PARAM_SUM, 0.00); // полная сумма по чеку
В этих тегах если сумму указать, то безнал будет. Если не указывать, то наличные.
Тег (Fptr.LIBFPTR_PARAM_PAYMENT_TYPE, Fptr.LIBFPTR_PT_ELECTRONICALLY) - игнорируется при этом
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот