Изучаем скрипт коррекции чека

Опубликовано Valery - вт, 06/21/2022 - 07:06


Алгоритм выполнения скрипта в ДТО10

/* Секция регистрации оператора */

Fptr.setParam(1021, "Кассир Иванов И.И."); /* тег 1021 - "Кассир", указываем ФИО кассира. */
Fptr.setParam(1203, "123456789047"); /* тег 1023 - "ИНН кассира", указываем ИНН кассира */
Fptr.operatorLogin(); /* выполняем метод operatorLogin() для регистрации кассира */

/* Секция формирования составного тега 1174 (Основание для коррекции) */

Fptr.setParam(1177, "Служебная записка"); /* тег 1177 - "Описание коррекции", указываем причину коррекции и наименование документа, на основании которого производится коррекция (объяснительная, служебная записка, акт, предписание налогового органа или др.). */
Fptr.setParam(1178, new Date("2021-09-01T00:00:00")); /* тег 1178 - "Дата совершения корректируемого расчета", указываем дату чека коррекции */
Fptr.setParam(1179, "0"); /* тег 1179 - «Номер документа основания для коррекции», указываем номер документа, на основании которого формируется чек коррекции */
Fptr.utilFormTlv(); /* Выполняем метод utilFormTlv() для формирования составного тега 1174 из тегов 1177, 1178, 1179 */
correctionInfo = Fptr.getParamByteArray(Fptr.LIBFPTR_PARAM_TAG_VALUE); /* забираем результат (массив байтов для тега 1174) в LIBFPTR_PARAM_TAG_VALUE */
Fptr.setParam(1174, correctionInfo); /* записываем собранный массив байтов в тег 1174 */

/* Секция открытия чека */

Fptr.setParam(Fptr.LIBFPTR_PARAM_RECEIPT_TYPE, Fptr.LIBFPTR_RT_SELL_CORRECTION); /* Тип чека (LIBFPTR_PARAM_RECEIPT_TYPE) может принимать следующие значения:
LIBFPTR_RT_SELL - чек прихода (продажи);
LIBFPTR_RT_SELL_RETURN - чек возврата прихода (продажи);
LIBFPTR_RT_SELL_CORRECTION - чек коррекции прихода;
LIBFPTR_RT_SELL_RETURN_CORRECTION - чек коррекции возврата прихода;
LIBFPTR_RT_BUY - чек расхода (покупки);
LIBFPTR_RT_BUY_RETURN - чек возврата расхода (покупки);
LIBFPTR_RT_BUY_CORRECTION - чек коррекции расхода;
LIBFPTR_RT_BUY_RETURN_CORRECTION - чек коррекции возврата расхода. */

Fptr.setParam(1173, 0); /* тег 1173 - "Тип коррекции", принимает только одно из двух возможных значений:
"0" - самостоятельная операция,
"1" - операция по предписанию налогового органа об устранении выявленного нарушения законодательства Российской Федерации о применении ККТ. */

Fptr.openReceipt(); /* выполняем метод openReceipt() для открытия чека */

/* секция регистрации позиции чека */

Fptr.setParam(Fptr.LIBFPTR_PARAM_COMMODITY_NAME, "Товар"); /* LIBFPTR_PARAM_COMMODITY_NAME - название товара */
Fptr.setParam(Fptr.LIBFPTR_PARAM_PRICE, 50); /* LIBFPTR_PARAM_PRICE - цена за единицу */ Fptr.setParam(Fptr.LIBFPTR_PARAM_QUANTITY, 25); /* LIBFPTR_PARAM_QUANTITY - количество единиц товара */

/* Секция выбора налоговой ставки */

Fptr.setParam(Fptr.LIBFPTR_PARAM_TAX_TYPE, Fptr.LIBFPTR_TAX_NO); /* LIBFPTR_PARAM_TAX_TYPE - номер налоговой ставки, LIBFPTR_TAX_NO - не облагается */

/* LIBFPTR_PARAM_TAX_TYPE - номер налоговой ставки может принимать следующие значения:
LIBFPTR_TAX_DEPARTMENT - тип, привязанный к секции товара
LIBFPTR_TAX_VAT10 - НДС 10%
LIBFPTR_TAX_VAT110 - НДС рассчитанный 10/110
LIBFPTR_TAX_VAT0 - НДС 0%
LIBFPTR_TAX_NO - не облагается
LIBFPTR_TAX_VAT20 - НДС 20%
LIBFPTR_TAX_VAT120 - НДС рассчитанный 20/120 */

Fptr.registration(); /* выполняем метод registration() для регистрации позиции */

Fptr.setParam(Fptr.LIBFPTR_PARAM_PAYMENT_TYPE, Fptr.LIBFPTR_PT_CASH); /* LIBFPTR_PARAM_PAYMENT_TYPE - способ расчета, LIBFPTR_PT_CASH - наличными 
LIBFPTR_PARAM_PAYMENT_TYPE - способ расчета, может принимать следующие значения: LIBFPTR_PT_CASH - наличными;
LIBFPTR_PT_ELECTRONICALLY - безналичными;
LIBFPTR_PT_PREPAID - предварительная оплата (аванс);
LIBFPTR_PT_CREDIT - последующая оплата (кредит);
LIBFPTR_PT_OTHER - иная форма оплаты (встречное предоставление);
LIBFPTR_PT_6 - способ расчета №6;
LIBFPTR_PT_7 - способ расчета №7;
LIBFPTR_PT_8 - способ расчета №8;
LIBFPTR_PT_9 - способ расчета №9;
LIBFPTR_PT_10 - способ расчета №10. */

Fptr.setParam(Fptr.LIBFPTR_PARAM_PAYMENT_SUM, 1250.00); /* LIBFPTR_PARAM_PAYMENT_SUM - сумму расчета */

Fptr.payment(); /* выполняем метод payment() для регистрации оплаты чека */

Fptr.setParam(Fptr.LIBFPTR_PARAM_SUM, 1250.00); /* LIBFPTR_PARAM_SUM - полная сумма по чеку */

Fptr.receiptTotal(); /* выполняем метод receiptTotal() для регистрации итога чека */

Fptr.closeReceipt(); /* выполняем метод closeReceipt() для закрытия чека */

Теги