![]() |
Драйвер контрольно-кассовой техники v.10
|
Методы для формирования чека Подробнее...
Перечисления | |
enum | libfptr_tax_mode { LIBFPTR_TM_POSITION = 0, LIBFPTR_TM_UNIT } |
Способ начисления налога Подробнее... | |
enum | libfptr_receipt_type { LIBFPTR_RT_CLOSED = 0, LIBFPTR_RT_SELL = 1, LIBFPTR_RT_SELL_RETURN = 2, LIBFPTR_RT_SELL_CORRECTION = 7, LIBFPTR_RT_BUY = 4, LIBFPTR_RT_BUY_RETURN = 5, LIBFPTR_RT_BUY_CORRECTION = 9 } |
Тип чека Подробнее... | |
enum | libfptr_payment_type { LIBFPTR_PT_CASH = 0, LIBFPTR_PT_ELECTRONICALLY, LIBFPTR_PT_PREPAID, LIBFPTR_PT_CREDIT, LIBFPTR_PT_OTHER, LIBFPTR_PT_6, LIBFPTR_PT_7, LIBFPTR_PT_8, LIBFPTR_PT_9, LIBFPTR_PT_10 } |
Тип оплаты Подробнее... | |
enum | libfptr_tax_type { LIBFPTR_TAX_DEPARTMENT = 0, LIBFPTR_TAX_VAT18 = 1, LIBFPTR_TAX_VAT10, LIBFPTR_TAX_VAT118, LIBFPTR_TAX_VAT110, LIBFPTR_TAX_VAT0, LIBFPTR_TAX_NO } |
Налоговая ставка Подробнее... | |
Методы для формирования чека
enum libfptr_payment_type |
Тип оплаты
Список возможных значений для параметра LIBFPTR_PARAM_PAYMENT_TYPE
См. определение в файле libfptr10.h строка 1352
enum libfptr_receipt_type |
Тип чека
Список возможных значений для параметра LIBFPTR_PARAM_RECEIPT_TYPE
См. определение в файле libfptr10.h строка 1274
enum libfptr_tax_mode |
Способ начисления налога
Список возможных значений для параметра LIBFPTR_PARAM_TAX_MODE
Элементы перечислений | |
---|---|
LIBFPTR_TM_POSITION | На позицию |
LIBFPTR_TM_UNIT | На единицу |
См. определение в файле libfptr10.h строка 1125
enum libfptr_tax_type |
Налоговая ставка
Список возможных значений для параметра LIBFPTR_PARAM_TAX_TYPE
См. определение в файле libfptr10.h строка 1383
DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_cancel_receipt | ( | libfptr_handle | handle | ) |
Отменяет открытый чек.
Пример использования:
handle | Дескриптор |
-1 | Ошибка |
0 | Успех |
DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_check_document_closed | ( | libfptr_handle | handle | ) |
Проверяет результат закрытия фискального документа.
В ряде ситуаций (окончание бумаги, потеря связи с ККТ в момент регистрации документа) состояние документа остается неизвестным. Данный метод сверяет счетчики ККТ с сохраненными до закрытия документа копиями и вычисляет, закрылся ли он. Дескриптор handler не должен разрушаться (libfptr_destroy()), создаваться заново (libfptr_create()) и перенастраиваться (libfptr_set_settings(), libfptr_apply_single_settings()) между вызовами методов закрытия / формирования документа и libfptr_check_document_closed() для корректной работы метода.
Метод применим для:
Выходными свойствами метода являются LIBFPTR_PARAM_DOCUMENT_CLOSED (закрылся документ или нет) и LIBFPTR_PARAM_DOCUMENT_PRINTED (напечатался документ или нет).
Если не обработать флаг LIBFPTR_PARAM_DOCUMENT_PRINTED и не допечатать документа самостоятельно командой libfptr_continue_print(), то документ будет автоматически допечатан при следующей печатной операции.
Пример использования:
handle | Дескриптор |
-1 | Ошибка |
0 | Успех |
DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_close_receipt | ( | libfptr_handle | handle | ) |
Закрывает открытый чек.
Закрывает чек без сдачи. Если чек уже частично оплачен, зафиксирует оплату остатка заданным типом. Если чек оплачен полностью, передача LIBFPTR_PARAM_PAYMENT_TYPE ни на что не влияет.
Название | Описание | Тип параметра | Обязательность или значение по умолчанию |
---|---|---|---|
Входные параметры | |||
LIBFPTR_PARAM_PAYMENT_TYPE | Тип оплаты | int (libfptr_payment_type) | LIBFPTR_PT_CASH |
Пример использования:
handle | Дескриптор |
-1 | Ошибка |
0 | Успех |
DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_continue_print | ( | libfptr_handle | handle | ) |
Допечатывает недопечатанный документ.
handle | Дескриптор |
-1 | Ошибка |
0 | Успех |
DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_open_receipt | ( | libfptr_handle | handle | ) |
Открывает чек.
Название | Описание | Тип параметра | Обязательность или значение по умолчанию | ||
---|---|---|---|---|---|
Входные параметры | |||||
LIBFPTR_PARAM_RECEIPT_TYPE | Тип чека | int (libfptr_receipt_type) | + | ||
LIBFPTR_PARAM_RECEIPT_ELECTRONICALLY | Электронный чек | bool | false | ||
Допустимые реквизиты ФН для всех чеков (чеков коррекции после ФФД 1.1) | |||||
1005 | Адрес оператора по переводу денежных средств | string | |||
1008 | Номер телефона / email клиента | string | |||
1016 | ИНН оператора по переводу денежных средств | string | |||
1021 | Кассир | string | |||
1026 | Наименование оператора по переводу денежных средств | string | |||
1044 | Операция банковского агента | string | |||
1055 | Применяемая система налогообложения | int | |||
1057 | Признак платежного агента | int | |||
1073 | Телефон платежного агента | string | |||
1074 | Телефон оператора по приему платежей | string | |||
1075 | Телефон оператора по переводу денежных средств | string | |||
1084 | Дополнительный реквизит пользователя | bytearray | |||
1108 | Признак расчетов в сети Интернет | bool | |||
1117 | Адрес электронной почты отправителя чека | string | |||
1171 | Телефон поставщика (возможна передача нескольких реквизитов) | string | |||
1192 | Дополнительный реквизит чека | string | |||
1203 | ИНН кассира | string | |||
1227 | Наименование клиента | string | |||
1228 | ИНН клиента | string | |||
Дополнительные реквизиты для чеков коррекции, помимо выше перечисленных (ФФД 1.1) | |||||
1174 | Основание для коррекции | bytearray | |||
Допустимые реквизиты ФН для чеков коррекции (ФФД 1.0, ФФД 1.05) | |||||
1021 | Кассир | string | |||
1055 | Применяемая система налогообложения | int | |||
1173 | Тип коррекции | int | |||
1174 | Основание для коррекции | bytearray | |||
1203 | ИНН кассира | string |
Название | Описание | Тип параметра |
---|---|---|
1085 | Наименование дополнительного реквизита | string |
1086 | Значение дополнительного реквизита | string |
Название | Описание | Тип параметра |
---|---|---|
1177 | Наименование основания для коррекции | string |
1178 | Дата документа основания для коррекции | datetime |
1179 | Номер документа основания для коррекции | string |
Название | Описание | Тип параметра |
---|---|---|
1173 | Тип коррекции | int |
1177 | Наименование основания для коррекции | string |
1178 | Дата документа основания для коррекции | datetime |
1179 | Номер документа основания для коррекции | string |
Если один из реквизитов ФН не удалось запрограммировать, ошибка возвращена не будет (чек откроется), но будет параметр LIBFPTR_PARAM_ERROR_TAG_NUMBER будет инициализирован номером реквизита, запись которого была завершена с ошибкой.
Пример использования:
handle | Дескриптор |
-1 | Ошибка |
0 | Успех |
DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_operator_login | ( | libfptr_handle | handle | ) |
Регистрирует кассира
Название | Описание | Тип параметра | Обязательность или значение по умолчанию |
---|---|---|---|
Входные параметры | |||
1021 | Должность и фамилия кассира | string | |
1203 | ИНН кассира | string |
handle |
-1 | Ошибка |
0 | Успех |
DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_payment | ( | libfptr_handle | handle | ) |
Производит регистрацию оплаты.
Название | Описание | Тип параметра | Обязательность или значение по умолчанию |
---|---|---|---|
Входные параметры | |||
LIBFPTR_PARAM_PAYMENT_TYPE | Тип оплаты | int (libfptr_payment_type) | + |
LIBFPTR_PARAM_PAYMENT_SUM | Сумма оплаты, р. | double | + |
Выходные параметры | |||
LIBFPTR_PARAM_REMAINDER | Неоплаченный остаток чека, р. | double | |
LIBFPTR_PARAM_CHANGE | Сдача, р. | double |
Пример использования:
handle | Дескриптор |
-1 | Ошибка |
0 | Успех |
DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_receipt_tax | ( | libfptr_handle | handle | ) |
Регистрирует налог на чек.
Название | Описание | Тип параметра | Обязательность или значение по умолчанию |
---|---|---|---|
Входные параметры | |||
LIBFPTR_PARAM_TAX_TYPE | Ставка налога на чек | int (libfptr_tax_type) | + |
LIBFPTR_PARAM_TAX_SUM | Сумма налога на чек, р. | double | + |
Указанная налоговая ставка должна присутствовать в чеке, чтобы регистрация ее суммы была возможна.
handle | Дескриптор |
-1 | Ошибка |
0 | Успех |
DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_receipt_total | ( | libfptr_handle | handle | ) |
Регистрирует итог чека
Название | Описание | Тип параметра | Обязательность или значение по умолчанию |
---|---|---|---|
Входные параметры | |||
LIBFPTR_PARAM_SUM | Итог чека | double | - |
Команда не является обязательной. Если команда не передана, или LIBFPTR_PARAM_SUM не указан, сумма чека будет посчитана автоматически. С помощью данной команды можно скорректировать сумму чека в рамках копеек.
handle | Дескриптор |
-1 | Ошибка |
0 | Успех |
DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_registration | ( | libfptr_handle | handle | ) |
Производит регистрацию товара.
Название | Описание | Тип параметра | Обязательность или значение по умолчанию |
---|---|---|---|
Входные параметры | |||
LIBFPTR_PARAM_COMMODITY_NAME | Наименование товара | string | + |
LIBFPTR_PARAM_PRICE | Цена за единицу товара, р | double | + |
LIBFPTR_PARAM_QUANTITY | Количество товара, ед. | double | + |
LIBFPTR_PARAM_POSITION_SUM | Общая сумма позиции, р. | double | - (автоматический рассчет) |
LIBFPTR_PARAM_DEPARTMENT | Номер отдела | int | 1 (по возможности без печати на чековой ленте) |
LIBFPTR_PARAM_TAX_TYPE | Ставка налога на позицию | int (libfptr_tax_type) | + |
LIBFPTR_PARAM_TAX_SUM | Сумма налога на позицию, р. | double | - (сумма рассчитывается на стороне ККТ) |
LIBFPTR_PARAM_USE_ONLY_TAX_TYPE | Передавать только ставку налога | bool | false |
LIBFPTR_PARAM_TAX_MODE | Способ начисления налога | int (libfptr_tax_mode) | LIBFPTR_TM_POSITION |
LIBFPTR_PARAM_INFO_DISCOUNT_SUM | Сумма информационной скидки/надбавки, р. | double | 0.00 (не печатается на чековой ленте) |
LIBFPTR_PARAM_COMMODITY_PIECE | Штучный товар | bool | false |
LIBFPTR_PARAM_CHECK_SUM | Проверять сумму | bool | false |
Допустимые реквизиты ФН | |||
1162 | Код товарной номенклатуры | bytearray | |
1191 | Дополнительный реквизит товара | string | |
1197 | Единицы измерения предмета расчета | string | |
1212 | Признак предмета расчета | int | |
1214 | Признак способа расчета | int | |
1222 | Признак агента по предмету расчета | int | |
1223 | Данные агента | bytearray | |
1224 | Данные поставщика | bytearray | |
1226 | ИНН поставщика | string | |
1229 | Акциз | double | |
1230 | Код страны производителя | string | |
1231 | Номер таможенной декларации | string |
Название | Описание | Тип параметра |
---|---|---|
1005 | Адрес оператора перевода | string |
1016 | ИНН оператора перевода | string |
1026 | Наименование оператора перевода | string |
1044 | Операция платежного агента | string |
1073 | Телефон платежного агента | string |
1074 | Телефон оператора по приему платежей | string |
1075 | Телефон оператора перевода | string |
Название | Описание | Тип параметра |
---|---|---|
1171 | Телефон поставщика | string |
1225 | Наименование поставщика | string |
Если LIBFPTR_PARAM_POSITION_SUM не передан, то общая сумма расчитывается как LIBFPTR_PARAM_PRICE * LIBFPTR_PARAM_QUANTITY с математическим округлением.
Если LIBFPTR_PARAM_POSITION_SUM передан и LIBFPTR_PARAM_POSITION_SUM != LIBFPTR_PARAM_PRICE * LIBFPTR_PARAM_QUANTITY с точностью до 1 копейки, производится распределение получившейся разницы (скидки/надбавки) на общее кол-во товаров в позиции. При этом возможно разбиение позиции на две, если невозможно распределить скидку/надбавку равномерно и ККТ реализует подобную логику. Сумма информационной скидки (LIBFPTR_PARAM_INFO_DISCOUNT_SUM) в этом случае не учитывается.
Пример:
цена за единицу = 100.00, количество = 7.000, общая сумма = 661.04. Скидка на позицию = 38.96, не распределяется равномерно на 7 единиц товара (38.96 = 5.56 * 3 + 5.57 * 4). Таким образом, на чековой ленте будет распечатано две позиции с одинаковым наименованием:
Если LIBFPTR_PARAM_TAX_SUM не передан, то ККТ рассчитает сумму налога самостоятельно.
Если LIBFPTR_PARAM_TAX_SUM передан, то сумма налога будет зарегистрирована исходя из значения данного параметра.
Если LIBFPTR_PARAM_USE_ONLY_TAX_TYPE передан и равен true, ККТ не будет рассчитывать сумму налога. В этом случае требуется зарегистрировать налог на чек с помощью libfptr_receipt_tax().
Для формирования составных реквизитов (1223, 1224) рекомендуется использовать libfptr_util_form_tlv(). Для упрощения формирования кода товарной номенклатуры (1162) можно использовать libfptr_util_form_nomenclature().
Пример использования:
handle | Дескриптор |
-1 | Ошибка |
0 | Успех |