FRFPRINTCHECK

Материал из Фабиус wiki
Перейти к: навигация, поиск

FRFPRINTCHECK - это функция ( QrAddFn.pas )

FrFPrintCheck(

{Id_кассира, секция, наимен, кол-во, цена, получено, налог1, налог2, налог3, налог4<3стр подвал>, <3 стр заглав.> [,GTIN] [,SerialNumber]},

<portnumber или "IP:PORT">,

<доп строка заголовка>,

<кол-во строк прогона>,

<DopArr { наимен, кол-во, цена, секция, налог1, налог2, налог3, налог4 [,GTIN] [,SerialNumber] }>,

тип продажи ( 1-нал, 2-4 - безнал ) = 1,

e-mail покупателя = "",

тип операции Продажа/покупка = 0,

без печати (только электронно) = False,

ФИОКассира = "",

открыватьЯщик если успех = false,

checkNumber - Переменная куда присвоится № чека ФД,

TaxType - система НО (1-ОСН, 2-УСН (Д), 4-УСН(Д-Р), 8-ЕНВД...,

needCheckTax2019 - автосмена ставки НДС на 20, при открытии 1-й смены 2019,

PaymentItemSign - ПризнакПредметаРасчета

( 1. Товар 2. Подакцизный товар 3. Работа 4. Услуга 5. Ставка азартной игры 6. Выигрыш азартной игры 7. Лотерейный билет 8. Выигрыш лотереи 9. Предоставление РИД 10. Платеж 11. Агеннтское вознаграждение 12. Составной предмет расчета 13. Иной предмет расчета 14. Имущественное право 15. Внереализационный доход 16. Страховые взносы 17. Торговый сбор 18. Курортный сбор),

PaymentTypeSign - ПризнакСпособаРасчета

( 1. Предоплата 100% 2. Частичная предоплата 3. Аванс 4. Полный расчет 5. Частичный расчет и кредит 6. Передача в кредит 7. Оплата кредита),

viaFN = false - все операции через FnOperation

(если нужно фд 1.05 и выше,  или PaymentItemSign <> 1 "товар" или  PaymentTypeSign<>4 "полный расчет" - надо передавать true),

CustomerNameOFD, CustomerINNOFD - имя и инн покупателя для передачи в офд (только при viaFN = true)

Пример вызова из FRF_PRINTCHECK_2016

                 Rslt := FrfPrintCheck(a_sal1, comPort, add_hdr_str,, a_sal2,;
                                       kind_pay, e_mail_str, kind_oper, is_no_print, casher_fio,;
                                       is_openBoxM, checkNumber, TaxType, is_CheckTax2019, PaymentItemSign,;
                                       PaymentTypeSign, is_viaFN, CustomerName_forOFD, CustomerINN_forOFD )

Распечатать чек на фискальном регистраторе

FRFPRINTCHECK( {Id_кассира, секция, наимен, кол-во, цена, получено, налог1, налог2, налог3, налог4<3стр подвал>, <3 стр заглав.>} , <portnumber или "IP:PORT">, <доп строка заголовка>, <кол-во строк прогона>, <DopArr {наимен, кол-во, цена, секция, налог1, налог2, налог3, налог4}>, тип продажи (1-нал, 2-4 - безнал)=1, e-mail покупателя = "", тип операции Продажа/покупка = 0, без печати (только электронно) = False, ФИОКассира = "", открыватьЯщик если успех = false, checkNumber - Переменная куда присвоится № чека ФД), TaxType - система НО (1-ОСН, 2-УСН (Д), 4-УСН(Д-Р), 8-ЕНВД...

Номер Параметр
1 товар[]
2 порт
3 заголовок
4 прогон
5 товар2[]
6 1 нал 2 безнал
7 e-mail
8 тип операции
9 без печати ( false по умолчанию )

Доработана процедура FRFprintCheck добавлены параметры - в основной и дополнительный массив передаваемой продукции можно последним параметром передать

тип налога

int 1 - 18%, 2 - 10% и в конце всех параметров, не в массив продукции а просто в процедуру - 6-й - email покупателя, 7-й тип движения (0 - продажа, 1 - покупка) и 8-й неПечататьЧек. По умолчанию false. если передать true - то чек просто уйдет в ОФД и напечатан не будет (аппарат пиликнет)

Добавилась процедура FrROpenSession - Открыть смену

Еще новые функции

FrfGetExchangeStatus(compPort) - получить полный статус инфообмена

FrfGetUnSendMessageCount(comPort) - число неотправленных сообщений в ОФД

FrfCreateCorrectionCheck(comPort, checkType, Sum) - Сформировать чек коррекции ОФД

Номер Параметр
1 Id_кассира
2 Секция
3 Наименование товара
4 Количество
5 Цена
6 Получено денег от покупателя
7 Налог1
8
9
10

О налогах

В ККТ предусмотрено начисление налогов на каждую операцию в чеке (приход, расход, возврат прихода, возврат расхода, сторно)

На операцию может начисляться только один налог

Наименования и ставки налогов программируются в Таблице 6 «Налоговые ставки»

1. НДС 20%

2. НДС 10%

3. НДС 0%

4. Без налога

5. Ставка 18/118

6. Ставка 10/110

Расчетные ставки определяются по следующим формулам

1. Ставка 18/118 - 18 / (100 + 18)

2. Ставка 10/110 - 10 / (100 + 10)

Описание Виктора

Находится в функции FRF_PRINTCHECK_2016

     //FrFPrintCheck({Id_кассира, секция, наимен, кол-во, цена,;
     //               получено, налог1, налог2, налог3, налог4,;
     //               <3стр подвал>, <3 стр заглав.>},   [1]
     //               portnumber,;                       [2]
     //               доп строка заголовка, кол-во строк прогона,;  [3,4]
     //               <DopArr: {наимен, кол-во, цена, секция, налог1, налог2, налог3, налог4}>,;  [5]
     //               <тип продажи (1-нал, 2-4 - безнал)=1>, e-mail покупателя = "",;             [6,7]
     //               <тип операции Продажа-0/покупка-1>, без печати (только электронно)=.f. )    [8,9]
     //               <Текст фамилии кассира>           [10]
     // Первый массив товара - заполняется ВСЕГДА, если товара 2 и более - заполняется
     // аналагичный доп массив товаров <DopArr ... >
     // % НДС указываем в <налог1>: (int) 1-18%, 2-10%, 3-0%, 4-Без НДС
     if FrfPrintCheck(a_sal1, comPort, add_hdr_str,, a_sal2,;
                      kind_pay, e_mail_str, kind_oper, is_no_print, casher_fio)

Смотрите также

Полезные функции

ШТРИХ-ЛАЙТ-01Ф


Ошибка при возврате по безналу, размышления

03.06.2021 в булочной 5 была обнаружена ошибка закрытия чека v.CloseCheck error 69
( при этом деньги возвращались на карту, а чек не выходил )
Часовой анализ привёл к выводу о том что программа спотыкается о реквизит получено
При оплате картой не может быть никакого даже разговора о том, сколько получено
получено имеет значение только при наличной оплате, для расчёта сдачи
Не было возможности проверить эту догадку, поэтому этот баг остаётся до тех пор, пока не будет возможности для проведения эксперимента