Скрипт на возврат товара

Опубликовано Valery - пт, 02/17/2023 - 15:26

 
Самый простой способ формирования нестандартных чеков - это написать и выполнить скрипт

ТТХ чека возврата:
НДС указан явно - без НДС;
СНО указано явно - УСН доход- расход;
Тип чека возврата - возврат продажи;
Тип оплаты - безналичный расчет;
Цена товара - 649 руб. 00 коп.;
Количество товара - 1шт. ;
Скрипт под требования ФФД 1.05
Дополнительно - к наименованию товара добавлен суффикс в виде номера ФД продажи.

summ = 649.00;
name_tovar = "Подушка для шеи White cat(шт)";
name_osn ="(возврат ФД 19898)";

Fptr.setParam(1021, "Шагижигамова Алина Ринатовна");
/* Fptr.setParam(1203, "740000000000"); */
Fptr.operatorLogin();

Fptr.setParam(Fptr.LIBFPTR_PARAM_RECEIPT_TYPE, Fptr.LIBFPTR_RT_SELL_RETURN);
Fptr.setParam(1055, Fptr.LIBFPTR_TT_USN_INCOME_OUTCOME);
Fptr.openReceipt();

Fptr.setParam(Fptr.LIBFPTR_PARAM_COMMODITY_NAME, name_tovar+ name_osn);
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();


Чек возврата продажи выглядит следующего образца.

Чек с аналогичными параметрами, но на несколько продаж, с разным количеством товара в позиции. Ковычки " ("Хулиганская Жевамба"), в наименовании товара скрипт не понимает, поэтому заменены на другие ковычки' ('Хулиганская Жевамба').

summ = 78.00;
name_tovar_1 = "Карамель 'Бомбическая КОМИКСЫ' 13гр*30шт*12 блоков(шт)";
summ_1 = 25.00;

name_tovar_2 = "Жевательная конфета 'Хулиганская Жевамба' кола 12гр*24шт*24 блока.(шт)";
summ_2 =15.00;

name_tovar_3 = "Тянучка Goodtaste Sour в ассортименте(шт)";
summ_3 = 19.00;

name_osn ="(возврат ФД 19915)";

Fptr.setParam(1021, "Шагижигамова Алина Ринатовна");
/* Fptr.setParam(1203, "740000000000"); */
Fptr.operatorLogin();

Fptr.setParam(Fptr.LIBFPTR_PARAM_RECEIPT_TYPE, Fptr.LIBFPTR_RT_SELL_RETURN);
Fptr.setParam(1055, Fptr.LIBFPTR_TT_USN_INCOME_OUTCOME);
Fptr.openReceipt();

Fptr.setParam(Fptr.LIBFPTR_PARAM_COMMODITY_NAME, name_tovar_1+ name_osn);
Fptr.setParam(Fptr.LIBFPTR_PARAM_PRICE, summ_1);
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_COMMODITY_NAME, name_tovar_2+ name_osn);
Fptr.setParam(Fptr.LIBFPTR_PARAM_PRICE, summ_2);
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_COMMODITY_NAME, name_tovar_3+ name_osn);
Fptr.setParam(Fptr.LIBFPTR_PARAM_PRICE, summ_3);
Fptr.setParam(Fptr.LIBFPTR_PARAM_QUANTITY, 2);
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();



Образец чека возврата продажи с несколькими позициями в чеке.