Скрипт, для массового формирования чеков коррекции

Опубликовано Valery - чт, 06/23/2022 - 14:00


Алгоритм запуска скрипта в ДТО

Ранее уже рассматривали скрипт для формирования чека коррекции, теперь перейдем к практической части вопроса - использование скрипта. Именно скриптом проще формировать массовый объем чеков коррекции, за длительный период работы. В переменную summ указываем сумму по чеку, в переменную monthh/dayy указываем месяц/день коррекции. Формально, в пределах месяца, приходится менять только две переменных  день и сумму, правда с оговоркой, если наименование товара не меняется      

summ = 55;
monthh = "01";
dayy = "07";

Fptr.setParam(1021, "Кассир Иванов И.");
Fptr.setParam(1203, "123456789047");
Fptr.operatorLogin();
Fptr.setParam(1179, "0");
Fptr.setParam(1178, new Date("2022-" + monthh + "-" + dayy + "T00: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.openReceipt();
Fptr.setParam(Fptr.LIBFPTR_PARAM_COMMODITY_NAME, "Товар");
Fptr.setParam(Fptr.LIBFPTR_PARAM_PRICE, summ);
Fptr.setParam(Fptr.LIBFPTR_PARAM_QUANTITY, 1);
Fptr.setParam(Fptr.LIBFPTR_PARAM_TAX_TYPE, Fptr.LIBFPTR_TAX_NO);
Fptr.registration();
Fptr.setParam(Fptr.LIBFPTR_PARAM_PAYMENT_TYPE, Fptr.LIBFPTR_PT_ELECTRONICALLY );
Fptr.setParam(Fptr.LIBFPTR_PARAM_PAYMENT_SUM, summ);
Fptr.payment();
Fptr.setParam(Fptr.LIBFPTR_PARAM_SUM, summ);
Fptr.receiptTotal();
Fptr.closeReceipt();

 


Результатом выполнения данного скрипта будет вот такой документ: без НДС, оплата безналичными

 

Аналогично можно сформировать чек коррекции неправильно указанного НДС, например для НДС 20% надо указать Fptr.setParam(Fptr.LIBFPTR_PARAM_TAX_TYPE, Fptr.LIBFPTR_TAX_VAT20);

Пример скрипта для чека с НДС 20%

summ = 55;
monthh = "01";
dayy = "07";

Fptr.setParam(1021, "Кассир Иванов И.");
Fptr.setParam(1203, "123456789047");
Fptr.operatorLogin();
Fptr.setParam(1179, "0");
Fptr.setParam(1178, new Date("2022-" + monthh + "-" + dayy + "T00: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.openReceipt();
Fptr.setParam(Fptr.LIBFPTR_PARAM_COMMODITY_NAME, "Товар");
Fptr.setParam(Fptr.LIBFPTR_PARAM_PRICE, summ);
Fptr.setParam(Fptr.LIBFPTR_PARAM_QUANTITY, 1);
Fptr.setParam(Fptr.LIBFPTR_PARAM_TAX_TYPE, Fptr.LIBFPTR_TAX_VAT20);
Fptr.registration();
Fptr.setParam(Fptr.LIBFPTR_PARAM_PAYMENT_TYPE, Fptr.LIBFPTR_PT_ELECTRONICALLY );
Fptr.setParam(Fptr.LIBFPTR_PARAM_PAYMENT_SUM, summ);
Fptr.payment();
Fptr.setParam(Fptr.LIBFPTR_PARAM_SUM, summ);
Fptr.receiptTotal();
Fptr.closeReceipt();


Результатом выполнения данного скрипта будет вот такой документ: НДС-20%, оплата безналичными

Теги