Драйвер контрольно-кассовой техники v.10
Перечисления | Функции
Утилитарные методы

Различные утилитарные методы, не связанные напрямую с работой с ККТ Подробнее...

Перечисления

enum  libfptr_nomenclature_type { LIBFPTR_NT_FURS = 0, LIBFPTR_NT_MEDICINES, LIBFPTR_NT_TOBACCO }
 Тип кода товарной номенклатуры Подробнее...
 
enum  libfptr_log_level { LIBFPTR_LOG_ERROR = 0, LIBFPTR_LOG_WARN, LIBFPTR_LOG_INFO, LIBFPTR_LOG_DEBUG }
 Уровень лога Подробнее...
 

Функции

DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_util_form_tlv (libfptr_handle handle)
 Формирирует массив байтов с TLV-структурой, составленной из входящих реквизитов и их значений. Подробнее...
 
DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_util_mapping (libfptr_handle handle)
 Формирует список доступных настроек Подробнее...
 
DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_util_form_nomenclature (libfptr_handle handle)
 Формирует код товарной номенклатуры (КТН) из заданных параметров Подробнее...
 
DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_log_write (const wchar_t *tag, int level, const wchar_t *message)
 Записывает сообщение в лог библиотеки Подробнее...
 

Подробное описание

Различные утилитарные методы, не связанные напрямую с работой с ККТ

Перечисления

◆ libfptr_log_level

Уровень лога

Элементы перечислений
LIBFPTR_LOG_ERROR 

Ошибка

LIBFPTR_LOG_WARN 

Предупреждение

LIBFPTR_LOG_INFO 

Информация

LIBFPTR_LOG_DEBUG 

Отладка

См. определение в файле libfptr10.h строка 1765

◆ libfptr_nomenclature_type

Тип кода товарной номенклатуры

Список возможных значений для LIBFPTR_PARAM_NOMENCLATURE_TYPE

Элементы перечислений
LIBFPTR_NT_FURS 

Маркировка изделий из меха

LIBFPTR_NT_MEDICINES 

Маркировка лекарственных препаратов

LIBFPTR_NT_TOBACCO 

Маркировка табачной продукции

См. определение в файле libfptr10.h строка 1717

Функции

◆ libfptr_log_write()

DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_log_write ( const wchar_t *  tag,
int  level,
const wchar_t *  message 
)

Записывает сообщение в лог библиотеки

Для корректной работы необходимо добавить к конфигурации логирования используемый тег (категорию).

Аргументы
tagТег (категория) сообщения
levelУровень сообщения (libfptr_log_level)
messageСообщение
Возвращаемые значения
-1Ошибка
0Успех

◆ libfptr_util_form_nomenclature()

DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_util_form_nomenclature ( libfptr_handle  handle)

Формирует код товарной номенклатуры (КТН) из заданных параметров

Обязательным входным параметром для метода является LIBFPTR_PARAM_NOMENCLATURE_TYPE (принимает значения из списка libfptr_nomenclature_type), а также указанные ниже параметры в зависимости от типа КТН.

Список данных
Тип КТН (LIBFPTR_PARAM_NOMENCLATURE_TYPE) Описание Входные параметры
НазваниеОписание

Тип параметра

LIBFPTR_NT_FURS Маркировка для изделий из меха LIBFPTR_PARAM_GTIN Идентификатор продукта GTIN string
LIBFPTR_PARAM_SERIAL_NUMBER Серийный номер

string

LIBFPTR_NT_MEDICINES Маркировка для лекарственных препаратов LIBFPTR_PARAM_GTIN Идентификатор продукта GTIN string
LIBFPTR_PARAM_SERIAL_NUMBER Контрольный (идентификационный) знак (КиЗ)

string

LIBFPTR_NT_TOBACCO Маркировка для табачной продукции LIBFPTR_PARAM_GTIN Идентификатор продукта GTIN string
LIBFPTR_PARAM_SERIAL_NUMBER Код идентификации string

Пример использования:

libfptr_set_param_str(handle, LIBFPTR_PARAM_GTIN, L"98765432101234");
{
// Обработка ошибки
return;
}
std::vector<uchar> nomenclatureCode;
int size = libfptr_get_param_bytearray(handle, LIBFPTR_PARAM_TAG_VALUE, &nomenclatureCode[0], nomenclatureCode.size());
if (size > nomenclatureCode.size())
{
nomenclatureCode.resize(size);
libfptr_get_param_bytearray(handle, LIBFPTR_PARAM_TAG_VALUE, &nomenclatureCode[0], nomenclatureCode.size());
}
// Передача сформированного тела реквизита в функцию регистрации позиции
libfptr_set_param_bytearray(handle, 1162, &nomenclatureCode[0], nomenclatureCode.size());
// ...
// ...
Аргументы
handleДескриптор
Возвращаемые значения
-1Ошибка
0Успех

◆ libfptr_util_form_tlv()

DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_util_form_tlv ( libfptr_handle  handle)

Формирирует массив байтов с TLV-структурой, составленной из входящих реквизитов и их значений.

Метод предназначен для формирования составных TLV-структур. Реквизиты могут повторяться.

Пример использования (формирование значения реквизита 1223 (Данные агента)):

libfptr_set_param_str(handle, 1005, L"ул. Свободы, 13");
libfptr_set_param_str(handle, 1016, L"123456789047");
libfptr_set_param_str(handle, 1026, L"Оператор 1");
libfptr_set_param_str(handle, 1044, L"Оплата");
libfptr_set_param_str(handle, 1073, L"+79121234567");
libfptr_set_param_str(handle, 1074, L"+79121234568");
libfptr_set_param_str(handle, 1074, L"+79121234574");
libfptr_set_param_str(handle, 1075, L"+79121234569");
if (libfptr_util_form_tlv(handle) < 0)
{
// Обработка ошибки
return;
}
std::vector<uchar> agentData;
int size = libfptr_get_param_bytearray(handle, LIBFPTR_PARAM_TAG_VALUE, &agentData[0], agentData.size());
if (size > agentData.size())
{
data.resize(size);
libfptr_get_param_bytearray(handle, LIBFPTR_PARAM_TAG_VALUE, &agentData[0], agentData.size());
}
// Передача сформированного тела реквизита в функцию регистрации
libfptr_set_param_bytearray(handle, 1223, &agentData[0], agentData.size());
// ...
// ...
Аргументы
handleДескриптор
Возвращаемые значения
-1Ошибка
0Успех

◆ libfptr_util_mapping()

DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_util_mapping ( libfptr_handle  handle)

Формирует список доступных настроек

Общие параметры
Название Описание Тип параметра Обязательность или
значение по умолчанию
Входные параметры
LIBFPTR_PARAM_MAPPING_KEY Название настройки string +
Выходные параметры
LIBFPTR_PARAM_MAPPING_VALUE Список значений настройки string +

Список доступных для получения списка значений настроек (подробнее о настройках написано на странице Настройки библиотеки):

Формат LIBFPTR_PARAM_MAPPING_VALUE - Json следующего вида:

[
{
"key": <значение 1, строка>,
"description": <описание значения 1, строка>
},
{
"key": <значение 2, строка>,
"description": <описание значения 2, строка>
},
{
"key": <значение 3, строка>,
"description": <описание значения 3, строка>
}
]

Пример использования:

// Получение списка возможных значений настройки Port
libfptr_set_param_string(handle, LIBFPTR_PARAM_MAPPING_KEY, LIBFPTR_SETTING_PORT);
if (libfptr_util_mapping(handle) < 0)
{
// Обработка ошибки
return;
}
std::vector<wchar_t> mapping(1024);
int size = libfptr_get_param_str(handle, LIBFPTR_PARAM_MAPPING_VALUE, &mapping[0], mapping.size());
if (size > mapping.length())
{
mapping.resize(size);
libfptr_get_param_str(handle, LIBFPTR_PARAM_MAPPING_VALUE, &mapping[0], mapping.size());
}
Аргументы
handleДескриптор
Возвращаемые значения
-1Ошибка
0Успех