Общая информация
Драйвер контрольно-кассовой техники v.10 (дККТ10) - интеграционный компонент, предоставляющий удобный API (программный интерфейс) для работы с контрольно-кассовой техникой (ККТ) для самых популярных программных и аппаратных платформ и языков программирования. В их числе операционные системы Linux, Windows, Android и iOS, архитектуры i386, amd64 и arm.
За счет того, что драйвер разработан на языках C/С++ и имеет C-API, его подключение к любым официально неподдерживаемым языкам программирования осуществляется очень просто.
Для интеграции, помимо драйвера ККТ, можно использовать основанные на нем приложения:
Минимальные поддерживаемые версии ОС:
- Windows XP
- Linux с glibc 2.7
- Android 4.0
- iOS 8
Дистрибутивы
Windows
Дистрибутив для Windows (x86, x64) построен на базе NSIS и включает в себя:
- Драйвер ККТ (интеграционные библиотеки, графическая библиотека, тестовое приложение, зависимости). Ставится автоматически, отказаться от установки нельзя.
- Библиотека COM-объекта. Ставится автоматически, отказаться от установки нельзя.
- Интеграционные компоненты под различные языки программирования (C#, python, Java). Ставятся автоматически, отказаться от установки нельзя.
- VCREDIST 2015. Ставится автоматически, отказаться от установки нельзя.
- USB-драйвер для ККТ. Ставится автоматически, отказаться от установки нельзя.
- Руководство программиста. По умолчанию не устанавливается.
- Интеграционный компонент подключаемого оборудования 1C. По умолчанию не устанавливается.
- Служба EoU. Устанавливается по умолчанию, можно отказаться от установки.
- WEB-сервер. По умолчанию не устанавливается, требует установленной Java.
Тихий режим
Дистрибутив поддерживает тихую установку. Для этого необходимо его запустить с ключем /S. В тихом режиме по умолчанию устанавливаются только те компоненты, от установки которых отказаться нельзя. Установкой остальных компонентов можно управлять с помощью ключей инсталлятора:
- /WithDocs - устанавливать документацию
- /With1C - устанавливать компонент 1C
- /WithEOU - устанавливать службу EoU
- /WithWEB - устаналивать WEB-сервер
Linux
Для Linux предоставляются deb- и rpm-пакеты под архитектуры x86, x64 и armhf (только deb):
- libfptr10 - драйвер ККТ (интеграционные библиотеки, зависимости) и интеграционные компоненты под различные языки программирования (python, Java).
- libfptr10-gui - графическая библиотека драйвера ККТ.
- fptr10-test-util - тестовое приложение драйвера ККТ.
- fptr10-web-server - WEB-сервер.
Настройки логирования
Состав файла fptr10_log.properties по умолчанию. ${WORK_DIRECTORY} - рабочий каталог драйвера.
log4cpp.rootCategory=ERROR, file
log4cpp.category.FiscalPrinter=INFO, file
log4cpp.category.Transport=INFO, file
log4cpp.category.EthernetOverTransport=INFO, ofd
log4cpp.category.DeviceDebug=INFO, device_debug
log4cpp.category.1C=INFO, file1C
log4cpp.appender.console=ConsoleAppender
log4cpp.appender.console.layout=PatternLayout
log4cpp.appender.console.layout.ConversionPattern=%d{%Y.%m.%d %H:%M:%S.%l} T:%t %-5p [%c] %m%n
log4cpp.appender.file=DailyRollingFileAppender
log4cpp.appender.file.fileName=${WORK_DIRECTORY}/logs/fptr10.log
log4cpp.appender.file.maxDaysKeep=14
log4cpp.appender.file.layout=PatternLayout
log4cpp.appender.file.layout.ConversionPattern=%d{%Y.%m.%d %H:%M:%S.%l} T:%t %-5p [%c] %m%n
log4cpp.appender.ofd=DailyRollingFileAppender
log4cpp.appender.ofd.fileName=${WORK_DIRECTORY}/logs/ofd.log
log4cpp.appender.ofd.maxDaysKeep=14
log4cpp.appender.ofd.layout=PatternLayout
log4cpp.appender.ofd.layout.ConversionPattern=%d{%Y.%m.%d %H:%M:%S.%l} T:%t %-5p [%c] %m%n
log4cpp.appender.device_debug=DailyRollingFileAppender
log4cpp.appender.device_debug.fileName=${WORK_DIRECTORY}/logs/device_debug.log
log4cpp.appender.device_debug.maxDaysKeep=14
log4cpp.appender.device_debug.layout=PatternLayout
log4cpp.appender.device_debug.layout.ConversionPattern=%d{%Y.%m.%d %H:%M:%S.%l} T:%t %-5p [%c] %m%n
log4cpp.appender.fptr1C=DailyRollingFileAppender
log4cpp.appender.fptr1C.fileName=${WORK_DIRECTORY}/logs/fptr1C.log
log4cpp.appender.fptr1C.maxDaysKeep=14
log4cpp.appender.fptr1C.layout=PatternLayout
log4cpp.appender.fptr1C.layout.ConversionPattern=%d{%Y.%m.%d %H:%M:%S.%l} T:%t %-5p [%c] %m%n
На ОС Android ко всем категориям добавляется LogCatAppender
log4cpp.appender.logcat=LogCatAppender
log4cpp.appender.logcat.layout=PatternLayout
log4cpp.appender.logcat.layout.ConversionPattern=%d{%Y.%m.%d %H:%M:%S.%l} T:%t %-5p [%c] %m%n
На ОС iOS ко всем категориям добавляется NSLogAppender
log4cpp.appender.nslog=NSLogAppender
log4cpp.appender.nslog.layout=PatternLayout
log4cpp.appender.nslog.layout.ConversionPattern=%d{%Y.%m.%d %H:%M:%S.%l} T:%t %-5p [%c] %m%n
При первом запуске драйвер создает файл с настройками логирования в рабочем каталоге драйвера:
- на Windows - %APPDATA%/ATOL/drivers10/fptr10_log.properties
- на Linux - ${HOME}/.atol/drivers10/fptr10_log.properties
- на Android - рабочий каталог приложения (/Android/data/<идентификатор_приложения>/files/drivers10/fptr10_log.properties)
- на iOS - подкаталог в bundle-е приложения, в каталоге Documents (<идентификатор приложения.app>/Documents/drivers10/fptr10_log.properties)
Также драйвер предоставляет возможность указать явно расположение файла fptr10_log.properties при работе на ОС Windows и Linux. Для этого пользователю нужно задать переменную среды с названием DTO10_LOG_CONFIG_FILE и значением полного пути к файлу (например, C:\fptr10_log.properties). Файл в этом случае должен существовать заранее и быть корректно сформирован.
Для логирования используется библиотека log4cpp, описание файла настроек можно прочитать на её сайте (http://log4cpp.sourceforge.net/). Здесь будет приведено короткое описание настройки, а также список тегов (категорий логов), по которым драйвер производит логирование.
С помощью log4cpp, драйвер позволяет логировать информацию следующим образом:
- логирование в файл. Для этого служат RollingFileAppender и DailyRollingFileAppender
- логирование на консоль (может быть полезно в процессе разработки). Это позволяет сделать ConsoleAppender
- логирование в logcat (только Android). Для этого нужен LogCatAppender
- логирование в Apple System Log (только iOS). Для этого нужен NSLogAppender
Для каждой категории можно настроить подробность логирования. На данный момент поддерживаются следующие:
- ERROR - логировать только ошибки
- INFO - базовое логирование
- DEBUG - расширенное логирование
В случае с категориями Transport и FiscalPrinter на уровне INFO в логе фиксируется базовая информация об обмене с ККТ, а на уровне DEBUG - подробная информация об обмене. Для категорий, отвечающих за каналы обмена (USB, COM и т.п.) не рекомендуется включать логирования без особой надобности, т.к. это может замедлить и нарушить таймауты обмена с ККТ.
Специфичные настройки каждого из Appender-ов представлены в таблице ниже:
Appender | Описание | Параметры | Описание параметров |
---|---|---|---|
RollingFileAppender | Логирование в файл с ротацией по размеру | fileName | Путь к файлу лога |
maxFileSize | Максимальный размер файла лога до ротации | ||
maxBackupIndex | Максимальное количество файлов логов | ||
DailyRollingFileAppender | Логирование в файл с ротацией по времени (раз в день, в полночь) | fileName | Путь к файлу лога |
maxDaysKeep | Количество файлов для хранения | ||
ConsoleAppender | Логирование в консоль (stdout) | ||
LogCatAppender | Логирование в logcat | ||
NSLogAppender | Логирование в Apple System Log |
Дополнительно, к каждому из Appender-ов можно добавить формат выводимых строк лога - Layout. Тип Layout-а нужно записать в параметр layout Appender-а и указать его настройки. Ниже приведено описание формата PatternLayout:
- %% - знак процента
- %c - тег (категория)
- %d - дата и время. Формат даты: за символом даты (%d) может следовать ее формат, указанный между фигурными скобками ({}). Например, %d{%H:%M:%S,%l} или %d{%d %m %Y %H:%M:%S,%l}. Если формат не указан используется следующий: "Wed Jan 02 02:03:55 1980". Формат даты соответствует функции форматирования strftime из ANSI С, с единственным дополнением - %l, который добавляет в дату миллисекунды
- %m - сообщение
- %n - символ(ы) переноса на новую строку
- %R - секунды с 01.01.1970 (unixtime)
- %t - идентификатор потока
- %P - идентификатор процесса
Поддерживаемые теги (категории) для настройки:
- FiscalPrinter - высокоуровневый лог работы с драйвером
- Transport - лог обмена драйвера с ККТ
- EthernetOverTransport - высокоуровневый лог канала обмена ККТ с внешними ресурсами в Интернет через драйвер (например, с ОФД)
- DeviceDebug - отладочный вывод ККТ
- 1С - лог интеграционного компонента 1С
- USB - низкоуровненый лог обмена по каналу USB
- COM - низкоуровненый лог обмена по RS232 / VCOM / TTY
- TCP - низкоуровненый лог обмена по TCP/IP
- Bluetooth - низкоуровневый лог обмена по Bluetooth
Начало работы с драйвером
Подключение к проекту
C/C++
Для использования драйвера из проекта, написанного на C/C++, нужно добавить в зависимости к нему библиотеку fptr10.dll (libfptr10.so) соответствующей архитектуры и подключить заголовочный файл libfptr10.h.
Python
Для использования драйвера из Python-проекта, необходимо подключить модуль libfptr10.py. Модуль может сам обнаружить установленный через инсталлятор драйвер. Минимальные поддерживаемые версии Python - 2.6 и 3.0.
Java
Для подключения драйвера к Java-проекту необходимо подключить библиотеку libfptr10.jar, а также обеспечить нахождение нативных компонентов (libfptr10.so / fptr10.dll и их зависимостей) в java.library.path. Библиотека может сама обнаружить установленный через инсталлятор драйвер. Минимальная поддерживаемая версия Java - 1.6.
Android
Для подключения драйвера к Android-проекту необходимо импортировать в проект библиотеку libfptr10.aar. В данной библиотеке (Android Archive, AAR) содержатся нативные библиотеки под все аппаратные платформы Android, а также набор Activity для настройки драйвера. Минимальная поддерживаемая версия Android - 4.0 (API 14).
iOS
Для подключения драйвера к iOS-проекту необходимо добавить в проект фреймворк fptr10.framework и использовать заголовочный файл libfptr10_objc.h. Минимальная поддерживаемая версия iOS - 8. Фреймворк поставляется в следующих сборках:
- iOS без bitcode
- iOS с bitcode
- iOS Simulator i386
- iOS Simulator x86_64
Фреймворк включает в себя:
- заголовочные файлы (libfptr10.h, libfptr10_objc.h)
- Info.plist с описанием фреймворка
- библиотеку работы с ККТ fptr10
Для удобства отладки можно объединить несколько сборок библиотеки fptr10 в одну с помощью lipo:
lipo -create -output <итоговый файл> <входной файл 1> <входной файл 2> ...
.NET
Для подключения драйвер к .NET-проекту необходимо добавить в проект библиотеку Atol.Drivers10.Fptr.dll. Библиотека может сама обнаружить установленный через инсталлятор драйвер. Минимальная поддерживаемая версия .NET - 2.0. Поддерживается только Windows.
COM-объект
Для подключения драйвера как COM-объект необходимо зарегистрировать в системе библиотеку addin_fptr10_x86.dll (addin_fptr10_x64.dll в случае 64-битного приложения) с помощью команды regsvr32.exe. Библиотека может сама обнаружить установленный через инсталлятор драйвер. Также инсталлятор автоматически регистрирует компонент заданной архитектуры в процессе установки. В проекте необходимо создать объект типа ActiveX (или OLE) класса AddIn.Fptr10. В данной документации описаны примеры работы с драйвером в виде OLE-объекта на языке Delphi.
Инициализация драйвера
Инициализация драйвера
#include "libfptr10.h"
libfptr_handle fptr;
libfptr_create(&fptr);
from libfptr10 import IFptr
import os
LIBRARY_PATH = os.path.dirname(os.path.abspath(__file__))
fptr = IFptr(os.path.join(LIBRARY_PATH, "fptr10.dll"))
import ru.atol.drivers10.fptr.Fptr;
import ru.atol.drivers10.fptr.IFptr;
IFptr fptr = new Fptr();
import ru.atol.drivers10.fptr.Fptr;
import ru.atol.drivers10.fptr.IFptr;
IFptr fptr = new Fptr(getApplicationContext());
IFptr *fptr = [[IFptr alloc] init];
using Atol.Drivers10.Fptr;
IFptr fptr = new Fptr();
var
fptr: OleVariant;
begin
fptr := CreateOleObject('AddIn.Fptr10');
end;
В начале работы необходимо инициализировать рабочий экземпляр драйвера.
Все дальнейшие операции производятся именно над этим экземпляром.
Запрос версии драйвера
Запрос версии драйвера
char *version = libfptr_get_version_string();
version = fptr.version()
String version = fptr.version();
String version = fptr.version();
NSString *version = [fptr version];
String version = fptr.version();
var
version: String;
begin
version = fptr.version();
end;
Драйвер позволяет получить свою версию в виде строки.
Деинициализация драйвера
Деинициализация драйвера
libfptr_destroy(&fptr);
del fptr
fptr.destroy();
fptr.destroy();
[fptr release];
fptr.destroy();
fptr := Unassigned
Когда работа с ККТ более не требуется, можно уничтожить рабочий экземпляр. При этом автоматически разорвется соединение с ККТ. После выполнения метода дальнейшая работа с данным экземпляром драйвера невозможна.
Настройка драйвера
Настройка драйвера, способ первый
wchar_t settings[1024] = {0};
swprintf(&settings[0], 1024, L"{\"%ls\": %d, \"%ls\": %d, \"%ls\": \"%ls\", \"%ls\": %d}",
LIBFPTR_SETTING_MODEL, LIBFPTR_MODEL_ATOL_AUTO,
LIBFPTR_SETTING_PORT, LIBFPTR_PORT_COM,
LIBFPTR_SETTING_COM_FILE, L"COM5",
LIBFPTR_SETTING_BAUDRATE, LIBFPTR_PORT_BR_115200)
libfptr_set_settings(fptr, settings);
settings = "{'{}': {}, '{}': {}, '{}': '{}', '{}': {}}".format(
IFptr.LIBFPTR_SETTING_MODEL, IFptr.LIBFPTR_MODEL_ATOL_AUTO,
IFptr.LIBFPTR_SETTING_PORT, IFptr.LIBFPTR_PORT_COM,
IFptr.LIBFPTR_SETTING_COM_FILE, "COM5",
IFptr.LIBFPTR_SETTING_BAUDRATE, IFptr.LIBFPTR_PORT_BR_115200)
fptr.setSettings(settings)
settings = String.format("{\"%s\": %d, \"%s\": %d, \"%s\": \"%s\", \"%s\": %d}",
IFptr.LIBFPTR_SETTING_MODEL, IFptr.LIBFPTR_MODEL_ATOL_AUTO,
IFptr.LIBFPTR_SETTING_PORT, IFptr.LIBFPTR_PORT_COM,
IFptr.LIBFPTR_SETTING_COM_FILE, "COM5",
IFptr.LIBFPTR_SETTING_BAUDRATE, IFptr.LIBFPTR_PORT_BR_115200);
fptr.setSettings(settings);
settings = String.format("{\"%s\": %d, \"%s\": %d, \"%s\": \"%s\", \"%s\": %d}",
IFptr.LIBFPTR_SETTING_MODEL, IFptr.LIBFPTR_MODEL_ATOL_AUTO,
IFptr.LIBFPTR_SETTING_PORT, IFptr.LIBFPTR_PORT_COM,
IFptr.LIBFPTR_SETTING_COM_FILE, "COM5",
IFptr.LIBFPTR_SETTING_BAUDRATE, IFptr.LIBFPTR_PORT_BR_115200);
fptr.setSettings(settings);
NSString *settings = [NSString stringWithFormat:@"{\"%@\": %d, \"%@\": %d, \"%@\": \"%@\", \"%@\": %d}",
LIBFPTR_SETTING_MODEL, LIBFPTR_MODEL_ATOL_AUTO,
LIBFPTR_SETTING_PORT, LIBFPTR_PORT_COM,
LIBFPTR_SETTING_COM_FILE, @"COM5",
LIBFPTR_SETTING_BAUDRATE, LIBFPTR_PORT_BR_115200];
[fptr setSettings:settings];
settings = String.Format("{\"{0}\": {1}, \"{2}\": {3}, \"{4}\": \"{5}\", \"{6}\": {7}}",
Constants.LIBFPTR_SETTING_MODEL, Constants.LIBFPTR_MODEL_ATOL_AUTO,
Constants.LIBFPTR_SETTING_PORT, Constants.LIBFPTR_PORT_COM,
Constants.LIBFPTR_SETTING_COM_FILE, "COM5",
Constants.LIBFPTR_SETTING_BAUDRATE, Constants.LIBFPTR_PORT_BR_115200);
fptr.setSettings(settings);
var
settings: String;
begin
settings :=
'{"' + fptr.LIBFPTR_SETTING_MODEL + '": ' + IntToStr(fptr.LIBFPTR_MODEL_ATOL_AUTO) + ',' +
' "' + fptr.LIBFPTR_SETTING_PORT + '": ' + IntToStr(fptr.LIBFPTR_PORT_COM) + ',' +
' "' + fptr.LIBFPTR_SETTING_COM_FILE + '": ' + 'COM5' + ',' +
' "' + fptr.LIBFPTR_SETTING_BAUDRATE + '": ' + IntToStr(fptr.LIBFPTR_PORT_BR_115200) + '}';
fptr.setSettings(settings);
end;
Настройка драйвера, способ второй
libfptr_set_single_setting(fptr, LIBFPTR_SETTING_MODEL, std::to_wstring(LIBFPTR_MODEL_ATOL_AUTO).c_str());
libfptr_set_single_setting(fptr, LIBFPTR_SETTING_PORT, std::to_wstring(LIBFPTR_PORT_COM).c_str());
libfptr_set_single_setting(fptr, LIBFPTR_SETTING_COM_FILE, L"COM5");
libfptr_set_single_setting(fptr, LIBFPTR_SETTING_BAUDRATE, LIBFPTR_PORT_BR_115200);
libfptr_apply_single_settings(fptr);
fptr.setSingleSetting(IFptr.LIBFPTR_SETTING_MODEL, str(IFptr.LIBFPTR_MODEL_ATOL_AUTO))
fptr.setSingleSetting(IFptr.LIBFPTR_SETTING_PORT, str(IFptr.LIBFPTR_PORT_COM))
fptr.setSingleSetting(IFptr.LIBFPTR_SETTING_COM_FILE, "COM5")
fptr.setSingleSetting(IFptr.LIBFPTR_SETTING_BAUDRATE, str(IFptr.LIBFPTR_PORT_BR_115200))
fptr.applySingleSettings()
fptr.setSingleSetting(IFptr.LIBFPTR_SETTING_MODEL, String.valueOf(IFptr.LIBFPTR_MODEL_ATOL_AUTO));
fptr.setSingleSetting(IFptr.LIBFPTR_SETTING_PORT, String.valueOf(IFptr.LIBFPTR_PORT_COM));
fptr.setSingleSetting(IFptr.LIBFPTR_SETTING_COM_FILE, "COM5");
fptr.setSingleSetting(IFptr.LIBFPTR_SETTING_BAUDRATE, String.valueOf(IFptr.LIBFPTR_PORT_BR_115200));
fptr.applySingleSettings();
fptr.setSingleSetting(IFptr.LIBFPTR_SETTING_MODEL, String.valueOf(IFptr.LIBFPTR_MODEL_ATOL_AUTO));
fptr.setSingleSetting(IFptr.LIBFPTR_SETTING_PORT, String.valueOf(IFptr.LIBFPTR_PORT_COM));
fptr.setSingleSetting(IFptr.LIBFPTR_SETTING_COM_FILE, "COM5");
fptr.setSingleSetting(IFptr.LIBFPTR_SETTING_BAUDRATE, String.valueOf(IFptr.LIBFPTR_PORT_BR_115200));
fptr.applySingleSettings();
[fptr setSingleSetting:LIBFPTR_SETTING_MODEL, value:[NSString stringWithFormat:@"%d", LIBFPTR_MODEL_ATOL_AUTO]];
[fptr setSingleSetting:LIBFPTR_SETTING_PORT, value:[NSString stringWithFormat:@"%d", LIBFPTR_PORT_COM));
[fptr setSingleSetting:LIBFPTR_SETTING_COM_FILE, value:@"COM5");
[fptr setSingleSetting:LIBFPTR_SETTING_BAUDRATE, value:[NSString stringWithFormat:@"%d", LIBFPTR_MODEL_ATOL_AUTO]];
[fptr applySingleSettings];
fptr.setSingleSetting(Constants.LIBFPTR_SETTING_MODEL, Constants.LIBFPTR_MODEL_ATOL_AUTO.ToString());
fptr.setSingleSetting(Constants.LIBFPTR_SETTING_PORT, Constants.LIBFPTR_PORT_COM.ToString());
fptr.setSingleSetting(Constants.LIBFPTR_SETTING_COM_FILE, "COM5");
fptr.setSingleSetting(Constants.LIBFPTR_SETTING_BAUDRATE, Constants.LIBFPTR_PORT_BR_115200.ToString());
fptr.applySingleSettings();
begin
fptr.setSingleSetting(fptr.LIBFPTR_SETTING_MODEL, IntToStr(fptr.LIBFPTR_MODEL_ATOL_AUTO));
fptr.setSingleSetting(fptr.LIBFPTR_SETTING_PORT, IntToStr(fptr.LIBFPTR_PORT_COM));
fptr.setSingleSetting(fptr.LIBFPTR_SETTING_COM_FILE, 'COM5');
fptr.setSingleSetting(fptr.LIBFPTR_SETTING_BAUDRATE, IntToStr(fptr.LIBFPTR_PORT_BR_115200));
fptr.applySingleSettings;
end;
Настройка через вызов окна настройки
libfptr_show_properties(fptr, LIBFPTR_GUI_PARENT_NATIVE, <дескриптор окна>);
fptr.showProperties(IFptr.LIBFPTR_GUI_PARENT_NATIVE, <дескриптор окна>)
fptr.showProperties(IFptr.LIBFPTR_GUI_PARENT_NATIVE, <дескриптор окна>);
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private static final int REQUEST_SHOW_SETTINGS = 1;
private IFptr fptr;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// ....
// Создание объекта драйвера
fptr = new Fptr(getApplication());
// Вызываем Activity настройки
findViewById(R.id.btnShowSettings).setOnClickListener(new View.OnClickListener {
@Override
public void onClick(View view) {
Intent intent = new Intent(getApplication(), SettingsActivity.class);
// Передаем текущие настройки в SettingsActivity.
// Если не передать - будет показана SettingsActivity с настройками по умолчанию
intent.putExtra(SettingsActivity.DEVICE_SETTINGS, fptr.getSettings());
startActivityForResult(intent, REQUEST_SHOW_SETTINGS);
}
}
);
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_SHOW_SETTINGS && resultCode == Activity.RESULT_OK) {
// Записываем настройки в объект
fptr.setSettings(data.getStringExtra(SettingsActivity.DEVICE_SETTINGS));
}
}
}
// Не поддерживается
fptr.showProperties(Constants.LIBFPTR_GUI_PARENT_NATIVE, <дескриптор окна>);
begin
fptr.showProperties(fptr.LIBFPTR_GUI_PARENT_NATIVE, <дескриптор окна>);
end;
Для того, чтобы начать работу с ККТ, требуется настроить соединение с устройством. Есть несколько способов передать в драйвер настройки.
Первый способ - передача всех настроек в виде json. Способ удобен тем, что настройки в таком виде можно запросить у драйвера, сохранить, и при следующей работе с ККТ передать их в драйвер заново как есть. При передаче настроек драйвер разорвет связь с ККТ, если она установлена, изменит настройки и подключится заново.
Второй способ - передача настроек по одной с их применением в конце. Результат будет идентичен первому способу.
Третий способ - вызов окна настройки связи с ККТ. В случае использования метода showProperties() требуется передать дескриптор родительского окна для отображения модального диалога и указать его тип.
Для передачи дескриптора родительского окна типа QWidget (Qt) требуется указать тип окна LIBFPTR_GUI_PARENT_QT.
Для передачи дескриптора родительского окна типа HWND (WinApi) требуется указать тип окна LIBFPTR_GUI_PARENT_NATIVE. Использование типа окна LIBFPTR_GUI_PARENT_NATIVE на Linux на данный момент не поддерживается.
При передаче нулевого дескриптора диалог настройки будет немодальным.
Метод возвращает следующие значения:
- -1, если открыть диалог не удалось
- 0, если пользователь нажал кнопку OK.
- 1, если пользователь покинул диалог любым другим способом (нажал кнопку Отмена, закрыл диалог крестиком, т.п.)
Выгрузка настроек
Выгрузка настроек, способ первый
std::vector<wchar_t> settings(1024);
int size = libfptr_get_settings(fptr, &settings[0], settings.size());
if (size > settings.size())
{
settings.resize(size);
libfptr_get_settings(fptr, &settings[0], settings.size());
}
settings = fptr.getSettings()
String settings = fptr.getSettings();
String settings = fptr.getSettings();
NSString *settings = [fptr getSettings];
String settings = fptr.getSettings();
var
settings: String;
begin
settings := fptr.getSettings;
end;
Выгрузка настроек, способ второй (на примере получения IP-адреса и порта)
std::wstring ipAddress, ipPort;
std::vector<wchar_t> setting(1024);
int size = libfptr_get_single_setting(fptr, LIBFPTR_SETTING_IPADDRESS, &setting[0], setting.size());
if (size > settings.size())
{
setting.resize(size);
libfptr_get_single_setting(fptr, LIBFPTR_SETTING_IPADDRESS, &setting[0], setting.size());
}
ipAddress = std::wstring(&setting[0]);
int size = libfptr_get_single_setting(fptr, LIBFPTR_SETTING_IPPORT, &setting[0], setting.size());
if (size > settings.size())
{
setting.resize(size);
libfptr_get_single_setting(fptr, LIBFPTR_SETTING_IPPORT, &setting[0], setting.size());
}
ipPort = std::wstring(&setting[0]);
ipAddress = fptr.getSingleSetting(IFptr.LIBFPTR_SETTING_IPADDRESS)
ipPort = fptr.getSingleSetting(IFptr.LIBFPTR_SETTING_IPPORT)
String ipAddress = fptr.getSingleSetting(IFptr.LIBFPTR_SETTING_IPADDRESS);
String ipPort = fptr.getSingleSetting(IFptr.LIBFPTR_SETTING_IPPORT);
String ipAddress = fptr.getSingleSetting(IFptr.LIBFPTR_SETTING_IPADDRESS);
String ipPort = fptr.getSingleSetting(IFptr.LIBFPTR_SETTING_IPPORT);
NSString *ipAddress = [fptr getSingleSetting:LIBFPTR_SETTING_IPADDRESS];
NSString *ipPort = [fptr getSingleSetting:LIBFPTR_SETTING_IPPORT];
String ipAddress = fptr.getSingleSetting(Constants.LIBFPTR_SETTING_IPADDRESS);
String ipPort = fptr.getSingleSetting(Constants.LIBFPTR_SETTING_IPPORT);
var
ipAddress: String;
ipPort: String;
begin
ipAddress := fptr.getSingleSetting(fptr.LIBFPTR_SETTING_IPADDRESS);
ipPort := fptr.getSingleSetting(fptr.LIBFPTR_SETTING_IPPORT);
end;
Выгрузить настройки также можно двумя способами.
Первый позволяет получить все настройки разом в виде json.
Используя второй способ, можно получить отдельно значение каждой настройки.
Список настроек
Все настройки можно поделить на две категории.
К первой относятся общие настройки драйвера, которые отвечают непосредственно за его поведение.
Это следующие настройки:
LIBFPTR_SETTING_LIBRARY_PATH - путь к каталогу с библиотеками-зависимостями, подгружаемым по-надобности. К таким библиотекам относятся libusb и libudev для работы с ККТ по USB на Linux. Может быть списком каталогов, аналогично java.library.path. Не актуально для случая, когда используется драйвер, установленный с помощью дистрибутива.
LIBFPTR_SETTING_MODEL - код модели ККТ. Определяет способ работы драйвера с устройством. Может принимать следующие значения:
- LIBFPTR_MODEL_ATOL_AUTO - автоматическое определение модели (только ККТ АТОЛ)
- LIBFPTR_MODEL_ATOL_1F - АТОЛ 1Ф
- LIBFPTR_MODEL_ATOL_11F - АТОЛ 11Ф
- LIBFPTR_MODEL_ATOL_15F - АТОЛ 15Ф
- LIBFPTR_MODEL_ATOL_20F - АТОЛ 20Ф
- LIBFPTR_MODEL_ATOL_22F - АТОЛ 22Ф (АТОЛ FPrint-22ПТК)
- LIBFPTR_MODEL_ATOL_25F - АТОЛ 25Ф
- LIBFPTR_MODEL_ATOL_30F - АТОЛ 30Ф
- LIBFPTR_MODEL_ATOL_42FS - АТОЛ 42ФС
- LIBFPTR_MODEL_ATOL_50F - АТОЛ 50Ф
- LIBFPTR_MODEL_ATOL_52F - АТОЛ 52Ф
- LIBFPTR_MODEL_ATOL_55F - АТОЛ 55Ф
- LIBFPTR_MODEL_ATOL_60F - АТОЛ 60Ф
- LIBFPTR_MODEL_ATOL_77F - АТОЛ 77Ф
- LIBFPTR_MODEL_ATOL_90F - АТОЛ 90Ф
- LIBFPTR_MODEL_ATOL_91F - АТОЛ 91Ф
- LIBFPTR_MODEL_ATOL_92F - АТОЛ 92Ф
- LIBFPTR_MODEL_ATOL_SIGMA_10 - АТОЛ Sigma 10
- LIBFPTR_MODEL_ATOL_SIGMA_7F - АТОЛ Sigma 7Ф
- LIBFPTR_MODEL_ATOL_SIGMA_8F - АТОЛ Sigma 8Ф
- LIBFPTR_MODEL_KAZNACHEY_FA - Казначей ФА
LIBFPTR_SETTING_ACCESS_PASSWORD - пароль доступа ККТ. Требуется для взаимодействия с ККТ. Если не указан или пуст, используется стандартный пароль в зависимости от настройки LIBFPTR_SETTING_MODEL.
LIBFPTR_SETTING_USER_PASSWORD - пароль пользователя по умолчанию. Требуется для доступа к специфичным командам и режимам ККТ. Если не указан или пуст, используется пароль по умолчанию с максимальными правами в зависимости от настройки LIBFPTR_SETTING_MODEL.
LIBFPTR_SETTING_OFD_CHANNEL - канал для обмена с ОФД. По умолчанию - LIBFPTR_OFD_CHANNEL_NONE. Для корректной работы требуется дополнительная настройка ККТ (настройка #276, см. Настройки ККТ). Возможные значения:
- LIBFPTR_OFD_CHANNEL_NONE - не активировать обмен с ОФД средствами драйвера.
- LIBFPTR_OFD_CHANNEL_PROTO - предоставить для ККТ канал обмена с ОФД через транспортный протокол ККТ.
Ко второй относятся настройки связи с ККТ.
- LIBFPTR_SETTING_PORT - способ связи с ККТ. Остальные настройки связи зависят от значения этой настройки. Может принимать следующие значения:
- LIBFPTR_PORT_COM - работа с ККТ либо через физический COM-порт, либо через виртуальные COM-порт и TTY-файл. Доступно для Windows, Linux и Android. К данному каналу также относятся настройки LIBFPTR_SETTING_BAUDRATE, LIBFPTR_SETTING_BITS, LIBFPTR_SETTING_STOPBITS, LIBFPTR_SETTING_PARITY, LIBFPTR_SETTING_COM_FILE.
- LIBFPTR_PORT_USB - работа с ККТ по USB. Доступно для Windows, Linux и Android. К данному каналу также относится настройка LIBFPTR_SETTING_USB_DEVICE_PATH.
- LIBFPTR_PORT_TCPIP - работа с ККТ по TCP/IP (Ethernet, Wi-Fi). Доступно для Windows, Linux, Android и iOS. К данному каналу также относятся настройки LIBFPTR_SETTING_IPADDRESS и LIBFPTR_SETTING_IPPORT.
- LIBFPTR_PORT_BLUETOOTH - работа с ККТ по Bluetooth. Доступно для Windows, Linux и Android. К данному каналу также относится настройка LIBFPTR_SETTING_MACADDRESS.
- LIBFPTR_SETTING_BAUDRATE - скорость работы ККТ по RS232. Может принимать следующие значения:
- LIBFPTR_PORT_BR_1200 - 1200 бод
- LIBFPTR_PORT_BR_2400 = 2400 бод
- LIBFPTR_PORT_BR_4800 = 4800 бод
- LIBFPTR_PORT_BR_9600 = 9600 бод
- LIBFPTR_PORT_BR_19200 = 19200 бод
- LIBFPTR_PORT_BR_38400 = 38400 бод
- LIBFPTR_PORT_BR_57600 = 57600 бод
- LIBFPTR_PORT_BR_115200 = 115200 бод
- LIBFPTR_PORT_BR_230400 = 230400 бод
- LIBFPTR_PORT_BR_460800 = 460800 бод
- LIBFPTR_PORT_BR_921600 = 921600 бод
- LIBFPTR_SETTING_BITS - количество бит в байте канала RS232.
- LIBFPTR_PORT_BITS_7 - 7 бит
- LIBFPTR_PORT_BITS_8 - 8 бит
- LIBFPTR_SETTING_STOPBITS - количество стоп-битов канала RS232
- LIBFPTR_PORT_SB_1 - 1 бит
- LIBFPTR_PORT_SB_1_5 - 1.5 бита
- LIBFPTR_PORT_SB_2 - 2 бита
- LIBFPTR_SETTING_PARITY - четность канала RS232
- LIBFPTR_PORT_PARITY_NO - нет
- LIBFPTR_PORT_PARITY_ODD - четность
- LIBFPTR_PORT_PARITY_EVEN - нечетность
- LIBFPTR_PORT_PARITY_MARK - установлена
- LIBFPTR_PORT_PARITY_SPACE - сброшена
- LIBFPTR_SETTING_COM_FILE - идентификатор порта. Для Windows - номер COM-порта (например, "15" или "COM15"). Для Linux - путь к TTY-файлу (например, "/dev/ttyS5" или "/dev/ttyACM0").
- LIBFPTR_SETTING_USB_DEVICE_PATH - расположение USB-устройства в системе (только Linux). Если настройка не указана, имеет значение "auto" или пустое значение, то поиск и подключение к устройству будет проводиться по известным драйверу VendorID и ProductID. На Windows подключение всегда ведется по VendorID и ProductID.
- LIBFPTR_SETTING_IPADDRESS - IP-адрес ККТ. Может быть как ip-адресом, так и hostname-ом.
- LIBFPTR_SETTING_IPPORT - IP-порт ККТ.
- LIBFPTR_SETTING_MACADDRESS - Bluetooth MAC-адрес ККТ. Устройство должно быть предварительно сопряжено с хостом средствами ОС.
Настройка обмена с ОФД
Как было указано выше, в драйвере есть возможность предоставить для ККТ канал обмена с ОФД средствами хоста, на котором драйвер используется. Для этого служит настройка LIBFPTR_SETTING_OFD_CHANNEL.
Ниже представлена таблица, показывающая, при каких настройках связи с ОФД в самой ККТ какую настройку в драйвере выбрать.
Настройка ККТ | Настройка драйвера | Пояснение |
---|---|---|
USB (EoU) | LIBFPTR_OFD_CHANNEL_NONE | Для работы требуется утилита EoU. Драйвер в обмене не участвует. |
Ethernet | LIBFPTR_OFD_CHANNEL_NONE | Для работы требуется, чтобы ККТ была подключена к сети через Ethernet-кабель. Драйвер в обмене не участвует. |
Wi-Fi | LIBFPTR_OFD_CHANNEL_NONE | Для работы требуется, чтобы ККТ была подключена к сети через Wi-Fi. Драйвер в обмене не участвует. |
GSM-модем | LIBFPTR_OFD_CHANNEL_NONE | Для работы требуется, чтобы в ККТ была установлена SIM-карта. Драйвер в обмене не участвует. |
EthernetOverTransport | LIBFPTR_OFD_CHANNEL_PROTO | В этом случае для пеередачи данных в ОФД будет использоваться канал хоста, на котором установлен драйвер. Для работы требуется, чтобы драйвер постоянно держал соединение с ККТ. |
Методы и параметры драйвера
Установка целочисленного параметра
libfptr_set_param_int(fptr, LIBFPTR_PARAM_TAX_TYPE, LIBFPTR_TAX_VAT18);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18)
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18);
[fptr setParam:LIBFPTR_PARAM_TAX_TYPE, intParam:LIBFPTR_TAX_VAT18];
fptr.setParam(Constants.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18);
Установка целочисленного реквизита ФН (без печати на чековой ленте)
begin
fptr.setParam(1212, 5);
end;
libfptr_set_non_printable_param_int(fptr, 1229, 500);
fptr.setNonPrintableParam(1229, 500)
fptr.setNonPrintableParam(1229, 500);
fptr.setNonPrintableParam(1229, 500);
[fptr setNonPrintableParam:1229, intParam:500];
fptr.setNonPrintableParam(1229, 500);
begin
fptr.setNonPrintableParam(1229, 500);
end;
Установка дробного параметра
libfptr_set_param_double(fptr, LIBFPTR_PARAM_PRICE, 123.45);
fptr.setParam(IFptr.LIBFPTR_PARAM_PRICE, 123.45)
fptr.setParam(IFptr.LIBFPTR_PARAM_PRICE, 123.45);
fptr.setParam(IFptr.LIBFPTR_PARAM_PRICE, 123.45);
[fptr setParam:LIBFPTR_PARAM_PRICE, doubleParam:123.45];
fptr.setParam(Constants.LIBFPTR_PARAM_PRICE, 123.45);
begin
fptr.setParam(fptr.LIBFPTR_PARAM_PRICE, 123.45);
end;
Установка логического параметра
libfptr_set_param_bool(fptr, LIBFPTR_PARAM_FONT_DOUBLE_WIDTH, true);
fptr.setParam(IFptr.LIBFPTR_PARAM_FONT_DOUBLE_WIDTH, True)
fptr.setParam(IFptr.LIBFPTR_PARAM_FONT_DOUBLE_WIDTH, true);
fptr.setParam(IFptr.LIBFPTR_PARAM_FONT_DOUBLE_WIDTH, true);
[fptr setParam:LIBFPTR_PARAM_FONT_DOUBLE_WIDTH, boolParam:true];
fptr.setParam(Constants.LIBFPTR_PARAM_FONT_DOUBLE_WIDTH, true);
begin
fptr.setParam(fptr.LIBFPTR_PARAM_FONT_DOUBLE_WIDTH, True);
end;
Установка строкового параметра
libfptr_set_param_str(fptr, LIBFPTR_PARAM_COMMODITY_NAME, L"Товар");
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMODITY_NAME, "Товар")
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMODITY_NAME, "Товар");
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMODITY_NAME, "Товар");
[fptr setParam:LIBFPTR_PARAM_COMMODITY_NAME, NSStringParam:@"Товар"];
fptr.setParam(Constants.LIBFPTR_PARAM_COMMODITY_NAME, "Товар");
begin
fptr.setParam(fptr.LIBFPTR_PARAM_COMMODITY_NAME, 'Товар');
end;
Установка строкового реквизита ФН (без печати на чековой ленте)
libfptr_set_non_printable_param_str(fptr, 1191, L"Позиция №1");
fptr.setNonPrintableParam(1191, "Позиция №1")
fptr.setNonPrintableParam(1191, "Позиция №1");
fptr.setNonPrintableParam(1191, "Позиция №1");
[fptr setNonPrintableParam:1191, NSStringParam:@"Позиция №1"];
fptr.setNonPrintableParam(1191, "Позиция №1");
begin
fptr.setNonPrintableParam(1191, 'Позиция №1');
end;
Установка параметра дата / время
libfptr_set_param_datetime(fptr, LIBFPTR_PARAM_DATE_TIME, 2017, 1, 2, 12, 13, 45);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATE_TIME, datetime.datetime(2017, 1, 2, 12, 13, 45))
Calendar c = Calendar.getInstance();
c.set(2017, 1, 2, 12, 13, 45);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATE_TIME, c.getTime());
Calendar c = Calendar.getInstance();
c.set(2017, 1, 2, 12, 13, 45);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATE_TIME, c.getTime());
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setYear:[2017 intValue]];
[components setMonth:[1 intValue]];
[components setDay:[2 intValue]];
[components setHour:[12 intValue]];
[components setMinute:[13 intValue]];
[components setSecond:[45 intValue]];
[fptr setParam:LIBFPTR_PARAM_DATE_TIME, NSDateParam:[calendar dateFromComponents:components]];
DateTime date = new DateTime(2017, 1, 2, 12, 13, 45);
fptr.setParam(Constants.LIBFPTR_PARAM_DATE_TIME, date);
var
date: TDateTime;
begin
date := StrToDateTime('02.01.2017 12:13:45');
fptr.setParam(fptr.LIBFPTR_PARAM_DATE_TIME, date);
end;
Установка массива байтов
uchar command[] = {0x91, 0x13, 0x00, 0x00};
libfptr_set_param_bytearray(fptr, LIBFPTR_PARAM_COMMAND_BUFFER,
&command[0], sizeof(command) / sizeof(command[0]));
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMAND_BUFFER, [0x91, 0x13, 0x00, 0x00])
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMAND_BUFFER, new byte[]{0x91, 0x13, 0x00, 0x00});
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMAND_BUFFER, new byte[]{0x91, 0x13, 0x00, 0x00});
uchar command[] = {0x91, 0x13, 0x00, 0x00};
[fptr setParam:LIBFPTR_PARAM_COMMAND_BUFFER, NSDataParam:[NSData dataWithBytes:(const void*)command length:sizeof(command)]];
byte[] command = new byte[]{0x91, 0x13, 0x00, 0x00};
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMAND_BUFFER, command);
var
command_byte_array: Array[0 .. 3] of Byte;
command_variant: Variant;
i: Integer;
begin
command_byte_array[0] := 0x91;
command_byte_array[1] := 0x13;
command_byte_array[2] := 0x00;
command_byte_array[2] := 0x00;
command_variant := VarArrayCreate([0, high(command_byte_array)], varByte);
for i := VarArrayLowBound(command_variant, 1) to VarArrayHighBound(command_variant, 1) do
begin
VarArrayPut(command_variant, command_byte_array[i], [i]);
end;
fptr.setParam(fptr.LIBFPTR_PARAM_COMMAND_BUFFER, command_variant);
end;
Установка байтового реквизита ФН (без печати на чековой ленте)
libfptr_set_param_str(fptr, 1085, L"Название реквизита");
libfptr_set_param_str(fptr, 1086, L"Значение реквизита");
libfptr_util_form_tlv(fptr);
std::vector<uchar> userAttribute(128);
int size = libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE, &userAttribute[0], userAttribute.size());
if (size > userAttribute.size())
{
userAttribute.resize(size);
libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE, &userAttribute[0], userAttribute.size());
}
userAttribute.resize(size);
// ...
libfptr_set_non_printable_param_bytearray(fptr, 1084, &userAttribute[0], userAttribute.size());
fptr.setParam(1085, "Название реквизита");
fptr.setParam(1086, "Значение реквизита");
fptr.utilFormTlv()
userAttribute = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE)
# ...
fptr.setNonPrintableParam(1084, userAttribute)
fptr.setParam(1085, "Название реквизита");
fptr.setParam(1086, "Значение реквизита");
fptr.utilFormTlv();
byte[] userAttribute = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE);
// ...
fptr.setNonPrintableParam(1084, userAttribute);
fptr.setParam(1085, "Название реквизита");
fptr.setParam(1086, "Значение реквизита");
fptr.utilFormTlv();
byte[] userAttribute = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE);
// ...
fptr.setNonPrintableParam(1084, userAttribute);
[fptr setParam:1085, NSStringParam:@"Название реквизита"];
[fptr setParam:1086, NSStringParam:@"Значение реквизита"];
[fptr utilFormTlv];
NSData *userAttribute = [fptr getParamByteArray:LIBFPTR_PARAM_TAG_VALUE];
// ...
[fptr setNonPrintableParam:1084, NSDataParam:userAttribute];
fptr.setParam(1085, "Название реквизита");
fptr.setParam(1086, "Значение реквизита");
fptr.utilFormTlv();
byte[] userAttribute = fptr.getParamByteArray(Constants.LIBFPTR_PARAM_TAG_VALUE);
// ...
fptr.setNonPrintableParam(1084, userAttribute);
var
userAttribute: Variant;
begin
fptr.setParam(1085, 'Название реквизита');
fptr.setParam(1086, 'Значение реквизита');
fptr.utilFormTlv;
userAttribute := fptr.getParamByteArray(fptr.LIBFPTR_PARAM_TAG_VALUE);
// ...
fptr.setNonPrintableParam(1084, userAttribute);
end;
Получение целочисленного параметра
uint lineLength = libfptr_get_param_int(fptr, LIBFPTR_PARAM_RECEIPT_LINE_LENGTH);
lineLength = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH)
// На самом деле драйвер возвращает unsigned int, но, из-за отсутствия в Java unsigned-типов, возвращается long
long lineLength = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH);
// На самом деле драйвер возвращает unsigned int, но, из-за отсутствия в Java unsigned-типов, возвращается long
long lineLength = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH);
uint lineLength = [fptr getParamInt:LIBFPTR_PARAM_RECEIPT_LINE_LENGTH];
uint lineLength = fptr.getParamInt(Constants.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH);
var
lineLength: Longint;
begin
lineLength := fptr.getParamInt(fptr.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH);
end;
Получение дробного параметра
double cashSum = libfptr_get_param_double(fptr, LIBFPTR_PARAM_SUM);
cashSum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM)
double cashSum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
double cashSum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
double cashSum = [fptr getParamDouble:LIBFPTR_PARAM_SUM];
double cashSum = fptr.getParamDouble(Constants.LIBFPTR_PARAM_SUM);
var
cashSum: Double;
begin
cashSum := fptr.getParamDouble(fptr.LIBFPTR_PARAM_SUM);
end;
Получение логического параметра
bool coverOpened = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_COVER_OPENED) != 0);
coverOpened = fptr.getParamBool(IFptr.LIBFPTR_PARAM_COVER_OPENED)
boolean coverOpened = fptr.getParamBool(IFptr.LIBFPTR_PARAM_COVER_OPENED);
boolean coverOpened = fptr.getParamBool(IFptr.LIBFPTR_PARAM_COVER_OPENED);
bool coverOpened = [fptr getParamBool:LIBFPTR_PARAM_COVER_OPENED];
bool coverOpened = fptr.getParamBool(Constants.LIBFPTR_PARAM_COVER_OPENED);
var
coverOpened: LongBool;
begin
coverOpened := fptr.getParamBool(fptr.LIBFPTR_PARAM_COVER_OPENED);
end;
Получение строкового параметра
std::vector<wchar_t> unitVersion(64);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_UNIT_VERSION,
&answerStr[0], unitVersion.size());
if (size > unitVersion.size())
{
unitVersion.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_UNIT_VERSION,
&unitVersion[0], unitVersion.size());
}
unitVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION)
String unitVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION);
String unitVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION);
NSString *unitVersion = [fptr getParamString:LIBFPTR_PARAM_UNIT_VERSION];
String unitVersion = fptr.getParamString(Constants.LIBFPTR_PARAM_UNIT_VERSION);
var
unitVersion: String;
begin
unitVersion := fptr.getParamString(fptr.LIBFPTR_PARAM_UNIT_VERSION);
end;
Получение параметра дата / время
int year, month, day, hour, minute, second;
libfptr_get_param_datetime(fptr, LIBFPTR_PARAM_DATE_TIME, &year, &month, &day, &hour, &minute, &second);
dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME)
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
NSDate *dateTime = [fptr getParamDateTime:LIBFPTR_PARAM_DATE_TIME];
DateTime dateTime = fptr.getParamDateTime(Constants.LIBFPTR_PARAM_DATE_TIME);
var
dateTime: TDateTime;
begin
dateTime := fptr.getParamDateTime(fptr.LIBFPTR_PARAM_DATE_TIME);
end;
Получение массива байтов
std::vector<uchar> commandAnswer(32);
int size = libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_ANSWER_BUFFER,
&commandAnswer[0], commandAnswer.size());
if (size > commandAnswer.size())
{
commandAnswer.resize(size);
libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_ANSWER_BUFFER,
&commandAnswer[0], commandAnswer.size());
}
commandAnswer.resize(size);
commandAnswer = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_ANSWER_BUFFER)
byte[] commandAnswer = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_ANSWER_BUFFER);
byte[] commandAnswer = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_ANSWER_BUFFER);
NSData *commandAnswer = [fptr getParamByteArray:LIBFPTR_PARAM_ANSWER_BUFFER];
byte[] commandAnswer = fptr.getParamByteArray(Constants.LIBFPTR_PARAM_ANSWER_BUFFER);
var
commandAnswer: Variant;
begin
commandAnswer := fptr.getParamByteArray(fptr.LIBFPTR_PARAM_ANSWER_BUFFER);
end;
Работа с ККТ производится с помощью методов и их параметров.
Каждый метод, в зависимости от своих параметров, выполняет определенные операции с устройством. Параметры бывают входные и выходные. Входные параметры влияют на выполняемую операцию, а выходные - это её результат.
Список входных параметров очищается сразу после выполнения метода. Список выходных - перед выполнением следующего.
Каждый метод возвращает 0, если метод выполнился удачно, и -1, если произошла ошибка. Исключение - showProperties(), который дополнительно возвращает значение 1.
Параметры бывают следующих типов:
- int - целое беззнаковое число. Принимает значение от 0 до 4294967295 (MAX_UINT, 0xFFFFFFFF)
- double - число с плавающей точкой. Принимает значение от -1.79769e+308 до 1.79769e+308
- bool - логическое число. Принимает значения 0 (false) и 1 (true)
- string - unicode-строка
- datetime - дата и время
- bytearray - массив байтов
Описания параметров представлены в описании каждого метода.
При работе с драйвером в виде COM-объекта поддерживаются (с помощью типа VARIANT) следующие типы параметров:
- VT_I2, VT_I4, VT_INT, VT_UI1, VT_UI2, VT_UI4, VT_UINT - аналогично int при других видах работ с драйвером
- VT_R4, VT_R8, VT_CY - аналогично double
- VT_BOOL - аналогично bool
- VT_BSTR - аналогично string
- VT_DATE, VT_BYREF | VT_DATE - аналогично datetime
- VT_ARRAY | VT_UI1 - аналогично bytearray
- VT_BYREF | VT_VARIANT - поддерживается только как указатель на один из типов, описанных выше
Некоторые реквизиты ФН можно передавать в ККТ с пометкой, что их не нужно печатать на чековой ленте. В драйвер такая возможность поддержана с помощью дополнительных функций установки параметров. Если ККТ не поддерживает такой механизм, что реквизит будет напечатан, а ошибка возвращена не будет.
Обработка ошибок
Вызов метода
if (libfptr_print_text(fptr) < 0)
{
int errorCode = libfptr_error_code(fptr);
std::vector<wchar_t> errorDescription(32);
int size = libfptr_error_description(fptr, &errorDescription[0], errorDescription.size());
if (size > errorDescription.size())
{
errorDescription.resize(size);
libfptr_error_description(fptr, &errorDescription[0], errorDescription.size());
}
std::wcout << L"Ошибка - "
<< errorCode
<< L" [" << std::wstring(&errorDescription[0]) << L"]"
<< std::endl;
}
if fptr.printText() < 0:
print("{} [{}]".format(fptr.errorCode(), fptr.errorDescription()))
if (fptr.printText() < 0) {
System.out.println(String.format("%d [%s]", fptr.errorCode(), fptr.errorDescription()));
}
if (fptr.printText() < 0) {
Log.d(TAG, String.format("%d [%s]", fptr.errorCode(), fptr.errorDescription()));
}
if ([fptr printText] < 0) {
NSLog(@"%d [%@]", [fptr errorCode], [fptr errorDescription]);
}
if (fptr.printText() < 0) {
Console.WriteLine(String.Format("{0} [{1}]", fptr.errorCode(), fptr.errorDescription()));
}
begin
if fptr.printText < 0 then
showmessage('"' + IntToStr(fptr.errorCode) + ' [' + fptr.errorDescription + ']"');
end;
Каждый метод драйвера возвращает индикатор результата выполнения. Этот индикатор может принимать значения 0 и -1.
В случае, если индикатор не равен 0, выполнение метода завершилось с ошибкой и есть возможность получить подробности о ней. Для этого у драйвера можно запросить код последней ошибки (метод errorCode()) и её текстовое описание (метод errorDescription()).
Драйвер хранит информацию об ошибке до следующего вызова метода - после него информация об ошибке обновляется. Для явного сброса информации о последней ошибки нужно использовать метод resetError().
Список кодов ошибок приведен в приложении Список кодов ошибок.
Соединение с ККТ
Установка соединения с ККТ
libfptr_open(fptr);
fptr.open()
fptr.open();
fptr.open();
[fptr open];
fptr.open();
begin
fptr.open;
end;
Проверка состояния логического соединения
bool isOpened = (libfptr_is_opened(fptr) != 0);
isOpened = fptr.isOpened()
boolean isOpened = fptr.isOpened();
boolean isOpened = fptr.isOpened();
bool isOpened = [fptr isOpened];
bool isOpened = fptr.isOpened();
var
isOpened: LongBool;
begin
isOpened := fptr.isOpened;
end;
Завершение соединения с ККТ
libfptr_close(fptr);
fptr.close()
fptr.close();
fptr.close();
[fptr close];
fptr.close();
begin
fptr.close;
end;
После настройки рабочего экземпляра можно подключиться к ККТ. Для этого требуется вызвать метод open(). После подключения к ККТ можно выполнять различные операции с ККТ, а также, при соответствующих настройках, драйвер организует для ККТ канал для обмена с ОФД. До вызова данного метода все другие операции с ККТ будет завершаться с ошибкой LIBFPTR_ERROR_CONNECTION_DISABLED.
Чтобы узнать состояние соединения, нужно использовать метод isOpened(). Результат метода не отражает текущее состояние подключения - если с ККТ была разорвана связь, то метод все также будет возвращать true, но методы, выполняющие какие-либо операции над ККТ, будут возвращать ошибку LIBFPTR_ERROR_NO_CONNECTION.
Для завершения соединения с ККТ нужно вызвать метод close(). драйвер вернется в изначальное состояние, как до вызова open(). Канал с ОФД, установленный с его помощью, будет закрыт и отправка документов в ОФД будет прервана.
Запрос информации о ККТ
У ККТ можно запрашивать различную информацию, в том числе текущее состояние, значения счетчиков и общую информацию. Для этого нужно вызвать метод queryData() с определенными параметрами.
Общая информация и статус
Запрос общей информации и статуса ККТ
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_STATUS);
libfptr_query_data(fptr);
uint operatorID = libfptr_get_param_int(fptr, LIBFPTR_PARAM_OPERATOR_ID);
uint logicalNumber = libfptr_get_param_int(fptr, LIBFPTR_PARAM_LOGICAL_NUMBER);
uint shiftState = libfptr_get_param_int(fptr, LIBFPTR_PARAM_SHIFT_STATE);
uint model = libfptr_get_param_int(fptr, LIBFPTR_PARAM_MODEL);
uint mode = libfptr_get_param_int(fptr, LIBFPTR_PARAM_MODE);
uint submode = libfptr_get_param_int(fptr, LIBFPTR_PARAM_SUBMODE);
uint receiptNumber = libfptr_get_param_int(fptr, LIBFPTR_PARAM_RECEIPT_NUMBER);
uint documentNumber = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DOCUMENT_NUMBER);
uint shiftNumber = libfptr_get_param_int(fptr, LIBFPTR_PARAM_SHIFT_NUMBER);
uint receiptType = libfptr_get_param_int(fptr, LIBFPTR_PARAM_RECEIPT_TYPE);
uint lineLength = libfptr_get_param_int(fptr, LIBFPTR_PARAM_RECEIPT_LINE_LENGTH);
uint lineLengthPix = libfptr_get_param_int(fptr, LIBFPTR_PARAM_RECEIPT_LINE_LENGTH_PIX);
double receiptSum = libfptr_get_param_double(fptr, LIBFPTR_PARAM_RECEIPT_SUM);
bool isFiscalDevice = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_FISCAL) != 0);
bool isFiscalFN = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_FN_FISCAL) != 0);
bool isFNPresent = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_FN_PRESENT) != 0);
bool isCashDrawerOpened = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_CASHDRAWER_OPENED) != 0);
bool isPaperPresent = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_RECEIPT_PAPER_PRESENT) != 0);
bool isCoverOpened = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_COVER_OPENED) != 0);
bool isPrinterConnectionLost= (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_PRINTER_CONNECTION_LOST) != 0);
bool isPrinterError = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_PRINTER_ERROR) != 0);
bool isCutError = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_CUT_ERROR) != 0);
bool isPrinterOverheat = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_PRINTER_OVERHEAT) != 0);
bool isDeviceBlocked = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_BLOCKED) != 0)
int year, month, day, hour, minute, second;
libfptr_get_param_datetime(fptr, LIBFPTR_PARAM_DATE_TIME, &year, &month, &day, &hour, &minute, &second);
std::vector<wchar_t> str(1024);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_SERIAL_NUMBER, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_SERIAL_NUMBER, &str[0], str.size());
}
std::wstring serialNumber = std::wstring(&str[0]);
size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_MODEL_NAME, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_MODEL_NAME, &str[0], str.size());
}
std::wstring modelName = std::wstring(&str[0]);
size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_UNIT_VERSION, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_UNIT_VERSION, &str[0], str.size());
}
std::wstring firmwareVersion = std::wstring(&str[0]);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_STATUS)
fptr.queryData()
operatorID = fptr.getParamInt(IFptr.LIBFPTR_PARAM_OPERATOR_ID)
logicalNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_LOGICAL_NUMBER)
shiftState = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SHIFT_STATE)
model = fptr.getParamInt(IFptr.LIBFPTR_PARAM_MODEL)
mode = fptr.getParamInt(IFptr.LIBFPTR_PARAM_MODE)
submode = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SUBMODE)
receiptNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_NUMBER)
documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER)
shiftNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SHIFT_NUMBER)
receiptType = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE)
lineLength = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH)
lineLengthPix = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH_PIX)
receiptSum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_RECEIPT_SUM)
isFiscalDevice = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FISCAL)
isFiscalFN = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_FISCAL)
isFNPresent = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_PRESENT)
isCashDrawerOpened = fptr.getParamBool(IFptr.LIBFPTR_PARAM_CASHDRAWER_OPENED)
isPaperPresent = fptr.getParamBool(IFptr.LIBFPTR_PARAM_RECEIPT_PAPER_PRESENT)
isCoverOpened = fptr.getParamBool(IFptr.LIBFPTR_PARAM_COVER_OPENED)
isPrinterConnectionLost = fptr.getParamBool(IFptr.LIBFPTR_PARAM_PRINTER_CONNECTION_LOST)
isPrinterError = fptr.getParamBool(IFptr.LIBFPTR_PARAM_PRINTER_ERROR)
isCutError = fptr.getParamBool(IFptr.LIBFPTR_PARAM_CUT_ERROR)
isPrinterOverheat = fptr.getParamBool(IFptr.LIBFPTR_PARAM_PRINTER_OVERHEAT)
isDeviceBlocked = fptr.getParamBool(IFptr.LIBFPTR_PARAM_BLOCKED)
dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME)
serialNumber = fptr.getParamString(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER)
modelName = fptr.getParamString(IFptr.LIBFPTR_PARAM_MODEL_NAME)
firmwareVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_STATUS);
fptr.queryData();
long operatorID = fptr.getParamInt(IFptr.LIBFPTR_PARAM_OPERATOR_ID);
long logicalNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_LOGICAL_NUMBER);
long shiftState = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SHIFT_STATE);
long model = fptr.getParamInt(IFptr.LIBFPTR_PARAM_MODEL);
long mode = fptr.getParamInt(IFptr.LIBFPTR_PARAM_MODE);
long submode = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SUBMODE);
long receiptNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_NUMBER);
long documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
long shiftNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SHIFT_NUMBER);
long receiptType = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE);
long lineLength = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH);
long lineLengthPix = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH_PIX);
double receiptSum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_RECEIPT_SUM);
boolean isFiscalDevice = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FISCAL);
boolean isFiscalFN = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_FISCAL);
boolean isFNPresent = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_PRESENT);
boolean isCashDrawerOpened = fptr.getParamBool(IFptr.LIBFPTR_PARAM_CASHDRAWER_OPENED);
boolean isPaperPresent = fptr.getParamBool(IFptr.LIBFPTR_PARAM_RECEIPT_PAPER_PRESENT);
boolean isCoverOpened = fptr.getParamBool(IFptr.LIBFPTR_PARAM_COVER_OPENED);
boolean isPrinterConnectionLost = fptr.getParamBool(IFptr.LIBFPTR_PARAM_PRINTER_CONNECTION_LOST);
boolean isPrinterError = fptr.getParamBool(IFptr.LIBFPTR_PARAM_PRINTER_ERROR);
boolean isCutError = fptr.getParamBool(IFptr.LIBFPTR_PARAM_CUT_ERROR);
boolean isPrinterOverheat = fptr.getParamBool(IFptr.LIBFPTR_PARAM_PRINTER_OVERHEAT);
boolean isDeviceBlocked = fptr.getParamBool(IFptr.LIBFPTR_PARAM_BLOCKED);
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
String serialNumber = fptr.getParamString(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER);
String modelName = fptr.getParamString(IFptr.LIBFPTR_PARAM_MODEL_NAME);
String firmwareVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_STATUS);
fptr.queryData();
long operatorID = fptr.getParamInt(IFptr.LIBFPTR_PARAM_OPERATOR_ID);
long logicalNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_LOGICAL_NUMBER);
long shiftState = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SHIFT_STATE);
long model = fptr.getParamInt(IFptr.LIBFPTR_PARAM_MODEL);
long mode = fptr.getParamInt(IFptr.LIBFPTR_PARAM_MODE);
long submode = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SUBMODE);
long receiptNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_NUMBER);
long documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
long shiftNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SHIFT_NUMBER);
long receiptType = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE);
long lineLength = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH);
long lineLengthPix = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH_PIX);
double receiptSum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_RECEIPT_SUM);
boolean isFiscalDevice = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FISCAL);
boolean isFiscalFN = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_FISCAL);
boolean isFNPresent = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_PRESENT);
boolean isCashDrawerOpened = fptr.getParamBool(IFptr.LIBFPTR_PARAM_CASHDRAWER_OPENED);
boolean isPaperPresent = fptr.getParamBool(IFptr.LIBFPTR_PARAM_RECEIPT_PAPER_PRESENT);
boolean isCoverOpened = fptr.getParamBool(IFptr.LIBFPTR_PARAM_COVER_OPENED);
boolean isPrinterConnectionLost = fptr.getParamBool(IFptr.LIBFPTR_PARAM_PRINTER_CONNECTION_LOST);
boolean isPrinterError = fptr.getParamBool(IFptr.LIBFPTR_PARAM_PRINTER_ERROR);
boolean isCutError = fptr.getParamBool(IFptr.LIBFPTR_PARAM_CUT_ERROR);
boolean isPrinterOverheat = fptr.getParamBool(IFptr.LIBFPTR_PARAM_PRINTER_OVERHEAT);
boolean isDeviceBlocked = fptr.getParamBool(IFptr.LIBFPTR_PARAM_BLOCKED);
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
String serialNumber = fptr.getParamString(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER);
String modelName = fptr.getParamString(IFptr.LIBFPTR_PARAM_MODEL_NAME);
String firmwareVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_STATUS];
[fptr queryData];
uint operatorID = [fptr getParamInt:LIBFPTR_PARAM_OPERATOR_ID];
uint logicalNumber = [fptr getParamInt:LIBFPTR_PARAM_LOGICAL_NUMBER];
uint shiftState = [fptr getParamInt:LIBFPTR_PARAM_SHIFT_STATE];
uint model = [fptr getParamInt:LIBFPTR_PARAM_MODEL];
uint mode = [fptr getParamInt:LIBFPTR_PARAM_MODE];
uint submode = [fptr getParamInt:LIBFPTR_PARAM_SUBMODE];
uint receiptNumber = [fptr getParamInt:LIBFPTR_PARAM_RECEIPT_NUMBER];
uint documentNumber = [fptr getParamInt:LIBFPTR_PARAM_DOCUMENT_NUMBER];
uint shiftNumber = [fptr getParamInt:LIBFPTR_PARAM_SHIFT_NUMBER];
uint receiptType = [fptr getParamInt:LIBFPTR_PARAM_RECEIPT_TYPE];
uint lineLength = [fptr getParamInt:LIBFPTR_PARAM_RECEIPT_LINE_LENGTH];
uint lineLengthPix = [fptr getParamInt:LIBFPTR_PARAM_RECEIPT_LINE_LENGTH_PIX];
double receiptSum = [fptr getParamDouble:LIBFPTR_PARAM_RECEIPT_SUM];
bool isFiscalDevice = [fptr getParamBool:LIBFPTR_PARAM_FISCAL];
bool isFiscalFN = [fptr getParamBool:LIBFPTR_PARAM_FN_FISCAL];
bool isFNPresent = [fptr getParamBool:LIBFPTR_PARAM_FN_PRESENT];
bool isCashDrawerOpened = [fptr getParamBool:LIBFPTR_PARAM_CASHDRAWER_OPENED];
bool isPaperPresent = [fptr getParamBool:LIBFPTR_PARAM_RECEIPT_PAPER_PRESENT];
bool isCoverOpened = [fptr getParamBool:LIBFPTR_PARAM_COVER_OPENED];
bool isPrinterConnectionLost = [fptr getParamBool:LIBFPTR_PARAM_PRINTER_CONNECTION_LOST];
bool isPrinterError = [fptr getParamBool:LIBFPTR_PARAM_PRINTER_ERROR];
bool isCutError = [fptr getParamBool:LIBFPTR_PARAM_CUT_ERROR];
bool isPrinterOverheat = [fptr getParamBool:LIBFPTR_PARAM_PRINTER_OVERHEAT];
bool isDeviceBlocked = [fptr getParamBool:LIBFPTR_PARAM_BLOCKED];
NSDate *dateTime = [fptr getParamDateTime:LIBFPTR_PARAM_DATE_TIME];
NSString *serialNumber = [fptr getParamString:LIBFPTR_PARAM_SERIAL_NUMBER];
NSString *modelName = [fptr getParamString:LIBFPTR_PARAM_MODEL_NAME];
NSString *firmwareVersion = [fptr getParamString:LIBFPTR_PARAM_UNIT_VERSION];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_STATUS);
fptr.queryData();
uint operatorID = fptr.getParamInt(Constants.LIBFPTR_PARAM_OPERATOR_ID);
uint logicalNumber = fptr.getParamInt(Constants.LIBFPTR_PARAM_LOGICAL_NUMBER);
uint shiftState = fptr.getParamInt(Constants.LIBFPTR_PARAM_SHIFT_STATE);
uint model = fptr.getParamInt(Constants.LIBFPTR_PARAM_MODEL);
uint mode = fptr.getParamInt(Constants.LIBFPTR_PARAM_MODE);
uint submode = fptr.getParamInt(Constants.LIBFPTR_PARAM_SUBMODE);
uint receiptNumber = fptr.getParamInt(Constants.LIBFPTR_PARAM_RECEIPT_NUMBER);
uint documentNumber = fptr.getParamInt(Constants.LIBFPTR_PARAM_DOCUMENT_NUMBER);
uint shiftNumber = fptr.getParamInt(Constants.LIBFPTR_PARAM_SHIFT_NUMBER);
uint receiptType = fptr.getParamInt(Constants.LIBFPTR_PARAM_RECEIPT_TYPE);
uint lineLength = fptr.getParamInt(Constants.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH);
uint lineLengthPix = fptr.getParamInt(Constants.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH_PIX);
double receiptSum = fptr.getParamDouble(Constants.LIBFPTR_PARAM_RECEIPT_SUM);
bool isFiscalDevice = fptr.getParamBool(Constants.LIBFPTR_PARAM_FISCAL);
bool isFiscalFN = fptr.getParamBool(Constants.LIBFPTR_PARAM_FN_FISCAL);
bool isFNPresent = fptr.getParamBool(Constants.LIBFPTR_PARAM_FN_PRESENT);
bool isCashDrawerOpened = fptr.getParamBool(Constants.LIBFPTR_PARAM_CASHDRAWER_OPENED);
bool isPaperPresent = fptr.getParamBool(Constants.LIBFPTR_PARAM_RECEIPT_PAPER_PRESENT);
bool isCoverOpened = fptr.getParamBool(Constants.LIBFPTR_PARAM_COVER_OPENED);
bool isPrinterConnectionLost = fptr.getParamBool(Constants.LIBFPTR_PARAM_PRINTER_CONNECTION_LOST);
bool isPrinterError = fptr.getParamBool(Constants.LIBFPTR_PARAM_PRINTER_ERROR);
bool isCutError = fptr.getParamBool(Constants.LIBFPTR_PARAM_CUT_ERROR);
bool isPrinterOverheat = fptr.getParamBool(Constants.LIBFPTR_PARAM_PRINTER_OVERHEAT);
bool isDeviceBlocked = fptr.getParamBool(Constants.LIBFPTR_PARAM_BLOCKED);
DateTime dateTime = fptr.getParamDateTime(Constants.LIBFPTR_PARAM_DATE_TIME);
String serialNumber = fptr.getParamString(Constants.LIBFPTR_PARAM_SERIAL_NUMBER);
String modelName = fptr.getParamString(Constants.LIBFPTR_PARAM_MODEL_NAME);
String firmwareVersion = fptr.getParamString(Constants.LIBFPTR_PARAM_UNIT_VERSION);
var
operatorID: Longint;
logicalNumber: Longint;
shiftState: Longint;
model: Longint;
mode: Longint;
submode: Longint;
receiptNumber: Longint;
documentNumber: Longint;
shiftNumber: Longint;
receiptType: Longint;
lineLength: Longint;
lineLengthPix: Longint;
receiptSum: Double;
isFiscalDevice: LongBool;
isFiscalFN: LongBool;
isFNPresent: LongBool;
isCashDrawerOpened: LongBool;
isPaperPresent: LongBool;
isCoverOpened: LongBool;
isPrinterConnectionLost: LongBool;
isPrinterError: LongBool;
isCutError: LongBool;
isPrinterOverheat: LongBool;
isDeviceBlocked: LongBool;
dateTime: TDateTime;
serialNumber: String;
modelName: String;
firmwareVersion: String;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_STATUS);
fptr.queryData;
operatorID := fptr.getParamInt(fptr.LIBFPTR_PARAM_OPERATOR_ID);
logicalNumber := fptr.getParamInt(fptr.LIBFPTR_PARAM_LOGICAL_NUMBER);
shiftState := fptr.getParamInt(fptr.LIBFPTR_PARAM_SHIFT_STATE);
model := fptr.getParamInt(fptr.LIBFPTR_PARAM_MODEL);
mode := fptr.getParamInt(fptr.LIBFPTR_PARAM_MODE);
submode := fptr.getParamInt(fptr.LIBFPTR_PARAM_SUBMODE);
receiptNumber := fptr.getParamInt(fptr.LIBFPTR_PARAM_RECEIPT_NUMBER);
documentNumber := fptr.getParamInt(fptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
shiftNumber := fptr.getParamInt(fptr.LIBFPTR_PARAM_SHIFT_NUMBER);
receiptType := fptr.getParamInt(fptr.LIBFPTR_PARAM_RECEIPT_TYPE);
lineLength := fptr.getParamInt(fptr.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH);
lineLengthPix := fptr.getParamInt(fptr.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH_PIX);
receiptSum := fptr.getParamDouble(fptr.LIBFPTR_PARAM_RECEIPT_SUM);
isFiscalDevice := fptr.getParamBool(fptr.LIBFPTR_PARAM_FISCAL);
isFiscalFN := fptr.getParamBool(fptr.LIBFPTR_PARAM_FN_FISCAL);
isFNPresent := fptr.getParamBool(fptr.LIBFPTR_PARAM_FN_PRESENT);
isCashDrawerOpened := fptr.getParamBool(fptr.LIBFPTR_PARAM_CASHDRAWER_OPENED);
isPaperPresent := fptr.getParamBool(fptr.LIBFPTR_PARAM_RECEIPT_PAPER_PRESENT);
isCoverOpened := fptr.getParamBool(fptr.LIBFPTR_PARAM_COVER_OPENED);
isPrinterConnectionLost := fptr.getParamBool(fptr.LIBFPTR_PARAM_PRINTER_CONNECTION_LOST);
isPrinterError := fptr.getParamBool(fptr.LIBFPTR_PARAM_PRINTER_ERROR);
isCutError := fptr.getParamBool(fptr.LIBFPTR_PARAM_CUT_ERROR);
isPrinterOverheat := fptr.getParamBool(fptr.LIBFPTR_PARAM_PRINTER_OVERHEAT);
isDeviceBlocked := fptr.getParamBool(fptr.LIBFPTR_PARAM_BLOCKED);
dateTime := fptr.getParamDateTime(fptr.LIBFPTR_PARAM_DATE_TIME);
serialNumber := fptr.getParamString(fptr.LIBFPTR_PARAM_SERIAL_NUMBER);
modelName := fptr.getParamString(fptr.LIBFPTR_PARAM_MODEL_NAME);
firmwareVersion := fptr.getParamString(fptr.LIBFPTR_PARAM_UNIT_VERSION);
end;
Для запроса общей информации и статуса необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_STATUS.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_OPERATOR_ID | Номер кассира | int |
LIBFPTR_PARAM_LOGICAL_NUMBER | Номер ККТ в магазине | int |
LIBFPTR_PARAM_DATE_TIME | Дата и время ККТ | datetime |
LIBFPTR_PARAM_FISCAL | Флаг фискализации ККТ | bool |
LIBFPTR_PARAM_FN_FISCAL | Флаг фискализации ФН | bool |
LIBFPTR_PARAM_FN_PRESENT | Флаг наличия ФН в ККТ | bool |
LIBFPTR_PARAM_SHIFT_STATE | Состояние смены | int |
LIBFPTR_PARAM_CASHDRAWER_OPENED | Денежный ящик открыт | bool |
LIBFPTR_PARAM_RECEIPT_PAPER_PRESENT | Наличие бумаги | bool |
LIBFPTR_PARAM_COVER_OPENED | Крышка открыта | bool |
LIBFPTR_PARAM_SERIAL_NUMBER | Заводской номер ККТ | string |
LIBFPTR_PARAM_MODEL | Номер модели ККТ | int |
LIBFPTR_PARAM_MODE | Режим ККТ | int |
LIBFPTR_PARAM_SUBMODE | Подрежим ККТ | int |
LIBFPTR_PARAM_RECEIPT_NUMBER | Номер чека (внутренний счетчик ККТ) | int |
LIBFPTR_PARAM_DOCUMENT_NUMBER | Номер документа (внутренний счетчик ККТ) | int |
LIBFPTR_PARAM_SHIFT_NUMBER | Номер открытой смены или номер последней закрытой смены + 1 | int |
LIBFPTR_PARAM_RECEIPT_TYPE | Тип открытого чека | int |
LIBFPTR_PARAM_RECEIPT_SUM | Сумма текущего чека | double |
LIBFPTR_PARAM_RECEIPT_LINE_LENGTH | Ширина чековой ленты, симв. | int |
LIBFPTR_PARAM_RECEIPT_LINE_LENGTH_PIX | Ширина чековой ленты, пикс. | int |
LIBFPTR_PARAM_MODEL_NAME | Название ККТ | string |
LIBFPTR_PARAM_UNIT_VERSION | Версия ПО ККТ | string |
LIBFPTR_PARAM_PRINTER_CONNECTION_LOST | Потеряно соединение с печатным механизмом | bool |
LIBFPTR_PARAM_PRINTER_ERROR | Невосстановимая ошибка печатного механизма | bool |
LIBFPTR_PARAM_CUT_ERROR | Ошибка отрезчика | bool |
LIBFPTR_PARAM_PRINTER_OVERHEAT | Перегрев печатного механизма | bool |
LIBFPTR_PARAM_BLOCKED | ККТ заблокирована из-за ошибок | bool |
Возможные значения для состояния смены (LIBFPTR_PARAM_SHIFT_STATE):
- LIBFPTR_SS_CLOSED - смена закрыта
- LIBFPTR_SS_OPENED - смена открыта
- LIBFPTR_SS_EXPIRED - смена истекла
Возможные значения для типа открытого чека (LIBFPTR_PARAM_RECEIPT_TYPE):
- LIBFPTR_RT_CLOSED - чек закрыт
- LIBFPTR_RT_SELL - чек прихода
- LIBFPTR_RT_SELL_RETURN - чек возврата прихода
- LIBFPTR_RT_SELL_CORRECTION - чек коррекции прихода
- LIBFPTR_RT_BUY - чек расхода
- LIBFPTR_RT_BUY_RETURN - чек возврата расхода
- LIBFPTR_RT_BUY_CORRECTION - чек коррекции расхода
Возможные значения для номера модели (LIBFPTR_PARAM_MODEL) представлены в разделе Список настроек.
Короткий запрос статуса ККТ
Короткий запрос статуса ККТ
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_SHORT_STATUS);
libfptr_query_data(fptr);
bool isCashDrawerOpened = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_CASHDRAWER_OPENED) != 0);
bool isPaperPresent = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_RECEIPT_PAPER_PRESENT) != 0);
bool isCoverOpened = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_COVER_OPENED) != 0);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_SHORT_STATUS)
fptr.queryData()
isCashDrawerOpened = fptr.getParamBool(IFptr.LIBFPTR_PARAM_CASHDRAWER_OPENED)
isPaperPresent = fptr.getParamBool(IFptr.LIBFPTR_PARAM_RECEIPT_PAPER_PRESENT)
isCoverOpened = fptr.getParamBool(IFptr.LIBFPTR_PARAM_COVER_OPENED)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_SHORT_STATUS);
fptr.queryData();
boolean isCashDrawerOpened = fptr.getParamBool(IFptr.LIBFPTR_PARAM_CASHDRAWER_OPENED);
boolean isPaperPresent = fptr.getParamBool(IFptr.LIBFPTR_PARAM_RECEIPT_PAPER_PRESENT);
boolean isCoverOpened = fptr.getParamBool(IFptr.LIBFPTR_PARAM_COVER_OPENED);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_SHORT_STATUS);
fptr.queryData();
boolean isCashDrawerOpened = fptr.getParamBool(IFptr.LIBFPTR_PARAM_CASHDRAWER_OPENED);
boolean isPaperPresent = fptr.getParamBool(IFptr.LIBFPTR_PARAM_RECEIPT_PAPER_PRESENT);
boolean isCoverOpened = fptr.getParamBool(IFptr.LIBFPTR_PARAM_COVER_OPENED);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_SHORT_STATUS];
[fptr queryData];
bool isCashDrawerOpened = [fptr getParamBool:LIBFPTR_PARAM_CASHDRAWER_OPENED];
bool isPaperPresent = [fptr getParamBool:LIBFPTR_PARAM_RECEIPT_PAPER_PRESENT];
bool isCoverOpened = [fptr getParamBool:LIBFPTR_PARAM_COVER_OPENED];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_SHORT_STATUS);
fptr.queryData();
bool isCashDrawerOpened = fptr.getParamBool(Constants.LIBFPTR_PARAM_CASHDRAWER_OPENED);
bool isPaperPresent = fptr.getParamBool(Constants.LIBFPTR_PARAM_RECEIPT_PAPER_PRESENT);
bool isCoverOpened = fptr.getParamBool(Constants.LIBFPTR_PARAM_COVER_OPENED);
var
isCashDrawerOpened: LongBool;
isPaperPresent: LongBool;
isCoverOpened: LongBool;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_SHORT_STATUS);
fptr.queryData;
isCashDrawerOpened := fptr.getParamBool(fptr.LIBFPTR_PARAM_CASHDRAWER_OPENED);
isPaperPresent := fptr.getParamBool(fptr.LIBFPTR_PARAM_RECEIPT_PAPER_PRESENT);
isCoverOpened := fptr.getParamBool(fptr.LIBFPTR_PARAM_COVER_OPENED);
end;
Для короткого запроса статуса ККТ необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_SHORT_STATUS.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_CASHDRAWER_OPENED | Денежный ящик открыт | bool |
LIBFPTR_PARAM_RECEIPT_PAPER_PRESENT | Наличие бумаги | bool |
LIBFPTR_PARAM_COVER_OPENED | Крышка открыта | bool |
Сумма наличных в денежном ящике
Запрос суммы наличных в денежном ящике
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_CASH_SUM);
libfptr_query_data(fptr);
double cashSum = libfptr_get_param_double(fptr, LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CASH_SUM)
fptr.queryData()
cashSum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CASH_SUM);
fptr.queryData();
double cashSum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CASH_SUM);
fptr.queryData();
double cashSum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_CASH_SUM];
[fptr queryData];
double cashSum = [fptr getParamDouble:LIBFPTR_PARAM_SUM];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_CASH_SUM);
fptr.queryData();
double cashSum = fptr.getParamDouble(Constants.LIBFPTR_PARAM_SUM);
var
cashSum: Double;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_CASH_SUM);
fptr.queryData;
cashSum := fptr.getParamDouble(fptr.LIBFPTR_PARAM_SUM);
end;
Для запроса суммы наличности в денежном ящике необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_CASH_SUM.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_SUM | Сумма наличных в ДЯ | double |
Версия модуля
Запрос версии прошивки
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_UNIT_VERSION);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_UNIT_TYPE, LIBFPTR_UT_FIRMWARE);
libfptr_query_data(fptr);
std::vector<wchar_t> str(1024);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_UNIT_VERSION, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_UNIT_VERSION, &str[0], str.size());
}
std::wstring firmwareVersion = std::wstring(&str[0]);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_UNIT_VERSION)
fptr.setParam(IFptr.LIBFPTR_PARAM_UNIT_TYPE, IFptr.LIBFPTR_UT_FIRMWARE)
fptr.queryData()
firmwareVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_UNIT_VERSION);
fptr.setParam(IFptr.LIBFPTR_PARAM_UNIT_TYPE, IFptr.LIBFPTR_UT_FIRMWARE);
fptr.queryData();
String firmwareVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_UNIT_VERSION);
fptr.setParam(IFptr.LIBFPTR_PARAM_UNIT_TYPE, IFptr.LIBFPTR_UT_FIRMWARE);
fptr.queryData();
String firmwareVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_UNIT_VERSION];
[fptr setParam:LIBFPTR_PARAM_UNIT_TYPE, intParam:LIBFPTR_UT_FIRMWARE];
[fptr queryData];
NSString *firmwareVersion = [fptr getParamString:LIBFPTR_PARAM_UNIT_VERSION];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_UNIT_VERSION);
fptr.setParam(Constants.LIBFPTR_PARAM_UNIT_TYPE, Constants.LIBFPTR_UT_FIRMWARE);
fptr.queryData();
String firmwareVersion = fptr.getParamString(Constants.LIBFPTR_PARAM_UNIT_VERSION);
var
firmwareVersion: String;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_UNIT_VERSION);
fptr.setParam(fptr.LIBFPTR_PARAM_UNIT_TYPE, fptr.LIBFPTR_UT_FIRMWARE);
fptr.queryData;
firmwareVersion := fptr.getParamString(fptr.LIBFPTR_PARAM_UNIT_VERSION);
end;
Запрос версии конфигурации
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_UNIT_VERSION);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_UNIT_TYPE, LIBFPTR_UT_CONFIGURATION);
libfptr_query_data(fptr);
std::vector<wchar_t> str(1024);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_UNIT_VERSION, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_UNIT_VERSION, &str[0], str.size());
}
std::wstring configurationVersion = std::wstring(&str[0]);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_UNIT_RELEASE_VERSION, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_UNIT_RELEASE_VERSION, &str[0], str.size());
}
std::wstring releaseVersion = std::wstring(&str[0]);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_UNIT_VERSION)
fptr.setParam(IFptr.LIBFPTR_PARAM_UNIT_TYPE, IFptr.LIBFPTR_UT_CONFIGURATION)
fptr.queryData()
configurationVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION)
releaseVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_RELEASE_VERSION)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_UNIT_VERSION);
fptr.setParam(IFptr.LIBFPTR_PARAM_UNIT_TYPE, IFptr.LIBFPTR_UT_CONFIGURATION);
fptr.queryData();
String configurationVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION);
String releaseVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_RELEASE_VERSION);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_UNIT_VERSION);
fptr.setParam(IFptr.LIBFPTR_PARAM_UNIT_TYPE, IFptr.LIBFPTR_UT_CONFIGURATION);
fptr.queryData();
String configurationVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION);
String releaseVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_RELEASE_VERSION);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_UNIT_VERSION];
[fptr setParam:LIBFPTR_PARAM_UNIT_TYPE, intParam:LIBFPTR_UT_CONFIGURATION];
[fptr queryData];
NSString *configurationVersion = [fptr getParamString:LIBFPTR_PARAM_UNIT_VERSION];
NSString *releaseVersion = [fptr getParamString:LIBFPTR_PARAM_UNIT_RELEASE_VERSION];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_UNIT_VERSION);
fptr.setParam(Constants.LIBFPTR_PARAM_UNIT_TYPE, Constants.LIBFPTR_UT_CONFIGURATION);
fptr.queryData();
String configurationVersion = fptr.getParamString(Constants.LIBFPTR_PARAM_UNIT_VERSION);
String releaseVersion = fptr.getParamString(Constants.LIBFPTR_PARAM_UNIT_RELEASE_VERSION);
var
configurationVersion: String;
releaseVersion: String;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_UNIT_VERSION);
fptr.setParam(fptr.LIBFPTR_PARAM_UNIT_TYPE, fptr.LIBFPTR_UT_CONFIGURATION);
fptr.queryData;
configurationVersion := fptr.getParamString(fptr.LIBFPTR_PARAM_UNIT_VERSION);
releaseVersion := fptr.getParamString(fptr.LIBFPTR_PARAM_UNIT_RELEASE_VERSION);
end;
Запрос версии движка шаблонов
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_UNIT_VERSION);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_UNIT_TYPE, LIBFPTR_UT_TEMPLATES);
libfptr_query_data(fptr);
std::vector<wchar_t> str(1024);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_UNIT_VERSION, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_UNIT_VERSION, &str[0], str.size());
}
std::wstring templatesVersion = std::wstring(&str[0]);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_UNIT_VERSION)
fptr.setParam(IFptr.LIBFPTR_PARAM_UNIT_TYPE, IFptr.LIBFPTR_UT_TEMPLATES)
fptr.queryData()
templatesVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_UNIT_VERSION);
fptr.setParam(IFptr.LIBFPTR_PARAM_UNIT_TYPE, IFptr.LIBFPTR_UT_TEMPLATES);
fptr.queryData();
String templatesVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_UNIT_VERSION);
fptr.setParam(IFptr.LIBFPTR_PARAM_UNIT_TYPE, IFptr.LIBFPTR_UT_TEMPLATES);
fptr.queryData();
String templatesVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_UNIT_VERSION];
[fptr setParam:LIBFPTR_PARAM_UNIT_TYPE, intParam:LIBFPTR_UT_TEMPLATES];
[fptr queryData];
NSString *templatesVersion = [fptr getParamString:LIBFPTR_PARAM_UNIT_VERSION];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_UNIT_VERSION);
fptr.setParam(Constants.LIBFPTR_PARAM_UNIT_TYPE, Constants.LIBFPTR_UT_TEMPLATES);
fptr.queryData();
String templatesVersion = fptr.getParamString(Constants.LIBFPTR_PARAM_UNIT_VERSION);
var
templatesVersion: String;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_UNIT_VERSION);
fptr.setParam(fptr.LIBFPTR_PARAM_UNIT_TYPE, fptr.LIBFPTR_UT_TEMPLATES);
fptr.queryData;
templatesVersion := fptr.getParamString(fptr.LIBFPTR_PARAM_UNIT_VERSION);
end;
Запрос версии блока управления
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_UNIT_VERSION);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_UNIT_TYPE, LIBFPTR_UT_CONTROL_UNIT);
libfptr_query_data(fptr);
std::vector<wchar_t> str(1024);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_UNIT_VERSION, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_UNIT_VERSION, &str[0], str.size());
}
std::wstring controlUnitVersion = std::wstring(&str[0]);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_UNIT_VERSION)
fptr.setParam(IFptr.LIBFPTR_PARAM_UNIT_TYPE, IFptr.LIBFPTR_UT_CONTROL_UNIT)
fptr.queryData()
controlUnitVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_UNIT_VERSION);
fptr.setParam(IFptr.LIBFPTR_PARAM_UNIT_TYPE, IFptr.LIBFPTR_UT_CONTROL_UNIT);
fptr.queryData();
String controlUnitVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_UNIT_VERSION);
fptr.setParam(IFptr.LIBFPTR_PARAM_UNIT_TYPE, IFptr.LIBFPTR_UT_CONTROL_UNIT);
fptr.queryData();
String controlUnitVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_UNIT_VERSION];
[fptr setParam:LIBFPTR_PARAM_UNIT_TYPE, intParam:LIBFPTR_UT_CONTROL_UNIT];
[fptr queryData];
NSString *controlUnitVersion = [fptr getParamString:LIBFPTR_PARAM_UNIT_VERSION];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_UNIT_VERSION);
fptr.setParam(Constants.LIBFPTR_PARAM_UNIT_TYPE, Constants.LIBFPTR_UT_CONTROL_UNIT);
fptr.queryData();
String controlUnitVersion = fptr.getParamString(Constants.LIBFPTR_PARAM_UNIT_VERSION);
var
controlUnitVersion: String;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_UNIT_VERSION);
fptr.setParam(fptr.LIBFPTR_PARAM_UNIT_TYPE, fptr.LIBFPTR_UT_CONTROL_UNIT);
fptr.queryData;
controlUnitVersion := fptr.getParamString(fptr.LIBFPTR_PARAM_UNIT_VERSION);
end;
Запрос версии загрузчика
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_UNIT_VERSION);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_UNIT_TYPE, LIBFPTR_UT_BOOT);
libfptr_query_data(fptr);
std::vector<wchar_t> str(1024);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_UNIT_VERSION, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_UNIT_VERSION, &str[0], str.size());
}
std::wstring bootVersion = std::wstring(&str[0]);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_UNIT_VERSION)
fptr.setParam(IFptr.LIBFPTR_PARAM_UNIT_TYPE, IFptr.LIBFPTR_UT_BOOT)
fptr.queryData()
bootVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_UNIT_VERSION);
fptr.setParam(IFptr.LIBFPTR_PARAM_UNIT_TYPE, IFptr.LIBFPTR_UT_BOOT);
fptr.queryData();
String bootVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_UNIT_VERSION);
fptr.setParam(IFptr.LIBFPTR_PARAM_UNIT_TYPE, IFptr.LIBFPTR_UT_BOOT);
fptr.queryData();
String bootVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_UNIT_VERSION];
[fptr setParam:LIBFPTR_PARAM_UNIT_TYPE, intParam:LIBFPTR_UT_BOOT];
[fptr queryData];
NSString *bootVersion = [fptr getParamString:LIBFPTR_PARAM_UNIT_VERSION];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_UNIT_VERSION);
fptr.setParam(Constants.LIBFPTR_PARAM_UNIT_TYPE, Constants.LIBFPTR_UT_BOOT);
fptr.queryData();
String bootVersion = fptr.getParamString(Constants.LIBFPTR_PARAM_UNIT_VERSION);
var
bootVersion: String;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_UNIT_VERSION);
fptr.setParam(fptr.LIBFPTR_PARAM_UNIT_TYPE, fptr.LIBFPTR_UT_BOOT);
fptr.queryData;
bootVersion := fptr.getParamString(fptr.LIBFPTR_PARAM_UNIT_VERSION);
end;
Для запроса версии модуля необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_UNIT_VERSION и указать один из модулей в параметре LIBFPTR_PARAM_UNIT_TYPE:
- LIBFPTR_UT_FIRMWARE - прошивка
- LIBFPTR_UT_CONFIGURATION - конфигурация
- LIBFPTR_UT_TEMPLATES - движок шаблонов
- LIBFPTR_UT_CONTROL_UNIT - блок управления
- LIBFPTR_UT_BOOT - загрузчик
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_UNIT_VERSION | Версия модуля | string |
LIBFPTR_PARAM_UNIT_RELEASE_VERSION | Версия релиза (только для запроса LIBFPTR_UT_CONFIGURATION) | string |
Параметры массива картинок
Запрос параметров картинок
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_PICTURES_ARRAY_INFO);
libfptr_query_data(fptr);
int count = libfptr_get_param_int(fptr, LIBFPTR_PARAM_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_PICTURES_ARRAY_INFO)
fptr.queryData()
count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_PICTURES_ARRAY_INFO);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_PICTURES_ARRAY_INFO);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_PICTURES_ARRAY_INFO];
[fptr queryData];
uint count = [fptr getParamInt:LIBFPTR_PARAM_COUNT];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_PICTURES_ARRAY_INFO);
fptr.queryData();
uint count = fptr.getParamInt(Constants.LIBFPTR_PARAM_COUNT);
var
count: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_PICTURES_ARRAY_INFO);
fptr.queryData;
count := fptr.getParamInt(fptr.LIBFPTR_PARAM_COUNT);
end;
Для запроса параметров массива картинок необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_PICTURES_ARRAY_INFO.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_COUNT | Количество картинок | int |
Параметры картинки в памяти
Запрос параметров картинки в памяти ККТ
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_PICTURE_INFO);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_PICTURE_NUMBER, 1);
libfptr_query_data(fptr);
int width = libfptr_get_param_int(fptr, LIBFPTR_PARAM_WIDTH);
int height = libfptr_get_param_int(fptr, LIBFPTR_PARAM_HEIGHT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_PICTURE_INFO)
fptr.setParam(IFptr.LIBFPTR_PARAM_PICTURE_NUMBER, 1)
fptr.queryData()
width = fptr.getParamInt(IFptr.LIBFPTR_PARAM_WIDTH)
height = fptr.getParamInt(IFptr.LIBFPTR_PARAM_HEIGHT)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_PICTURE_INFO);
fptr.setParam(IFptr.LIBFPTR_PARAM_PICTURE_NUMBER, 1);
fptr.queryData();
long width = fptr.getParamInt(IFptr.LIBFPTR_PARAM_WIDTH);
long height = fptr.getParamInt(IFptr.LIBFPTR_PARAM_HEIGHT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_PICTURE_INFO);
fptr.setParam(IFptr.LIBFPTR_PARAM_PICTURE_NUMBER, 1);
fptr.queryData();
long width = fptr.getParamInt(IFptr.LIBFPTR_PARAM_WIDTH);
long height = fptr.getParamInt(IFptr.LIBFPTR_PARAM_HEIGHT);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_PICTURE_INFO];
[fptr setParam:LIBFPTR_PARAM_PICTURE_NUMBER, intParam:1];
[fptr queryData];
uint width = [fptr getParamInt:LIBFPTR_PARAM_WIDTH];
uint height = [fptr getParamInt:LIBFPTR_PARAM_HEIGHT];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_PICTURE_INFO);
fptr.setParam(Constants.LIBFPTR_PARAM_PICTURE_NUMBER, 1);
fptr.queryData();
uint width = fptr.getParamInt(Constants.LIBFPTR_PARAM_WIDTH);
uint height = fptr.getParamInt(Constants.LIBFPTR_PARAM_HEIGHT);
var
width: Longint;
height: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_PICTURE_INFO);
fptr.setParam(fptr.LIBFPTR_PARAM_PICTURE_NUMBER, 1);
fptr.queryData;
width := fptr.getParamInt(fptr.LIBFPTR_PARAM_WIDTH);
height := fptr.getParamInt(fptr.LIBFPTR_PARAM_HEIGHT);
end;
Для запроса параметров картинки из памяти ККТ необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_PICTURE_INFO и указать номер картинки в параметре LIBFPTR_PARAM_PICTURE_NUMBER.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_WIDTH | Ширина картинки, пикс. | int |
LIBFPTR_PARAM_HEIGHT | Высота картинки, пикс. | int |
Состояние кода защиты
Запрос состояния кода защиты
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_LICENSE_ACTIVATED);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_LICENSE_NUMBER, 4);
libfptr_query_data(fptr);
bool entered = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_LICENSE_ENTERED) != 0);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_LICENSE_ACTIVATED)
fptr.setParam(IFptr.LIBFPTR_PARAM_LICENSE_NUMBER, 4)
fptr.queryData()
entered = fptr.getParamBool(IFptr.LIBFPTR_PARAM_LICENSE_ENTERED)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_LICENSE_ACTIVATED);
fptr.setParam(IFptr.LIBFPTR_PARAM_LICENSE_NUMBER, 4);
fptr.queryData();
boolean entered = fptr.getParamBool(IFptr.LIBFPTR_PARAM_LICENSE_ENTERED);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_LICENSE_ACTIVATED);
fptr.setParam(IFptr.LIBFPTR_PARAM_LICENSE_NUMBER, 4);
fptr.queryData();
boolean entered = fptr.getParamBool(IFptr.LIBFPTR_PARAM_LICENSE_ENTERED);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_LICENSE_ACTIVATED];
[fptr setParam:LIBFPTR_PARAM_LICENSE_NUMBER, intParam:4];
[fptr queryData];
bool entered = [fptr getParamBool:LIBFPTR_PARAM_LICENSE_ENTERED];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_LICENSE_ACTIVATED);
fptr.setParam(Constants.LIBFPTR_PARAM_LICENSE_NUMBER, 4);
fptr.queryData();
bool entered = fptr.getParamBool(Constants.LIBFPTR_PARAM_LICENSE_ENTERED);
var
entered: LongBool;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_LICENSE_ACTIVATED);
fptr.setParam(fptr.LIBFPTR_PARAM_LICENSE_NUMBER, 4);
fptr.queryData;
entered := fptr.getParamBool(fptr.LIBFPTR_PARAM_LICENSE_ENTERED);
end;
Для запроса состояни кода защиты необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равнымLIBFPTR_DT_LICENSE_ACTIVATED и указать номер кода защиты в параметре LIBFPTR_PARAM_LICENSE_NUMBER. После выполнения метода параметр LIBFPTR_PARAM_LICENSE_ENTERED примет значение true, если код защиты введен, и false, если нет.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_LICENSE_ENTERED | Лицензия введена | bool |
Счетчики регистраций
Запрос суммы регистраций в чеках прихода (продажи)
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_REGISTRATIONS_SUM);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_RECEIPT_TYPE, LIBFPTR_RT_SELL);
libfptr_query_data(fptr);
double sum = libfptr_get_param_double(fptr, LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_REGISTRATIONS_SUM)
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL)
fptr.queryData()
sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_REGISTRATIONS_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.queryData();
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_REGISTRATIONS_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.queryData();
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_REGISTRATIONS_SUM];
[fptr setParam:LIBFPTR_PARAM_RECEIPT_TYPE, intParam:LIBFPTR_RT_SELL];
[fptr queryData];
double sum = [fptr getParamDouble:LIBFPTR_PARAM_SUM];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_REGISTRATIONS_SUM);
fptr.setParam(Constants.LIBFPTR_PARAM_RECEIPT_TYPE, Constants.LIBFPTR_RT_SELL);
fptr.queryData();
double sum = fptr.getParamDouble(Constants.LIBFPTR_PARAM_SUM);
var
sum: Double;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_REGISTRATIONS_SUM);
fptr.setParam(fptr.LIBFPTR_PARAM_RECEIPT_TYPE, fptr.LIBFPTR_RT_SELL);
fptr.queryData;
sum := fptr.getParamDouble(fptr.LIBFPTR_PARAM_SUM);
end;
Запрос количества регистраций в чеках расхода (покупки)
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_REGISTRATIONS_COUNT);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_RECEIPT_TYPE, LIBFPTR_RT_BUY);
libfptr_query_data(fptr);
int count = libfptr_get_param_int(fptr, LIBFPTR_PARAM_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_REGISTRATIONS_COUNT)
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_BUY)
fptr.queryData()
count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_REGISTRATIONS_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_BUY);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_REGISTRATIONS_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_BUY);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_REGISTRATIONS_COUNT];
[fptr setParam:LIBFPTR_PARAM_RECEIPT_TYPE, intParam:LIBFPTR_RT_BUY];
[fptr queryData];
uint count = [fptr getParamInt:LIBFPTR_PARAM_COUNT];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_REGISTRATIONS_COUNT);
fptr.setParam(Constants.LIBFPTR_PARAM_RECEIPT_TYPE, Constants.LIBFPTR_RT_BUY);
fptr.queryData();
uint count = fptr.getParamInt(Constants.LIBFPTR_PARAM_COUNT);
var
count: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_REGISTRATIONS_COUNT);
fptr.setParam(fptr.LIBFPTR_PARAM_RECEIPT_TYPE, fptr.LIBFPTR_RT_BUY);
fptr.queryData;
count := fptr.getParamInt(fptr.LIBFPTR_PARAM_COUNT);
end;
Для запроса суммы регистраций необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_REGISTRATIONS_SUM и указать тип чека в параметре LIBFPTR_PARAM_RECEIPT_TYPE.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_SUM | Сумма регистраций | double |
Для запроса количества регистраций необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_REGISTRATIONS_COUNT и указать тип чека в параметре LIBFPTR_PARAM_RECEIPT_TYPE.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_COUNT | Количество регистраций | int |
Тип чека (LIBFPTR_PARAM_RECEIPT_TYPE) может принимать следующие значения:
- LIBFPTR_RT_SELL - чек прихода (продажи)
- LIBFPTR_RT_SELL_RETURN - чек возврата прихода (продажи)
- LIBFPTR_RT_SELL_CORRECTION - чек коррекции прихода (продажи)
- LIBFPTR_RT_BUY - чек расхода (покупки)
- LIBFPTR_RT_BUY_RETURN - чек возврата расхода (покупки)
- LIBFPTR_RT_BUY_CORRECTION - чек коррекции расхода (покупки)
Счетчики оплат
Запрос суммы наличных платежей в чеках прихода (продажи)
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_PAYMENT_SUM);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_PAYMENT_TYPE, LIBFPTR_PT_CASH);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_RECEIPT_TYPE, LIBFPTR_RT_SELL);
libfptr_query_data(fptr);
double sum = libfptr_get_param_double(fptr, LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_PAYMENT_SUM)
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_TYPE, IFptr.LIBFPTR_PT_CASH)
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL)
fptr.queryData()
sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_PAYMENT_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_TYPE, IFptr.LIBFPTR_PT_CASH);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.queryData();
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_PAYMENT_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_TYPE, IFptr.LIBFPTR_PT_CASH);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.queryData();
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_PAYMENT_SUM];
[fptr setParam:LIBFPTR_PARAM_PAYMENT_TYPE, intParam:LIBFPTR_PT_CASH];
[fptr setParam:LIBFPTR_PARAM_RECEIPT_TYPE, intParam:LIBFPTR_RT_SELL];
[fptr queryData];
double sum = [fptr getParamDouble:LIBFPTR_PARAM_SUM];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_PAYMENT_SUM);
fptr.setParam(Constants.LIBFPTR_PARAM_PAYMENT_TYPE, Constants.LIBFPTR_PT_CASH);
fptr.setParam(Constants.LIBFPTR_PARAM_RECEIPT_TYPE, Constants.LIBFPTR_RT_SELL);
fptr.queryData();
double sum = fptr.getParamDouble(Constants.LIBFPTR_PARAM_SUM);
var
sum: Double;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_PAYMENT_SUM);
fptr.setParam(fptr.LIBFPTR_PARAM_PAYMENT_TYPE, fptr.LIBFPTR_PT_CASH);
fptr.setParam(fptr.LIBFPTR_PARAM_RECEIPT_TYPE, fptr.LIBFPTR_RT_SELL);
fptr.queryData;
sum := fptr.getParamDouble(fptr.LIBFPTR_PARAM_SUM);
end;
Для запроса суммы платежей необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_PAYMENT_SUM и указать тип чека в параметре LIBFPTR_PARAM_RECEIPT_TYPE и способ расчета в параметре LIBFPTR_PARAM_PAYMENT_TYPE.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_SUM | Сумма оплат | double |
Тип чека (LIBFPTR_PARAM_RECEIPT_TYPE) может принимать следующие значения:
- LIBFPTR_RT_SELL - чек прихода (продажи)
- LIBFPTR_RT_SELL_RETURN - чек возврата прихода (продажи)
- LIBFPTR_RT_SELL_CORRECTION - чек коррекции прихода (продажи)
- LIBFPTR_RT_BUY - чек расхода (покупки)
- LIBFPTR_RT_BUY_RETURN - чек возврата расхода (покупки)
- LIBFPTR_RT_BUY_CORRECTION - чек коррекции расхода (покупки)
Способ расчета (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
Счетчики внесений и выплат
Запрос суммы внесений
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_CASHIN_SUM);
libfptr_query_data(fptr);
double sum = libfptr_get_param_double(fptr, LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CASHIN_SUM)
fptr.queryData()
sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CASHIN_SUM);
fptr.queryData();
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CASHIN_SUM);
fptr.queryData();
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_CASHIN_SUM];
[fptr queryData];
double sum = [fptr getParamDouble:LIBFPTR_PARAM_SUM];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_CASHIN_SUM);
fptr.queryData();
double sum = fptr.getParamDouble(Constants.LIBFPTR_PARAM_SUM);
var
sum: Double;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_CASHIN_SUM);
fptr.queryData;
sum := fptr.getParamDouble(fptr.LIBFPTR_PARAM_SUM);
end;
Запрос суммы выплат
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_CASHOUT_SUM);
libfptr_query_data(fptr);
double sum = libfptr_get_param_double(fptr, LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CASHOUT_SUM)
fptr.queryData()
sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CASHOUT_SUM);
fptr.queryData();
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CASHOUT_SUM);
fptr.queryData();
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_CASHOUT_SUM];
[fptr queryData];
double sum = [fptr getParamDouble:LIBFPTR_PARAM_SUM];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_CASHOUT_SUM);
fptr.queryData();
double sum = fptr.getParamDouble(Constants.LIBFPTR_PARAM_SUM);
var
sum: Double;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_CASHOUT_SUM);
fptr.queryData;
sum := fptr.getParamDouble(fptr.LIBFPTR_PARAM_SUM);
end;
Запрос количества внесений
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_CASHIN_COUNT);
libfptr_query_data(fptr);
int count = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DOCUMENTS_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CASHIN_COUNT)
fptr.queryData()
count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CASHIN_COUNT);
fptr.queryData;
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CASHIN_COUNT);
fptr.queryData;
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_CASHIN_COUNT];
[fptr queryData];
uint count = [fptr getParamInt:LIBFPTR_PARAM_DOCUMENTS_COUNT];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_CASHIN_COUNT);
fptr.queryData();
uint count = fptr.getParamInt(Constants.LIBFPTR_PARAM_DOCUMENTS_COUNT);
var
count: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_CASHIN_COUNT);
fptr.queryData;
count := fptr.getParamInt(fptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
end;
Запрос количества выплат
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_CASHOUT_COUNT);
libfptr_query_data(fptr);
int count = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DOCUMENTS_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CASHOUT_COUNT)
fptr.queryData()
count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CASHOUT_COUNT);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CASHOUT_COUNT);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_CASHOUT_COUNT];
[fptr queryData];
uint count = [fptr getParamInt:LIBFPTR_PARAM_DOCUMENTS_COUNT];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_CASHOUT_COUNT);
fptr.queryData();
uint count = fptr.getParamInt(Constants.LIBFPTR_PARAM_DOCUMENTS_COUNT);
var
count: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_CASHOUT_COUNT);
fptr.queryData;
count := fptr.getParamInt(fptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
end;
Для запроса суммы внесений или выплат необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_CASHIN_SUM (или LIBFPTR_DT_CASHOUT_SUM соответственно).
Результатом этих запросов будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_SUM | Сумма внесений/выплат | double |
Для запроса количества внесений или выплат необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_CASHIN_COUNT (или LIBFPTR_DT_CASHOUT_COUNT соответственно).
Результатом этих запросов будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_DOCUMENTS_COUNT | Количество документов внесений/выплат | int |
Сумма выручки
Запрос суммы выручки
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_REVENUE);
libfptr_query_data(fptr);
double revenue = libfptr_get_param_double(fptr, LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_REVENUE)
fptr.queryData()
revenue = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_REVENUE);
fptr.queryData();
double revenue = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_REVENUE);
fptr.queryData();
double revenue = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_REVENUE];
[fptr queryData];
double revenue = [fptr getParamDouble:LIBFPTR_PARAM_SUM];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_REVENUE);
fptr.queryData();
double revenue = fptr.getParamDouble(Constants.LIBFPTR_PARAM_SUM);
var
revenue: Double;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_REVENUE);
fptr.queryData;
revenue := fptr.getParamDouble(fptr.LIBFPTR_PARAM_SUM);
end;
Для запроса суммы выручки необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_REVENUE.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_SUM | Сумма выручки | double |
Текущие дата и время ККТ
Запрос текущих даты и времени ККТ
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_DATE_TIME);
libfptr_query_data(fptr);
int year, month, day, hour, minute, second;
ibfptr_get_param_datetime(fptr, LIBFPTR_PARAM_DATE_TIME, &year, &month, &day, &hour, &minute, &second);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_DATE_TIME)
fptr.queryData()
# Тип переменной datetime - datetime.datetime
dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_DATE_TIME);
fptr.queryData();
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_DATE_TIME);
fptr.queryData();
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_DATE_TIME];
[fptr queryData];
NSDate *dateTime = [fptr getParamDateTime:LIBFPTR_PARAM_DATE_TIME];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_DATE_TIME);
fptr.queryData();
DateTime dateTime = fptr.getParamDateTime(Constants.LIBFPTR_PARAM_DATE_TIME);
var
dateTime: TDateTime;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_DATE_TIME);
fptr.queryData;
dateTime := fptr.getParamDateTime(fptr.LIBFPTR_PARAM_DATE_TIME);
end;
Для запроса текущих даты и времени в ККТ необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_DATE_TIME.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_DATE_TIME | Текущие дата и время в ККТ | datetime |
Состояние смены
Запрос состояния смены
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_SHIFT_STATE);
libfptr_query_data(fptr);
int state = libfptr_get_param_int(fptr, LIBFPTR_PARAM_SHIFT_STATE);
int number = libfptr_get_param_int(fptr, LIBFPTR_PARAM_SHIFT_NUMBER);
int year, month, day, hour, minute, second;
libfptr_get_param_datetime(fptr, LIBFPTR_PARAM_DATE_TIME, &year, &month, &day, &hour, &minute, &second);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_SHIFT_STATE)
fptr.queryData()
state = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SHIFT_STATE)
number = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SHIFT_NUMBER)
# Тип переменной datetime - datetime.datetime
dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_SHIFT_STATE);
fptr.queryData();
long state = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SHIFT_STATE);
long number = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SHIFT_NUMBER);
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_SHIFT_STATE);
fptr.queryData();
long state = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SHIFT_STATE);
long number = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SHIFT_NUMBER);
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_SHIFT_STATE];
[fptr queryData];
uint state = [fptr getParamInt:LIBFPTR_PARAM_SHIFT_STATE];
uint number = [fptr getParamInt:LIBFPTR_PARAM_SHIFT_NUMBER];
NSDate *dateTime = [fptr getParamDateTime:LIBFPTR_PARAM_DATE_TIME];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_SHIFT_STATE);
fptr.queryData();
uint state = fptr.getParamInt(Constants.LIBFPTR_PARAM_SHIFT_STATE);
uint number = fptr.getParamInt(Constants.LIBFPTR_PARAM_SHIFT_NUMBER);
DateTime dateTime = fptr.getParamDateTime(Constants.LIBFPTR_PARAM_DATE_TIME);
var
state: Longint;
number: Longint;
dateTime: TDateTime;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_SHIFT_STATE);
fptr.queryData;
state := fptr.getParamInt(fptr.LIBFPTR_PARAM_SHIFT_STATE);
number := fptr.getParamInt(fptr.LIBFPTR_PARAM_SHIFT_NUMBER);
dateTime := fptr.getParamDateTime(fptr.LIBFPTR_PARAM_DATE_TIME);
end;
Для запроса состояния смены необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_SHIFT_STATE.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_SHIFT_STATE | Состояние смены | int |
LIBFPTR_PARAM_SHIFT_NUMBER | Номер смены | int |
LIBFPTR_PARAM_DATE_TIME | Дата и время истечения текущей смены | datetime |
Состояние смены (LIBFPTR_PARAM_SHIFT_STATE) может принимать следующие значения:
- LIBFPTR_SS_CLOSED - смена закрыта
- LIBFPTR_SS_OPENED - смена открыта
- LIBFPTR_SS_EXPIRED - смена истекла (продолжительность смены больше 24 часов)
Значение параметра LIBFPTR_PARAM_SHIFT_NUMBER зависит от состояния смены. Если смена закрыта, то его значением будет номер последней закрытой смены. Если смена открыта или истекла, то его значением будет номер текущей смены.
Параметр LIBFPTR_PARAM_DATE_TIME имеет смысл только при открытой или истекшей смене.
Состояние чека
Запрос состояния чека
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_RECEIPT_STATE);
libfptr_query_data(fptr);
int type = libfptr_get_param_int(fptr, LIBFPTR_PARAM_RECEIPT_TYPE);
int receiptNumber = libfptr_get_param_int(fptr, LIBFPTR_PARAM_RECEIPT_NUMBER);
int documentNumber = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DOCUMENT_NUMBER);
int sum = libfptr_get_param_double(fptr, LIBFPTR_PARAM_RECEIPT_SUM);
int remainder = libfptr_get_param_double(fptr, LIBFPTR_PARAM_REMAINDER);
int change = libfptr_get_param_double(fptr, LIBFPTR_PARAM_CHANGE);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_RECEIPT_STATE)
fptr.queryData()
type = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE)
receiptNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_NUMBER)
documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER)
sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_RECEIPT_SUM)
remainder = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_REMAINDER)
change = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_CHANGE)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_RECEIPT_STATE);
fptr.queryData();
long type = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE);
long receiptNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_NUMBER);
long documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_RECEIPT_SUM);
double remainder = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_REMAINDER);
double change = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_CHANGE);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_RECEIPT_STATE);
fptr.queryData();
long type = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE);
long receiptNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_NUMBER);
long documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_RECEIPT_SUM);
double remainder = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_REMAINDER);
double change = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_CHANGE);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_RECEIPT_STATE];
[fptr queryData];
uint type = [fptr getParamInt:LIBFPTR_PARAM_RECEIPT_TYPE];
uint receiptNumber = [fptr getParamInt:LIBFPTR_PARAM_RECEIPT_NUMBER];
uint documentNumber = [fptr getParamInt:LIBFPTR_PARAM_DOCUMENT_NUMBER];
double documentNumber = [fptr getParamDouble:LIBFPTR_PARAM_RECEIPT_SUM];
double remainder = [fptr getParamDouble:LIBFPTR_PARAM_REMAINDER];
double change = [fptr getParamDouble:LIBFPTR_PARAM_CHANGE];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_RECEIPT_STATE);
fptr.queryData();
uint type = fptr.getParamInt(Constants.LIBFPTR_PARAM_RECEIPT_TYPE);
uint receiptNumber = fptr.getParamInt(Constants.LIBFPTR_PARAM_RECEIPT_NUMBER);
uint documentNumber = fptr.getParamInt(Constants.LIBFPTR_PARAM_DOCUMENT_NUMBER);
double sum = fptr.getParamDouble(Constants.LIBFPTR_PARAM_RECEIPT_SUM);
double remainder = fptr.getParamDouble(Constants.LIBFPTR_PARAM_REMAINDER);
double change = fptr.getParamDouble(Constants.LIBFPTR_PARAM_CHANGE);
var
receiptType: Longint;
receiptNumber: Longint;
documentNumber: Longint;
sum: Double;
remainder: Double;
change: Double;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_RECEIPT_STATE);
fptr.queryData;
receiptType := fptr.getParamInt(fptr.LIBFPTR_PARAM_RECEIPT_TYPE);
receiptNumber := fptr.getParamInt(fptr.LIBFPTR_PARAM_RECEIPT_NUMBER);
documentNumber := fptr.getParamInt(fptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
sum := fptr.getParamDouble(fptr.LIBFPTR_PARAM_RECEIPT_SUM);
remainder := fptr.getParamDouble(fptr.LIBFPTR_PARAM_REMAINDER);
change := fptr.getParamDouble(fptr.LIBFPTR_PARAM_CHANGE);
end;
Для запроса состояния чека необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_RECEIPT_STATE.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_RECEIPT_TYPE | Тип чека | int |
LIBFPTR_PARAM_RECEIPT_NUMBER | Номер чека | int |
LIBFPTR_PARAM_DOCUMENT_NUMBER | Номер документа | int |
LIBFPTR_PARAM_RECEIPT_SUM | Текущая сумма чека | double |
LIBFPTR_PARAM_REMAINDER | Неоплаченный остаток | double |
LIBFPTR_PARAM_CHANGE | Сдача по чеку | double |
Тип чека (LIBFPTR_PARAM_RECEIPT_TYPE) может принимать следующие значения:
- LIBFPTR_RT_CLOSED - чек закрыт
- LIBFPTR_RT_SELL - чек прихода (продажи)
- LIBFPTR_RT_SELL_RETURN - чек возврата прихода (продажи)
- LIBFPTR_RT_SELL_CORRECTION - чек коррекции прихода (продажи)
- LIBFPTR_RT_BUY - чек расхода (покупки)
- LIBFPTR_RT_BUY_RETURN - чек возврата расхода (покупки)
- LIBFPTR_RT_BUY_CORRECTION - чек коррекции расхода (покупки)
Значения счетчиков LIBFPTR_PARAM_RECEIPT_NUMBER и LIBFPTR_PARAM_DOCUMENT_NUMBER не относятся к фискальному накопителю и содержат значения внутренних счетчиков ККТ. Данные счетчики могут увеличиваться вместе с печатью нефискальных и служебных документов. Для получения номеров фискальных документов нужно использовать метод fnQueryData() с типом запроса LIBFPTR_PARAM_FN_DATA_TYPE равным LIBFPTR_FNDT_LAST_DOCUMENT.
Значения параметров LIBFPTR_PARAM_RECEIPT_SUM, LIBFPTR_PARAM_REMAINDER и LIBFPTR_PARAM_CHANGE актуальны только при открытом чеке.
Заводской номер
Запрос заводского номера
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_SERIAL_NUMBER);
libfptr_query_data(fptr);
std::vector<wchar_t> str(1024);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_SERIAL_NUMBER, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_SERIAL_NUMBER, &str[0], str.size());
}
std::wstring serialNumber = std::wstring(&str[0]);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_SERIAL_NUMBER)
fptr.queryData()
serialNumber = fptr.getParamString(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_SERIAL_NUMBER);
fptr.queryData();
String serialNumber = fptr.getParamString(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_SERIAL_NUMBER);
fptr.queryData();
String serialNumber = fptr.getParamString(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_SERIAL_NUMBER];
[fptr queryData];
NSString *serialNumber = [fptr getParamString:LIBFPTR_PARAM_SERIAL_NUMBER];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_SERIAL_NUMBER);
fptr.queryData();
String serialNumber = fptr.getParamString(Constants.LIBFPTR_PARAM_SERIAL_NUMBER);
var
serialNumber: String;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_SERIAL_NUMBER);
fptr.queryData;
serialNumber = fptr.getParamString(fptr.LIBFPTR_PARAM_SERIAL_NUMBER);
end;
Для запроса заводского номера ККТ необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_SERIAL_NUMBER.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_SERIAL_NUMBER | Заводской номер | string |
Информация о модели ККТ
Запрос информации о модели ККТ
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_MODEL_INFO);
libfptr_query_data(fptr);
int model = libfptr_get_param_int(fptr, LIBFPTR_PARAM_MODEL);
std::vector<wchar_t> str(1024);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_MODEL_NAME, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_MODEL_NAME, &str[0], str.size());
}
std::wstring modelName = std::wstring(&str[0]);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_UNIT_VERSION, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_UNIT_VERSION, &str[0], str.size());
}
std::wstring firmwareVersion = std::wstring(&str[0]);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_MODEL_INFO)
fptr.queryData()
model = fptr.getParamInt(IFptr.LIBFPTR_PARAM_MODEL)
modelName = fptr.getParamString(IFptr.LIBFPTR_PARAM_MODEL_NAME)
firmwareVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_MODEL_INFO);
fptr.queryData();
long model = fptr.getParamInt(IFptr.LIBFPTR_PARAM_MODEL);
String modelName = fptr.getParamString(IFptr.LIBFPTR_PARAM_MODEL_NAME);
String firmwareVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_MODEL_INFO);
fptr.queryData();
long model = fptr.getParamInt(IFptr.LIBFPTR_PARAM_MODEL);
String modelName = fptr.getParamString(IFptr.LIBFPTR_PARAM_MODEL_NAME);
String firmwareVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_UNIT_VERSION);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_MODEL_INFO];
[fptr queryData];
uint model = [fptr getParamInt:LIBFPTR_PARAM_MODEL];
NSString *modelName = [fptr getParamString:LIBFPTR_PARAM_MODEL_NAME];
NSString *firmwareVersion = [fptr getParamString:LIBFPTR_PARAM_UNIT_VERSION];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_MODEL_INFO);
fptr.queryData();
uint model = fptr.getParamInt(Constants.LIBFPTR_PARAM_MODEL);
String modelName = fptr.getParamString(Constants.LIBFPTR_PARAM_MODEL_NAME);
String firmwareVersion = fptr.getParamString(Constants.LIBFPTR_PARAM_UNIT_VERSION);
var
model: Longint;
modelName: String;
firmwareVersion: String;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_MODEL_INFO);
fptr.queryData;
model := fptr.getParamInt(fptr.LIBFPTR_PARAM_MODEL);
String modelName := fptr.getParamString(fptr.LIBFPTR_PARAM_MODEL_NAME);
String firmwareVersion := fptr.getParamString(fptr.LIBFPTR_PARAM_UNIT_VERSION);
end;
Для запроса информации о модели ККТ необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_MODEL_INFO.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_MODEL | Номер модели ККТ | int |
LIBFPTR_PARAM_MODEL_NAME | Наименование ККТ | string |
LIBFPTR_PARAM_UNIT_VERSION | Версия ПО ККТ | string |
Возможные значения для номера модели (LIBFPTR_PARAM_MODEL) представлены в разделе Список настроек.
Ширина чековой ленты
Запрос ширины чековой ленты
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_RECEIPT_LINE_LENGTH);
libfptr_query_data(fptr);
int charLineLength = libfptr_get_param_int(fptr, LIBFPTR_PARAM_RECEIPT_LINE_LENGTH);
int pixLineLength = libfptr_get_param_int(fptr, LIBFPTR_PARAM_RECEIPT_LINE_LENGTH_PIX);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_RECEIPT_LINE_LENGTH)
fptr.queryData()
charLineLength = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH)
pixLineLength = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH_PIX)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_RECEIPT_LINE_LENGTH);
fptr.queryData();
long charLineLength = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH);
long pixLineLength = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH_PIX);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_RECEIPT_LINE_LENGTH);
fptr.queryData();
long charLineLength = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH);
long pixLineLength = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH_PIX);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_RECEIPT_LINE_LENGTH];
[fptr queryData];
uint charLineLength = [fptr getParamInt:LIBFPTR_PARAM_RECEIPT_LINE_LENGTH];
uint pixLineLength = [fptr getParamInt:LIBFPTR_PARAM_RECEIPT_LINE_LENGTH_PIX];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_RECEIPT_LINE_LENGTH);
fptr.queryData();
uint charLineLength = fptr.getParamInt(Constants.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH);
uint pixLineLength = fptr.getParamInt(Constants.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH_PIX);
var
charLineLength: Longint;
pixLineLength: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_RECEIPT_LINE_LENGTH);
fptr.queryData;
charLineLength := fptr.getParamInt(fptr.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH);
pixLineLength := fptr.getParamInt(fptr.LIBFPTR_PARAM_RECEIPT_LINE_LENGTH_PIX);
end;
Для запроса ширины чековой ленты необходимо вызвать метод queryData()** с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_RECEIPT_LINE_LENGTH.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_RECEIPT_LINE_LENGTH | Ширина чековой ленты, симв. | int |
LIBFPTR_PARAM_RECEIPT_LINE_LENGTH_PIX | Ширина чековой ленты, пикс. | int |
Ресурс отрезчика
Запрос постоянного ресурса отрезчика
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_CUTTER_RESOURCE);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_COUNTER_TYPE, LIBFPTR_CT_ROLLUP);
libfptr_query_data(fptr);
int count = libfptr_get_param_int(fptr, LIBFPTR_PARAM_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CUTTER_RESOURCE)
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_ROLLUP)
fptr.queryData()
count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CUTTER_RESOURCE);
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_ROLLUP);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CUTTER_RESOURCE);
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_ROLLUP);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_CUTTER_RESOURCE];
[fptr setParam:LIBFPTR_PARAM_COUNTER_TYPE, intParam:LIBFPTR_CT_ROLLUP];
[fptr queryData];
uint count = [fptr getParamInt:LIBFPTR_PARAM_COUNT];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_CUTTER_RESOURCE);
fptr.setParam(Constants.LIBFPTR_PARAM_COUNTER_TYPE, Constants.LIBFPTR_CT_ROLLUP);
fptr.queryData();
uint count = fptr.getParamInt(Constants.LIBFPTR_PARAM_COUNT);
var
count: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_CUTTER_RESOURCE);
fptr.setParam(fptr.LIBFPTR_PARAM_COUNTER_TYPE, fptr.LIBFPTR_CT_ROLLUP);
fptr.queryData;
count := fptr.getParamInt(fptr.LIBFPTR_PARAM_COUNT);
end;
Запрос сбрасываемого ресурса отрезчика
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_CUTTER_RESOURCE);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_COUNTER_TYPE, LIBFPTR_CT_RESETTABLE);
libfptr_query_data(fptr);
int count = libfptr_get_param_int(fptr, LIBFPTR_PARAM_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CUTTER_RESOURCE)
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_RESETTABLE)
fptr.queryData()
count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CUTTER_RESOURCE);
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_RESETTABLE);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CUTTER_RESOURCE);
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_RESETTABLE);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_CUTTER_RESOURCE];
[fptr setParam:LIBFPTR_PARAM_COUNTER_TYPE, intParam:LIBFPTR_CT_RESETTABLE];
[fptr queryData];
uint count = [fptr getParamInt:LIBFPTR_PARAM_COUNT];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_CUTTER_RESOURCE);
fptr.setParam(Constants.LIBFPTR_PARAM_COUNTER_TYPE, Constants.LIBFPTR_CT_RESETTABLE);
fptr.queryData();
uint count = fptr.getParamInt(Constants.LIBFPTR_PARAM_COUNT);
var
count: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_CUTTER_RESOURCE);
fptr.setParam(fptr.LIBFPTR_PARAM_COUNTER_TYPE, fptr.LIBFPTR_CT_RESETTABLE);
fptr.queryData;
count := fptr.getParamInt(fptr.LIBFPTR_PARAM_COUNT);
end;
Для запроса ресурса отрезчика необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_CUTTER_RESOURCE и указать тип счетчика LIBFPTR_PARAM_COUNTER_TYPE.
Тип счетчика (LIBFPTR_PARAM_COUNTER_TYPE) может принимать следующие значения:
- LIBFPTR_CT_ROLLUP - постоянный
- LIBFPTR_CT_RESETTABLE - сбрасываемый при тех.обнулении
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_COUNT | Количество отрезов | int |
Ресурс шагового двигателя
Запрос постоянного ресурса ШД для всех шагов
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_STEP_RESOURCE);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_COUNTER_TYPE, LIBFPTR_CT_ROLLUP);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_STEP_COUNTER_TYPE, LIBFPTR_SCT_OVERALL);
libfptr_query_data(fptr);
int count = libfptr_get_param_int(fptr, LIBFPTR_PARAM_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_STEP_RESOURCE)
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_ROLLUP)
fptr.setParam(IFptr.LIBFPTR_PARAM_STEP_COUNTER_TYPE, IFptr.LIBFPTR_SCT_OVERALL)
fptr.queryData()
count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_STEP_RESOURCE);
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_ROLLUP);
fptr.setParam(IFptr.LIBFPTR_PARAM_STEP_COUNTER_TYPE, IFptr.LIBFPTR_SCT_OVERALL);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_STEP_RESOURCE);
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_ROLLUP);
fptr.setParam(IFptr.LIBFPTR_PARAM_STEP_COUNTER_TYPE, IFptr.LIBFPTR_SCT_OVERALL);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_STEP_RESOURCE];
[fptr setParam:LIBFPTR_PARAM_COUNTER_TYPE, intParam:LIBFPTR_CT_ROLLUP];
[fptr setParam:LIBFPTR_PARAM_STEP_COUNTER_TYPE, intParam:LIBFPTR_SCT_OVERALL];
[fptr queryData];
uint count = [fptr getParamInt:LIBFPTR_PARAM_COUNT];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_STEP_RESOURCE);
fptr.setParam(Constants.LIBFPTR_PARAM_COUNTER_TYPE, Constants.LIBFPTR_CT_ROLLUP);
fptr.setParam(Constants.LIBFPTR_PARAM_STEP_COUNTER_TYPE, Constants.LIBFPTR_SCT_OVERALL);
fptr.queryData();
uint count = fptr.getParamInt(Constants.LIBFPTR_PARAM_COUNT);
var
count: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_STEP_RESOURCE);
fptr.setParam(fptr.LIBFPTR_PARAM_COUNTER_TYPE, fptr.LIBFPTR_CT_ROLLUP);
fptr.setParam(fptr.LIBFPTR_PARAM_STEP_COUNTER_TYPE, fptr.LIBFPTR_SCT_OVERALL);
fptr.queryData;
count := fptr.getParamInt(fptr.LIBFPTR_PARAM_COUNT);
end;
Запрос постоянного ресурса ШД для шагов вперед
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_STEP_RESOURCE);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_COUNTER_TYPE, LIBFPTR_CT_ROLLUP);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_STEP_COUNTER_TYPE, LIBFPTR_SCT_FORWARD);
libfptr_query_data(fptr);
int count = libfptr_get_param_int(fptr, LIBFPTR_PARAM_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_STEP_RESOURCE)
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_ROLLUP)
fptr.setParam(IFptr.LIBFPTR_PARAM_STEP_COUNTER_TYPE, IFptr.LIBFPTR_SCT_FORWARD)
fptr.queryData()
count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_STEP_RESOURCE);
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_ROLLUP);
fptr.setParam(IFptr.LIBFPTR_PARAM_STEP_COUNTER_TYPE, IFptr.LIBFPTR_SCT_FORWARD);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_STEP_RESOURCE);
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_ROLLUP);
fptr.setParam(IFptr.LIBFPTR_PARAM_STEP_COUNTER_TYPE, IFptr.LIBFPTR_SCT_FORWARD);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_STEP_RESOURCE];
[fptr setParam:LIBFPTR_PARAM_COUNTER_TYPE, intParam:LIBFPTR_CT_ROLLUP];
[fptr setParam:LIBFPTR_PARAM_STEP_COUNTER_TYPE, intParam:LIBFPTR_SCT_FORWARD];
[fptr queryData];
uint count = [fptr getParamInt:LIBFPTR_PARAM_COUNT];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_STEP_RESOURCE);
fptr.setParam(Constants.LIBFPTR_PARAM_COUNTER_TYPE, Constants.LIBFPTR_CT_ROLLUP);
fptr.setParam(Constants.LIBFPTR_PARAM_STEP_COUNTER_TYPE, Constants.LIBFPTR_SCT_FORWARD);
fptr.queryData();
uint count = fptr.getParamInt(Constants.LIBFPTR_PARAM_COUNT);
var
count: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_STEP_RESOURCE);
fptr.setParam(fptr.LIBFPTR_PARAM_COUNTER_TYPE, fptr.LIBFPTR_CT_ROLLUP);
fptr.setParam(fptr.LIBFPTR_PARAM_STEP_COUNTER_TYPE, fptr.LIBFPTR_SCT_FORWARD);
fptr.queryData;
count := fptr.getParamInt(fptr.LIBFPTR_PARAM_COUNT);
end;
Запрос сбрасываемого ресурса ШД для всех шагов
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_STEP_RESOURCE);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_COUNTER_TYPE, LIBFPTR_CT_RESETTABLE);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_STEP_COUNTER_TYPE, LIBFPTR_SCT_OVERALL);
libfptr_query_data(fptr);
int count = libfptr_get_param_int(fptr, LIBFPTR_PARAM_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_STEP_RESOURCE)
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_RESETTABLE)
fptr.setParam(IFptr.LIBFPTR_PARAM_STEP_COUNTER_TYPE, IFptr.LIBFPTR_SCT_OVERALL)
fptr.queryData()
count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_STEP_RESOURCE);
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_RESETTABLE);
fptr.setParam(IFptr.LIBFPTR_PARAM_STEP_COUNTER_TYPE, IFptr.LIBFPTR_SCT_OVERALL);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_STEP_RESOURCE);
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_RESETTABLE);
fptr.setParam(IFptr.LIBFPTR_PARAM_STEP_COUNTER_TYPE, IFptr.LIBFPTR_SCT_OVERALL);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_STEP_RESOURCE];
[fptr setParam:LIBFPTR_PARAM_COUNTER_TYPE, intParam:LIBFPTR_CT_RESETTABLE];
[fptr setParam:LIBFPTR_PARAM_STEP_COUNTER_TYPE, intParam:LIBFPTR_SCT_OVERALL];
[fptr queryData];
uint count = [fptr getParamInt:LIBFPTR_PARAM_COUNT];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_STEP_RESOURCE);
fptr.setParam(Constants.LIBFPTR_PARAM_COUNTER_TYPE, Constants.LIBFPTR_CT_RESETTABLE);
fptr.setParam(Constants.LIBFPTR_PARAM_STEP_COUNTER_TYPE, Constants.LIBFPTR_SCT_OVERALL);
fptr.queryData();
uint count = fptr.getParamInt(Constants.LIBFPTR_PARAM_COUNT);
var
count: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_STEP_RESOURCE);
fptr.setParam(fptr.LIBFPTR_PARAM_COUNTER_TYPE, fptr.LIBFPTR_CT_RESETTABLE);
fptr.setParam(fptr.LIBFPTR_PARAM_STEP_COUNTER_TYPE, fptr.LIBFPTR_SCT_OVERALL);
fptr.queryData;
count := fptr.getParamInt(fptr.LIBFPTR_PARAM_COUNT);
end;
Запрос сбрасываемого ресурса ШД для шагов вперед
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_STEP_RESOURCE);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_COUNTER_TYPE, LIBFPTR_CT_RESETTABLE);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_STEP_COUNTER_TYPE, LIBFPTR_SCT_FORWARD);
libfptr_query_data(fptr);
int count = libfptr_get_param_int(fptr, LIBFPTR_PARAM_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_STEP_RESOURCE)
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_RESETTABLE)
fptr.setParam(IFptr.LIBFPTR_PARAM_STEP_COUNTER_TYPE, IFptr.LIBFPTR_SCT_FORWARD)
fptr.queryData()
count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_STEP_RESOURCE);
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_RESETTABLE);
fptr.setParam(IFptr.LIBFPTR_PARAM_STEP_COUNTER_TYPE, IFptr.LIBFPTR_SCT_FORWARD);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_STEP_RESOURCE);
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_RESETTABLE);
fptr.setParam(IFptr.LIBFPTR_PARAM_STEP_COUNTER_TYPE, IFptr.LIBFPTR_SCT_FORWARD);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_STEP_RESOURCE];
[fptr setParam:LIBFPTR_PARAM_COUNTER_TYPE, intParam:LIBFPTR_CT_RESETTABLE];
[fptr setParam:LIBFPTR_PARAM_STEP_COUNTER_TYPE, intParam:LIBFPTR_SCT_FORWARD];
[fptr queryData];
uint count = [fptr getParamInt:LIBFPTR_PARAM_COUNT];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_STEP_RESOURCE);
fptr.setParam(Constants.LIBFPTR_PARAM_COUNTER_TYPE, Constants.LIBFPTR_CT_RESETTABLE);
fptr.setParam(Constants.LIBFPTR_PARAM_STEP_COUNTER_TYPE, Constants.LIBFPTR_SCT_FORWARD);
fptr.queryData();
uint count = fptr.getParamInt(Constants.LIBFPTR_PARAM_COUNT);
var
count: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_STEP_RESOURCE);
fptr.setParam(fptr.LIBFPTR_PARAM_COUNTER_TYPE, fptr.LIBFPTR_CT_RESETTABLE);
fptr.setParam(fptr.LIBFPTR_PARAM_STEP_COUNTER_TYPE, fptr.LIBFPTR_SCT_FORWARD);
fptr.queryData;
count := fptr.getParamInt(fptr.LIBFPTR_PARAM_COUNT);
end;
Для запроса ресурса шагового двигателя необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_STEP_RESOURCE и указать тип счетчика LIBFPTR_PARAM_COUNTER_TYPE и тип счетчика шагов LIBFPTR_PARAM_STEP_COUNTER_TYPE.
Тип счетчика (LIBFPTR_PARAM_COUNTER_TYPE) может принимать следующие значения:
- LIBFPTR_CT_ROLLUP - постоянный
- LIBFPTR_CT_RESETTABLE - сбрасываемый при тех.обнулении
Тип счетчика шагов (LIBFPTR_PARAM_STEP_COUNTER_TYPE) может принимать следующие значения:
- LIBFPTR_SCT_OVERALL - все шаги
- LIBFPTR_SCT_FORWARD - только шаги вперед
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_COUNT | Количество шагов | int |
Ресурс ТПГ
Запрос постоянного ресурса ТПГ
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_TERMAL_RESOURCE);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_COUNTER_TYPE, LIBFPTR_CT_ROLLUP);
libfptr_query_data(fptr);
int count = libfptr_get_param_int(fptr, LIBFPTR_PARAM_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_TERMAL_RESOURCE)
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_ROLLUP)
fptr.queryData()
count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_TERMAL_RESOURCE);
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_ROLLUP);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_TERMAL_RESOURCE);
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_ROLLUP);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_TERMAL_RESOURCE];
[fptr setParam:LIBFPTR_PARAM_COUNTER_TYPE, intParam:LIBFPTR_CT_ROLLUP];
[fptr queryData];
uint count = [fptr getParamInt:LIBFPTR_PARAM_COUNT];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_TERMAL_RESOURCE);
fptr.setParam(Constants.LIBFPTR_PARAM_COUNTER_TYPE, Constants.LIBFPTR_CT_ROLLUP);
fptr.queryData();
uint count = fptr.getParamInt(Constants.LIBFPTR_PARAM_COUNT);
var
count: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_TERMAL_RESOURCE);
fptr.setParam(fptr.LIBFPTR_PARAM_COUNTER_TYPE, fptr.LIBFPTR_CT_ROLLUP);
fptr.queryData;
count := fptr.getParamInt(fptr.LIBFPTR_PARAM_COUNT);
end;
Запрос сбрасываемого ресурса ТПГ
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_TERMAL_RESOURCE);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_COUNTER_TYPE, LIBFPTR_CT_RESETTABLE);
libfptr_query_data(fptr);
int count = libfptr_get_param_int(fptr, LIBFPTR_PARAM_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_TERMAL_RESOURCE)
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_RESETTABLE)
fptr.queryData()
count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_TERMAL_RESOURCE);
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_RESETTABLE);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_TERMAL_RESOURCE);
fptr.setParam(IFptr.LIBFPTR_PARAM_COUNTER_TYPE, IFptr.LIBFPTR_CT_RESETTABLE);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_TERMAL_RESOURCE];
[fptr setParam:LIBFPTR_PARAM_COUNTER_TYPE, intParam:LIBFPTR_CT_RESETTABLE];
[fptr queryData];
uint count = [fptr getParamInt:LIBFPTR_PARAM_COUNT];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_TERMAL_RESOURCE);
fptr.setParam(Constants.LIBFPTR_PARAM_COUNTER_TYPE, Constants.LIBFPTR_CT_RESETTABLE);
fptr.queryData();
uint count = fptr.getParamInt(Constants.LIBFPTR_PARAM_COUNT);
var
count: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_TERMAL_RESOURCE);
fptr.setParam(fptr.LIBFPTR_PARAM_COUNTER_TYPE, fptr.LIBFPTR_CT_RESETTABLE);
fptr.queryData;
count := fptr.getParamInt(fptr.LIBFPTR_PARAM_COUNT);
end;
Для запроса ресурса ТПГ необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_TERMAL_RESOURCE и указать тип счетчика LIBFPTR_PARAM_COUNTER_TYPE.
Тип счетчика (LIBFPTR_PARAM_COUNTER_TYPE) может принимать следующие значения:
- LIBFPTR_CT_ROLLUP - постоянный
- LIBFPTR_CT_RESETTABLE - сбрасываемый при тех.обнулении
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_COUNT | Количество циклов нагрева | int |
Сумма налога за смену
Запрос суммы налога НДС 18% за смену для чеков прихода
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_SHIFT_TAX_SUM);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_RECEIPT_TYPE, LIBFPTR_RT_SELL);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_TAX_TYPE, LIBFPTR_TAX_VAT18);
libfptr_query_data(fptr);
double sum = libfptr_get_param_double(fptr, LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_SHIFT_TAX_SUM)
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL)
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18)
fptr.queryData()
sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_SHIFT_TAX_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18);
fptr.queryData();
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_SHIFT_TAX_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18);
fptr.queryData();
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_SHIFT_TAX_SUM];
[fptr setParam:LIBFPTR_PARAM_RECEIPT_TYPE, intParam:LIBFPTR_RT_SELL];
[fptr setParam:LIBFPTR_PARAM_TAX_TYPE, intParam:LIBFPTR_TAX_VAT18];
[fptr queryData];
double sum = [fptr getParamDouble:LIBFPTR_PARAM_SUM];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_SHIFT_TAX_SUM);
fptr.setParam(Constants.LIBFPTR_PARAM_RECEIPT_TYPE, Constants.LIBFPTR_RT_SELL);
fptr.setParam(Constants.LIBFPTR_PARAM_TAX_TYPE, Constants.LIBFPTR_TAX_VAT18);
fptr.queryData();
double sum = fptr.getParamDouble(Constants.LIBFPTR_PARAM_SUM);
var
sum: Double;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_SHIFT_TAX_SUM);
fptr.setParam(fptr.LIBFPTR_PARAM_RECEIPT_TYPE, fptr.LIBFPTR_RT_SELL);
fptr.setParam(fptr.LIBFPTR_PARAM_TAX_TYPE, fptr.LIBFPTR_TAX_VAT18);
fptr.queryData;
sum := fptr.getParamDouble(fptr.LIBFPTR_PARAM_SUM);
end;
Для запроса суммы налога за смену необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_SHIFT_TAX_SUM и указать тип чека LIBFPTR_PARAM_RECEIPT_TYPE и тип налога LIBFPTR_PARAM_TAX_TYPE.
Тип чека (LIBFPTR_PARAM_RECEIPT_TYPE) может принимать следующие значения:
- LIBFPTR_RT_SELL - чек прихода (продажи)
- LIBFPTR_RT_SELL_RETURN - чек возврата прихода (продажи)
- LIBFPTR_RT_SELL_CORRECTION - чек коррекции прихода (продажи)
- LIBFPTR_RT_BUY - чек расхода (покупки)
- LIBFPTR_RT_BUY_RETURN - чек возврата расхода (покупки)
- LIBFPTR_RT_BUY_CORRECTION - чек коррекции расхода (покупки)
Тип налога (LIBFPTR_PARAM_TAX_TYPE) может принимать следующие значения:
- LIBFPTR_TAX_VAT18 - НДС 18%
- LIBFPTR_TAX_VAT10 - НДС 10%
- LIBFPTR_TAX_VAT118 - НДС расчитанный 18/118
- LIBFPTR_TAX_VAT110 - НДС расчитанный 10/110
- LIBFPTR_TAX_VAT0 - НДС 0%
- LIBFPTR_TAX_NO - не облагается
- LIBFPTR_TAX_VAT20 - НДС 20%
- LIBFPTR_TAX_VAT120 - НДС расчитанный 20/120
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_SUM | Сумма налога | double |
Сумма налога за чек
Запрос суммы налога НДС 18% последнего чека
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_RECEIPT_TAX_SUM);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_TAX_TYPE, LIBFPTR_TAX_VAT18);
libfptr_query_data(fptr);
double sum = libfptr_get_param_double(fptr, LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_RECEIPT_TAX_SUM)
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18)
fptr.queryData()
sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_RECEIPT_TAX_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18);
fptr.queryData();
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_RECEIPT_TAX_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18);
fptr.queryData();
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_RECEIPT_TAX_SUM];
[fptr setParam:LIBFPTR_PARAM_TAX_TYPE, intParam:LIBFPTR_TAX_VAT18];
[fptr queryData];
double sum = [fptr getParamDouble:LIBFPTR_PARAM_SUM];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_RECEIPT_TAX_SUM);
fptr.setParam(Constants.LIBFPTR_PARAM_TAX_TYPE, Constants.LIBFPTR_TAX_VAT18);
fptr.queryData();
double sum = fptr.getParamDouble(Constants.LIBFPTR_PARAM_SUM);
var
sum: Double;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_RECEIPT_TAX_SUM);
fptr.setParam(fptr.LIBFPTR_PARAM_TAX_TYPE, fptr.LIBFPTR_TAX_VAT18);
fptr.queryData;
sum := fptr.getParamDouble(fptr.LIBFPTR_PARAM_SUM);
end;
Для запроса суммы налога за чек необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_RECEIPT_TAX_SUM и указать тип налога LIBFPTR_PARAM_TAX_TYPE.
Тип налога (LIBFPTR_PARAM_TAX_TYPE) может принимать следующие значения:
- LIBFPTR_TAX_VAT18 - НДС 18%
- LIBFPTR_TAX_VAT10 - НДС 10%
- LIBFPTR_TAX_VAT118 - НДС расчитанный 18/118
- LIBFPTR_TAX_VAT110 - НДС расчитанный 10/110
- LIBFPTR_TAX_VAT0 - НДС 0%
- LIBFPTR_TAX_NO - не облагается
- LIBFPTR_TAX_VAT20 - НДС 20%
- LIBFPTR_TAX_VAT120 - НДС расчитанный 20/120
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_SUM | Сумма налога | double |
Необнуляемая сумма
Запрос необнуляемой суммы по чекам прихода
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_NON_NULLABLE_SUM);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_RECEIPT_TYPE, LIBFPTR_RT_SELL);
libfptr_query_data(fptr);
double sum = libfptr_get_param_double(fptr, LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_NON_NULLABLE_SUM)
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL)
fptr.queryData()
sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_NON_NULLABLE_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.queryData();
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_NON_NULLABLE_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.queryData();
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_NON_NULLABLE_SUM];
[fptr setParam:LIBFPTR_PARAM_RECEIPT_TYPE, intParam:LIBFPTR_RT_SELL];
[fptr queryData];
double sum = [fptr getParamDouble:LIBFPTR_PARAM_SUM];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_NON_NULLABLE_SUM);
fptr.setParam(Constants.LIBFPTR_PARAM_RECEIPT_TYPE, Constants.LIBFPTR_RT_SELL);
fptr.queryData();
double sum = fptr.getParamDouble(Constants.LIBFPTR_PARAM_SUM);
var
sum: Double;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_NON_NULLABLE_SUM);
fptr.setParam(fptr.LIBFPTR_PARAM_RECEIPT_TYPE, fptr.LIBFPTR_RT_SELL);
fptr.queryData;
sum := fptr.getParamDouble(fptr.LIBFPTR_PARAM_SUM);
end;
Запрос необнуляемой суммы по чекам прихода по оплатам наличными
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_NON_NULLABLE_SUM_BY_PAYMENTS);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_RECEIPT_TYPE, LIBFPTR_RT_SELL);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_PAYMENT_TYPE, LIBFPTR_PT_CASH);
libfptr_query_data(fptr);
double sum = libfptr_get_param_double(fptr, LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_NON_NULLABLE_SUM_BY_PAYMENTS)
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL)
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_TYPE, IFptr.LIBFPTR_PT_CASH)
fptr.queryData()
sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_NON_NULLABLE_SUM_BY_PAYMENTS);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_TYPE, IFptr.LIBFPTR_PT_CASH);
fptr.queryData();
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_NON_NULLABLE_SUM_BY_PAYMENTS);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_TYPE, IFptr.LIBFPTR_PT_CASH);
fptr.queryData();
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_NON_NULLABLE_SUM_BY_PAYMENTS];
[fptr setParam:LIBFPTR_PARAM_RECEIPT_TYPE, intParam:LIBFPTR_RT_SELL];
[fptr setParam:LIBFPTR_PARAM_PAYMENT_TYPE, intParam:LIBFPTR_PT_CASH];
[fptr queryData];
double sum = [fptr getParamDouble:LIBFPTR_PARAM_SUM];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_NON_NULLABLE_SUM_BY_PAYMENTS);
fptr.setParam(Constants.LIBFPTR_PARAM_RECEIPT_TYPE, Constants.LIBFPTR_RT_SELL);
fptr.setParam(Constants.LIBFPTR_PARAM_PAYMENT_TYPE, Constants.LIBFPTR_PT_CASH);
fptr.queryData();
double sum = fptr.getParamDouble(Constants.LIBFPTR_PARAM_SUM);
var
sum: Double;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_NON_NULLABLE_SUM_BY_PAYMENTS);
fptr.setParam(fptr.LIBFPTR_PARAM_RECEIPT_TYPE, fptr.LIBFPTR_RT_SELL);
fptr.setParam(fptr.LIBFPTR_PARAM_PAYMENT_TYPE, fptr.LIBFPTR_PT_CASH);
fptr.queryData;
sum := fptr.getParamDouble(fptr.LIBFPTR_PARAM_SUM);
end;
Для запроса необнуляемой суммы необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_NON_NULLABLE_SUM и указать тип чека LIBFPTR_PARAM_RECEIPT_TYPE.
Для запроса необнуляемой суммы по заданному типу оплаты необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_NON_NULLABLE_SUM_BY_PAYMENTS и указать тип чека LIBFPTR_PARAM_RECEIPT_TYPE.
Тип чека (LIBFPTR_PARAM_RECEIPT_TYPE) может принимать следующие значения:
- LIBFPTR_RT_SELL - чек прихода (продажи)
- LIBFPTR_RT_SELL_RETURN - чек возврата прихода (продажи)
- LIBFPTR_RT_SELL_CORRECTION - чек коррекции прихода (продажи)
- LIBFPTR_RT_BUY - чек расхода (покупки)
- LIBFPTR_RT_BUY_RETURN - чек возврата расхода (покупки)
- LIBFPTR_RT_BUY_CORRECTION - чек коррекции расхода (покупки)
Способ расчета (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
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_SUM | Сумма налога | double |
Количество чеков
Запрос количества чеков прихода
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_RECEIPT_COUNT);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_RECEIPT_TYPE, LIBFPTR_RT_SELL);
libfptr_query_data(fptr);
int count = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DOCUMENTS_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_RECEIPT_COUNT)
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL)
fptr.queryData()
count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_RECEIPT_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_RECEIPT_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_RECEIPT_COUNT];
[fptr setParam:LIBFPTR_PARAM_RECEIPT_TYPE, intParam:LIBFPTR_RT_SELL];
[fptr queryData];
uint count = [fptr getParamInt:LIBFPTR_PARAM_DOCUMENTS_COUNT];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_RECEIPT_COUNT);
fptr.setParam(Constants.LIBFPTR_PARAM_RECEIPT_TYPE, Constants.LIBFPTR_RT_SELL);
fptr.queryData();
uint count = fptr.getParamInt(Constants.LIBFPTR_PARAM_DOCUMENTS_COUNT);
var
count: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_RECEIPT_COUNT);
fptr.setParam(fptr.LIBFPTR_PARAM_RECEIPT_TYPE, fptr.LIBFPTR_RT_SELL);
fptr.queryData;
count := fptr.getParamInt(fptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
end;
Для запроса количества чеков необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_RECEIPT_COUNT и указать тип чека LIBFPTR_PARAM_RECEIPT_TYPE.
Тип чека (LIBFPTR_PARAM_RECEIPT_TYPE) может принимать следующие значения:
- LIBFPTR_RT_SELL - чек прихода (продажи)
- LIBFPTR_RT_SELL_RETURN - чек возврата прихода (продажи)
- LIBFPTR_RT_SELL_CORRECTION - чек коррекции прихода (продажи)
- LIBFPTR_RT_BUY - чек расхода (покупки)
- LIBFPTR_RT_BUY_RETURN - чек возврата расхода (покупки)
- LIBFPTR_RT_BUY_CORRECTION - чек коррекции расхода (покупки)
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_DOCUMENTS_COUNT | Количество чеков | int |
Количество отмененных чеков
Запрос количества отмененных чеков прихода
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_CANCELLATION_COUNT);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_RECEIPT_TYPE, LIBFPTR_RT_SELL);
libfptr_query_data(fptr);
int count = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DOCUMENTS_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CANCELLATION_COUNT)
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL)
fptr.queryData()
count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CANCELLATION_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CANCELLATION_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_CANCELLATION_COUNT];
[fptr setParam:LIBFPTR_PARAM_RECEIPT_TYPE, intParam:LIBFPTR_RT_SELL];
[fptr queryData];
uint count = [fptr getParamInt:LIBFPTR_PARAM_DOCUMENTS_COUNT];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_CANCELLATION_COUNT);
fptr.setParam(Constants.LIBFPTR_PARAM_RECEIPT_TYPE, Constants.LIBFPTR_RT_SELL);
fptr.queryData();
uint count = fptr.getParamInt(Constants.LIBFPTR_PARAM_DOCUMENTS_COUNT);
var
count: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_CANCELLATION_COUNT);
fptr.setParam(fptr.LIBFPTR_PARAM_RECEIPT_TYPE, fptr.LIBFPTR_RT_SELL);
fptr.queryData;
count := fptr.getParamInt(fptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
end;
Запрос общего количества отмененных чеков
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_CANCELLATION_COUNT_ALL);
libfptr_query_data(fptr);
int count = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DOCUMENTS_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CANCELLATION_COUNT_ALL)
fptr.queryData()
count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CANCELLATION_COUNT_ALL);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CANCELLATION_COUNT_ALL);
fptr.queryData();
long count = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_CANCELLATION_COUNT_ALL];
[fptr queryData];
uint count = [fptr getParamInt:LIBFPTR_PARAM_DOCUMENTS_COUNT];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_PARAM_DOCUMENTS_COUNT
fptr.queryData();
uint count = fptr.getParamInt(Constants.LIBFPTR_PARAM_DOCUMENTS_COUNT);
var
count: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
fptr.queryData;
count := fptr.getParamInt(fptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
end;
Для запроса количества отмененных чеков с заданным типом необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_CANCELLATION_COUNT и указать тип чека LIBFPTR_PARAM_RECEIPT_TYPE.
Тип чека (LIBFPTR_PARAM_RECEIPT_TYPE) может принимать следующие значения:
- LIBFPTR_RT_SELL - чек прихода (продажи)
- LIBFPTR_RT_SELL_RETURN - чек возврата прихода (продажи)
- LIBFPTR_RT_SELL_CORRECTION - чек коррекции прихода (продажи)
- LIBFPTR_RT_BUY - чек расхода (покупки)
- LIBFPTR_RT_BUY_RETURN - чек возврата расхода (покупки)
- LIBFPTR_RT_BUY_CORRECTION - чек коррекции расхода (покупки)
Для запроса общего количества отмененных чеков необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_CANCELLATION_COUNT_ALL.
Результатом этих запросов будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_DOCUMENTS_COUNT | Количество чеков | int |
Сумма отмененных чеков
Запрос суммы отмененных чеков прихода
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_CANCELLATION_SUM);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_RECEIPT_TYPE, LIBFPTR_RT_SELL);
libfptr_query_data(fptr);
double sum = libfptr_get_param_double(fptr, LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CANCELLATION_SUM)
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL)
fptr.queryData()
sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CANCELLATION_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.queryData();
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CANCELLATION_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.queryData();
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_CANCELLATION_SUM];
[fptr setParam:LIBFPTR_PARAM_RECEIPT_TYPE, intParam:LIBFPTR_RT_SELL];
[fptr queryData];
double sum = [fptr getParamDouble:LIBFPTR_PARAM_SUM];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_CANCELLATION_SUM);
fptr.setParam(Constants.LIBFPTR_PARAM_RECEIPT_TYPE, Constants.LIBFPTR_RT_SELL);
fptr.queryData();
double sum = fptr.getParamDouble(Constants.LIBFPTR_PARAM_SUM);
var
sum: Double;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_CANCELLATION_SUM_ALL);
fptr.setParam(fptr.LIBFPTR_PARAM_RECEIPT_TYPE, fptr.LIBFPTR_RT_SELL);
fptr.queryData;
sum := fptr.getParamDouble(fptr.LIBFPTR_PARAM_SUM);
end;
Запрос общей суммы отмененных чеков
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_CANCELLATION_SUM_ALL);
libfptr_query_data(fptr);
double sum = libfptr_get_param_double(fptr, LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CANCELLATION_SUM_ALL)
fptr.queryData()
sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CANCELLATION_SUM_ALL);
fptr.queryData();
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_CANCELLATION_SUM_ALL);
fptr.queryData();
double sum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SUM);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_CANCELLATION_SUM_ALL];
[fptr queryData];
double sum = [fptr getParamDouble:LIBFPTR_PARAM_SUM];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_CANCELLATION_SUM_ALL);
fptr.queryData();
double sum = fptr.getParamDouble(Constants.LIBFPTR_PARAM_SUM);
var
sum: Double;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_CANCELLATION_SUM_ALL);
fptr.queryData;
sum := fptr.getParamDouble(fptr.LIBFPTR_PARAM_SUM);
end;
Для запроса суммы отмененных чеков с заданным типом необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_CANCELLATION_SUM и указать тип чека LIBFPTR_PARAM_RECEIPT_TYPE.
Тип чека (LIBFPTR_PARAM_RECEIPT_TYPE) может принимать следующие значения:
- LIBFPTR_RT_SELL - чек прихода (продажи)
- LIBFPTR_RT_SELL_RETURN - чек возврата прихода (продажи)
- LIBFPTR_RT_SELL_CORRECTION - чек коррекции прихода (продажи)
- LIBFPTR_RT_BUY - чек расхода (покупки)
- LIBFPTR_RT_BUY_RETURN - чек возврата расхода (покупки)
- LIBFPTR_RT_BUY_CORRECTION - чек коррекции расхода (покупки)
Для запроса общей суммы отмененных чеков необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_CANCELLATION_SUM_ALL.
Результатом этих запросов будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_SUM | Сумма чеков | double |
Состояние источника питания
Запрос состояния аккумуляторов
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_POWER_SOURCE_STATE);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_POWER_SOURCE_TYPE, LIBFPTR_PST_BATTERY);
libfptr_query_data(fptr);
int charge = libfptr_get_param_int(fptr, LIBFPTR_PARAM_BATTERY_CHARGE);
double voltage = libfptr_get_param_double(fptr, LIBFPTR_PARAM_VOLTAGE);
bool useBattery = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_USE_BATTERY) != 0);
bool isCharging = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_BATTERY_CHARGING) != 0);
bool canPrint = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_CAN_PRINT_WHILE_ON_BATTERY) != 0);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_POWER_SOURCE_STATE)
fptr.setParam(IFptr.LIBFPTR_PARAM_POWER_SOURCE_TYPE, IFptr.LIBFPTR_PST_BATTERY)
fptr.queryData()
charge = fptr.getParamInt(IFptr.LIBFPTR_PARAM_BATTERY_CHARGE)
voltage = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_VOLTAGE)
useBattery = fptr.getParamBool(IFptr.LIBFPTR_PARAM_USE_BATTERY)
isCharging = fptr.getParamBool(IFptr.LIBFPTR_PARAM_BATTERY_CHARGING)
canPrint = fptr.getParamBool(IFptr.LIBFPTR_PARAM_CAN_PRINT_WHILE_ON_BATTERY)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_POWER_SOURCE_STATE);
fptr.setParam(IFptr.LIBFPTR_PARAM_POWER_SOURCE_TYPE, IFptr.LIBFPTR_PST_BATTERY);
fptr.queryData();
long charge = fptr.getParamInt(IFptr.LIBFPTR_PARAM_BATTERY_CHARGE);
double voltage = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_VOLTAGE);
boolean useBattery = fptr.getParamBool(IFptr.LIBFPTR_PARAM_USE_BATTERY);
boolean isCharging = fptr.getParamBool(IFptr.LIBFPTR_PARAM_BATTERY_CHARGING);
boolean canPrint = fptr.getParamBool(IFptr.LIBFPTR_PARAM_CAN_PRINT_WHILE_ON_BATTERY);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_POWER_SOURCE_STATE);
fptr.setParam(IFptr.LIBFPTR_PARAM_POWER_SOURCE_TYPE, IFptr.LIBFPTR_PST_BATTERY);
fptr.queryData();
long charge = fptr.getParamInt(IFptr.LIBFPTR_PARAM_BATTERY_CHARGE);
double voltage = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_VOLTAGE);
boolean useBattery = fptr.getParamBool(IFptr.LIBFPTR_PARAM_USE_BATTERY);
boolean isCharging = fptr.getParamBool(IFptr.LIBFPTR_PARAM_BATTERY_CHARGING);
boolean canPrint = fptr.getParamBool(IFptr.LIBFPTR_PARAM_CAN_PRINT_WHILE_ON_BATTERY);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_POWER_SOURCE_STATE];
[fptr setParam:LIBFPTR_PARAM_POWER_SOURCE_TYPE, intParam:LIBFPTR_PST_BATTERY];
[fptr queryData];
uint charge = [fptr getParamInt:LIBFPTR_PARAM_BATTERY_CHARGE];
double voltage = [fptr getParamDouble:LIBFPTR_PARAM_VOLTAGE];
bool useBattery = [fptr getParamBool:LIBFPTR_PARAM_USE_BATTERY];
bool isCharging = [fptr getParamBool:LIBFPTR_PARAM_BATTERY_CHARGING];
bool canPrint = [fptr getParamBool:LIBFPTR_PARAM_CAN_PRINT_WHILE_ON_BATTERY];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_POWER_SOURCE_STATE);
fptr.setParam(Constants.LIBFPTR_PARAM_POWER_SOURCE_TYPE, Constants.LIBFPTR_PST_BATTERY);
fptr.queryData();
uint charge = fptr.getParamInt(Constants.LIBFPTR_PARAM_BATTERY_CHARGE);
double voltage = fptr.getParamDouble(Constants.LIBFPTR_PARAM_VOLTAGE);
bool useBattery = fptr.getParamBool(Constants.LIBFPTR_PARAM_USE_BATTERY);
bool isCharging = fptr.getParamBool(Constants.LIBFPTR_PARAM_BATTERY_CHARGING);
bool canPrint = fptr.getParamBool(Constants.LIBFPTR_PARAM_CAN_PRINT_WHILE_ON_BATTERY);
var
temperaturer: Integer;
voltage: Double;
useBattery: LongBool;
isCharging: LongBool;
canPrint: LongBool;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_POWER_SOURCE_STATE);
fptr.setParam(fptr.LIBFPTR_PARAM_POWER_SOURCE_TYPE, fptr.LIBFPTR_PST_BATTERY);
fptr.queryData;
charge := fptr.getParamInt(fptr.LIBFPTR_PARAM_BATTERY_CHARGE);
voltage := fptr.getParamDouble(fptr.LIBFPTR_PARAM_VOLTAGE);
useBattery := fptr.getParamBool(fptr.LIBFPTR_PARAM_USE_BATTERY);
isCharging := fptr.getParamBool(fptr.LIBFPTR_PARAM_BATTERY_CHARGING);
canPrint := fptr.getParamBool(fptr.LIBFPTR_PARAM_CAN_PRINT_WHILE_ON_BATTERY);
end;
Для запроса состояния источника питания необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_POWER_SOURCE_STATE и указать тип источника LIBFPTR_PARAM_POWER_SOURCE_TYPE.
Тип источника (LIBFPTR_PARAM_POWER_SOURCE_TYPE) может принимать следующие значения:
- LIBFPTR_PST_POWER_SUPPLY - внешний блок питания
- LIBFPTR_PST_RTC_BATTERY - батарея часов
- LIBFPTR_PST_BATTERY - встроенные аккумуляторы
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_BATTERY_CHARGE | Заряд аккумулятора, проценты | int |
LIBFPTR_PARAM_VOLTAGE | Напряжения источника питания, В. | double |
LIBFPTR_PARAM_USE_BATTERY | Работа от аккумулятора | bool |
LIBFPTR_PARAM_BATTERY_CHARGING | Аккумуляторы заряжаются | bool |
LIBFPTR_PARAM_CAN_PRINT_WHILE_ON_BATTERY | ККТ может печатать при текущем заряде аккумулятора | bool |
Температура ТПГ
Запрос температуры ТПГ
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_PRINTER_TEMPERATURE);
libfptr_query_data(fptr);
int temperature = libfptr_get_param_int(fptr, LIBFPTR_PARAM_PRINTER_TEMPERATURE);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_PRINTER_TEMPERATURE)
fptr.queryData()
temperature = fptr.getParamInt(IFptr.LIBFPTR_PARAM_PRINTER_TEMPERATURE)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_PRINTER_TEMPERATURE);
fptr.queryData();
long temperature = fptr.getParamInt(IFptr.LIBFPTR_PARAM_PRINTER_TEMPERATURE);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_PRINTER_TEMPERATURE);
fptr.queryData();
long temperature = fptr.getParamInt(IFptr.LIBFPTR_PARAM_PRINTER_TEMPERATURE);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_PRINTER_TEMPERATURE];
[fptr queryData];
uint temperature = [fptr getParamInt: LIBFPTR_PARAM_PRINTER_TEMPERATURE];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_PRINTER_TEMPERATURE);
fptr.queryData();
uint temperature = fptr.getParamInt(Constants.LIBFPTR_PARAM_PRINTER_TEMPERATURE);
var
temperaturer: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_PRINTER_TEMPERATURE);
fptr.queryData;
temperature := fptr.getParamInt(fptr.LIBFPTR_PARAM_PRINTER_TEMPERATURE);
end;
Для запроса температуры ТПГ необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_PRINTER_TEMPERATURE.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_PRINTER_TEMPERATURE | Температура ТПГ, градусы | int |
Фатальные ошибки
Запрос фатальных ошибок
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_FATAL_STATUS);
libfptr_query_data(fptr);
bool noSerialNumber = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_NO_SERIAL_NUMBER) != 0);
bool rtcFault = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_RTC_FAULT) != 0);
bool settingsFault = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_SETTINGS_FAULT) != 0);
bool counterFault = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_COUNTERS_FAULT) != 0);
bool userMemoryFault = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_USER_MEMORY_FAULT) != 0);
bool serviceCountersFault = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_SERVICE_COUNTERS_FAULT) != 0);
bool attributesFault = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_ATTRIBUTES_FAULT) != 0);
bool fnFault = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_FN_FAULT) != 0);
bool invalidFN = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_INVALID_FN) != 0);
bool hardFault = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_HARD_FAULT) != 0);
bool memoryManagerFault = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_MEMORY_MANAGER_FAULT) != 0);
bool scriptFault = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_SCRIPTS_FAULT) != 0);
bool waitForReboot = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_WAIT_FOR_REBOOT) != 0);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_FATAL_STATUS)
fptr.queryData()
noSerialNumber = fptr.getParamBool(IFptr.LIBFPTR_PARAM_NO_SERIAL_NUMBER)
rtcFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_RTC_FAULT)
settingsFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_SETTINGS_FAULT)
counterFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_COUNTERS_FAULT)
userMemoryFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_USER_MEMORY_FAULT)
serviceCountersFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_SERVICE_COUNTERS_FAULT)
attributesFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_ATTRIBUTES_FAULT)
fnFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_FAULT)
invalidFN = fptr.getParamBool(IFptr.LIBFPTR_PARAM_INVALID_FN)
hardFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_HARD_FAULT)
memoryManagerFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_MEMORY_MANAGER_FAULT)
scriptFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_SCRIPTS_FAULT)
waitForReboot = fptr.getParamBool(IFptr.LIBFPTR_PARAM_WAIT_FOR_REBOOT)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_FATAL_STATUS);
fptr.queryData();
boolean noSerialNumber = fptr.getParamBool(IFptr.LIBFPTR_PARAM_NO_SERIAL_NUMBER);
boolean rtcFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_RTC_FAULT);
boolean settingsFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_SETTINGS_FAULT);
boolean counterFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_COUNTERS_FAULT);
boolean userMemoryFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_USER_MEMORY_FAULT);
boolean serviceCountersFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_SERVICE_COUNTERS_FAULT);
boolean attributesFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_ATTRIBUTES_FAULT);
boolean fnFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_FAULT);
boolean invalidFN = fptr.getParamBool(IFptr.LIBFPTR_PARAM_INVALID_FN);
boolean hardFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_HARD_FAULT);
boolean memoryManagerFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_MEMORY_MANAGER_FAULT);
boolean scriptFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_SCRIPTS_FAULT);
boolean waitForReboot = fptr.getParamBool(IFptr.LIBFPTR_PARAM_WAIT_FOR_REBOOT);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_FATAL_STATUS);
fptr.queryData();
boolean noSerialNumber = fptr.getParamBool(IFptr.LIBFPTR_PARAM_NO_SERIAL_NUMBER);
boolean rtcFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_RTC_FAULT);
boolean settingsFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_SETTINGS_FAULT);
boolean counterFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_COUNTERS_FAULT);
boolean userMemoryFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_USER_MEMORY_FAULT);
boolean serviceCountersFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_SERVICE_COUNTERS_FAULT);
boolean attributesFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_ATTRIBUTES_FAULT);
boolean fnFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_FAULT);
boolean invalidFN = fptr.getParamBool(IFptr.LIBFPTR_PARAM_INVALID_FN);
boolean hardFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_HARD_FAULT);
boolean memoryManagerFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_MEMORY_MANAGER_FAULT);
boolean scriptFault = fptr.getParamBool(IFptr.LIBFPTR_PARAM_SCRIPTS_FAULT);
boolean waitForReboot = fptr.getParamBool(IFptr.LIBFPTR_PARAM_WAIT_FOR_REBOOT);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_FATAL_STATUS];
[fptr queryData];
bool noSerialNumber = [fptr getParamBool:LIBFPTR_PARAM_NO_SERIAL_NUMBER];
bool rtcFault = [fptr getParamBool:LIBFPTR_PARAM_RTC_FAULT];
bool settingsFault = [fptr getParamBool:LIBFPTR_PARAM_SETTINGS_FAULT];
bool counterFault = [fptr getParamBool:LIBFPTR_PARAM_COUNTERS_FAULT];
bool userMemoryFault = [fptr getParamBool:LIBFPTR_PARAM_USER_MEMORY_FAULT];
bool serviceCountersFault = [fptr getParamBool:LIBFPTR_PARAM_SERVICE_COUNTERS_FAULT];
bool attributesFault = [fptr getParamBool:LIBFPTR_PARAM_ATTRIBUTES_FAULT];
bool fnFault = [fptr getParamBool:LIBFPTR_PARAM_FN_FAULT];
bool invalidFN = [fptr getParamBool:LIBFPTR_PARAM_INVALID_FN];
bool hardFault = [fptr getParamBool:LIBFPTR_PARAM_HARD_FAULT];
bool memoryManagerFault = [fptr getParamBool:LIBFPTR_PARAM_MEMORY_MANAGER_FAULT];
bool scriptFault = [fptr getParamBool:LIBFPTR_PARAM_SCRIPTS_FAULT];
bool waitForReboot = [fptr getParamBool:LIBFPTR_PARAM_WAIT_FOR_REBOOT];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_FATAL_STATUS);
fptr.queryData();
bool noSerialNumber = fptr.getParamBool(Constants.LIBFPTR_PARAM_NO_SERIAL_NUMBER);
bool rtcFault = fptr.getParamBool(Constants.LIBFPTR_PARAM_RTC_FAULT);
bool settingsFault = fptr.getParamBool(Constants.LIBFPTR_PARAM_SETTINGS_FAULT);
bool counterFault = fptr.getParamBool(Constants.LIBFPTR_PARAM_COUNTERS_FAULT);
bool userMemoryFault = fptr.getParamBool(Constants.LIBFPTR_PARAM_USER_MEMORY_FAULT);
bool serviceCountersFault = fptr.getParamBool(Constants.LIBFPTR_PARAM_SERVICE_COUNTERS_FAULT);
bool attributesFault = fptr.getParamBool(Constants.LIBFPTR_PARAM_ATTRIBUTES_FAULT);
bool fnFault = fptr.getParamBool(Constants.LIBFPTR_PARAM_FN_FAULT);
bool invalidFN = fptr.getParamBool(Constants.LIBFPTR_PARAM_INVALID_FN);
bool hardFault = fptr.getParamBool(Constants.LIBFPTR_PARAM_HARD_FAULT);
bool memoryManagerFault = fptr.getParamBool(Constants.LIBFPTR_PARAM_MEMORY_MANAGER_FAULT);
bool scriptFault = fptr.getParamBool(Constants.LIBFPTR_PARAM_SCRIPTS_FAULT);
bool waitForReboot = fptr.getParamBool(Constants.LIBFPTR_PARAM_WAIT_FOR_REBOOT);
var
noSerialNumber: LongBool;
rtcFault: LongBool;
settingsFault: LongBool;
counterFault: LongBool;
userMemoryFault: LongBool;
serviceCountersFault: LongBool;
attributesFault: LongBool;
fnFault: LongBool;
invalidFN: LongBool;
hardFault: LongBool;
memoryManagerFault: LongBool;
scriptFault: LongBool;
waitForReboot: LongBool;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_FATAL_STATUS);
fptr.queryData;
noSerialNumber := fptr.getParamBool(fptr.LIBFPTR_PARAM_NO_SERIAL_NUMBER);
rtcFault := fptr.getParamBool(fptr.LIBFPTR_PARAM_RTC_FAULT);
settingsFault := fptr.getParamBool(fptr.LIBFPTR_PARAM_SETTINGS_FAULT);
counterFault := fptr.getParamBool(fptr.LIBFPTR_PARAM_COUNTERS_FAULT);
userMemoryFault := fptr.getParamBool(fptr.LIBFPTR_PARAM_USER_MEMORY_FAULT);
serviceCountersFault := fptr.getParamBool(fptr.LIBFPTR_PARAM_SERVICE_COUNTERS_FAULT);
attributesFault := fptr.getParamBool(fptr.LIBFPTR_PARAM_ATTRIBUTES_FAULT);
fnFault := fptr.getParamBool(fptr.LIBFPTR_PARAM_FN_FAULT);
invalidFN := fptr.getParamBool(fptr.LIBFPTR_PARAM_INVALID_FN);
hardFault := fptr.getParamBool(fptr.LIBFPTR_PARAM_HARD_FAULT);
memoryManagerFault := fptr.getParamBool(fptr.LIBFPTR_PARAM_MEMORY_MANAGER_FAULT);
scriptFault := fptr.getParamBool(fptr.LIBFPTR_PARAM_SCRIPTS_FAULT);
waitForReboot := fptr.getParamBool(fptr.LIBFPTR_PARAM_WAIT_FOR_REBOOT);
end;
Для запроса фатальных ошибок необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_FATAL_STATUS.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_NO_SERIAL_NUMBER | Не введен ЗН ККТ | bool |
LIBFPTR_PARAM_RTC_FAULT | Ошибка часов реального времени | bool |
LIBFPTR_PARAM_SETTINGS_FAULT | Ошибка настроек | bool |
LIBFPTR_PARAM_COUNTERS_FAULT | Ошибка счетчиков | bool |
LIBFPTR_PARAM_USER_MEMORY_FAULT | Ошибка пользовательской памяти | bool |
LIBFPTR_PARAM_SERVICE_COUNTERS_FAULT | Ошибка сервисных регистров | bool |
LIBFPTR_PARAM_ATTRIBUTES_FAULT | Ошибка реквизитов | bool |
LIBFPTR_PARAM_FN_FAULT | Фатальная ошибка ФН | bool |
LIBFPTR_PARAM_INVALID_FN | Установлен ФН из другой ККТ | bool |
LIBFPTR_PARAM_HARD_FAULT | Фатальная аппаратная ошибка | bool |
LIBFPTR_PARAM_MEMORY_MANAGER_FAULT | Ошибка диспетчера памяти | bool |
LIBFPTR_PARAM_SCRIPTS_FAULT | Скрипты повреждены или отсутствуют | bool |
LIBFPTR_PARAM_WAIT_FOR_REBOOT | Требуется перезагрузка | bool |
MAC-адрес Ethernet
Запрос MAC-адреса Ethernet
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_MAC_ADDRESS);
libfptr_query_data(fptr);
std::vector<wchar_t> str(1024);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_MAC_ADDRESS, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_MAC_ADDRESS, &str[0], str.size());
}
std::wstring mac = std::wstring(&str[0]);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_MAC_ADDRESS)
fptr.queryData()
mac = fptr.getParamString(IFptr.LIBFPTR_PARAM_MAC_ADDRESS)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_MAC_ADDRESS);
fptr.queryData();
String mac = fptr.getParamString(IFptr.LIBFPTR_PARAM_MAC_ADDRESS);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_MAC_ADDRESS);
fptr.queryData();
String mac = fptr.getParamString(IFptr.LIBFPTR_PARAM_MAC_ADDRESS);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_MAC_ADDRESS];
[fptr queryData];
NSString *mac = [fptr getParamString: LIBFPTR_PARAM_MAC_ADDRESS];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_MAC_ADDRESS);
fptr.queryData();
String mac = fptr.getParamString(Constants.LIBFPTR_DT_MAC_ADDRESS);
var
uptime: String;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_MAC_ADDRESS);
fptr.queryData;
mac := fptr.getParamString(fptr.LIBFPTR_DT_MAC_ADDRESS);
end;
Для запроса MAC-адреса Ethernet необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_MAC_ADDRESS.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_MAC_ADDRESS | MAC-адрес | string |
Время работы ККТ
Запрос времени работы ККТ
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_DEVICE_UPTIME);
libfptr_query_data(fptr);
uint uptime = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DEVICE_UPTIME);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_DEVICE_UPTIME)
fptr.queryData()
uptime = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DEVICE_UPTIME)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_DEVICE_UPTIME);
fptr.queryData();
long uptime = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DEVICE_UPTIME);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_DEVICE_UPTIME);
fptr.queryData();
long uptime = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DEVICE_UPTIME);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_DEVICE_UPTIME];
[fptr queryData];
uint uptime = [fptr getParamInt: LIBFPTR_PARAM_DEVICE_UPTIME];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_DEVICE_UPTIME);
fptr.queryData();
uint uptime = fptr.getParamInt(Constants.LIBFPTR_PARAM_DEVICE_UPTIME);
var
uptime: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_DEVICE_UPTIME);
fptr.queryData;
uptime := fptr.getParamInt(fptr.LIBFPTR_PARAM_DEVICE_UPTIME);
end;
Для запроса времени работы ККТ необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_DEVICE_UPTIME.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_DEVICE_UPTIME | Время работы ККТ, с. | int |
Суммы скидок и надбавок за смену
Запрос сумм скидок и надбавок за смену
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_DISCOUNT_AND_SURCHARGE_SUM);
libfptr_query_data(fptr);
double discountSum = libfptr_get_param_double(fptr, LIBFPTR_PARAM_DISCOUNT_SUM);
double surchargeSum = libfptr_get_param_double(fptr, LIBFPTR_PARAM_SURCHARGE_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_DISCOUNT_AND_SURCHARGE_SUM)
fptr.queryData()
discountSum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_DISCOUNT_SUM)
surchargeSum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SURCHARGE_SUM)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_DISCOUNT_AND_SURCHARGE_SUM);
fptr.queryData();
double discountSum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_DISCOUNT_SUM);
double surchargeSum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SURCHARGE_SUM);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_DISCOUNT_AND_SURCHARGE_SUM);
fptr.queryData();
double discountSum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_DISCOUNT_SUM);
double surchargeSum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_SURCHARGE_SUM);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_DISCOUNT_AND_SURCHARGE_SUM];
[fptr queryData];
double discountSum = [fptr getParamDouble:LIBFPTR_PARAM_DISCOUNT_SUM];
double surchargeSum = [fptr getParamDouble:LIBFPTR_PARAM_SURCHARGE_SUM];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_DISCOUNT_AND_SURCHARGE_SUM);
fptr.queryData();
double discountSum = fptr.getParamDouble(Constants.LIBFPTR_PARAM_DISCOUNT_SUM);
double surchargeSum = fptr.getParamDouble(Constants.LIBFPTR_PARAM_SURCHARGE_SUM);
var
discountSum: Double;
surchargeSum: Double;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_DISCOUNT_AND_SURCHARGE_SUM);
fptr.queryData;
discountSum := fptr.getParamDouble(fptr.LIBFPTR_PARAM_DISCOUNT_SUM);
surchargeSum := fptr.getParamDouble(fptr.LIBFPTR_PARAM_SURCHARGE_SUM);
end;
Для сумм скидок и надбавок за смену необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_DISCOUNT_AND_SURCHARGE_SUM.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_DISCOUNT_SUM | Сумма скидок за смену | double |
LIBFPTR_PARAM_SURCHARGE_SUM | Сумма надбавок за смену | double |
Код привязки к личному кабинету
Запрос кода привязки к ЛК
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_LK_USER_CODE);
libfptr_query_data(fptr);
std::vector<wchar_t> str(1024);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_LK_USER_CODE, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_LK_USER_CODE, &str[0], str.size());
}
std::wstring codeLK = std::wstring(&str[0]);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_LK_USER_CODE)
fptr.queryData()
codeLK = fptr.getParamString(IFptr.LIBFPTR_PARAM_LK_USER_CODE)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_LK_USER_CODE);
fptr.queryData();
String codeLK = fptr.getParamString(IFptr.LIBFPTR_PARAM_LK_USER_CODE);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_LK_USER_CODE);
fptr.queryData();
String codeLK = fptr.getParamString(IFptr.LIBFPTR_PARAM_LK_USER_CODE);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_LK_USER_CODE];
[fptr queryData];
NSString *codeLK = [fptr getParamString: LIBFPTR_PARAM_LK_USER_CODE];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_LK_USER_CODE);
fptr.queryData();
String codeLK = fptr.getParamString(Constants.LIBFPTR_PARAM_LK_USER_CODE);
var
codeLK: String;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_LK_USER_CODE);
fptr.queryData;
codeLK := fptr.getParamString(fptr.LIBFPTR_PARAM_LK_USER_CODE);
end;
Для запроса кода привязки ККТ к ЛК необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_LK_USER_CODE.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_LK_USER_CODE | Код привязки к ЛК | string |
Дата и время последнего успешного обмена с ОФД
Запрос даты и времени последнего успешного обмена с ОФД
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_LAST_SENT_OFD_DOCUMENT_DATE_TIME);
libfptr_query_data(fptr);
int year, month, day, hour, minute, second;
ibfptr_get_param_datetime(fptr, LIBFPTR_PARAM_DATE_TIME, &year, &month, &day, &hour, &minute, &second);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_LAST_SENT_OFD_DOCUMENT_DATE_TIME)
fptr.queryData()
# Тип переменной datetime - datetime.datetime
dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_LAST_SENT_OFD_DOCUMENT_DATE_TIME);
fptr.queryData();
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_LAST_SENT_OFD_DOCUMENT_DATE_TIME);
fptr.queryData();
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_LAST_SENT_OFD_DOCUMENT_DATE_TIME];
[fptr queryData];
NSDate *dateTime = [fptr getParamDateTime:LIBFPTR_PARAM_DATE_TIME];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_LAST_SENT_OFD_DOCUMENT_DATE_TIME);
fptr.queryData();
Date dateTime = fptr.getParamDateTime(Constants.LIBFPTR_PARAM_DATE_TIME);
var
dateTime: TDateTime;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_LAST_SENT_OFD_DOCUMENT_DATE_TIME);
fptr.queryData;
dateTime := fptr.getParamDateTime(fptr.LIBFPTR_PARAM_DATE_TIME);
end;
Для запроса даты и времени последнего успешного обмена с ОФД необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_LAST_SENT_OFD_DOCUMENT_DATE_TIME.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_DATE_TIME | Дата и время последнего успешного обмена с ОФД | datetime |
Текущая конфигурация Ethernet
Запрос текущей конфигурации Ethernet
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DATA_TYPE, LIBFPTR_DT_ETHERNET_INFO);
libfptr_query_data(fptr);
std::vector<wchar_t> str(1024);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_ETHERNET_IP, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_ETHERNET_IP, &str[0], str.size());
}
std::wstring ip = std::wstring(&str[0]);
size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_ETHERNET_MASK, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_ETHERNET_MASK, &str[0], str.size());
}
std::wstring mask = std::wstring(&str[0]);
size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_ETHERNET_GATEWAY, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_ETHERNET_GATEWAY, &str[0], str.size());
}
std::wstring gateway = std::wstring(&str[0]);
size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_ETHERNET_DNS_IP, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_ETHERNET_DNS_IP, &str[0], str.size());
}
std::wstring dns = std::wstring(&str[0]);
int timeout = libfptr_get_param_int(fptr, LIBFPTR_PARAM_ETHERNET_CONFIG_TIMEOUT);
int port = libfptr_get_param_int(fptr, LIBFPTR_PARAM_ETHERNET_PORT);
bool dhcp = libfptr_get_param_bool(fptr, LIBFPTR_PARAM_ETHERNET_DHCP);
bool dnsStatic = libfptr_get_param_bool(fptr, LIBFPTR_PARAM_ETHERNET_DNS_STATIC);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_ETHERNET_INFO)
fptr.queryData()
ip = fptr.getParamString(IFptr.LIBFPTR_PARAM_ETHERNET_IP)
mask = fptr.getParamString(IFptr.LIBFPTR_PARAM_ETHERNET_MASK)
gateway = fptr.getParamString(IFptr.LIBFPTR_PARAM_ETHERNET_GATEWAY)
dns = fptr.getParamString(IFptr.LIBFPTR_PARAM_ETHERNET_DNS_IP)
timeout = fptr.getParamInt(IFptr.LIBFPTR_PARAM_ETHERNET_CONFIG_TIMEOUT)
port = fptr.getParamInt(IFptr.LIBFPTR_PARAM_ETHERNET_PORT)
dhcp = fptr.getParamBool(IFptr.LIBFPTR_PARAM_ETHERNET_DHCP)
dnsStatic = fptr.getParamBool(IFptr.LIBFPTR_PARAM_ETHERNET_DNS_STATIC)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_ETHERNET_INFO);
fptr.queryData();
String ip = fptr.getParamString(IFptr.LIBFPTR_PARAM_ETHERNET_IP);
String mask = fptr.getParamString(IFptr.LIBFPTR_PARAM_ETHERNET_MASK);
String gateway = fptr.getParamString(IFptr.LIBFPTR_PARAM_ETHERNET_GATEWAY);
String dns = fptr.getParamString(IFptr.LIBFPTR_PARAM_ETHERNET_DNS_IP);
long timeout = fptr.getParamInt(IFptr.LIBFPTR_PARAM_ETHERNET_CONFIG_TIMEOUT);
long port = fptr.getParamInt(IFptr.LIBFPTR_PARAM_ETHERNET_PORT);
boolean dhcp = fptr.getParamBool(IFptr.LIBFPTR_PARAM_ETHERNET_DHCP);
boolean dnsStatic = fptr.getParamBool(IFptr.LIBFPTR_PARAM_ETHERNET_DNS_STATIC);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_ETHERNET_INFO);
fptr.queryData();
String ip = fptr.getParamString(IFptr.LIBFPTR_PARAM_ETHERNET_IP);
String mask = fptr.getParamString(IFptr.LIBFPTR_PARAM_ETHERNET_MASK);
String gateway = fptr.getParamString(IFptr.LIBFPTR_PARAM_ETHERNET_GATEWAY);
String dns = fptr.getParamString(IFptr.LIBFPTR_PARAM_ETHERNET_DNS_IP);
long timeout = fptr.getParamInt(IFptr.LIBFPTR_PARAM_ETHERNET_CONFIG_TIMEOUT);
long port = fptr.getParamInt(IFptr.LIBFPTR_PARAM_ETHERNET_PORT);
boolean dhcp = fptr.getParamBool(IFptr.LIBFPTR_PARAM_ETHERNET_DHCP);
boolean dnsStatic = fptr.getParamBool(IFptr.LIBFPTR_PARAM_ETHERNET_DNS_STATIC);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_ETHERNET_INFO];
[fptr queryData];
NSString *ip = [fptr getParamString:LIBFPTR_PARAM_ETHERNET_IP];
NSString *mask = [fptr getParamString:LIBFPTR_PARAM_ETHERNET_MASK];
NSString *gateway = [fptr getParamString:LIBFPTR_PARAM_ETHERNET_GATEWAY];
NSString *dns = [fptr getParamString:LIBFPTR_PARAM_ETHERNET_DNS_IP];
uint timeout = [fptr getParamInt:LIBFPTR_PARAM_ETHERNET_CONFIG_TIMEOUT];
uint port = [fptr getParamInt:LIBFPTR_PARAM_ETHERNET_PORT];
bool dhcp = [fptr getParamBool:LIBFPTR_PARAM_ETHERNET_DHCP];
bool dnsStatic = [fptr getParamBool:LIBFPTR_PARAM_ETHERNET_DNS_STATIC];
fptr.setParam(Constants.LIBFPTR_PARAM_DATA_TYPE, Constants.LIBFPTR_DT_ETHERNET_INFO);
fptr.queryData();
String ip = fptr.getParamString(Constants.LIBFPTR_PARAM_ETHERNET_IP);
String mask = fptr.getParamString(Constants.LIBFPTR_PARAM_ETHERNET_MASK);
String gateway = fptr.getParamString(Constants.LIBFPTR_PARAM_ETHERNET_GATEWAY);
String dns = fptr.getParamString(Constants.LIBFPTR_PARAM_ETHERNET_DNS_IP);
int timeout = fptr.getParamInt(Constants.LIBFPTR_PARAM_ETHERNET_CONFIG_TIMEOUT);
int port = fptr.getParamInt(Constants.LIBFPTR_PARAM_ETHERNET_PORT);
boolean dhcp = fptr.getParamBool(Constants.LIBFPTR_PARAM_ETHERNET_DHCP);
boolean dnsStatic = fptr.getParamBool(Constants.LIBFPTR_PARAM_ETHERNET_DNS_STATIC);
var
ip: String;
mask: String;
gateway: String;
dns: String;
timeout: Longint;
port: Longint;
dhcp: LongBool;
dnsStatic: LongBool;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_DATA_TYPE, fptr.LIBFPTR_DT_ETHERNET_INFO);
fptr.queryData;
ip := fptr.getParamString(fptr.LIBFPTR_PARAM_ETHERNET_IP);
mask := fptr.getParamString(fptr.LIBFPTR_PARAM_ETHERNET_MASK);
gateway := fptr.getParamString(fptr.LIBFPTR_PARAM_ETHERNET_GATEWAY);
dns := fptr.getParamString(fptr.LIBFPTR_PARAM_ETHERNET_DNS_IP);
timeout := fptr.getParamInt(fptr.LIBFPTR_PARAM_ETHERNET_CONFIG_TIMEOUT);
port := fptr.getParamInt(fptr.LIBFPTR_PARAM_ETHERNET_PORT);
dhcp := fptr.getParamBool(fptr.LIBFPTR_PARAM_ETHERNET_DHCP);
dnsStatic := fptr.getParamBool(fptr.LIBFPTR_PARAM_ETHERNET_DNS_STATIC);
end;
Для запроса текущая конфигурации Ethernet необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_ETHERNET_INFO.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_ETHERNET_CONFIG_TIMEOUT | Таймаут получения конфигурации из сети | int |
LIBFPTR_PARAM_ETHERNET_DHCP | Получает ли ККТ настройки по DHCP | bool |
LIBFPTR_PARAM_ETHERNET_IP | IP-адрес | string |
LIBFPTR_PARAM_ETHERNET_MASK | Маска сети | string |
LIBFPTR_PARAM_ETHERNET_GATEWAY | Шлюз | string |
LIBFPTR_PARAM_ETHERNET_PORT | Порт | int |
LIBFPTR_PARAM_ETHERNET_DNS_IP | Адрес сервера DNS | string |
LIBFPTR_PARAM_ETHERNET_DNS_STATIC | Используется статичный DNS или получается из сети | bool |
Регистрация кассира
Регистрация кассира
libfptr_set_param_str(fptr, 1021, L"Кассир Иванов И.");
libfptr_set_param_str(fptr, 1203, L"123456789047");
libfptr_operator_login(fptr);
fptr.setParam(1021, "Кассир Иванов И.")
fptr.setParam(1203, "123456789047")
fptr.operatorLogin()
fptr.setParam(1021, "Кассир Иванов И.");
fptr.setParam(1203, "123456789047");
fptr.operatorLogin();
fptr.setParam(1021, "Кассир Иванов И.");
fptr.setParam(1203, "123456789047");
fptr.operatorLogin();
[fptr setParam:1021, NSStringParam:@"Кассир Иванов И."];
[fptr setParam:1203, NSStringParam:@"123456789047"];
[fptr operatorLogin];
fptr.setParam(1021, "Кассир Иванов И.");
fptr.setParam(1203, "123456789047");
fptr.operatorLogin();
begin
fptr.setParam(1021, 'Кассир Иванов И.');
fptr.setParam(1203, '123456789047');
fptr.operatorLogin;
end;
Для регистрации кассира необходимо вызвать метод operatorLogin().
Операции со сменой
Открыть смену
Открытие смены
libfptr_set_param_str(fptr, 1021, L"Кассир Иванов И.");
libfptr_set_param_str(fptr, 1203, L"123456789047");
libfptr_operator_login(fptr);
libfptr_open_shift(fptr);
libfptr_check_document_closed();
// ...
fptr.setParam(1021, "Кассир Иванов И.")
fptr.setParam(1203, "123456789047")
fptr.operatorLogin()
fptr.openShift()
fptr.checkDocumentClosed()
# ...
fptr.setParam(1021, "Кассир Иванов И.");
fptr.setParam(1203, "123456789047");
fptr.operatorLogin();
fptr.openShift();
fptr.checkDocumentClosed();
// ...
fptr.setParam(1021, "Кассир Иванов И.");
fptr.setParam(1203, "123456789047");
fptr.operatorLogin();
fptr.openShift();
fptr.checkDocumentClosed();
// ...
[fptr setParam:1021, NSString:@"Кассир Иванов И."];
[fptr setParam:1203, NSString:@"123456789047"];
[fptr operatorLogin];
[fptr openShift];
[fptr checkDocumentClosed];
// ...
fptr.setParam(1021, "Кассир Иванов И.");
fptr.setParam(1203, "123456789047");
fptr.operatorLogin();
fptr.openShift();
fptr.checkDocumentClosed();
// ...
begin
fptr.setParam(1021, 'Кассир Иванов И.');
fptr.setParam(1203, '123456789047');
fptr.operatorLogin;
fptr.openShift;
fptr.checkDocumentClosed;
// ...
end;
Для открытия смены необходимо вызвать метод openShift(). Метод возвращает ошибку, если смена уже открыта. Открывать смену необязательно, т.к. она будет открыта первой фискальной операцией автоматически.
Закрыть смену
Закрытие смены
libfptr_set_param_str(fptr, 1021, L"Кассир Иванов И.");
libfptr_set_param_str(fptr, 1203, L"123456789047");
libfptr_operator_login(fptr);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_CLOSE_SHIFT);
libfptr_report(fptr);
libfptr_check_document_closed();
// ...
fptr.setParam(1021, "Кассир Иванов И.")
fptr.setParam(1203, "123456789047")
fptr.operatorLogin()
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_CLOSE_SHIFT)
fptr.report()
fptr.checkDocumentClosed()
# ...
fptr.setParam(1021, "Кассир Иванов И.");
fptr.setParam(1203, "123456789047");
fptr.operatorLogin();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_CLOSE_SHIFT);
fptr.report();
fptr.checkDocumentClosed();
// ...
fptr.setParam(1021, "Кассир Иванов И.");
fptr.setParam(1203, "123456789047");
fptr.operatorLogin();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_CLOSE_SHIFT);
fptr.report();
fptr.checkDocumentClosed();
// ...
[fptr setParam:1021, NSString:@"Кассир Иванов И."];
[fptr setParam:1203, NSString:@"123456789047"];
[fptr operatorLogin];
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE, intParam:LIBFPTR_RT_CLOSE_SHIFT];
[fptr report];
[fptr checkDocumentClosed];
// ...
fptr.setParam(1021, "Кассир Иванов И.");
fptr.setParam(1203, "123456789047");
fptr.operatorLogin();
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_CLOSE_SHIFT);
fptr.report();
fptr.checkDocumentClosed();
// ...
begin
fptr.setParam(1021, 'Кассир Иванов И.');
fptr.setParam(1203, '123456789047');
fptr.operatorLogin;
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_CLOSE_SHIFT);
fptr.report;
fptr.checkDocumentClosed;
// ...
end;
Для закрытия смены требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_CLOSE_SHIFT Автоматически может напечататься так же и Z-отчет.
Операции с чеком
Общий алгоритм формирования чека
Формирование чека состоит из следующих операций:
- открытие чека и передача реквизитов чека
- регистрация позиций, печать нефискальных данных (текст, штрихкоды, изображения)
- регистрация итога (необязательный пункт - если регистрацию итога не провести, он автоматически расчитается из суммы всех позиций)
- регистрация налогов на чек (необязательный пункт - налоги могут быть подтянуты из позиций и суммированы)
- регистрация оплат
- закрытие чека
- проверка состояния чека
Формирование чека коррекции (ФФД 1.0, 1.05) состоит из следующих операций:
- открытие чека и передача реквизитов чека
- регистрация итога
- регистрация налогов на чек (необязательный пункт)
- регистрация оплат (необязательный пункт)
- закрытие чека
- проверка состояния чека
Открыть чек
Открытие печатного чека
libfptr_set_param_str(fptr, 1021, L"Кассир Иванов И.");
libfptr_set_param_str(fptr, 1203, L"123456789047");
libfptr_operator_login(fptr);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_RECEIPT_TYPE, LIBFPTR_RT_SELL);
libfptr_open_receipt(fptr);
fptr.setParam(1021, "Кассир Иванов И.")
fptr.setParam(1203, "123456789047")
fptr.operatorLogin()
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL)
fptr.openReceipt()
fptr.setParam(1021, "Кассир Иванов И.");
fptr.setParam(1203, "123456789047");
fptr.operatorLogin();
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.openReceipt();
fptr.setParam(1021, "Кассир Иванов И.");
fptr.setParam(1203, "123456789047");
fptr.operatorLogin();
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.openReceipt();
[fptr setParam:1021, NSStringParam:@"Кассир Иванов И."];
[fptr setParam:1203, NSStringParam:@"123456789047"];
[fptr operatorLogin];
[fptr setParam:LIBFPTR_PARAM_RECEIPT_TYPE, intParam:LIBFPTR_RT_SELL];
[fptr openReceipt]
fptr.setParam(1021, "Кассир Иванов И.");
fptr.setParam(1203, "123456789047");
fptr.operatorLogin();
fptr.setParam(Constants.LIBFPTR_PARAM_RECEIPT_TYPE, Constants.LIBFPTR_RT_SELL);
fptr.openReceipt();
begin
fptr.setParam(1021, 'Кассир Иванов И.');
fptr.setParam(1203, '123456789047');
fptr.operatorLogin;
fptr.setParam(fptr.LIBFPTR_PARAM_RECEIPT_TYPE, fptr.LIBFPTR_RT_SELL);
fptr.openReceipt;
end;
Открытие чека возврата продажи с автоматическим расчетом НДС18
libfptr_set_param_str(fptr, 1021, L"Кассир Иванов И.");
libfptr_set_param_str(fptr, 1203, L"123456789047");
libfptr_operator_login(fptr);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_RECEIPT_TYPE, LIBFPTR_RT_SELL_RETURN);
libfptr_set_param_bool(fptr, LIBFPTR_PARAM_USE_VAT18, true);
libfptr_open_receipt(fptr);
fptr.setParam(1021, "Кассир Иванов И.")
fptr.setParam(1203, "123456789047")
fptr.operatorLogin()
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL_RETURN)
fptr.setParam(IFptr.LIBFPTR_PARAM_USE_VAT18, True)
fptr.openReceipt()
fptr.setParam(1021, "Кассир Иванов И.");
fptr.setParam(1203, "123456789047");
fptr.operatorLogin();
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL_RETURN);
fptr.setParam(IFptr.LIBFPTR_PARAM_USE_VAT18, true);
fptr.openReceipt();
fptr.setParam(1021, "Кассир Иванов И.");
fptr.setParam(1203, "123456789047");
fptr.operatorLogin();
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL_RETURN);
fptr.setParam(IFptr.LIBFPTR_PARAM_USE_VAT18, true);
fptr.openReceipt();
[fptr setParam:1021, NSStringParam:@"Кассир Иванов И."];
[fptr setParam:1203, NSStringParam:@"123456789047"];
[fptr operatorLogin];
[fptr setParam:LIBFPTR_PARAM_RECEIPT_TYPE, intParam:LIBFPTR_RT_SELL_RETURN];
[fptr setParam:LIBFPTR_PARAM_USE_VAT18, boolParam:true];
[fptr openReceipt]
fptr.setParam(1021, "Кассир Иванов И.");
fptr.setParam(1203, "123456789047");
fptr.operatorLogin();
fptr.setParam(Constants.LIBFPTR_PARAM_RECEIPT_TYPE, Constants.LIBFPTR_RT_SELL_RETURN);
fptr.setParam(Constants.LIBFPTR_PARAM_USE_VAT18, true);
fptr.openReceipt();
begin
fptr.setParam(1021, 'Кассир Иванов И.');
fptr.setParam(1203, '123456789047');
fptr.operatorLogin;
fptr.setParam(fptr.LIBFPTR_PARAM_RECEIPT_TYPE, fptr.LIBFPTR_RT_SELL_RETURN);
fptr.setParam(fptr.LIBFPTR_PARAM_USE_VAT18, True);
fptr.openReceipt;
end;
Открытие электронного чека
libfptr_set_param_int(fptr, LIBFPTR_PARAM_RECEIPT_TYPE, LIBFPTR_RT_SELL);
libfptr_set_param_bool(fptr, LIBFPTR_PARAM_RECEIPT_ELECTRONICALLY, true);
libfptr_set_param_str(fptr, 1008, L"client@mail.ru");
libfptr_open_receipt(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL)
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_ELECTRONICALLY, True)
fptr.setParam(1008, "client@mail.ru")
fptr.openReceipt()
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_ELECTRONICALLY, true);
fptr.setParam(1008, "client@mail.ru");
fptr.openReceipt();
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_ELECTRONICALLY, true);
fptr.setParam(1008, "client@mail.ru");
fptr.openReceipt();
[fptr setParam:LIBFPTR_PARAM_RECEIPT_TYPE, intParam:LIBFPTR_RT_SELL];
[fptr setParam:LIBFPTR_PARAM_RECEIPT_ELECTRONICALLY, boolParam:true];
[fptr setParam:1008, NSStringParam:@"client@mail.ru"];
[fptr openReceipt]
fptr.setParam(Constants.LIBFPTR_PARAM_RECEIPT_TYPE, Constants.LIBFPTR_RT_SELL);
fptr.setParam(Constants.LIBFPTR_PARAM_RECEIPT_ELECTRONICALLY, true);
fptr.setParam(1008, "client@mail.ru");
fptr.openReceipt();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_RECEIPT_TYPE, fptr.LIBFPTR_RT_SELL);
fptr.setParam(fptr.LIBFPTR_PARAM_RECEIPT_ELECTRONICALLY, True);
fptr.setParam(1008, 'client@mail.ru');
fptr.openReceipt;
end;
Открытие чека коррекции прихода (ФФД 1.0 и ФФД 1.05)
libfptr_set_param_str(fptr, 1177, L"Документ основания коррекции");
libfptr_set_param_datetime(fptr, 1178, 2018, 1, 2, 0, 0, 0);
libfptr_set_param_str(fptr, 1179, L"№1234");
libfptr_util_form_tlv(fptr);
std::vector<uchar> correctionInfo(128);
int size = libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE,
&correctionInfo[0], correctionInfo.size());
if (size > correctionInfo.size())
{
correctionInfo.resize(size);
libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE,
&correctionInfo[0], correctionInfo.size());
}
correctionInfo.resize(size);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_RECEIPT_TYPE, LIBFPTR_RT_SELL_CORRECTION);
libfptr_set_param_int(fptr, 1173, 1);
libfptr_set_param_bytearray(fptr, 1174, &correctionInfo[0], correctionInfo.size());
libfptr_open_receipt(fptr);
fptr.setParam(1177, "Документ основания коррекции")
fptr.setParam(1178, datetime.datetime(2018, 1, 2))
fptr.setParam(1179, "№1234")
fptr.utilFormTlv()
correctionInfo = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE)
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL_CORRECTION)
fptr.setParam(1173, 1)
fptr.setParam(1174, correctionInfo)
fptr.openReceipt()
Calendar c = Calendar.getInstance();
c.set(2018, 1, 2);
fptr.setParam(1177, "Документ основания коррекции");
fptr.setParam(1178, c.getTime());
fptr.setParam(1179, "№1234");
fptr.utilFormTlv();
byte[] correctionInfo = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL_CORRECTION);
fptr.setParam(1173, 1);
fptr.setParam(1174, correctionInfo);
fptr.openReceipt();
Calendar c = Calendar.getInstance();
c.set(2018, 1, 2);
fptr.setParam(1177, "Документ основания коррекции");
fptr.setParam(1178, c.getTime());
fptr.setParam(1179, "№1234");
fptr.utilFormTlv();
byte[] correctionInfo = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL_CORRECTION);
fptr.setParam(1173, 1);
fptr.setParam(1174, correctionInfo);
fptr.openReceipt();
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setYear:[2018 intValue]];
[components setMonth:[1 intValue]];
[components setDay:[2 intValue]];
[fptr setParam:1177, NSStringParam:@"Документ основания коррекции"];
[fptr setParam:1178, NSDateParam:[calendar dateFromComponents:components]];
[fptr setParam:1179, NSStringParam:@"№1234"];
[fptr utilFormTlv];
NSData *correctionInfo = [fptr getParamByteArray:LIBFPTR_PARAM_TAG_VALUE];
[fptr setParam:LIBFPTR_PARAM_RECEIPT_TYPE, intParam:LIBFPTR_RT_SELL_CORRECTION];
[fptr setParam:1173, intParam:1];
[fptr setParam:1174, NSDataParam:correctionInfo];
[fptr openReceipt];
DateTime date = new DateTime(2018, 1, 2);
fptr.setParam(1177, "Документ основания коррекции");
fptr.setParam(1178, date);
fptr.setParam(1179, "№1234");
fptr.utilFormTlv();
byte[] correctionInfo = fptr.getParamByteArray(Constants.LIBFPTR_PARAM_TAG_VALUE);
fptr.setParam(Constants.LIBFPTR_PARAM_RECEIPT_TYPE, Constants.LIBFPTR_RT_SELL_CORRECTION);
fptr.setParam(1173, 1);
fptr.setParam(1174, correctionInfo);
fptr.openReceipt();
var
date: TDateTime;
correctionInfo: Variant;
begin
date := StrToDate('02.01.2018');
fptr.setParam(1177, 'Документ основания коррекции');
fptr.setParam(1178, date);
fptr.setParam(1179, '№1234');
fptr.utilFormTlv;
correctionInfo := fptr.getParamByteArray(fptr.LIBFPTR_PARAM_TAG_VALUE);
fptr.setParam(fptr.LIBFPTR_PARAM_RECEIPT_TYPE, fptr.LIBFPTR_RT_SELL_CORRECTION);
fptr.setParam(1173, 1);
fptr.setParam(1174, correctionInfo);
fptr.openReceipt;
end;
Для открытия чека требуется вызвать метод openReceipt() с указанием типа чека (параметр LIBFPTR_PARAM_RECEIPT_TYPE).
Тип чека (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 - чек коррекции возврата расхода
Чтобы чек не печатался (электронный чек), нужно установить параметру LIBFPTR_PARAM_RECEIPT_ELECTRONICALLY значение true и передать реквизит 1008 (электронный адрес или телефон получателя).
Чтобы зарегистрировать документ возврата товаров, проданных со ставкой НДС 18% или НДС расчитанный 18/118 после 2019.01.01 00:00:00, можно выставить флаг LIBFPTR_PARAM_USE_VAT18. Подробнее в разделе Алгоритмы.
Также в данном методе можно передать следующие реквизиты (для всех чеков, кроме чеков коррекции):
Реквизит | Описание | Тип |
---|---|---|
1008 | Электронный адрес / телефон получателя | string |
1227 | Наименование получателя | string |
1228 | ИНН получателя | string |
1117 | Электронный адрес отправителя чека | string |
1055 | Применяемая система налогообложения (СНО) | int |
1187 | Место расчета | string |
1060 | Адрес сайта ФНС | string |
1057 | Признак агента | int |
1171 | Телефон поставщика | string |
1044 | Операция платежного агента | string |
1073 | Телефон платежного агента (может повторяться несколько раз) | string |
1005 | Адрес оператора перевода | string |
1016 | ИНН оператора перевода | string |
1026 | Наименование оператора перевода | string |
1075 | Телефон оператора перевода (может повторяться несколько раз) | string |
1074 | Телефон оператора по приему платежей (может повторяться несколько раз) | string |
1084 | Дополнительный реквизит пользователя | bytearray |
1192 | Дополнительный реквизит чека (БСО) | string |
Реквизит 1084 составной и состоит из следующих реквизитов:
Реквизит | Описание | Тип |
---|---|---|
1085 | Наименование дополнительного реквизита пользователя | string |
1086 | Значение дополнительного реквизита пользователя | string |
Реквизит 1055 может принимать следующие значения:
- LIBFPTR_TT_DEFAULT - по умолчанию
- LIBFPTR_TT_OSN - общая СНО
- LIBFPTR_TT_USN_INCOME - упрощенная Доход
- LIBFPTR_TT_USN_INCOME_OUTCOME - упрощенная Доход минус Расход
- LIBFPTR_TT_ENVD - ЕНВД
- LIBFPTR_TT_ESN - единый сельскохозяйственный налог
- LIBFPTR_TT_PATENT - патентная СНО
Реквизит 1057 может принимать следующие значения:
- LIBFPTR_AT_NONE - признак агента отсутствует
- LIBFPTR_AT_BANK_PAYING_AGENT - банковский платежный агент
- LIBFPTR_AT_BANK_PAYING_SUBAGENT - банковский платежный субагент
- LIBFPTR_AT_PAYING_AGENT - платежный агент
- LIBFPTR_AT_PAYING_SUBAGENT - платежный субагент
- LIBFPTR_AT_ATTORNEY - поверенный
- LIBFPTR_AT_COMMISSION_AGENT - комиссионер
- LIBFPTR_AT_ANOTHER - другой тип агента
Для чеков коррекций допустимы следующие реквизиты:
Реквизит | Описание | Тип |
---|---|---|
1055 | Применяемая система налогообложения | int |
1173 | Тип коррекции | int |
1174 | Основание для коррекции | bytearray |
Реквизит 1174 составной и состоит из следующих реквизитов:
Реквизит | Описание | Тип |
---|---|---|
1177 | Наименование основания для коррекции | string |
1178 | Дата документа основания коррекции | datetime |
1179 | Номер документа основания коррекции | string |
Результатом команды будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_SHIFT_AUTO_OPENED | true, если при выполнении операции была автоматически открыта смена в ККТ | bool |
Отменить чек
Отмена чека
libfptr_cancel_receipt(fptr);
fptr.cancelReceipt()
fptr.cancelReceipt();
fptr.cancelReceipt();
[fptr cancelReceipt]
fptr.cancelReceipt();
begin
fptr.cancelReceipt;
end;
Для отмены чека требуется вызвать метод cancelReceipt().
Зарегистрировать позицию
Регистрация позиции без указания суммы налога
libfptr_set_param_str(fptr, LIBFPTR_PARAM_COMMODITY_NAME, L"Товар");
libfptr_set_param_double(fptr, LIBFPTR_PARAM_PRICE, 100);
libfptr_set_param_double(fptr, LIBFPTR_PARAM_QUANTITY, 5.15);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_TAX_TYPE, LIBFPTR_TAX_VAT0);
libfptr_registration(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMODITY_NAME, "Товар")
fptr.setParam(IFptr.LIBFPTR_PARAM_PRICE, 100)
fptr.setParam(IFptr.LIBFPTR_PARAM_QUANTITY, 5.15)
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT0)
fptr.registration()
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMODITY_NAME, "Товар");
fptr.setParam(IFptr.LIBFPTR_PARAM_PRICE, 100);
fptr.setParam(IFptr.LIBFPTR_PARAM_QUANTITY, 5.15);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT0);
fptr.registration();
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMODITY_NAME, "Товар");
fptr.setParam(IFptr.LIBFPTR_PARAM_PRICE, 100);
fptr.setParam(IFptr.LIBFPTR_PARAM_QUANTITY, 5.15);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT0);
fptr.registration();
[fptr setParam:LIBFPTR_PARAM_COMMODITY_NAME, NSStringParam:@"Товар"];
[fptr setParam:LIBFPTR_PARAM_PRICE, doubleParam:100];
[fptr setParam:LIBFPTR_PARAM_QUANTITY, doubleParam:5.15];
[fptr setParam:LIBFPTR_PARAM_TAX_TYPE, intParam:LIBFPTR_TAX_VAT0];
[fptr registration]
fptr.setParam(Constants.LIBFPTR_PARAM_COMMODITY_NAME, "Товар");
fptr.setParam(Constants.LIBFPTR_PARAM_PRICE, 100);
fptr.setParam(Constants.LIBFPTR_PARAM_QUANTITY, 5.15);
fptr.setParam(Constants.LIBFPTR_PARAM_TAX_TYPE, Constants.LIBFPTR_TAX_VAT10);
fptr.registration();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_COMMODITY_NAME, 'Товар');
fptr.setParam(fptr.LIBFPTR_PARAM_PRICE, 100);
fptr.setParam(fptr.LIBFPTR_PARAM_QUANTITY, 5.15);
fptr.setParam(fptr.LIBFPTR_PARAM_TAX_TYPE, fptr.LIBFPTR_TAX_VAT0);
fptr.registration;
end;
Регистрация позиции с указанием суммы налога
libfptr_set_param_str(fptr, LIBFPTR_PARAM_COMMODITY_NAME, L"Товар");
libfptr_set_param_double(fptr, LIBFPTR_PARAM_PRICE, 100);
libfptr_set_param_double(fptr, LIBFPTR_PARAM_QUANTITY, 5.15);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_TAX_TYPE, LIBFPTR_TAX_VAT10);
libfptr_set_param_double(fptr, LIBFPTR_PARAM_TAX_SUM, 51.5);
libfptr_registration(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMODITY_NAME, "Товар")
fptr.setParam(IFptr.LIBFPTR_PARAM_PRICE, 100)
fptr.setParam(IFptr.LIBFPTR_PARAM_QUANTITY, 5.15)
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT10)
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_SUM, 51.5)
fptr.registration()
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMODITY_NAME, "Товар");
fptr.setParam(IFptr.LIBFPTR_PARAM_PRICE, 100);
fptr.setParam(IFptr.LIBFPTR_PARAM_QUANTITY, 5.15);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT10);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_SUM, 51.5);
fptr.registration();
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMODITY_NAME, "Товар");
fptr.setParam(IFptr.LIBFPTR_PARAM_PRICE, 100);
fptr.setParam(IFptr.LIBFPTR_PARAM_QUANTITY, 5.15);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT10);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_SUM, 51.5);
fptr.registration();
[fptr setParam:LIBFPTR_PARAM_COMMODITY_NAME, NSStringParam:@"Товар"];
[fptr setParam:LIBFPTR_PARAM_PRICE, doubleParam:100];
[fptr setParam:LIBFPTR_PARAM_QUANTITY, doubleParam:5.15];
[fptr setParam:LIBFPTR_PARAM_TAX_TYPE, intParam:LIBFPTR_TAX_VAT10];
[fptr setParam:LIBFPTR_PARAM_TAX_SUM, doubleParam:51.5];
[fptr registration]
fptr.setParam(Constants.LIBFPTR_PARAM_COMMODITY_NAME, "Товар");
fptr.setParam(Constants.LIBFPTR_PARAM_PRICE, 100);
fptr.setParam(Constants.LIBFPTR_PARAM_QUANTITY, 5.15);
fptr.setParam(Constants.LIBFPTR_PARAM_TAX_TYPE, Constants.LIBFPTR_TAX_VAT10);
fptr.setParam(Constants.LIBFPTR_PARAM_TAX_SUM, 51.5);
fptr.registration();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_COMMODITY_NAME, 'Товар');
fptr.setParam(fptr.LIBFPTR_PARAM_PRICE, 100);
fptr.setParam(fptr.LIBFPTR_PARAM_QUANTITY, 5.15);
fptr.setParam(fptr.LIBFPTR_PARAM_TAX_TYPE, fptr.LIBFPTR_TAX_VAT0);
fptr.setParam(fptr.LIBFPTR_PARAM_TAX_SUM, 51.5);
fptr.registration;
end;
Регистрация позиции без расчета суммы налога
libfptr_set_param_str(fptr, LIBFPTR_PARAM_COMMODITY_NAME, L"Товар");
libfptr_set_param_double(fptr, LIBFPTR_PARAM_PRICE, 100);
libfptr_set_param_double(fptr, LIBFPTR_PARAM_QUANTITY, 5.15);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_TAX_TYPE, LIBFPTR_TAX_VAT18);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_USE_ONLY_TAX_TYPE, true);
libfptr_registration(fptr);
// ...
libfptr_set_param_int(fptr, LIBFPTR_PARAM_TAX_TYPE, LIBFPTR_TAX_VAT18);
libfptr_set_param_double(fptr, LIBFPTR_PARAM_TAX_SUM, 78.56);
libfptr_receipt_tax(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMODITY_NAME, "Товар")
fptr.setParam(IFptr.LIBFPTR_PARAM_PRICE, 100)
fptr.setParam(IFptr.LIBFPTR_PARAM_QUANTITY, 5.15)
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT0)
fptr.setParam(IFptr.LIBFPTR_PARAM_USE_ONLY_TAX_TYPE, True)
fptr.registration()
# ...
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18)
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_SUM, 78.56)
fptr.receiptTax()
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMODITY_NAME, "Товар");
fptr.setParam(IFptr.LIBFPTR_PARAM_PRICE, 100);
fptr.setParam(IFptr.LIBFPTR_PARAM_QUANTITY, 5.15);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT0);
fptr.setParam(IFptr.LIBFPTR_PARAM_USE_ONLY_TAX_TYPE, true);
fptr.registration();
// ...
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_SUM, 78.56);
fptr.receiptTax();
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMODITY_NAME, "Товар");
fptr.setParam(IFptr.LIBFPTR_PARAM_PRICE, 100);
fptr.setParam(IFptr.LIBFPTR_PARAM_QUANTITY, 5.15);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT0);
fptr.setParam(IFptr.LIBFPTR_PARAM_USE_ONLY_TAX_TYPE, true);
fptr.registration();
// ...
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_SUM, 78.56);
fptr.receiptTax();
[fptr setParam:LIBFPTR_PARAM_COMMODITY_NAME, NSStringParam:@"Товар"];
[fptr setParam:LIBFPTR_PARAM_PRICE, doubleParam:100];
[fptr setParam:LIBFPTR_PARAM_QUANTITY, doubleParam:5.15];
[fptr setParam:LIBFPTR_PARAM_TAX_TYPE, intParam:LIBFPTR_TAX_VAT0];
[fptr setParam:LIBFPTR_PARAM_USE_ONLY_TAX_TYPE, boolParam:true];
[fptr registration]
// ...
[fptr setParam:LIBFPTR_PARAM_TAX_TYPE, intParam:LIBFPTR_TAX_VAT18];
[fptr setParam:LIBFPTR_PARAM_TAX_SUM, doubleParam:78.56];
[fptr receiptTax]
fptr.setParam(Constants.LIBFPTR_PARAM_COMMODITY_NAME, "Товар");
fptr.setParam(Constants.LIBFPTR_PARAM_PRICE, 100);
fptr.setParam(Constants.LIBFPTR_PARAM_QUANTITY, 5.15);
fptr.setParam(Constants.LIBFPTR_PARAM_TAX_TYPE, Constants.LIBFPTR_TAX_VAT0);
fptr.setParam(Constants.LIBFPTR_PARAM_USE_ONLY_TAX_TYPE, true);
fptr.registration();
// ...
fptr.setParam(Constants.LIBFPTR_PARAM_TAX_TYPE, Constants.LIBFPTR_TAX_VAT18);
fptr.setParam(Constants.LIBFPTR_PARAM_TAX_SUM, 78.56);
fptr.receiptTax();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_COMMODITY_NAME, 'Товар');
fptr.setParam(fptr.LIBFPTR_PARAM_PRICE, 100);
fptr.setParam(fptr.LIBFPTR_PARAM_QUANTITY, 5.15);
fptr.setParam(fptr.LIBFPTR_PARAM_TAX_TYPE, fptr.LIBFPTR_TAX_VAT0);
fptr.setParam(fptr.LIBFPTR_PARAM_USE_ONLY_TAX_TYPE, True);
fptr.registration;
// ...
fptr.setParam(fptr.LIBFPTR_PARAM_TAX_TYPE, fptr.LIBFPTR_TAX_VAT18);
fptr.setParam(fptr.LIBFPTR_PARAM_TAX_SUM, 78.56);
fptr.receiptTax;
end;
Регистрация позиции с агентом и поставщиком
libfptr_set_param_str(fptr, 1005, L"Улица Свободы, д.1");
libfptr_set_param_str(fptr, 1016, L"123456789047");
libfptr_set_param_str(fptr, 1026, L"ООО Оператор");
libfptr_set_param_str(fptr, 1075, L"+79161234567");
libfptr_set_param_str(fptr, 1075, L"+79169876543");
libfptr_util_form_tlv(fptr);
std::vector<uchar> agentInfo(128);
int size = libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE,
&agentInfo[0], agentInfo.size());
if (size > agentInfo.size())
{
agentInfo.resize(size);
libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE,
&agentInfo[0], agentInfo.size());
}
agentInfo.resize(size);
libfptr_set_param_str(fptr, 1171, L"+79113456789");
libfptr_set_param_str(fptr, 1225, L"ООО Поставщик");
libfptr_util_form_tlv(fptr);
std::vector<uchar> suplierInfo;
int size = libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE,
&suplierInfo[0], suplierInfo.size());
if (size > suplierInfo.size())
{
suplierInfo.resize(size);
libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE,
&suplierInfo[0], suplierInfo.size());
}
suplierInfo.resize(size);
libfptr_set_param_str(fptr, LIBFPTR_PARAM_COMMODITY_NAME, L"Товар");
libfptr_set_param_double(fptr, LIBFPTR_PARAM_PRICE, 100);
libfptr_set_param_double(fptr, LIBFPTR_PARAM_QUANTITY, 5.15);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_TAX_TYPE, LIBFPTR_TAX_VAT18);
libfptr_set_param_int(fptr, 1222, LIBFPTR_AT_ANOTHER);
libfptr_set_param_bytearray(fptr, 1223, &agentInfo[0]. agentInfo.size());
libfptr_set_param_str(fptr, 1226, L"123456789047");
libfptr_set_param_bytearray(fptr, 1224, &suplierInfo[0]. suplierInfo.size());
libfptr_registration(fptr);
fptr.setParam(1005, "Улица Свободы, д.1")
fptr.setParam(1016, "123456789047")
fptr.setParam(1026, "ООО Оператор")
fptr.setParam(1075, "+79161234567")
fptr.setParam(1075, "+79169876543")
fptr.utilFormTlv()
agentInfo = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE)
fptr.setParam(1171, "+79113456789")
fptr.setParam(1225, "ООО Поставщик")
fptr.utilFormTlv()
suplierInfo = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE)
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMODITY_NAME, "Товар")
fptr.setParam(IFptr.LIBFPTR_PARAM_PRICE, 100)
fptr.setParam(IFptr.LIBFPTR_PARAM_QUANTITY, 5.15)
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18)
fptr.setParam(1222, IFptr.LIBFPTR_AT_ANOTHER)
fptr.setParam(1223, agentInfo)
fptr.setParam(1226, "123456789047")
fptr.setParam(1224, suplierInfo)
fptr.registration()
fptr.setParam(1005, "Улица Свободы, д.1");
fptr.setParam(1016, "123456789047");
fptr.setParam(1026, "ООО Оператор");
fptr.setParam(1075, "+79161234567");
fptr.setParam(1075, "+79169876543");
fptr.utilFormTlv();
byte[] agentInfo = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE);
fptr.setParam(1171, "+79113456789");
fptr.setParam(1225, "ООО Поставщик");
fptr.utilFormTlv();
byte[] suplierInfo = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE);
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMODITY_NAME, "Товар");
fptr.setParam(IFptr.LIBFPTR_PARAM_PRICE, 100);
fptr.setParam(IFptr.LIBFPTR_PARAM_QUANTITY, 5.15);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18);
fptr.setParam(1222, IFptr.LIBFPTR_AT_ANOTHER);
fptr.setParam(1223, agentInfo);
fptr.setParam(1226, "123456789047");
fptr.setParam(1224, suplierInfo);
fptr.registration();
fptr.setParam(1005, "Улица Свободы, д.1");
fptr.setParam(1016, "123456789047");
fptr.setParam(1026, "ООО Оператор");
fptr.setParam(1075, "+79161234567");
fptr.setParam(1075, "+79169876543");
fptr.utilFormTlv();
byte[] agentInfo = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE);
fptr.setParam(1171, "+79113456789");
fptr.setParam(1225, "ООО Поставщик");
fptr.utilFormTlv();
byte[] suplierInfo = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE);
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMODITY_NAME, "Товар");
fptr.setParam(IFptr.LIBFPTR_PARAM_PRICE, 100);
fptr.setParam(IFptr.LIBFPTR_PARAM_QUANTITY, 5.15);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18);
fptr.setParam(1222, IFptr.LIBFPTR_AT_ANOTHER);
fptr.setParam(1223, agentInfo);
fptr.setParam(1226, "123456789047");
fptr.setParam(1224, suplierInfo);
fptr.registration();
[fptr setParam:1005, NSStringParam:@"Улица Свободы, д.1"];
[fptr setParam:1016, NSStringParam:@"123456789047"];
[fptr setParam:1026, NSStringParam:@"ООО Оператор"];
[fptr setParam:1075, NSStringParam:@"+79161234567"];
[fptr setParam:1075, NSStringParam:@"+79169876543"];
[fptr utilFormTlv];
NSData *agentInfo = [fptr getParamByteArray:LIBFPTR_PARAM_TAG_VALUE];
[fptr setParam:1171, NSStringParam:@"+79113456789"];
[fptr setParam:1225, NSStringParam:@"ООО Поставщик"];
[fptr utilFormTlv];
NSData *suplierInfo = [fptr getParamByteArray:LIBFPTR_PARAM_TAG_VALUE];
[fptr setParam:LIBFPTR_PARAM_COMMODITY_NAME, NSStringParam:@"Товар"];
[fptr setParam:LIBFPTR_PARAM_PRICE, doubleParam:100];
[fptr setParam:LIBFPTR_PARAM_QUANTITY, doubleParam:5.15];
[fptr setParam:LIBFPTR_PARAM_TAX_TYPE, intParam:LIBFPTR_TAX_VAT18];
[fptr setParam:1222, intParam:LIBFPTR_AT_ANOTHER];
[fptr setParam:1223, NSDataParam:agentInfo];
[fptr setParam:1226, NSStringParam:@"123456789047"];
[fptr setParam:1224, NSDataParam:suplierInfo];
[fptr registration]
fptr.setParam(1005, "Улица Свободы, д.1");
fptr.setParam(1016, "123456789047");
fptr.setParam(1026, "ООО Оператор");
fptr.setParam(1075, "+79161234567");
fptr.setParam(1075, "+79169876543");
fptr.utilFormTlv();
byte[] agentInfo = fptr.getParamByteArray(Constants.LIBFPTR_PARAM_TAG_VALUE);
fptr.setParam(1171, "+79113456789");
fptr.setParam(1225, "ООО Поставщик");
fptr.utilFormTlv();
byte[] suplierInfo = fptr.getParamByteArray(Constants.LIBFPTR_PARAM_TAG_VALUE);
fptr.setParam(Constants.LIBFPTR_PARAM_COMMODITY_NAME, "Товар");
fptr.setParam(Constants.LIBFPTR_PARAM_PRICE, 100);
fptr.setParam(Constants.LIBFPTR_PARAM_QUANTITY, 5.15);
fptr.setParam(Constants.LIBFPTR_PARAM_TAX_TYPE, Constants.LIBFPTR_TAX_VAT18);
fptr.setParam(1222, Constants.LIBFPTR_AT_ANOTHER);
fptr.setParam(1223, agentInfo);
fptr.setParam(1226, "123456789047");
fptr.setParam(1224, suplierInfo);
fptr.registration();
var
agentInfo: Variant;
suplierInfo: Variant;
begin
fptr.setParam(1005, 'Улица Свободы, д.1');
fptr.setParam(1016, '123456789047');
fptr.setParam(1026, 'ООО Оператор');
fptr.setParam(1075, '+79161234567');
fptr.setParam(1075, '+79169876543');
fptr.utilFormTlv;
agentInfo := fptr.getParamByteArray(fptr.LIBFPTR_PARAM_TAG_VALUE);
fptr.setParam(1171, '+79113456789');
fptr.setParam(1225, 'ООО Поставщик');
fptr.utilFormTlv;
suplierInfo := fptr.getParamByteArray(fptr.LIBFPTR_PARAM_TAG_VALUE);
fptr.setParam(fptr.LIBFPTR_PARAM_COMMODITY_NAME, 'Товар');
fptr.setParam(fptr.LIBFPTR_PARAM_PRICE, 100);
fptr.setParam(fptr.LIBFPTR_PARAM_QUANTITY, 5.15);
fptr.setParam(fptr.LIBFPTR_PARAM_TAX_TYPE, fptr.LIBFPTR_TAX_VAT18);
fptr.setParam(1222, fptr.LIBFPTR_AT_ANOTHER);
fptr.setParam(1223, agentInfo);
fptr.setParam(1226, '123456789047');
fptr.setParam(1224, suplierInfo);
fptr.registration;
end;
Для регистрации позиции требуется вызвать метод registration().
Обязательными входными параметрами для метода являются:
- LIBFPTR_PARAM_COMMODITY_NAME - название товара
- LIBFPTR_PARAM_PRICE - цена за единицу
- LIBFPTR_PARAM_QUANTITY - количество единиц товара
- LIBFPTR_PARAM_TAX_TYPE - номер налоговой ставки
Тип налога (LIBFPTR_PARAM_TAX_TYPE) может принимать следующие значения:
- LIBFPTR_TAX_DEPARTMENT - тип, привязанный к секции товара
- LIBFPTR_TAX_VAT18 - НДС 18%
- LIBFPTR_TAX_VAT10 - НДС 10%
- LIBFPTR_TAX_VAT118 - НДС расчитанный 18/118
- LIBFPTR_TAX_VAT110 - НДС расчитанный 10/110
- LIBFPTR_TAX_VAT0 - НДС 0%
- LIBFPTR_TAX_NO - не облагается
- LIBFPTR_TAX_VAT20 - НДС 20%
- LIBFPTR_TAX_VAT120 - НДС расчитанный 20/120
При передаче только этих параметров будет произведена регистрация товара с расчетом полной суммы позиции и суммы налога на стороне ККТ.
Ниже представлен список дополнительных параметров позиции (могут не поддерживаться в ККТ - в этом случае будет выдана ошибка):
- LIBFPTR_PARAM_POSITION_SUM - полная сумма позиции. Может отличаться от произведения цены на количество. В этом случае ККТ разобьет позицию на две, распределив получившуюся разницу (скидку или надбавку) между позициями.
- LIBFPTR_PARAM_DEPARTMENT - номер отдела
- LIBFPTR_PARAM_TAX_SUM - сумма налога. При передаче значения 0 рассчитывается автоматически
- LIBFPTR_PARAM_USE_ONLY_TAX_TYPE - регистрировать в ФН только ставку налога. В этом случае требуется до закрытия чека зарегистрировать сумму налога по данной ставке с помощью метода receiptTax()
- LIBFPTR_PARAM_TAX_MODE - способ начисления налога. Параметр принимает следующие значения:
- LIBFPTR_TM_POSITION - на позицию целиком
- LIBFPTR_TM_UNIT - на единицу товара
- LIBFPTR_PARAM_INFO_DISCOUNT_SUM - информация о скидке/надбавке. Параметр не влияет на итоговую сумму позиции, просто будет напечатана информационная строка о сумме скидки/надбавки.
- LIBFPTR_PARAM_COMMODITY_PIECE - флаг штучного товара. В количестве не будут напечатаны нули в дробной части.
- LIBFPTR_PARAM_CHECK_SUM - флаг проверки наличности в ДЯ при регистрации позиции. По умолчанию 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 |
Реквизит 1222 может принимать следующие значения:
- LIBFPTR_AT_NONE - признак агента отсутствует
- LIBFPTR_AT_BANK_PAYING_AGENT - банковский платежный агент
- LIBFPTR_AT_BANK_PAYING_SUBAGENT - банковский платежный субагент
- LIBFPTR_AT_PAYING_AGENT - платежный агент
- LIBFPTR_AT_PAYING_SUBAGENT - платежный субагент
- LIBFPTR_AT_ATTORNEY - поверенный
- LIBFPTR_AT_COMMISSION_AGENT - комиссионер
- LIBFPTR_AT_ANOTHER - другой тип агента
Реквизит 1223 составной и состоит из следующих реквизитов:
Реквизит | Описание | Тип |
---|---|---|
1005 | Адрес оператора перевода | string |
1016 | ИНН оператора перевода | string |
1026 | Наименование оператора перевода | string |
1044 | Операция платежного агента | string |
1073 | Телефон платежного агента (может повторяться несколько раз) | string |
1074 | Телефон оператора по приему платежей (может повторяться несколько раз) | string |
1075 | Телефон оператора перевода (может повторяться несколько раз) | string |
Реквизит 1224 составной и состоит из следующих реквизитов:
Реквизит | Описание | Тип |
---|---|---|
1171 | Телефон поставщика (может повторяться несколько раз) | string |
1225 | Наименование поставщика | string |
Зарегистрировать оплату
Оплата чека
libfptr_set_param_int(fptr, LIBFPTR_PARAM_PAYMENT_TYPE, LIBFPTR_PT_CASH);
libfptr_set_param_double(fptr, LIBFPTR_PARAM_PAYMENT_SUM, 100.00);
libfptr_payment(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_TYPE, IFptr.LIBFPTR_PT_CASH)
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_SUM, 100.00)
fptr.payment()
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_TYPE, IFptr.LIBFPTR_PT_CASH);
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_SUM, 100.00);
fptr.payment();
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_TYPE, IFptr.LIBFPTR_PT_CASH);
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_SUM, 100.00);
fptr.payment();
[fptr setParam:LIBFPTR_PARAM_PAYMENT_TYPE, intParam:LIBFPTR_PT_CASH];
[fptr setParam:LIBFPTR_PARAM_PAYMENT_SUM, doubleParam:100.00];
[fptr payment]
fptr.setParam(Constants.LIBFPTR_PARAM_PAYMENT_TYPE, Constants.LIBFPTR_PT_CASH);
fptr.setParam(Constants.LIBFPTR_PARAM_PAYMENT_SUM, 100.00);
fptr.payment();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_PAYMENT_TYPE, fptr.LIBFPTR_PT_CASH);
fptr.setParam(fptr.LIBFPTR_PARAM_PAYMENT_SUM, 100.00);
fptr.payment;
end;
Для регистрации оплаты чека требуется вызвать метод payment(), передав способ расчета в параметре LIBFPTR_PARAM_PAYMENT_TYPE и сумму расчета в параметре LIBFPTR_PARAM_PAYMENT_SUM.
Способ расчета (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
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_REMAINDER | Неоплаченный остаток чека | double |
LIBFPTR_PARAM_CHANGE | Сдача по чеку | double |
Зарегистрировать налог на чек
Регистрация налога на чек
libfptr_set_param_int(fptr, LIBFPTR_PARAM_TAX_TYPE, LIBFPTR_TAX_VAT18);
libfptr_set_param_double(fptr, LIBFPTR_PARAM_TAX_SUM, 100.00);
libfptr_receipt_tax(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18)
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_SUM, 100.00)
fptr.receiptTax()
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_SUM, 100.00);
fptr.receiptTax();
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_SUM, 100.00);
fptr.receiptTax();
[fptr setParam:LIBFPTR_PARAM_TAX_TYPE, intParam:LIBFPTR_TAX_VAT18];
[fptr setParam:LIBFPTR_PARAM_TAX_SUM, doubleParam:100.00];
[fptr receiptTax]
fptr.setParam(Constants.LIBFPTR_PARAM_TAX_TYPE, Constants.LIBFPTR_TAX_VAT18);
fptr.setParam(Constants.LIBFPTR_PARAM_TAX_SUM, 100.00);
fptr.receiptTax();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_TAX_TYPE, fptr.LIBFPTR_TAX_VAT18);
fptr.setParam(fptr.LIBFPTR_PARAM_TAX_SUM, 100.00);
fptr.receiptTax;
end;
Для регистрации налога на чек требуется вызвать метод receiptTax(), передав тип налога в параметре LIBFPTR_PARAM_TAX_TYPE и сумму налога в параметре LIBFPTR_PARAM_TAX_SUM.
Тип налога (LIBFPTR_PARAM_TAX_TYPE) может принимать следующие значения:
- LIBFPTR_TAX_VAT18 - НДС 18%
- LIBFPTR_TAX_VAT10 - НДС 10%
- LIBFPTR_TAX_VAT118 - НДС расчитанный 18/118
- LIBFPTR_TAX_VAT110 - НДС расчитанный 10/110
- LIBFPTR_TAX_VAT0 - НДС 0%
- LIBFPTR_TAX_NO - не облагается
- LIBFPTR_TAX_VAT20 - НДС 20%
- LIBFPTR_TAX_VAT120 - НДС расчитанный 20/120
Зарегистрировать итог
Регистрация итога чека
libfptr_set_param_double(fptr, LIBFPTR_PARAM_SUM, 1000.00);
libfptr_receipt_total(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_SUM, 1000.00)
fptr.receiptTotal()
fptr.setParam(IFptr.LIBFPTR_PARAM_SUM, 1000.00);
fptr.receiptTotal();
fptr.setParam(IFptr.LIBFPTR_PARAM_SUM, 1000.00);
fptr.receiptTotal();
[fptr setParam:LIBFPTR_PARAM_SUM, intParam:1000.00];
[fptr receiptTotal]
fptr.setParam(Constants.LIBFPTR_PARAM_SUM, 1000.00);
fptr.receiptTotal();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_SUM, 1000.00);
fptr.receiptTotal;
end;
Для регистрации итога чека требуется вызвать метод receiptTotal(), передав сумму чека в параметре LIBFPTR_PARAM_SUM.
Допускается регистрация итога меньше суммы чека, но только в рамках копеек. Т.е., если общая сумма чека равна 1000.57, то можно зарегистрировать итог от 1000.00 до 1000.57.
Метод не является обязательным. Если его не использовать, сумма чека будет посчитана автоматически, без округлений копеек.
Закрыть чек
Закрытие частично оплаченного или неоплаченного чека
libfptr_set_param_int(fptr, LIBFPTR_PARAM_PAYMENT_TYPE, LIBFPTR_PT_ELECTRONICALLY);
libfptr_close_receipt(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_TYPE, IFptr.LIBFPTR_PT_ELECTRONICALLY)
fptr.closeReceipt()
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_TYPE, IFptr.LIBFPTR_PT_ELECTRONICALLY);
fptr.closeReceipt();
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_TYPE, IFptr.LIBFPTR_PT_ELECTRONICALLY);
fptr.closeReceipt();
[fptr setParam:LIBFPTR_PARAM_PAYMENT_TYPE, intParam:LIBFPTR_PT_ELECTRONICALLY];
[fptr closeReceipt]
fptr.setParam(Constants.LIBFPTR_PARAM_PAYMENT_TYPE, Constants.LIBFPTR_PT_ELECTRONICALLY);
fptr.closeReceipt();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_PAYMENT_TYPE, fptr.LIBFPTR_PT_ELECTRONICALLY);
fptr.closeReceipt;
end;
Закрытие полностью оплаченного чека
libfptr_close_receipt(fptr);
fptr.closeReceipt()
fptr.closeReceipt();
fptr.closeReceipt();
[fptr closeReceipt]
fptr.closeReceipt();
begin
fptr.closeReceipt;
end;
Для закрытия чека требуется вызвать метод closeReceipt().
Если чек оплачен не полность или не оплачен совсем (не зарегистрирована ни одна оплата), то чек будет автоматически оплачен / доплачен заданным в параметре LIBFPTR_PARAM_PAYMENT_TYPE типом оплаты и закрыт. Если в этом случае способ расчета не передан, будет использован наличный способ расчета (LIBFPTR_PT_CASH). Если чек уже полностью оплачен, то значение параметра LIBFPTR_PARAM_PAYMENT_TYPE ни на что не влияет.
Проверить закрытие документа
Проверка закрытия документа (на примере закрытия фискального чека)
// Вспомогательная функция для чтения текста ошибки
std::wstring getErrorDescription(libfptr_handle fptr)
{
std::vector<wchar_t> str(32);
int size = libfptr_error_description(fptr, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_error_description(fptr, &str[0], str.size());
}
return std::wstring(&str[0]);
}
libfptr_close_receipt(fptr);
while (libfptr_check_document_closed(fptr) < 0) {
// Не удалось проверить состояние документа. Вывести пользователю текст ошибки, попросить устранить неполадку и повторить запрос
std::wcout << getErrorDescription(fptr) << std::endl;
continue;
}
if (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_DOCUMENT_CLOSED) == 0) {
// Документ не закрылся. Требуется его отменить (если это чек) и сформировать заново
libfptr_cancel_receipt(fptr);
return;
}
if (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_DOCUMENT_PRINTED) == 0) {
// Можно сразу вызвать метод допечатывания документа, он завершится с ошибкой, если это невозможно
while (libfptr_continue_print(fptr) < 0) {
// Если не удалось допечатать документ - показать пользователю ошибку и попробовать еще раз.
std::wcout << L"Не удалось напечатать документ (Ошибка \""<< getErrorDescription(fptr) << L"\"). Устраните неполадку и повторите.";
continue;
}
}
fptr.closeReceipt()
while fptr.checkDocumentClosed() < 0:
# Не удалось проверить состояние документа. Вывести пользователю текст ошибки, попросить устранить неполадку и повторить запрос
print(fptr.errorDescription())
continue
if not fptr.getParamBool(IFptr.LIBFPTR_PARAM_DOCUMENT_CLOSED):
# Документ не закрылся. Требуется его отменить (если это чек) и сформировать заново
fptr.cancelReceipt()
return
if not fptr.getParamBool(IFptr.LIBFPTR_PARAM_DOCUMENT_PRINTED):
# Можно сразу вызвать метод допечатывания документа, он завершится с ошибкой, если это невозможно
while fptr.continuePrint() < 0:
# Если не удалось допечатать документ - показать пользователю ошибку и попробовать еще раз.
print('Не удалось напечатать документ (Ошибка "%s"). Устраните неполадку и повторите.', fptr.errorDescription())
continue
fptr.closeReceipt();
while (fptr.checkDocumentClosed() < 0) {
// Не удалось проверить состояние документа. Вывести пользователю текст ошибки, попросить устранить неполадку и повторить запрос
System.out.println(fptr.errorDescription());
continue;
}
if (!fptr.getParamBool(IFptr.LIBFPTR_PARAM_DOCUMENT_CLOSED)) {
// Документ не закрылся. Требуется его отменить (если это чек) и сформировать заново
fptr.cancelReceipt();
return;
}
if (!fptr.getParamBool(IFptr.LIBFPTR_PARAM_DOCUMENT_PRINTED)) {
// Можно сразу вызвать метод допечатывания документа, он завершится с ошибкой, если это невозможно
while (fptr.continuePrint() < 0) {
// Если не удалось допечатать документ - показать пользователю ошибку и попробовать еще раз.
System.out.println(String.format("Не удалось напечатать документ (Ошибка \"%s\"). Устраните неполадку и повторите.", fptr.errorDescription()));
continue;
}
}
fptr.closeReceipt();
while (fptr.checkDocumentClosed() < 0) {
// Не удалось проверить состояние документа. Вывести пользователю текст ошибки, попросить устранить неполадку и повторить запрос
Log.d(TAG, fptr.errorDescription());
continue;
}
if (!fptr.getParamBool(IFptr.LIBFPTR_PARAM_DOCUMENT_CLOSED)) {
// Документ не закрылся. Требуется его отменить (если это чек) и сформировать заново
fptr.cancelReceipt();
return;
}
if (!fptr.getParamBool(IFptr.LIBFPTR_PARAM_DOCUMENT_PRINTED)) {
// Можно сразу вызвать метод допечатывания документа, он завершится с ошибкой, если это невозможно
while (fptr.continuePrint() < 0) {
// Если не удалось допечатать документ - показать пользователю ошибку и попробовать еще раз.
Log.d(TAG, String.format("Не удалось напечатать документ (Ошибка \"%s\"). Устраните неполадку и повторите.", fptr.errorDescription()));
continue;
}
}
[fptr closeReceipt];
while ([fptr checkReceiptClosed] < 0) {
// Не удалось проверить состояние документа. Вывести пользователю текст ошибки, попросить устранить неполадку и повторить запрос
NSLog([fptr errorDescription]);
continue;
}
if (![fptr getParamBool:LIBFPTR_PARAM_DOCUMENT_CLOSED]) {
// Документ не закрылся. Требуется его отменить (если это чек) и сформировать заново
[fptr cancelReceipt];
return;
}
if (![fptr getParamBool:LIBFPTR_PARAM_DOCUMENT_PRINTED]) {
// Можно сразу вызвать метод допечатывания документа, он завершится с ошибкой, если это невозможно
while ([fptr continuePrint] < 0) {
// Если не удалось допечатать документ - показать пользователю ошибку и попробовать еще раз.
NSLog(@"Не удалось напечатать документ (Ошибка \"%@\"). Устраните неполадку и повторите.", [fptr errorDescription]);
continue;
}
}
fptr.closeReceipt();
while (fptr.checkDocumentClosed() < 0)
{
// Не удалось проверить состояние документа. Вывести пользователю текст ошибки, попросить устранить неполадку и повторить запрос
Console.WriteLine(fptr.errorDescription());
continue;
}
if (!fptr.getParamBool(Constants.LIBFPTR_PARAM_DOCUMENT_CLOSED))
{
// Документ не закрылся. Требуется его отменить (если это чек) и сформировать заново
fptr.cancelReceipt();
return;
}
if (!fptr.getParamBool(Constants.LIBFPTR_PARAM_DOCUMENT_PRINTED))
{
// Можно сразу вызвать метод допечатывания документа, он завершится с ошибкой, если это невозможно
while (fptr.continuePrint() < 0)
{
// Если не удалось допечатать документ - показать пользователю ошибку и попробовать еще раз.
Console.WriteLine(String.Format("Не удалось напечатать документ (Ошибка \"{0}\"). Устраните неполадку и повторите.", fptr.errorDescription()));
continue;
}
}
begin
fptr.closeReceipt;
While fptr.checkDocumentClosed <> 0 do
begin
// Не удалось проверить состояние документа. Вывести пользователю текст ошибки, попросить устранить неполадку и повторить запрос
showmessage(fptr.errorDescription);
Continue;
end;
if not fptr.getParamBool(fptr.LIBFPTR_PARAM_DOCUMENT_CLOSED) then
begin
// Документ не закрылся. Требуется его отменить (если это чек) и сформировать заново
fptr.cancelReceipt;
exit;
end;
if not fptr.getParamBool(fptr.LIBFPTR_PARAM_DOCUMENT_PRINTED) then
begin
// Можно сразу вызвать метод допечатывания документа, он завершится с ошибкой, если это невозможно
While fptr.continuePrint <> 0 do
begin
// Если не удалось допечатать документ - показать пользователю ошибку и попробовать еще раз.
showmessage('Не удалось напечатать документ (Ошибка "' + fptr.errorDescription + '"). Устраните неполадку и повторите.');
Continue;
end;
end;
end;
В ряде ситуаций (окончание бумаги, потеря связи с ККТ в момент регистрации документа) состояние документа остается неизвестным. Он может закрыться в ФН (что является необратимой операцией), но не напечататься на чековой ленте. Данный метод сверяет счетчики ККТ с сохраненными до закрытия документа копиями и вычисляет, закрылся ли он, а также проверяет состояние печати документа. Объект драйвера не должен разрушаться, создаваться заново и перенастраиваться между вызовами методов закрытия / формирования документа и checkDocumentClosed() для корректной работы метода.
Метод применим для:
- чеков;
- отчетов закрытия и открытия смены;
- отчетов регистрации, перерегистрации ККТ, закрытия архива ФН;
- отчета о состоянии расчетов.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_DOCUMENT_CLOSED | Документ закрылся | bool |
LIBFPTR_PARAM_DOCUMENT_PRINTED | Документ допечатался | bool |
Допечатать документ
Допечатывание документа
libfptr_continue_print(fptr);
fptr.continuePrint()
fptr.continuePrint();
fptr.continuePrint();
[fptr continuePrint];
fptr.continuePrint();
begin
fptr.continuePrint;
end;
Для допечатывания фискального документа требуется вызвать метод continuePrint().
Внесения и выплаты
Внесение
libfptr_set_param_double(fptr, LIBFPTR_PARAM_SUM, 100.00);
libfptr_cash_income(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_SUM, 100.00)
fptr.cashIncome()
fptr.setParam(IFptr.LIBFPTR_PARAM_SUM, 100.00);
fptr.cashIncome();
fptr.setParam(IFptr.LIBFPTR_PARAM_SUM, 100.00);
fptr.cashIncome();
[fptr setParam:LIBFPTR_PARAM_SUM doubleParam:100.00];
[fptr cashIncome];
fptr.setParam(Constants.LIBFPTR_PARAM_SUM, 100.00);
fptr.cashIncome();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_SUM, 100.00);
fptr.cashIncome;
end;
Для регистрации внесения требуется вызвать метод cashIncome() и указать сумму внесения в параметре LIBFPTR_PARAM_SUM.
Результатом команды будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_SHIFT_AUTO_OPENED | true, если при выполнении операции была автоматически открыта смена в ККТ | bool |
Выплата
libfptr_set_param_double(fptr, LIBFPTR_PARAM_SUM, 100.00);
libfptr_cash_outcome(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_SUM, 100.00)
fptr.cashOutcome()
fptr.setParam(IFptr.LIBFPTR_PARAM_SUM, 100.00);
fptr.cashOutcome();
fptr.setParam(IFptr.LIBFPTR_PARAM_SUM, 100.00);
fptr.cashOutcome();
[fptr setParam:LIBFPTR_PARAM_SUM doubleParam:100.00];
[fptr cashOutcome];
fptr.setParam(Constants.LIBFPTR_PARAM_SUM, 100.00);
fptr.cashOutcome();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_SUM, 100.00);
fptr.cashOutcome;
end;
Для регистрации выплаты требуется вызвать метод cashOutcome() и указать сумму выплаты в параметре LIBFPTR_PARAM_SUM.
Результатом команды будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_SHIFT_AUTO_OPENED | true, если при выполнении операции была автоматически открыта смена в ККТ | bool |
Печать отчетов
Для печати отчета необходим заполнить тип отчета (параметр LIBFPTR_PARAM_REPORT_TYPE) и дополнительные параметры отчета (если они требуются) и вызвать метод report().
X-отчет
X-отчет
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_X);
libfptr_report(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_X)
fptr.report()
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_X);
fptr.report();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_X);
fptr.report();
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE, intParam:LIBFPTR_RT_X];
[fptr report];
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_X);
fptr.report();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_X);
fptr.report;
end;
Для печати X-отчета требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_X.
Копия последнего документа
Копия последнего документа
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_LAST_DOCUMENT);
libfptr_report(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_LAST_DOCUMENT)
fptr.report()
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_LAST_DOCUMENT);
fptr.report();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_LAST_DOCUMENT);
fptr.report();
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE, intParam:LIBFPTR_RT_LAST_DOCUMENT];
[fptr report];
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_LAST_DOCUMENT);
fptr.report();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_LAST_DOCUMENT);
fptr.report;
end;
Для печати копии последнего документа требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_LAST_DOCUMENT.
Отчет о состоянии расчетов
Отчет о состоянии расчетов
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_OFD_EXCHANGE_STATUS);
libfptr_report(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_OFD_EXCHANGE_STATUS)
fptr.report()
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_OFD_EXCHANGE_STATUS);
fptr.report();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_OFD_EXCHANGE_STATUS);
fptr.report();
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE, intParam:LIBFPTR_RT_OFD_EXCHANGE_STATUS];
[fptr report];
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_OFD_EXCHANGE_STATUS);
fptr.report();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_OFD_EXCHANGE_STATUS);
fptr.report;
end;
Для печати отчета о состоянии расчетов требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_OFD_EXCHANGE_STATUS.
Демо-печать
Демо-печать
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_KKT_DEMO);
libfptr_report(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_KKT_DEMO)
fptr.report()
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_KKT_DEMO);
fptr.report();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_KKT_DEMO);
fptr.report();
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE, intParam:LIBFPTR_RT_KKT_DEMO];
[fptr report];
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_KKT_DEMO);
fptr.report();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_KKT_DEMO);
fptr.report;
end;
Для демо-печати требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_KKT_DEMO.
Печать информации о ККТ
Печать информации о ККТ
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_KKT_INFO);
libfptr_report(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_KKT_INFO)
fptr.report()
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_KKT_INFO);
fptr.report();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_KKT_INFO);
fptr.report();
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE, intParam:LIBFPTR_RT_KKT_INFO];
[fptr report];
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_KKT_INFO);
fptr.report();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_KKT_INFO);
fptr.report;
end;
Для печати информации о ККТ требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_KKT_INFO.
Диагностика соединения с ОФД
Диагностика соединения с ОФД
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_OFD_TEST);
libfptr_report(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_OFD_TEST)
fptr.report()
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_OFD_TEST);
fptr.report();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_OFD_TEST);
fptr.report();
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE, intParam:LIBFPTR_RT_OFD_TEST];
[fptr report];
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_OFD_TEST);
fptr.report();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_OFD_TEST);
fptr.report;
end;
Для печати лиагностики соединения с ОФД требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_OFD_TEST.
Печать документа из ФН
Печать документа из ФН
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_FN_DOC_BY_NUMBER);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DOCUMENT_NUMBER, 12);
libfptr_report(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_FN_DOC_BY_NUMBER)
fptr.setParam(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER, 12)
fptr.report()
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_FN_DOC_BY_NUMBER);
fptr.setParam(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER, 12);
fptr.report();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_FN_DOC_BY_NUMBER);
fptr.setParam(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER, 12);
fptr.report();
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE, intParam:LIBFPTR_RT_FN_DOC_BY_NUMBER];
[fptr setParam:LIBFPTR_PARAM_DOCUMENT_NUMBER, intParam:12];
[fptr report];
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_FN_DOC_BY_NUMBER);
fptr.setParam(Constants.LIBFPTR_PARAM_DOCUMENT_NUMBER, 12);
fptr.report();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_FN_DOC_BY_NUMBER);
fptr.setParam(fptr.LIBFPTR_PARAM_DOCUMENT_NUMBER, 12);
fptr.report;
end;
Для печати документа из архива фискального накопителя требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_FN_DOC_BY_NUMBER.
Для указания номер документа используется параметр LIBFPTR_PARAM_DOCUMENT_NUMBER.
Отчет количеств
Отчет количеств
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_QUANTITY);
libfptr_report(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_QUANTITY)
fptr.report()
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_QUANTITY);
fptr.report();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_QUANTITY);
fptr.report();
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE, intParam:LIBFPTR_RT_QUANTITY];
[fptr report];
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_QUANTITY);
fptr.report();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_QUANTITY);
fptr.report;
end;
Для печати отчета количеств требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_QUANTITY.
Отчет по секциям
Отчет по секциям
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_DEPARTMENTS);
libfptr_report(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_DEPARTMENTS)
fptr.report()
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_DEPARTMENTS);
fptr.report();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_DEPARTMENTS);
fptr.report();
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE, intParam:LIBFPTR_RT_DEPARTMENTS];
[fptr report];
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_DEPARTMENTS);
fptr.report();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_DEPARTMENTS);
fptr.report;
end;
Для печати отчета по секциям требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_DEPARTMENTS.
Отчет по кассирам
Отчет по кассирам
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_OPERATORS);
libfptr_report(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_OPERATORS)
fptr.report()
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_OPERATORS);
fptr.report();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_OPERATORS);
fptr.report();
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE, intParam:LIBFPTR_RT_OPERATORS];
[fptr report];
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_OPERATORS);
fptr.report();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_OPERATORS);
fptr.report;
end;
Для печати отчета по кассирам требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_OPERATORS.
Отчет по часам
Отчет по часам
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_HOURS);
libfptr_report(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_HOURS)
fptr.report()
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_HOURS);
fptr.report();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_HOURS);
fptr.report();
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE, intParam:LIBFPTR_RT_HOURS];
[fptr report];
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_HOURS);
fptr.report();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_HOURS);
fptr.report;
end;
Для печати отчета по часам требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_HOURS.
Печать итогов регистрации / перерегистрации
Печать итогов регистрации / перерегистрации
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_FN_REGISTRATIONS);
libfptr_report(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_FN_REGISTRATIONS)
fptr.report()
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_FN_REGISTRATIONS);
fptr.report();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_FN_REGISTRATIONS);
fptr.report();
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE, intParam:LIBFPTR_RT_FN_REGISTRATIONS];
[fptr report];
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_FN_REGISTRATIONS);
fptr.report();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_FN_REGISTRATIONS);
fptr.report;
end;
Для печати итогов регистрации/перерегистрации требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_FN_REGISTRATIONS.
Счетчики итогов смены
Счетчики итогов смены
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_FN_SHIFT_TOTAL_COUNTERS);
libfptr_report(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_FN_SHIFT_TOTAL_COUNTERS)
fptr.report()
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_FN_SHIFT_TOTAL_COUNTERS);
fptr.report();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_FN_SHIFT_TOTAL_COUNTERS);
fptr.report();
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE, intParam:LIBFPTR_RT_FN_SHIFT_TOTAL_COUNTERS];
[fptr report];
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_FN_SHIFT_TOTAL_COUNTERS);
fptr.report();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_FN_SHIFT_TOTAL_COUNTERS);
fptr.report;
end;
Для печати счетчиков итогов смены требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_FN_SHIFT_TOTAL_COUNTERS.
Счетчики итогов ФН
Счетчики итогов ФН
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_FN_TOTAL_COUNTERS);
libfptr_report(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_FN_TOTAL_COUNTERS)
fptr.report()
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_FN_TOTAL_COUNTERS);
fptr.report();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_FN_TOTAL_COUNTERS);
fptr.report();
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE, intParam:LIBFPTR_RT_FN_TOTAL_COUNTERS];
[fptr report];
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_FN_TOTAL_COUNTERS);
fptr.report();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_FN_TOTAL_COUNTERS);
fptr.report;
end;
Для печати счетчиков итогов ФН требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_FN_TOTAL_COUNTERS.
Счетчики по непереданным документам
Счетчики по непереданным документам
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_FN_NOT_SENT_DOCUMENTS_COUNTERS);
libfptr_report(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_FN_NOT_SENT_DOCUMENTS_COUNTERS)
fptr.report()
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_FN_NOT_SENT_DOCUMENTS_COUNTERS);
fptr.report();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_FN_NOT_SENT_DOCUMENTS_COUNTERS);
fptr.report();
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE, intParam:LIBFPTR_RT_FN_NOT_SENT_DOCUMENTS_COUNTERS];
[fptr report];
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_FN_NOT_SENT_DOCUMENTS_COUNTERS);
fptr.report();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_FN_NOT_SENT_DOCUMENTS_COUNTERS);
fptr.report;
end;
Для печати счетчиков по непереданным документам требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_FN_NOT_SENT_DOCUMENTS_COUNTERS.
Отчет по товарам по СНО
Отчет по товарам по СНО
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_COMMODITIES_BY_TAXATION_TYPES);
libfptr_report(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_COMMODITIES_BY_TAXATION_TYPES)
fptr.report()
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_COMMODITIES_BY_TAXATION_TYPES);
fptr.report();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_COMMODITIES_BY_TAXATION_TYPES);
fptr.report();
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE, intParam:LIBFPTR_RT_COMMODITIES_BY_TAXATION_TYPES];
[fptr report];
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_COMMODITIES_BY_TAXATION_TYPES);
fptr.report();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_COMMODITIES_BY_TAXATION_TYPES);
fptr.report;
end;
Для печати отчета по товарам по СНО требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_COMMODITIES_BY_TAXATION_TYPES.
Отчет по товарам по отделам
Отчет по товарам по отделам
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_COMMODITIES_BY_DEPARTMENTS);
libfptr_report(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_COMMODITIES_BY_DEPARTMENTS)
fptr.report()
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_COMMODITIES_BY_DEPARTMENTS);
fptr.report();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_COMMODITIES_BY_DEPARTMENTS);
fptr.report();
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE, intParam:LIBFPTR_RT_COMMODITIES_BY_DEPARTMENTS];
[fptr report];
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_COMMODITIES_BY_DEPARTMENTS);
fptr.report();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_COMMODITIES_BY_DEPARTMENTS);
fptr.report;
end;
Для печати отчета по товарам по отделам требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_COMMODITIES_BY_DEPARTMENTS.
Отчет по товарам по суммам
Отчет по товарам по суммам
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_COMMODITIES_BY_SUMS);
libfptr_report(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_COMMODITIES_BY_SUMS)
fptr.report()
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_COMMODITIES_BY_SUMS);
fptr.report();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_COMMODITIES_BY_SUMS);
fptr.report();
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE, intParam:LIBFPTR_RT_COMMODITIES_BY_SUMS];
[fptr report];
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_COMMODITIES_BY_SUMS);
fptr.report();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_COMMODITIES_BY_SUMS);
fptr.report;
end;
Для печати отчета по товарам по суммам требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_COMMODITIES_BY_SUMS.
Начать служебный отчет
Начать служебный отчет
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_START_SERVICE);
libfptr_report(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_START_SERVICE)
fptr.report()
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_START_SERVICE);
fptr.report();
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_START_SERVICE);
fptr.report();
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE, intParam:LIBFPTR_RT_START_SERVICE];
[fptr report];
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_START_SERVICE);
fptr.report();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_START_SERVICE);
fptr.report;
end;
Для начала формирования служебного отчета требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_START_SERVICE.
Для его завершения необходимо вызвать метод endNonfiscalDocument().
Запрос информации из ФН
Значение реквизита регистрации
Запрос значения реквизита регистрации
libfptr_set_param_int(fptr, LIBFPTR_PARAM_FN_DATA_TYPE, LIBFPTR_FNDT_TAG_VALUE);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_TAG_NUMBER, 1018);
libfptr_fn_query_data(fptr);
std::vector<wchar_t> str(32);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_TAG_VALUE, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_TAG_VALUE, &str[0], str.size());
}
std::wstring companyVATIN = std::wstring(&str[0]);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_TAG_VALUE)
fptr.setParam(IFptr.LIBFPTR_PARAM_TAG_NUMBER, 1018)
fptr.fnQueryData()
companyVATIN = fptr.getParamString(IFptr.LIBFPTR_PARAM_TAG_VALUE)
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_TAG_VALUE);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAG_NUMBER, 1018);
fptr.fnQueryData();
String companyVATIN = fptr.getParamString(IFptr.LIBFPTR_PARAM_TAG_VALUE);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_TAG_VALUE);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAG_NUMBER, 1018);
fptr.fnQueryData();
String companyVATIN = fptr.getParamString(IFptr.LIBFPTR_PARAM_TAG_VALUE);
[fptr setParam:LIBFPTR_PARAM_FN_DATA_TYPE, intParam:LIBFPTR_FNDT_TAG_VALUE];
[fptr setParam:LIBFPTR_PARAM_TAG_NUMBER, intParam:1018];
[fptr fnQueryData];
NSString* companyVATIN = [fptr getParamString:LIBFPTR_PARAM_TAG_VALUE]
fptr.setParam(Constants.LIBFPTR_PARAM_FN_DATA_TYPE, Constants.LIBFPTR_FNDT_TAG_VALUE);
fptr.setParam(Constants.LIBFPTR_PARAM_TAG_NUMBER, 1018);
fptr.fnQueryData();
String companyVATIN = fptr.getParamString(Constants.LIBFPTR_PARAM_TAG_VALUE);
var
companyVATIN: String;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_FN_DATA_TYPE, fptr.LIBFPTR_FNDT_TAG_VALUE);
fptr.setParam(fptr.LIBFPTR_PARAM_TAG_NUMBER, 1018);
fptr.fnQueryData;
companyVATIN := fptr.getParamString(fptr.LIBFPTR_PARAM_TAG_VALUE);
end;
Для запроса одного из реквизитов регистрации требуется вызвать метод fnQueryData() с типом запроса LIBFPTR_PARAM_FN_DATA_TYPE равным LIBFPTR_FNDT_TAG_VALUE и указать номер реквизита LIBFPTR_PARAM_TAG_NUMBER.
После выполнения метода значение реквизита можно прочитать из параметра LIBFPTR_PARAM_TAG_VALUE. Тип параметра зависит от номера реквизита.
Список доступных к запросу реквизитов представлен в описании запроса Регистрационные данные.
Регистрационные данные
Запрос реквизитов регистрации ККТ
// Вспомогательная функция для чтения строковых параметров
std::wstring readStringAttribute(libfptr_fptr fptr, int paramNumber) {
std::vector<wchar_t> str(32);
int size = libfptr_get_param_str(fptr, paramNumber, &str[0], str.size());
if (size > str.size()) {
str.resize(size);
libfptr_get_param_str(fptr, paramNumber, &str[0], str.size());
}
return std::wstring(&str[0]);
}
libfptr_set_param_int(fptr, LIBFPTR_PARAM_FN_DATA_TYPE, LIBFPTR_FNDT_REG_INFO);
libfptr_fn_query_data(fptr);
int taxationTypes = libfptr_get_param_int(fptr, 1062);
int agentSign = libfptr_get_param_int(fptr, 1057);
int ffdVersion = libfptr_get_param_int(fptr, 1209);
bool autoModeSign = (libfptr_get_param_bool(fptr, 1001) != 0);
bool offlineModeSign = (libfptr_get_param_bool(fptr, 1002) != 0);
bool encryptionSign = (libfptr_get_param_bool(fptr, 1056) != 0);
bool internetSign = (libfptr_get_param_bool(fptr, 1108) != 0);
bool serviceSign = (libfptr_get_param_bool(fptr, 1109) != 0);
bool bsoSign = (libfptr_get_param_bool(fptr, 1110) != 0);
bool lotterySign = (libfptr_get_param_bool(fptr, 1126) != 0);
bool gamblingSign = (libfptr_get_param_bool(fptr, 1193) != 0);
bool exciseSign = (libfptr_get_param_bool(fptr, 1207) != 0);
bool machineInstallationSign = (libfptr_get_param_bool(fptr, 1221) != 0);
std::wstring fnsUrl = readStringAttribute(fptr, 1060);
std::wstring organizationAddress = readStringAttribute(fptr, 1009);
std::wstring organizationVATIN = readStringAttribute(fptr, 1018);
std::wstring organizationName = readStringAttribute(fptr, 1048);
std::wstring organizationEmail = readStringAttribute(fptr, 1117);
std::wstring paymentsAddress = readStringAttribute(fptr, 1187);
std::wstring registrationNumber = readStringAttribute(fptr, 1037);
std::wstring machineNumber = readStringAttribute(fptr, 1036);
std::wstring ofdVATIN = readStringAttribute(fptr, 1017);
std::wstring ofdName = readStringAttribute(fptr, 1046);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_REG_INFO)
fptr.fnQueryData()
taxationTypes = fptr.getParamInt(1062)
agentSign = fptr.getParamInt(1057)
ffdVersion = fptr.getParamInt(1209)
autoModeSign = fptr.getParamBool(1001)
offlineModeSign = fptr.getParamBool(1002)
encryptionSign = fptr.getParamBool(1056)
internetSign = fptr.getParamBool(1108)
serviceSign = fptr.getParamBool(1109)
bsoSign = fptr.getParamBool(1110)
lotterySign = fptr.getParamBool(1126)
gamblingSign = fptr.getParamBool(1193)
exciseSign = fptr.getParamBool(1207)
machineInstallationSign = fptr.getParamBool(1221)
fnsUrl = fptr.getParamString(1060)
organizationVATIN = fptr.getParamString(1018)
organizationName = fptr.getParamString(1048)
organizationEmail = fptr.getParamString(1117)
paymentsAddress = fptr.getParamString(1187)
registrationNumber = fptr.getParamString(1037)
machineNumber = fptr.getParamString(1036)
ofdVATIN = fptr.getParamString(1017)
ofdName = fptr.getParamString(1046)
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_REG_INFO);
fptr.fnQueryData();
long taxationTypes = fptr.getParamInt(1062);
long agentSign = fptr.getParamInt(1057);
long ffdVersion = fptr.getParamInt(1209);
boolean autoModeSign = fptr.getParamBool(1001);
boolean offlineModeSign = fptr.getParamBool(1002);
boolean encryptionSign = fptr.getParamBool(1056);
boolean internetSign = fptr.getParamBool(1108);
boolean serviceSign = fptr.getParamBool(1109);
boolean bsoSign = fptr.getParamBool(1110);
boolean lotterySign = fptr.getParamBool(1126);
boolean gamblingSign = fptr.getParamBool(1193);
boolean exciseSign = fptr.getParamBool(1207);
boolean machineInstallationSign = fptr.getParamBool(1221);
String fnsUrl = fptr.getParamString(1060);
String organizationVATIN = fptr.getParamString(1018);
String organizationName = fptr.getParamString(1048);
String organizationEmail = fptr.getParamString(1117);
String paymentsAddress = fptr.getParamString(1187);
String registrationNumber = fptr.getParamString(1037);
String machineNumber = fptr.getParamString(1036);
String ofdVATIN = fptr.getParamString(1017);
String ofdName = fptr.getParamString(1046);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_REG_INFO);
fptr.fnQueryData();
long taxationTypes = fptr.getParamInt(1062);
long agentSign = fptr.getParamInt(1057);
long ffdVersion = fptr.getParamInt(1209);
boolean autoModeSign = fptr.getParamBool(1001);
boolean offlineModeSign = fptr.getParamBool(1002);
boolean encryptionSign = fptr.getParamBool(1056);
boolean internetSign = fptr.getParamBool(1108);
boolean serviceSign = fptr.getParamBool(1109);
boolean bsoSign = fptr.getParamBool(1110);
boolean lotterySign = fptr.getParamBool(1126);
boolean gamblingSign = fptr.getParamBool(1193);
boolean exciseSign = fptr.getParamBool(1207);
boolean machineInstallationSign = fptr.getParamBool(1221);
String fnsUrl = fptr.getParamString(1060);
String organizationVATIN = fptr.getParamString(1018);
String organizationName = fptr.getParamString(1048);
String organizationEmail = fptr.getParamString(1117);
String paymentsAddress = fptr.getParamString(1187);
String registrationNumber = fptr.getParamString(1037);
String machineNumber = fptr.getParamString(1036);
String ofdVATIN = fptr.getParamString(1017);
String ofdName = fptr.getParamString(1046);
[fptr setParam:LIBFPTR_PARAM_FN_DATA_TYPE, intParam:LIBFPTR_FNDT_REG_INFO];
[fptr fnQueryData];
uint taxationTypes = [fptr getParamInt:1062];
uint agentSign = [fptr getParamInt:1057];
uint ffdVersion = [fptr getParamInt:1209];
bool autoModeSign = [fptr getParamBool:1001];
bool offlineModeSign = [fptr getParamBool:1002];
bool encryptionSign = [fptr getParamBool:1056];
bool internetSign = [fptr getParamBool:1108];
bool serviceSign = [fptr getParamBool:1109];
bool bsoSign = [fptr getParamBool:1110];
bool lotterySign = [fptr getParamBool:1126];
bool gamblingSign = [fptr getParamBool:1193];
bool exciseSign = [fptr getParamBool:1207];
bool machineInstallationSign = [fptr getParamBool:1221];
NSString *fnsUrl = [fptr getParamString:1060];
NSString *organizationVATIN = [fptr getParamString:1018];
NSString *organizationName = [fptr getParamString:1048];
NSString *organizationEmail = [fptr getParamString:1117];
NSString *paymentsAddress = [fptr getParamString:1187];
NSString *registrationNumber = [fptr getParamString:1037];
NSString *machineNumber = [fptr getParamString:1036];
NSString *ofdVATIN = [fptr getParamString:1017];
NSString *ofdName = [fptr getParamString:1046];
fptr.setParam(Constants.LIBFPTR_PARAM_FN_DATA_TYPE, Constants.LIBFPTR_FNDT_REG_INFO);
fptr.fnQueryData();
uint taxationTypes = fptr.getParamInt(1062);
uint agentSign = fptr.getParamInt(1057);
uint ffdVersion = fptr.getParamInt(1209);
bool autoModeSign = fptr.getParamBool(1001);
bool offlineModeSign = fptr.getParamBool(1002);
bool encryptionSign = fptr.getParamBool(1056);
bool internetSign = fptr.getParamBool(1108);
bool serviceSign = fptr.getParamBool(1109);
bool bsoSign = fptr.getParamBool(1110);
bool lotterySign = fptr.getParamBool(1126);
bool gamblingSign = fptr.getParamBool(1193);
bool exciseSign = fptr.getParamBool(1207);
bool machineInstallationSign = fptr.getParamBool(1221);
String fnsUrl = fptr.getParamString(1060);
String organizationVATIN = fptr.getParamString(1018);
String organizationName = fptr.getParamString(1048);
String organizationEmail = fptr.getParamString(1117);
String paymentsAddress = fptr.getParamString(1187);
String registrationNumber = fptr.getParamString(1037);
String machineNumber = fptr.getParamString(1036);
String ofdVATIN = fptr.getParamString(1017);
String ofdName = fptr.getParamString(1046);
var
taxationTypes: Longint;
agentSign: Longint;
ffdVersion: Longint;
autoModeSign: LongBool;
offlineModeSign: LongBool;
encryptionSign: LongBool;
internetSign: LongBool;
serviceSign: LongBool;
bsoSign: LongBool;
lotterySign: LongBool;
gamblingSign: LongBool;
exciseSign: LongBool;
machineInstallationSign: LongBool;
fnsUrl: String;
organizationVATIN: String;
organizationName: String;
organizationEmail: String;
paymentsAddress: String;
registrationNumber: String;
machineNumber: String;
ofdVATIN: String;
ofdName: String;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_FN_DATA_TYPE, fptr.LIBFPTR_FNDT_REG_INFO);
fptr.fnQueryData;
taxationTypes := fptr.getParamInt(1062);
agentSign := fptr.getParamInt(1057);
ffdVersion := fptr.getParamInt(1209);
autoModeSign := fptr.getParamBool(1001);
offlineModeSign := fptr.getParamBool(1002);
encryptionSign := fptr.getParamBool(1056);
internetSign := fptr.getParamBool(1108);
serviceSign := fptr.getParamBool(1109);
bsoSign := fptr.getParamBool(1110);
lotterySign := fptr.getParamBool(1126);
gamblingSign := fptr.getParamBool(1193);
exciseSign := fptr.getParamBool(1207);
machineInstallationSign := fptr.getParamBool(1221);
fnsUrl := fptr.getParamString(1060);
organizationVATIN := fptr.getParamString(1018);
organizationName := fptr.getParamString(1048);
organizationEmail := fptr.getParamString(1117);
paymentsAddress := fptr.getParamString(1187);
registrationNumber := fptr.getParamString(1037);
machineNumber := fptr.getParamString(1036);
ofdVATIN := fptr.getParamString(1017);
ofdName := fptr.getParamString(1046);
end;
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
1060 | Адрес сайта ФНС | string |
1009 | Адрес расчетов | string |
1018 | ИНН организации | string |
1048 | Название организации | string |
1062 | Системы налогообложения | int |
1117 | E-mail организации | string |
1057 | Признак агента | int |
1187 | Адрес места расчетов | string |
1037 | Регистрационный номер устройства | string |
1209 | Версия ФФД | int |
1001 | Признак автоматического режима | bool |
1036 | Номер автомата | string |
1002 | Признак автономного режима | bool |
1056 | Признак шифрования | bool |
1108 | Признак ККТ для расчетов в сети Интернет | bool |
1109 | Признак расчетов за услуги | bool |
1110 | Признак АС БСО | bool |
1126 | Признак проведения лотерей | bool |
1193 | Признак проведения азартных игр | bool |
1207 | Признак подакцизного товара | bool |
1221 | Признак установки принтера в автомате | bool |
1017 | ИНН ОФД | string |
1046 | Название ОФД | string |
Значение реквизита 1062 (системы налогообложения) - битовое поле, значениями которого являются одно или несколько из следующих значений:
- LIBFPTR_TT_OSN - общая СНО
- LIBFPTR_TT_USN_INCOME - упрощенная Доход
- LIBFPTR_TT_USN_INCOME_OUTCOME - упрощенная Доход минус Расход
- LIBFPTR_TT_ENVD - ЕНВД
- LIBFPTR_TT_ESN - единый сельскохозяйственный доход
- LIBFPTR_TT_PATENT - патентная СНО
Значение реквизита 1057 (признак агента) - битовое поле, значениями которого являются одно или несколько из следующих значений:
- LIBFPTR_AT_NONE - признак агента отсутствует
- LIBFPTR_AT_BANK_PAYING_AGENT - банковский платежный агент
- LIBFPTR_AT_BANK_PAYING_SUBAGENT - банковский платежный субагент
- LIBFPTR_AT_PAYING_AGENT - платежный агент
- LIBFPTR_AT_PAYING_SUBAGENT - платежный субагент
- LIBFPTR_AT_ATTORNEY - поверенный
- LIBFPTR_AT_COMMISSION_AGENT - комиссионер
- LIBFPTR_AT_ANOTHER - другой тип агента
Реквизит 1209 (версия ФФД) может принимать следующие значения:
- LIBFPTR_FFD_UNKNOWN - неизвестная
- LIBFPTR_FFD_1_0 - ФФД 1.0
- LIBFPTR_FFD_1_0_5 - ФФД 1.05
- LIBFPTR_FFD_1_1 - ФФД 1.1
Статус информационного обмена
Запрос статуса информационного обмена
libfptr_set_param_int(fptr, LIBFPTR_PARAM_FN_DATA_TYPE, LIBFPTR_FNDT_OFD_EXCHANGE_STATUS);
libfptr_fn_query_data(fptr);
int exchangeStatus = libfptr_get_param_int(fptr, LIBFPTR_PARAM_OFD_EXCHANGE_STATUS);
int unsentCount = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DOCUMENTS_COUNT);
int firstUnsentNumber = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DOCUMENT_NUMBER);
int ofdMessageRead = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_OFD_MESSAGE_READ) != 0);
int year, month, day, hour, minute, second;
libfptr_get_param_datetime(fptr, LIBFPTR_PARAM_DATE_TIME, &year, &month, &day, &hour, &minute, &second);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_OFD_EXCHANGE_STATUS)
fptr.fnQueryData()
exchangeStatus = fptr.getParamInt(IFptr.LIBFPTR_PARAM_OFD_EXCHANGE_STATUS)
unsentCount = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT)
firstUnsentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER)
ofdMessageRead = fptr.getParamBool(IFptr.LIBFPTR_PARAM_OFD_MESSAGE_READ)
dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME)
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_OFD_EXCHANGE_STATUS);
fptr.fnQueryData();
long exchangeStatus = fptr.getParamInt(IFptr.LIBFPTR_PARAM_OFD_EXCHANGE_STATUS);
long unsentCount = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
long firstUnsentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
boolean ofdMessageRead = fptr.getParamBool(IFptr.LIBFPTR_PARAM_OFD_MESSAGE_READ);
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_OFD_EXCHANGE_STATUS);
fptr.fnQueryData();
long exchangeStatus = fptr.getParamInt(IFptr.LIBFPTR_PARAM_OFD_EXCHANGE_STATUS);
long unsentCount = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
long firstUnsentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
boolean ofdMessageRead = fptr.getParamBool(IFptr.LIBFPTR_PARAM_OFD_MESSAGE_READ);
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
[fptr setParam:LIBFPTR_PARAM_FN_DATA_TYPE, intParam:LIBFPTR_FNDT_OFD_EXCHANGE_STATUS];
[fptr fnQueryData];
uint exchangeStatus = [fptr getParamInt:LIBFPTR_PARAM_OFD_EXCHANGE_STATUS];
uint unsentCount = [fptr getParamInt:LIBFPTR_PARAM_DOCUMENTS_COUNT];
uint firstUnsentNumber = [fptr getParamInt:LIBFPTR_PARAM_DOCUMENT_NUMBER];
bool ofdMessageRead = [fptr getParamBool:LIBFPTR_PARAM_OFD_MESSAGE_READ];
NSDate *dateTime = [fptr getParamDateTime:LIBFPTR_PARAM_DATE_TIME];
fptr.setParam(Constants.LIBFPTR_PARAM_FN_DATA_TYPE, Constants.LIBFPTR_FNDT_OFD_EXCHANGE_STATUS);
fptr.fnQueryData();
uint exchangeStatus = fptr.getParamInt(Constants.LIBFPTR_PARAM_OFD_EXCHANGE_STATUS);
uint unsentCount = fptr.getParamInt(Constants.LIBFPTR_PARAM_DOCUMENTS_COUNT);
uint firstUnsentNumber = fptr.getParamInt(Constants.LIBFPTR_PARAM_DOCUMENT_NUMBER);
bool ofdMessageRead = fptr.getParamBool(Constants.LIBFPTR_PARAM_OFD_MESSAGE_READ);
DateTime dateTime = fptr.getParamDateTime(Constants.LIBFPTR_PARAM_DATE_TIME);
var
exchangeStatus: Longint;
unsentCount: Longint;
firstUnsentNumber: Longint;
ofdMessageRead: LongBool;
dateTime: TDateTime;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_FN_DATA_TYPE, fptr.LIBFPTR_FNDT_OFD_EXCHANGE_STATUS);
fptr.fnQueryData;
exchangeStatus := fptr.getParamInt(fptr.LIBFPTR_PARAM_OFD_EXCHANGE_STATUS);
unsentCount := fptr.getParamInt(fptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
firstUnsentNumber := fptr.getParamInt(fptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
ofdMessageRead := fptr.getParamBool(fptr.LIBFPTR_PARAM_OFD_MESSAGE_READ);
dateTime := fptr.getParamDateTime(fptr.LIBFPTR_PARAM_DATE_TIME);
end;
Для запроса cтатуса информационного обмена с ОФД необходимо вызвать метод fnQueryData() с типом запроса LIBFPTR_PARAM_FN_DATA_TYPE равным LIBFPTR_FNDT_OFD_EXCHANGE_STATUS.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_OFD_EXCHANGE_STATUS | Статус информационного обмена | int Битовое поле:
|
LIBFPTR_PARAM_DOCUMENTS_COUNT | Количество неотправленных документов | int |
LIBFPTR_PARAM_DOCUMENT_NUMBER | Номер первого неотправленного документа | int |
LIBFPTR_PARAM_DATE_TIME | Дата и время первого неотправленного документа | datetime |
LIBFPTR_PARAM_OFD_MESSAGE_READ | Флаг наличия сообщения для ОФД | bool |
Информация о ФН
Запрос информации и статуса ФН
libfptr_set_param_int(fptr, LIBFPTR_PARAM_FN_DATA_TYPE, LIBFPTR_FNDT_FN_INFO);
libfptr_fn_query_data(fptr);
std::vector<wchar_t> str(1024);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_SERIAL_NUMBER, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_SERIAL_NUMBER, &str[0], str.size());
}
std::wstring fnSerial = std::wstring(&str[0]);
size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_FN_VERSION, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_FN_VERSION, &str[0], str.size());
}
std::wstring fnVersion = std::wstring(&str[0]);
int fnType = libfptr_get_param_int(fptr, LIBFPTR_PARAM_FN_TYPE);
int fnState = libfptr_get_param_int(fptr, LIBFPTR_PARAM_FN_STATE);
int fnFlags = libfptr_get_param_int(fptr, LIBFPTR_PARAM_FN_FLAGS);
bool fnNeedReplacement = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_FN_NEED_REPLACEMENT) != 0);
bool fnExhausted = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_FN_RESOURCE_EXHAUSTED) != 0);
bool fnMemoryOverflow = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_FN_MEMORY_OVERFLOW) != 0);
bool fnOfdTimeout = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_FN_OFD_TIMEOUT) != 0);
bool fnCriticalError = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_FN_CRITICAL_ERROR) != 0);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_FN_INFO)
fptr.fnQueryData()
fnSerial = fptr.getParamString(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER)
fnVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_FN_VERSION)
fnType = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_TYPE)
fnState = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_STATE)
fnFlags = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_FLAGS)
fnNeedReplacement = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_NEED_REPLACEMENT)
fnExhausted = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_RESOURCE_EXHAUSTED)
fnMemoryOverflow = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_MEMORY_OVERFLOW)
fnOfdTimeout = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_OFD_TIMEOUT)
fnCriticalError = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_CRITICAL_ERROR)
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_FN_INFO);
fptr.fnQueryData();
String fnSerial = fptr.getParamString(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER);
String fnVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_FN_VERSION);
long fnType = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_TYPE);
long fnState = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_STATE);
long fnFlags = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_FLAGS);
boolean fnNeedReplacement = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_NEED_REPLACEMENT);
boolean fnExhausted = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_RESOURCE_EXHAUSTED);
boolean fnMemoryOverflow = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_MEMORY_OVERFLOW);
boolean fnOfdTimeout = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_OFD_TIMEOUT);
boolean fnCriticalError = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_CRITICAL_ERROR);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_FN_INFO);
fptr.fnQueryData();
String fnSerial = fptr.getParamString(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER);
String fnVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_FN_VERSION);
long fnType = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_TYPE);
long fnState = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_STATE);
long fnFlags = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_FLAGS);
boolean fnNeedReplacement = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_NEED_REPLACEMENT);
boolean fnExhausted = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_RESOURCE_EXHAUSTED);
boolean fnMemoryOverflow = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_MEMORY_OVERFLOW);
boolean fnOfdTimeout = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_OFD_TIMEOUT);
boolean fnCriticalError = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FN_CRITICAL_ERROR);
[fptr setParam:LIBFPTR_PARAM_FN_DATA_TYPE, intParam:LIBFPTR_FNDT_FN_INFO];
[fptr fnQueryData];
NSString *fnSerial = [fptr getParamString:LIBFPTR_PARAM_SERIAL_NUMBER];
NSString *fnVersion = [fptr getParamString:LIBFPTR_PARAM_FN_VERSION];
uint fnType = [fptr getParamInt:LIBFPTR_PARAM_FN_TYPE];
uint fnState = [fptr getParamInt:LIBFPTR_PARAM_FN_STATE];
uint fnFlags = [fptr getParamInt:LIBFPTR_PARAM_FN_FLAGS];
bool fnNeedReplacement = [fptr getParamBool:LIBFPTR_PARAM_FN_NEED_REPLACEMENT];
bool fnExhausted = [fptr getParamBool:LIBFPTR_PARAM_FN_RESOURCE_EXHAUSTED];
bool fnMemoryOverflow = [fptr getParamBool:LIBFPTR_PARAM_FN_MEMORY_OVERFLOW];
bool fnOfdTimeout = [fptr getParamBool:LIBFPTR_PARAM_FN_OFD_TIMEOUT];
bool fnCriticalError = [fptr getParamBool:LIBFPTR_PARAM_FN_CRITICAL_ERROR];
fptr.setParam(Constants.LIBFPTR_PARAM_FN_DATA_TYPE, Constants.LIBFPTR_FNDT_FN_INFO);
fptr.fnQueryData();
String fnSerial = fptr.getParamString(Constants.LIBFPTR_PARAM_SERIAL_NUMBER);
String fnVersion = fptr.getParamString(Constants.LIBFPTR_PARAM_FN_VERSION);
uint fnType = fptr.getParamInt(Constants.LIBFPTR_PARAM_FN_TYPE);
uint fnState = fptr.getParamInt(Constants.LIBFPTR_PARAM_FN_STATE);
uint fnFlags = fptr.getParamInt(Constants.LIBFPTR_PARAM_FN_FLAGS);
bool fnNeedReplacement = fptr.getParamBool(Constants.LIBFPTR_PARAM_FN_NEED_REPLACEMENT);
bool fnExhausted = fptr.getParamBool(Constants.LIBFPTR_PARAM_FN_RESOURCE_EXHAUSTED);
bool fnMemoryOverflow = fptr.getParamBool(Constants.LIBFPTR_PARAM_FN_MEMORY_OVERFLOW);
bool fnOfdTimeout = fptr.getParamBool(Constants.LIBFPTR_PARAM_FN_OFD_TIMEOUT);
bool fnCriticalError = fptr.getParamBool(Constants.LIBFPTR_PARAM_FN_CRITICAL_ERROR);
var
fnSerial String;
fnVersion: String;
fnType: Longint;
fnState: Longint;
fnFlags: Longint;
fnNeedReplacement: LongBool;
fnExhausted LongBool;
fnMemoryOverflow LongBool;
fnOfdTimeout LongBool;
fnCriticalError LongBool;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_FN_DATA_TYPE, fptr.LIBFPTR_FNDT_FN_INFO);
fptr.fnQueryData;
fnSerial := fptr.getParamString(fptr.LIBFPTR_PARAM_SERIAL_NUMBER);
fnVersion := fptr.getParamString(fptr.LIBFPTR_PARAM_FN_VERSION);
fnType := fptr.getParamInt(fptr.LIBFPTR_PARAM_FN_TYPE);
fnState := fptr.getParamInt(fptr.LIBFPTR_PARAM_FN_STATE);
fnFlags := fptr.getParamInt(fptr.LIBFPTR_PARAM_FN_FLAGS);
fnNeedReplacement := fptr.getParamBool(fptr.LIBFPTR_PARAM_FN_NEED_REPLACEMENT);
fnExhausted := fptr.getParamBool(fptr.LIBFPTR_PARAM_FN_RESOURCE_EXHAUSTED);
fnMemoryOverflow := fptr.getParamBool(fptr.LIBFPTR_PARAM_FN_MEMORY_OVERFLOW);
fnOfdTimeout := fptr.getParamBool(fptr.LIBFPTR_PARAM_FN_OFD_TIMEOUT);
fnCriticalError := fptr.getParamBool(fptr.LIBFPTR_PARAM_FN_CRITICAL_ERROR);
end;
Для запроса информации и статуса ФН необходимо вызвать метод fnQueryData() с типом запроса LIBFPTR_PARAM_FN_DATA_TYPE равным LIBFPTR_FNDT_FN_INFO.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_SERIAL_NUMBER | Серийный номер ФН | string |
LIBFPTR_PARAM_FN_VERSION | Версия ФН | string |
LIBFPTR_PARAM_FN_TYPE | Тип ФН | int |
LIBFPTR_PARAM_FN_STATE | Состояние ФН | int |
LIBFPTR_PARAM_FN_FLAGS | Нерасшифрованный байт флагов ФН | int |
LIBFPTR_PARAM_FN_NEED_REPLACEMENT | Требуется срочная замена ФН | bool |
LIBFPTR_PARAM_FN_RESOURCE_EXHAUSTED | Исчерпан ресурс ФН | bool |
LIBFPTR_PARAM_FN_MEMORY_OVERFLOW | Память ФН переполнена | bool |
LIBFPTR_PARAM_FN_OFD_TIMEOUT | Превышено время ожидания ответа от ОФД | bool |
LIBFPTR_PARAM_FN_CRITICAL_ERROR | Критическая ошибка ФН | bool |
Тип ФН (LIBFPTR_PARAM_FN_TYPE) может принимать следующие значения:
- LIBFPTR_FNT_UNKNOWN - неизвестная (не удалось получить)
- LIBFPTR_FNT_DEBUG - отладочная версия
- LIBFPTR_FNT_RELEASE - боевая версия
Состояние ФН (LIBFPTR_PARAM_FN_STATE) может принимать следующие значения:
- LIBFPTR_FNS_INITIAL - настройка ФН
- LIBFPTR_FNS_CONFIGURED - готовность к активации
- LIBFPTR_FNS_FISCAL_MODE - фискальный режим
- LIBFPTR_FNS_POSTFISCAL_MODE - постфискальный режим
- LIBFPTR_FNS_ACCESS_ARCHIVE - доступ к архиву
Информация о последней регистрации / перерегистрации
Запрос информации о последней регистрации / перерегистрации
libfptr_set_param_int(fptr, LIBFPTR_PARAM_FN_DATA_TYPE, LIBFPTR_FNDT_LAST_REGISTRATION);
libfptr_fn_query_data(fptr);
int documentNumber = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DOCUMENT_NUMBER);
int registrationsCount = libfptr_get_param_int(fptr, LIBFPTR_PARAM_REGISTRATIONS_COUNT);
int year, month, day, hour, minute, second;
libfptr_get_param_datetime(fptr, LIBFPTR_PARAM_DATE_TIME, &year, &month, &day, &hour, &minute, &second);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_LAST_REGISTRATION)
fptr.fnQueryData()
documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER)
registrationsCount = fptr.getParamInt(IFptr.LIBFPTR_PARAM_REGISTRATIONS_COUNT)
dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME)
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_LAST_REGISTRATION);
fptr.fnQueryData();
long documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
long registrationsCount = fptr.getParamInt(IFptr.LIBFPTR_PARAM_REGISTRATIONS_COUNT);
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_LAST_REGISTRATION);
fptr.fnQueryData();
long documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
long registrationsCount = fptr.getParamInt(IFptr.LIBFPTR_PARAM_REGISTRATIONS_COUNT);
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
[fptr setParam:LIBFPTR_PARAM_FN_DATA_TYPE, intParam:LIBFPTR_FNDT_LAST_REGISTRATION];
[fptr fnQueryData];
uint documentNumber = [fptr getParamInt:LIBFPTR_PARAM_DOCUMENT_NUMBER];
uint registrationsCount = [fptr getParamInt:LIBFPTR_PARAM_REGISTRATIONS_COUNT];
NSDate *dateTime = [fptr getParamDateTime:LIBFPTR_PARAM_DATE_TIME];
fptr.setParam(Constants.LIBFPTR_PARAM_FN_DATA_TYPE, Constants.LIBFPTR_FNDT_LAST_REGISTRATION);
fptr.fnQueryData();
uint documentNumber = fptr.getParamInt(Constants.LIBFPTR_PARAM_DOCUMENT_NUMBER);
uint registrationsCount = fptr.getParamInt(Constants.LIBFPTR_PARAM_REGISTRATIONS_COUNT);
DateTime dateTime = fptr.getParamDateTime(Constants.LIBFPTR_PARAM_DATE_TIME);
var
documentNumber: Longint;
registrationsCount: Longint;
dateTime: TDateTime;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_FN_DATA_TYPE, fptr.LIBFPTR_FNDT_LAST_REGISTRATION);
fptr.fnQueryData;
documentNumber := fptr.getParamInt(fptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
registrationsCount := fptr.getParamInt(fptr.LIBFPTR_PARAM_REGISTRATIONS_COUNT);
dateTime := fptr.getParamDateTime(fptr.LIBFPTR_PARAM_DATE_TIME);
end;
Для запроса информации о последней регистрации / перерегистрации необходимо вызвать метод fnQueryData() с типом запроса LIBFPTR_PARAM_FN_DATA_TYPE равным LIBFPTR_FNDT_LAST_REGISTRATION.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_DOCUMENT_NUMBER | Номер документа | int |
LIBFPTR_PARAM_REGISTRATIONS_COUNT | Номер регистрации / перерегистрации | int |
LIBFPTR_PARAM_DATE_TIME | Дата и время документа | datetime |
Информация о последнем чеке
Запрос информации о последнем чеке
libfptr_set_param_int(fptr, LIBFPTR_PARAM_FN_DATA_TYPE, LIBFPTR_FNDT_LAST_RECEIPT);
libfptr_fn_query_data(fptr);
int documentNumber = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DOCUMENT_NUMBER);
int receiptType = libfptr_get_param_int(fptr, LIBFPTR_PARAM_RECEIPT_TYPE);
double receiptSum = libfptr_get_param_double(fptr, LIBFPTR_PARAM_RECEIPT_SUM);
std::vector<wchar_t> str(1024);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_FISCAL_SIGN, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_FISCAL_SIGN, &str[0], str.size());
}
std::wstring fiscalSign = std::wstring(&str[0]);
int year, month, day, hour, minute, second;
libfptr_get_param_datetime(fptr, LIBFPTR_PARAM_DATE_TIME, &year, &month, &day, &hour, &minute, &second);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_LAST_RECEIPT)
fptr.fnQueryData()
documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER)
receiptType = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE)
receiptSum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_RECEIPT_SUM)
fiscalSign = fptr.getParamString(IFptr.LIBFPTR_PARAM_FISCAL_SIGN)
dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME)
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_LAST_RECEIPT);
fptr.fnQueryData();
long documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
long receiptType = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE);
double receiptSum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_RECEIPT_SUM);
String fiscalSign = fptr.getParamString(IFptr.LIBFPTR_PARAM_FISCAL_SIGN);
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_LAST_RECEIPT);
fptr.fnQueryData();
long documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
long receiptType = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE);
double receiptSum = fptr.getParamDouble(IFptr.LIBFPTR_PARAM_RECEIPT_SUM);
String fiscalSign = fptr.getParamString(IFptr.LIBFPTR_PARAM_FISCAL_SIGN);
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
[fptr setParam:LIBFPTR_PARAM_FN_DATA_TYPE, intParam:LIBFPTR_FNDT_LAST_RECEIPT];
[fptr fnQueryData];
uint documentNumber = [fptr getParamInt:LIBFPTR_PARAM_DOCUMENT_NUMBER];
uint receiptType = [fptr getParamInt:LIBFPTR_PARAM_RECEIPT_TYPE];
double receiptSum = [fptr getParamDouble:LIBFPTR_PARAM_RECEIPT_SUM];
NSString *fiscalSign = [fptr getParamString:LIBFPTR_PARAM_FISCAL_SIGN];
NSDate *dateTime = [fptr getParamDateTime:LIBFPTR_PARAM_DATE_TIME];
fptr.setParam(Constants.LIBFPTR_PARAM_FN_DATA_TYPE, Constants.LIBFPTR_FNDT_LAST_RECEIPT);
fptr.fnQueryData();
uint documentNumber = fptr.getParamInt(Constants.LIBFPTR_PARAM_DOCUMENT_NUMBER);
uint receiptType = fptr.getParamInt(Constants.LIBFPTR_PARAM_RECEIPT_TYPE);
double receiptSum = fptr.getParamDouble(Constants.LIBFPTR_PARAM_RECEIPT_SUM);
String fiscalSign = fptr.getParamString(Constants.LIBFPTR_PARAM_FISCAL_SIGN);
DateTime dateTime = fptr.getParamDateTime(Constants.LIBFPTR_PARAM_DATE_TIME);
var
documentNumber: Longint;
receiptType: Longint;
receiptSum: Double;
fiscalSign: String;
dateTime: TDateTime;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_FN_DATA_TYPE, fptr.LIBFPTR_FNDT_LAST_RECEIPT);
fptr.fnQueryData;
documentNumber := fptr.getParamInt(fptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
receiptType := fptr.getParamInt(fptr.LIBFPTR_PARAM_RECEIPT_TYPE);
receiptSum := fptr.getParamDouble(fptr.LIBFPTR_PARAM_RECEIPT_SUM);
fiscalSign := fptr.getParamString(fptr.LIBFPTR_PARAM_FISCAL_SIGN);
dateTime := fptr.getParamDateTime(fptr.LIBFPTR_PARAM_DATE_TIME);
end;
Для запроса информации о последнем чеке в ФН необходимо вызвать метод fnQueryData() с типом запроса LIBFPTR_PARAM_FN_DATA_TYPE равным LIBFPTR_FNDT_LAST_RECEIPT.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_DOCUMENT_NUMBER | Номер документа | int |
LIBFPTR_PARAM_RECEIPT_TYPE | Тип чека | int |
LIBFPTR_PARAM_RECEIPT_SUM | Сумма чека | double |
LIBFPTR_PARAM_FISCAL_SIGN | Фискальный признак документа | string |
LIBFPTR_PARAM_DATE_TIME | Дата и время документа | datetime |
Тип чека (LIBFPTR_PARAM_RECEIPT_TYPE) может принимать следующие значения:
- LIBFPTR_RT_SELL - чек прихода
- LIBFPTR_RT_SELL_RETURN - чек возврата прихода
- LIBFPTR_RT_SELL_CORRECTION - чек коррекции прихода
- LIBFPTR_RT_BUY - чек расхода
- LIBFPTR_RT_BUY_RETURN - чек возврата расхода
- LIBFPTR_RT_BUY_CORRECTION - чек коррекции расхода
Информация о последнем документе
Запрос информации о последнем фискальном документе
libfptr_set_param_int(fptr, LIBFPTR_PARAM_FN_DATA_TYPE, LIBFPTR_FNDT_LAST_DOCUMENT);
libfptr_fn_query_data(fptr);
int documentNumber = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DOCUMENT_NUMBER);
std::vector<wchar_t> str(1024);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_FISCAL_SIGN, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_FISCAL_SIGN, &str[0], str.size());
}
std::wstring fiscalSign = std::wstring(&str[0]);
int year, month, day, hour, minute, second;
libfptr_get_param_datetime(fptr, LIBFPTR_PARAM_DATE_TIME, &year, &month, &day, &hour, &minute, &second);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_LAST_DOCUMENT)
fptr.fnQueryData()
documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER)
fiscalSign = fptr.getParamString(IFptr.LIBFPTR_PARAM_FISCAL_SIGN)
dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME)
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_LAST_DOCUMENT);
fptr.fnQueryData();
long documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
String fiscalSign = fptr.getParamString(IFptr.LIBFPTR_PARAM_FISCAL_SIGN);
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_LAST_DOCUMENT);
fptr.fnQueryData();
long documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
String fiscalSign = fptr.getParamString(IFptr.LIBFPTR_PARAM_FISCAL_SIGN);
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
[fptr setParam:LIBFPTR_PARAM_FN_DATA_TYPE, intParam:LIBFPTR_FNDT_LAST_DOCUMENT];
[fptr fnQueryData];
uint documentNumber = [fptr getParamInt:LIBFPTR_PARAM_DOCUMENT_NUMBER];
NSString *fiscalSign = [fptr getParamString:LIBFPTR_PARAM_FISCAL_SIGN];
NSDate *dateTime = [fptr getParamDateTime:LIBFPTR_PARAM_DATE_TIME];
fptr.setParam(Constants.LIBFPTR_PARAM_FN_DATA_TYPE, Constants.LIBFPTR_FNDT_LAST_DOCUMENT);
fptr.fnQueryData();
uint documentNumber = fptr.getParamInt(Constants.LIBFPTR_PARAM_DOCUMENT_NUMBER);
String fiscalSign = fptr.getParamString(Constants.LIBFPTR_PARAM_FISCAL_SIGN);
DateTime dateTime = fptr.getParamDateTime(Constants.LIBFPTR_PARAM_DATE_TIME);
var
documentNumber: Longint;
fiscalSign: String;
dateTime: TDateTime;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_FN_DATA_TYPE, fptr.LIBFPTR_FNDT_LAST_DOCUMENT);
fptr.fnQueryData;
documentNumber := fptr.getParamInt(fptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
fiscalSign := fptr.getParamString(fptr.LIBFPTR_PARAM_FISCAL_SIGN);
dateTime := fptr.getParamDateTime(fptr.LIBFPTR_PARAM_DATE_TIME);
end;
Для запроса информации о последнем чеке в ФН необходимо вызвать метод fnQueryData() с типом запроса LIBFPTR_PARAM_FN_DATA_TYPE равным LIBFPTR_FNDT_LAST_DOCUMENT.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_DOCUMENT_NUMBER | Номер документа | int |
LIBFPTR_PARAM_FISCAL_SIGN | Фискальный признак документа | string |
LIBFPTR_PARAM_DATE_TIME | Дата и время документа | datetime |
Информация о смене
Запрос информации о текущей смене в ФН
libfptr_set_param_int(fptr, LIBFPTR_PARAM_FN_DATA_TYPE, LIBFPTR_FNDT_SHIFT);
libfptr_fn_query_data(fptr);
int receiptNumber = libfptr_get_param_int(fptr, LIBFPTR_PARAM_RECEIPT_NUMBER);
int shiftNumber = libfptr_get_param_int(fptr, LIBFPTR_PARAM_SHIFT_NUMBER);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_SHIFT)
fptr.fnQueryData()
receiptNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_NUMBER)
shiftNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SHIFT_NUMBER)
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_SHIFT);
fptr.fnQueryData();
long receiptNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_NUMBER);
long shiftNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SHIFT_NUMBER);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_SHIFT);
fptr.fnQueryData();
long receiptNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_RECEIPT_NUMBER);
long shiftNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SHIFT_NUMBER);
[fptr setParam:LIBFPTR_PARAM_FN_DATA_TYPE, intParam:LIBFPTR_FNDT_SHIFT];
[fptr fnQueryData];
uint receiptNumber = [fptr getParamInt:LIBFPTR_PARAM_RECEIPT_NUMBER];
uint shiftNumber = [fptr getParamInt:LIBFPTR_PARAM_SHIFT_NUMBER];
fptr.setParam(Constants.LIBFPTR_PARAM_FN_DATA_TYPE, Constants.LIBFPTR_FNDT_SHIFT);
fptr.fnQueryData();
uint receiptNumber = fptr.getParamInt(Constants.LIBFPTR_PARAM_RECEIPT_NUMBER);
uint shiftNumber = fptr.getParamInt(Constants.LIBFPTR_PARAM_SHIFT_NUMBER);
var
receiptNumber: Longint;
shiftNumber: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_FN_DATA_TYPE, fptr.LIBFPTR_FNDT_SHIFT);
fptr.fnQueryData;
receiptNumber := fptr.getParamInt(fptr.LIBFPTR_PARAM_RECEIPT_NUMBER);
shiftNumber := fptr.getParamInt(fptr.LIBFPTR_PARAM_SHIFT_NUMBER);
end;
Для запроса информации о смене в ФН необходимо вызвать метод fnQueryData() с типом запроса LIBFPTR_PARAM_FN_DATA_TYPE равным LIBFPTR_FNDT_SHIFT.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_RECEIPT_NUMBER | Количество чеков за смену | int |
LIBFPTR_PARAM_SHIFT_NUMBER | Номер смены | int |
Количество ФД за смену
Запрос количества ФД за смену
libfptr_set_param_int(fptr, LIBFPTR_PARAM_FN_DATA_TYPE, LIBFPTR_FNDT_DOCUMENTS_COUNT_IN_SHIFT);
libfptr_fn_query_data(fptr);
int documentsCount = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DOCUMENTS_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_DOCUMENTS_COUNT_IN_SHIFT)
fptr.fnQueryData()
documentsCount = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT)
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_DOCUMENTS_COUNT_IN_SHIFT);
fptr.fnQueryData();
long documentsCount = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_DOCUMENTS_COUNT_IN_SHIFT);
fptr.fnQueryData();
long documentsCount = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
[fptr setParam:LIBFPTR_PARAM_FN_DATA_TYPE, intParam:LIBFPTR_FNDT_DOCUMENTS_COUNT_IN_SHIFT];
[fptr fnQueryData];
uint documentsCount = [fptr getParamInt:LIBFPTR_PARAM_DOCUMENTS_COUNT];
fptr.setParam(Constants.LIBFPTR_PARAM_FN_DATA_TYPE, Constants.LIBFPTR_FNDT_DOCUMENTS_COUNT_IN_SHIFT);
fptr.fnQueryData();
uint documentsCount = fptr.getParamInt(Constants.LIBFPTR_PARAM_DOCUMENTS_COUNT);
var
documentsCount: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_FN_DATA_TYPE, fptr.LIBFPTR_FNDT_DOCUMENTS_COUNT_IN_SHIFT);
fptr.fnQueryData;
documentsCount := fptr.getParamInt(fptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
end;
Для запроса количества фискальных документов за смену необходимо вызвать метод fnQueryData() с типом запроса LIBFPTR_PARAM_FN_DATA_TYPE равным LIBFPTR_FNDT_DOCUMENTS_COUNT_IN_SHIFT.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_DOCUMENTS_COUNT | Количество ФД за смену | int |
Версии ФФД
Запрос версий ФФД
libfptr_set_param_int(fptr, LIBFPTR_PARAM_FN_DATA_TYPE, LIBFPTR_FNDT_FFD_VERSIONS);
libfptr_fn_query_data(fptr);
int deviceFfdVersion = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DEVICE_FFD_VERSION);
int fnFfdVersion = libfptr_get_param_int(fptr, LIBFPTR_PARAM_FN_FFD_VERSION);
int ffdVersion = libfptr_get_param_int(fptr, LIBFPTR_PARAM_FFD_VERSION);
int maxFfdVersion = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DEVICE_MAX_FFD_VERSION);
int minFfdVersion = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DEVICE_MIN_FFD_VERSION);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_FFD_VERSIONS)
fptr.fnQueryData()
deviceFfdVersion = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DEVICE_FFD_VERSION)
fnFfdVersion = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_FFD_VERSION)
ffdVersion = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FFD_VERSION)
maxFfdVersion = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DEVICE_MAX_FFD_VERSION)
minFfdVersion = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DEVICE_MIN_FFD_VERSION)
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_FFD_VERSIONS);
fptr.fnQueryData();
long deviceFfdVersion = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DEVICE_FFD_VERSION);
long fnFfdVersion = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_FFD_VERSION);
long ffdVersion = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FFD_VERSION);
long maxFfdVersion = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DEVICE_MAX_FFD_VERSION);
long minFfdVersion = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DEVICE_MIN_FFD_VERSION);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_FFD_VERSIONS);
fptr.fnQueryData();
long deviceFfdVersion = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DEVICE_FFD_VERSION);
long fnFfdVersion = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_FFD_VERSION);
long ffdVersion = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FFD_VERSION);
long maxFfdVersion = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DEVICE_MAX_FFD_VERSION);
long minFfdVersion = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DEVICE_MIN_FFD_VERSION);
[fptr setParam:LIBFPTR_PARAM_FN_DATA_TYPE, intParam:LIBFPTR_FNDT_FFD_VERSIONS];
[fptr fnQueryData];
uint deviceFfdVersion = [fptr getParamInt:LIBFPTR_PARAM_DEVICE_FFD_VERSION];
uint fnFfdVersion = [fptr getParamInt:LIBFPTR_PARAM_FN_FFD_VERSION];
uint ffdVersion = [fptr getParamInt:LIBFPTR_PARAM_FFD_VERSION];
uint maxFfdVersion = [fptr getParamInt:LIBFPTR_PARAM_DEVICE_MAX_FFD_VERSION];
uint minFfdVersion = [fptr getParamInt:LIBFPTR_PARAM_DEVICE_MIN_FFD_VERSION];
fptr.setParam(Constants.LIBFPTR_PARAM_FN_DATA_TYPE, Constants.LIBFPTR_FNDT_FFD_VERSIONS);
fptr.fnQueryData();
uint deviceFfdVersion = fptr.getParamInt(Constants.LIBFPTR_PARAM_DEVICE_FFD_VERSION);
uint fnFfdVersion = fptr.getParamInt(Constants.LIBFPTR_PARAM_FN_FFD_VERSION);
uint ffdVersion = fptr.getParamInt(Constants.LIBFPTR_PARAM_FFD_VERSION);
uint maxFfdVersion = fptr.getParamInt(Constants.LIBFPTR_PARAM_DEVICE_MAX_FFD_VERSION);
uint minFfdVersion = fptr.getParamInt(Constants.LIBFPTR_PARAM_DEVICE_MIN_FFD_VERSION);
var
deviceFfdVersion: Longint;
fnFfdVersion: Longint;
ffdVersion: Longint;
maxFfdVersion: Longint;
minFfdVersion: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_FN_DATA_TYPE, fptr.LIBFPTR_FNDT_FFD_VERSIONS);
fptr.fnQueryData;
deviceFfdVersion := fptr.getParamInt(fptr.LIBFPTR_PARAM_DEVICE_FFD_VERSION);
fnFfdVersion := fptr.getParamInt(fptr.LIBFPTR_PARAM_FN_FFD_VERSION);
ffdVersion := fptr.getParamInt(fptr.LIBFPTR_PARAM_FFD_VERSION);
maxFfdVersion := fptr.getParamInt(fptr.LIBFPTR_PARAM_DEVICE_MAX_FFD_VERSION);
minFfdVersion := fptr.getParamInt(fptr.LIBFPTR_PARAM_DEVICE_MIN_FFD_VERSION);
end;
Для запроса информации о версиях ФФД необходимо вызвать метод fnQueryData() с типом запроса LIBFPTR_PARAM_FN_DATA_TYPE равным LIBFPTR_FNDT_FFD_VERSIONS.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_DEVICE_FFD_VERSION | Версия ФФД ККТ | int |
LIBFPTR_PARAM_FN_FFD_VERSION | Версия ФФД ФН | int |
LIBFPTR_PARAM_FFD_VERSION | Версия ФФД | int |
LIBFPTR_PARAM_DEVICE_MAX_FFD_VERSION | Максимальная версия ФФД ККТ | int |
LIBFPTR_PARAM_DEVICE_MIN_FFD_VERSION | Минимальная версия ФФД ККТ | int |
Указанные выше версии ФФД принимают следующие значения:
- LIBFPTR_FFD_UNKNOWN - неизвестная
- LIBFPTR_FFD_1_0 - ФФД 1.0
- LIBFPTR_FFD_1_0_5 - ФФД 1.05
- LIBFPTR_FFD_1_1 - ФФД 1.1
Срок действия ФН
Запрос срока действия ФН
libfptr_set_param_int(fptr, LIBFPTR_PARAM_FN_DATA_TYPE, LIBFPTR_FNDT_VALIDITY);
libfptr_fn_query_data(fptr);
int registrationsRemain = libfptr_get_param_int(fptr, LIBFPTR_PARAM_REGISTRATIONS_REMAIN);
int registrationsCount = libfptr_get_param_int(fptr, LIBFPTR_PARAM_REGISTRATIONS_COUNT);
int year, month, day, hour, minute, second;
libfptr_get_param_datetime(fptr, LIBFPTR_PARAM_DATE_TIME, &year, &month, &day, &hour, &minute, &second);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_VALIDITY)
fptr.fnQueryData()
registrationsRemain = fptr.getParamInt(IFptr.LIBFPTR_PARAM_REGISTRATIONS_REMAIN)
registrationsCount = fptr.getParamInt(IFptr.LIBFPTR_PARAM_REGISTRATIONS_COUNT)
dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME)
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_VALIDITY);
fptr.fnQueryData();
long registrationsRemain = fptr.getParamInt(IFptr.LIBFPTR_PARAM_REGISTRATIONS_REMAIN);
long registrationsCount = fptr.getParamInt(IFptr.LIBFPTR_PARAM_REGISTRATIONS_COUNT);
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_VALIDITY);
fptr.fnQueryData();
long registrationsRemain = fptr.getParamInt(IFptr.LIBFPTR_PARAM_REGISTRATIONS_REMAIN);
long registrationsCount = fptr.getParamInt(IFptr.LIBFPTR_PARAM_REGISTRATIONS_COUNT);
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
[fptr setParam:LIBFPTR_PARAM_FN_DATA_TYPE, intParam:LIBFPTR_FNDT_VALIDITY];
[fptr fnQueryData];
uint registrationsRemain = [fptr getParamInt:LIBFPTR_PARAM_REGISTRATIONS_REMAIN];
uint registrationsCount = [fptr getParamInt:LIBFPTR_PARAM_REGISTRATIONS_COUNT];
NSDate *dateTime = [fptr getParamDateTime:LIBFPTR_PARAM_DATE_TIME];
fptr.setParam(Constants.LIBFPTR_PARAM_FN_DATA_TYPE, Constants.LIBFPTR_FNDT_VALIDITY);
fptr.fnQueryData();
uint registrationsRemain = fptr.getParamInt(Constants.LIBFPTR_PARAM_REGISTRATIONS_REMAIN);
uint registrationsCount = fptr.getParamInt(Constants.LIBFPTR_PARAM_REGISTRATIONS_COUNT);
DateTime dateTime = fptr.getParamDateTime(Constants.LIBFPTR_PARAM_DATE_TIME);
var
registrationsRemain: Longint;
registrationsCount: Longint;
dateTime: TDateTime;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_FN_DATA_TYPE, fptr.LIBFPTR_FNDT_VALIDITY);
fptr.fnQueryData;
registrationsRemain := fptr.getParamInt(fptr.LIBFPTR_PARAM_REGISTRATIONS_REMAIN);
registrationsCount := fptr.getParamInt(fptr.LIBFPTR_PARAM_REGISTRATIONS_COUNT);
dateTime: := fptr.getParamDateTime(fptr.LIBFPTR_PARAM_DATE_TIME);
end;
Для запроса срока действия ФН необходимо вызвать метод fnQueryData() с типом запроса LIBFPTR_PARAM_FN_DATA_TYPE равным LIBFPTR_FNDT_VALIDITY.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_DATE_TIME | Срок действия ФН | datetime |
LIBFPTR_PARAM_REGISTRATIONS_COUNT | Сделано перерегистраций | int |
LIBFPTR_PARAM_REGISTRATIONS_REMAIN | Осталось перерегистраций | int |
Ошибки обмена с ОФД
Запрос ошибок обмена с ОФД
libfptr_set_param_int(fptr, LIBFPTR_PARAM_FN_DATA_TYPE, LIBFPTR_FNDT_ERRORS);
libfptr_fn_query_data(fptr);
std::vector<wchar_t> str(1024);
int size = 0;
int networkError = libfptr_get_param_int(fptr, LIBFPTR_PARAM_NETWORK_ERROR);
size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_NETWORK_ERROR_TEXT, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_NETWORK_ERROR_TEXT, &str[0], str.size());
}
std::wstring networkErrorText = std::wstring(&str[0]);
int ofdError = libfptr_get_param_int(fptr, LIBFPTR_PARAM_OFD_ERROR);
size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_OFD_ERROR_TEXT, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_OFD_ERROR_TEXT, &str[0], str.size());
}
std::wstring ofdErrorText = std::wstring(&str[0]);
int fnError = libfptr_get_param_int(fptr, LIBFPTR_PARAM_FN_ERROR);
size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_FN_ERROR_TEXT, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_FN_ERROR_TEXT, &str[0], str.size());
}
std::wstring fnErrorText = std::wstring(&str[0]);
int documentNumber = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DOCUMENT_NUMBER);
int commandCode = libfptr_get_param_int(fptr, LIBFPTR_PARAM_COMMAND_CODE);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_ERRORS)
fptr.fnQueryData()
networkError = fptr.getParamInt(IFptr.LIBFPTR_PARAM_NETWORK_ERROR)
networkErrorText = fptr.getParamString(IFptr.LIBFPTR_PARAM_NETWORK_ERROR_TEXT)
ofdError = fptr.getParamInt(IFptr.LIBFPTR_PARAM_OFD_ERROR)
ofdErrorText = fptr.getParamString(IFptr.LIBFPTR_PARAM_OFD_ERROR_TEXT)
fnError = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_ERROR)
fnErrorText = fptr.getParamString(IFptr.LIBFPTR_PARAM_FN_ERROR_TEXT)
documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER)
commandCode = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COMMAND_CODE)
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_ERRORS);
fptr.fnQueryData();
long networkError = fptr.getParamInt(IFptr.LIBFPTR_PARAM_NETWORK_ERROR);
String networkErrorText = fptr.getParamString(IFptr.LIBFPTR_PARAM_NETWORK_ERROR_TEXT);
long ofdError = fptr.getParamInt(IFptr.LIBFPTR_PARAM_OFD_ERROR);
String ofdErrorText = fptr.getParamString(IFptr.LIBFPTR_PARAM_OFD_ERROR_TEXT);
long fnError = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_ERROR);
String fnErrorText = fptr.getParamString(IFptr.LIBFPTR_PARAM_FN_ERROR_TEXT);
long documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
long commandCode = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COMMAND_CODE);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_ERRORS);
fptr.fnQueryData();
long networkError = fptr.getParamInt(IFptr.LIBFPTR_PARAM_NETWORK_ERROR);
String networkErrorText = fptr.getParamString(IFptr.LIBFPTR_PARAM_NETWORK_ERROR_TEXT);
long ofdError = fptr.getParamInt(IFptr.LIBFPTR_PARAM_OFD_ERROR);
String ofdErrorText = fptr.getParamString(IFptr.LIBFPTR_PARAM_OFD_ERROR_TEXT);
long fnError = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_ERROR);
String fnErrorText = fptr.getParamString(IFptr.LIBFPTR_PARAM_FN_ERROR_TEXT);
long documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
long commandCode = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COMMAND_CODE);
[fptr setParam:LIBFPTR_PARAM_FN_DATA_TYPE, intParam:LIBFPTR_FNDT_ERRORS];
[fptr fnQueryData];
uint networkError = [fptr getParamInt:LIBFPTR_PARAM_NETWORK_ERROR];
NSString *networkErrorText = [fptr getParamString:LIBFPTR_PARAM_NETWORK_ERROR_TEXT];
uint ofdError = [fptr getParamInt:LIBFPTR_PARAM_OFD_ERROR];
NSString *ofdErrorText = [fptr getParamString:LIBFPTR_PARAM_OFD_ERROR_TEXT];
uint fnError = [fptr getParamInt:LIBFPTR_PARAM_FN_ERROR];
NSString *fnErrorText = [fptr getParamString:LIBFPTR_PARAM_FN_ERROR_TEXT];
uint documentNumber = [fptr getParamInt:LIBFPTR_PARAM_DOCUMENT_NUMBER];
uint commandCode = [fptr getParamInt:LIBFPTR_PARAM_COMMAND_CODE];
fptr.setParam(Constants.LIBFPTR_PARAM_FN_DATA_TYPE, Constants.LIBFPTR_FNDT_ERRORS);
fptr.fnQueryData();
uint networkError = fptr.getParamInt(Constants.LIBFPTR_PARAM_NETWORK_ERROR);
String networkErrorText = fptr.getParamString(Constants.LIBFPTR_PARAM_NETWORK_ERROR_TEXT);
uint ofdError = fptr.getParamInt(Constants.LIBFPTR_PARAM_OFD_ERROR);
String ofdErrorText = fptr.getParamString(Constants.LIBFPTR_PARAM_OFD_ERROR_TEXT);
uint fnError = fptr.getParamInt(Constants.LIBFPTR_PARAM_FN_ERROR);
String fnErrorText = fptr.getParamString(Constants.LIBFPTR_PARAM_FN_ERROR_TEXT);
uint documentNumber = fptr.getParamInt(Constants.LIBFPTR_PARAM_DOCUMENT_NUMBER);
uint commandCode = fptr.getParamInt(Constants.LIBFPTR_PARAM_COMMAND_CODE);
var
networkError: Longint;
networkErrorText: String;
ofdError: Longint;
ofdErrorText: String;
fnError: Longint;
fnErrorText: String;
documentNumber: Longint;
commandCode: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_FN_DATA_TYPE, fptr.LIBFPTR_FNDT_ERRORS);
fptr.fnQueryData;
networkError := fptr.getParamInt(fptr.LIBFPTR_PARAM_NETWORK_ERROR);
networkErrorText: := fptr.getParamString(fptr.LIBFPTR_PARAM_NETWORK_ERROR_TEXT);
ofdError: := fptr.getParamInt(fptr.LIBFPTR_PARAM_OFD_ERROR);
ofdErrorText: := fptr.getParamString(fptr.LIBFPTR_PARAM_OFD_ERROR_TEXT);
fnError: := fptr.getParamInt(fptr.LIBFPTR_PARAM_FN_ERROR);
fnErrorText: := fptr.getParamString(fptr.LIBFPTR_PARAM_FN_ERROR_TEXT);
documentNumber: := fptr.getParamInt(fptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
commandCode: := fptr.getParamInt(fptr.LIBFPTR_PARAM_COMMAND_CODE);
end;
Для запроса ошибок обмена с ОФД необходимо вызвать метод fnQueryData() с типом запроса LIBFPTR_PARAM_FN_DATA_TYPE равным LIBFPTR_FNDT_ERRORS.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_NETWORK_ERROR | Код ошибки сети | int |
LIBFPTR_PARAM_NETWORK_ERROR_TEXT | Текст ошибки сети | string |
LIBFPTR_PARAM_OFD_ERROR | Код ошибки ОФД | int |
LIBFPTR_PARAM_OFD_ERROR_TEXT | Текст ошибки ОФД | string |
LIBFPTR_PARAM_FN_ERROR | Код ошибки ФН | int |
LIBFPTR_PARAM_FN_ERROR_TEXT | Текст ошибки ФН | string |
LIBFPTR_PARAM_DOCUMENT_NUMBER | Номер ФД, на котором произошла ошибка | int |
LIBFPTR_PARAM_COMMAND_CODE | Команда ФН, на которой произошла ошибка | int |
Квитанция ОФД
Запрос квитанции ОФД
libfptr_set_param_int(fptr, LIBFPTR_PARAM_FN_DATA_TYPE, LIBFPTR_FNDT_TICKET_BY_DOC_NUMBER);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DOCUMENT_NUMBER, 12);
libfptr_fn_query_data(fptr);
int documentNumber = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DOCUMENT_NUMBER);
int year, month, day, hour, minute, second;
libfptr_get_param_datetime(fptr, LIBFPTR_PARAM_DATE_TIME, &year, &month, &day, &hour, &minute, &second);
std::vector<uchar> ofdFiscalSign(128);
int size = libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_OFD_FISCAL_SIGN,
&ofdFiscalSign[0], ofdFiscalSign.size());
if (size > ofdFiscalSign.size())
{
ofdFiscalSign.resize(size);
libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_OFD_FISCAL_SIGN,
&ofdFiscalSign[0], ofdFiscalSign.size());
}
ofdFiscalSign.resize(size);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_TICKET_BY_DOC_NUMBER)
fptr.setParam(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER, 12)
fptr.fnQueryData()
documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER)
dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME)
ofdFiscalSign = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_OFD_FISCAL_SIGN)
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_TICKET_BY_DOC_NUMBER);
fptr.setParam(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER, 12);
fptr.fnQueryData();
long documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
byte[] ofdFiscalSign = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_OFD_FISCAL_SIGN);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_TICKET_BY_DOC_NUMBER);
fptr.setParam(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER, 12);
fptr.fnQueryData();
long documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
byte[] ofdFiscalSign = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_OFD_FISCAL_SIGN);
[fptr setParam:LIBFPTR_PARAM_FN_DATA_TYPE, intParam:LIBFPTR_FNDT_TICKET_BY_DOC_NUMBER];
[fptr setParam:LIBFPTR_PARAM_DOCUMENT_NUMBER, intParam:12];
[fptr fnQueryData];
uint documentNumber = [fptr getParamInt:LIBFPTR_PARAM_DOCUMENT_NUMBER];
NSDate* dateTime = [fptr getParamDateTime:LIBFPTR_PARAM_DATE_TIME];
NSData* ofdFiscalSign = [fptr getParamByteArray:LIBFPTR_PARAM_OFD_FISCAL_SIGN];
fptr.setParam(Constants.LIBFPTR_PARAM_FN_DATA_TYPE, Constants.LIBFPTR_FNDT_TICKET_BY_DOC_NUMBER);
fptr.setParam(Constants.LIBFPTR_PARAM_DOCUMENT_NUMBER, 12);
fptr.fnQueryData();
uint documentNumber = fptr.getParamInt(Constants.LIBFPTR_PARAM_DOCUMENT_NUMBER);
DateTime dateTime = fptr.getParamDateTime(Constants.LIBFPTR_PARAM_DATE_TIME);
byte[] ofdFiscalSign = fptr.getParamByteArray(Constants.LIBFPTR_PARAM_OFD_FISCAL_SIGN)
var
documentNumber: Longint;
dateTime: TDateTime;
ofdFiscalSign: Variant;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_FN_DATA_TYPE, fptr.LIBFPTR_FNDT_TICKET_BY_DOC_NUMBER);
fptr.setParam(fptr.LIBFPTR_PARAM_DOCUMENT_NUMBER, 12);
fptr.fnQueryData;
documentNumber := fptr.getParamInt(fptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
dateTime := fptr.getParamDateTime(fptr.LIBFPTR_PARAM_DATE_TIME);
ofdFiscalSign := fptr.getParamByteArray(fptr.LIBFPTR_PARAM_OFD_FISCAL_SIGN);
end;
Для запроса квитанции ОФД необходимо вызвать метод fnQueryData() с типом запроса LIBFPTR_PARAM_FN_DATA_TYPE равным LIBFPTR_FNDT_TICKET_BY_DOC_NUMBER и указать номер документа в параметре LIBFPTR_PARAM_DOCUMENT_NUMBER.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_DATE_TIME | Дата и время из квитанции ОФД (UTC) | datetime |
LIBFPTR_PARAM_DOCUMENT_NUMBER | Номер ФД из квитанции | int |
LIBFPTR_PARAM_OFD_FISCAL_SIGN | Фискальный признак ОФД | bytearray |
Информация о документе
libfptr_set_param_int(fptr, LIBFPTR_PARAM_FN_DATA_TYPE, LIBFPTR_FNDT_DOCUMENT_BY_NUMBER);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DOCUMENT_NUMBER, 24);
libfptr_fn_query_data(fptr);
int documentType = libfptr_get_param_int(fptr, LIBFPTR_PARAM_FN_DOCUMENT_TYPE);
int documentNumber = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DOCUMENT_NUMBER);
bool hasOfdTicket = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_HAS_OFD_TICKET) != 0);
int year, month, day, hour, minute, second;
libfptr_get_param_datetime(fptr, LIBFPTR_PARAM_DATE_TIME, &year, &month, &day, &hour, &minute, &second);
std::vector<wchar_t> str(1024);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_FISCAL_SIGN, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_FISCAL_SIGN, &str[0], str.size());
}
std::wstring fiscalSign = std::wstring(&str[0]);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_DOCUMENT_BY_NUMBER)
fptr.setParam(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER, 24)
fptr.fnQueryData()
documentType = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_DOCUMENT_TYPE)
documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER)
hasOfdTicket = fptr.getParamBool(IFptr.LIBFPTR_PARAM_HAS_OFD_TICKET)
dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME)
fiscalSign = fptr.getParamString(IFptr.LIBFPTR_PARAM_FISCAL_SIGN)
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_DOCUMENT_BY_NUMBER);
fptr.setParam(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER, 24);
fptr.fnQueryData();
long documentType = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_DOCUMENT_TYPE);
long documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
boolean hasOfdTicket = fptr.getParamBool(IFptr.LIBFPTR_PARAM_HAS_OFD_TICKET);
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
String fiscalSign = fptr.getParamString(IFptr.LIBFPTR_PARAM_FISCAL_SIGN);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_DOCUMENT_BY_NUMBER);
fptr.setParam(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER, 24);
fptr.fnQueryData();
long documentType = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_DOCUMENT_TYPE);
long documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
boolean hasOfdTicket = fptr.getParamBool(IFptr.LIBFPTR_PARAM_HAS_OFD_TICKET);
Date dateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME);
String fiscalSign = fptr.getParamString(IFptr.LIBFPTR_PARAM_FISCAL_SIGN);
[fptr setParam:LIBFPTR_PARAM_FN_DATA_TYPE, intParam:LIBFPTR_FNDT_DOCUMENT_BY_NUMBER];
[fptr setParam:LIBFPTR_PARAM_DOCUMENT_NUMBER, intParam:24];
[fptr fnQueryData];
uint documentType = [fptr getParamInt:LIBFPTR_PARAM_FN_DOCUMENT_TYPE];
uint documentNumber = [fptr getParamInt:LIBFPTR_PARAM_DOCUMENT_NUMBER];
bool hasOfdTicket = [fptr getParamBool:LIBFPTR_PARAM_HAS_OFD_TICKET];
NSDate *dateTime = [fptr getParamDateTime:LIBFPTR_PARAM_DATE_TIME];
NSString *fiscalSign = [fptr getParamString:LIBFPTR_PARAM_FISCAL_SIGN];
fptr.setParam(Constants.LIBFPTR_PARAM_FN_DATA_TYPE, Constants.LIBFPTR_FNDT_DOCUMENT_BY_NUMBER);
fptr.setParam(Constants.LIBFPTR_PARAM_DOCUMENT_NUMBER, 24);
fptr.fnQueryData();
uint documentType = fptr.getParamInt(Constants.LIBFPTR_PARAM_FN_DOCUMENT_TYPE);
uint documentNumber = fptr.getParamInt(Constants.LIBFPTR_PARAM_DOCUMENT_NUMBER);
bool hasOfdTicket = fptr.getParamBool(Constants.LIBFPTR_PARAM_HAS_OFD_TICKET);
DateTime dateTime = fptr.getParamDateTime(Constants.LIBFPTR_PARAM_DATE_TIME);
String fiscalSign = fptr.getParamString(Constants.LIBFPTR_PARAM_FISCAL_SIGN);
var
documentNumber: Longint;
hasOfdTicket: LongBool;
dateTime: TDateTime;
fiscalSign: String;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_FN_DATA_TYPE, fptr.LIBFPTR_FNDT_DOCUMENT_BY_NUMBER);
fptr.setParam(fptr.LIBFPTR_PARAM_DOCUMENT_NUMBER, 24);
fptr.fnQueryData;
documentType := fptr.getParamInt(fptr.LIBFPTR_PARAM_FN_DOCUMENT_TYPE);
documentNumber := fptr.getParamInt(fptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
hasOfdTicket := fptr.getParamBool(fptr.LIBFPTR_PARAM_HAS_OFD_TICKET);
dateTime := fptr.getParamDateTime(fptr.LIBFPTR_PARAM_DATE_TIME);
fiscalSign := fptr.getParamString(fptr.LIBFPTR_PARAM_FISCAL_SIGN);
end;
Для запроса информации о фискальном документе необходимо вызвать метод fnQueryData() с типом запроса LIBFPTR_PARAM_FN_DATA_TYPE равным LIBFPTR_FNDT_DOCUMENT_BY_NUMBER и указать номер документа в параметре LIBFPTR_PARAM_DOCUMENT_NUMBER.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_FN_DOCUMENT_TYPE | Тип документа | int |
LIBFPTR_PARAM_DATE_TIME | Дата и время документа | datetime |
LIBFPTR_PARAM_DOCUMENT_NUMBER | Номер ФД | int |
LIBFPTR_PARAM_HAS_OFD_TICKET | Флаг наличия подтверждения ОФД | bool |
LIBFPTR_PARAM_FISCAL_SIGN | Фискальный признак | string |
Параметр LIBFPTR_PARAM_FN_DOCUMENT_TYPE может принимать следующие значения:
- LIBFPTR_FN_DOC_REGISTRATION - Отчет о регистрации
- LIBFPTR_FN_DOC_OPEN_SHIFT - Отчет об открытии смены
- LIBFPTR_FN_DOC_RECEIPT - Кассовый чек
- LIBFPTR_FN_DOC_BSO - Бланк строгой отчетности
- LIBFPTR_FN_DOC_CLOSE_SHIFT - Отчет о закрытии смены
- LIBFPTR_FN_DOC_CLOSE_FN - Отчет о закрытии фискального накопителя
- LIBFPTR_FN_DOC_OPERATOR_CONFIRMATION - Подтверждение оператора
- LIBFPTR_FN_DOC_REREGISTRATION - Отчет об изменении параметров регистрации
- LIBFPTR_FN_DOC_EXCHANGE_STATUS - Отчет о текущем состоянии расчетов
- LIBFPTR_FN_DOC_CORRECTION - Кассовый чек коррекции
- LIBFPTR_FN_DOC_BSO_CORRECTION - Бланк строгой отчетности коррекции
Дополнительные выходные параметры зависят от значения LIBFPTR_PARAM_FN_DOCUMENT_TYPE.
Выходные параметры для отчета регистрации:
Параметр | Описание | Тип | Комментарий |
---|---|---|---|
1018 | ИНН организации | string | |
1037 | Регистрационный номер устройства | string | |
1062 | Системы налогообложения | int | |
1001 | Признак автоматического режима | bool | |
1002 | Признак автономного режима | bool | |
1056 | Признак шифрования | bool | |
1108 | Признак ККТ для расчетов в сети Интернет | bool | |
1109 | Признак расчетов за услуги | bool | |
1110 | Признак АС БСО | bool | |
1126 | Признак проведения лотерей | bool | Только ФФД 1.1 |
1193 | Признак проведения азартных игр | bool | Только ФФД 1.1 |
1207 | Признак подакцизного товара | bool | Только ФФД 1.1 |
1221 | Признак установки принтера в автомате | bool | Только ФФД 1.1 |
1017 | ИНН ОФД | string | Только ФФД 1.1 |
Выходные параметры для отчета перерегистрации:
Параметр | Описание | Тип | Комментарий |
---|---|---|---|
1018 | ИНН организации | string | |
1037 | Регистрационный номер устройства | string | |
1062 | Системы налогообложения | int | |
1001 | Признак автоматического режима | bool | |
1002 | Признак автономного режима | bool | |
1056 | Признак шифрования | bool | |
1108 | Признак ККТ для расчетов в сети Интернет | bool | |
1109 | Признак расчетов за услуги | bool | |
1110 | Признак АС БСО | bool | |
1101 | Причина перерегистрации | int | Только ФФД 1.0 и 1.05 |
1126 | Признак проведения лотерей | bool | Только ФФД 1.1 |
1193 | Признак проведения азартных игр | bool | Только ФФД 1.1 |
1207 | Признак подакцизного товара | bool | Только ФФД 1.1 |
1221 | Признак установки принтера в автомате | bool | Только ФФД 1.1 |
1017 | ИНН ОФД | string | Только ФФД 1.1 |
1205 | Коды причин перерегистрации | int | Только ФФД 1.1 |
Выходные параметры для отчета о закрытии архива ФН:
Параметр | Описание | Тип |
---|---|---|
1018 | ИНН организации | string |
1037 | Регистрационный номер устройства | string |
Выходные параметры для отчетов об открытии / закрытии смены:
Параметр | Описание | Тип |
---|---|---|
1038 или LIBFPTR_PARAM_SHIFT_NUMBER | Номер смены | int |
Выходные параметры для чеков и БСО:
Параметр | Описание | Тип |
---|---|---|
1054 | Признак расчета | int |
1020 | Сумма расчета | double |
Выходные параметры для отчета о состоянии расчетов:
Параметр | Описание | Тип |
---|---|---|
1097 | Количество непереданных ФД | int |
1098 | Дата первого из непереданных ФД | datetime |
Значение реквизита 1062 (системы налогообложения) - битовое поле, значениями которого являются одно или несколько из следующих значений:
- LIBFPTR_TT_OSN - общая СНО
- LIBFPTR_TT_USN_INCOME - упрощенная Доход
- LIBFPTR_TT_USN_INCOME_OUTCOME - упрощенная Доход минус Расход
- LIBFPTR_TT_ENVD - ЕНВД
- LIBFPTR_TT_ESN - единый сельскохозяйственный доход
- LIBFPTR_TT_PATENT - патентная СНО
Возможные значения реквизитов 1101 и 1205 приведены в разделе Перерегистрация ККТ.
Возможные значения для реквизита 1054 (признак расчета):
- 1 - приход
- 2 - возврат прихода
- 3 - расход
- 4 - возврат расхода
Регистрация ККТ
Регистрация ККТ
libfptr_set_param_int(fptr, LIBFPTR_PARAM_FN_OPERATION_TYPE, LIBFPTR_FNOP_REGISTRATION);
libfptr_set_param_str(fptr, 1060, L"www.nalog.ru");
libfptr_set_param_str(fptr, 1009, L"Улица свободы, 42");
libfptr_set_param_str(fptr, 1018, L"135792468001");
libfptr_set_param_str(fptr, 1048, L"Иванов Иван Иванович");
libfptr_set_param_int(fptr, 1062, LIBFPTR_TT_OSN | LIBFPTR_TT_PATENT);
libfptr_set_param_str(fptr, 1117, L"my-company@mail.ru");
libfptr_set_param_int(fptr, 1057, LIBFPTR_AT_BANK_PAYING_AGENT | LIBFPTR_AT_PAYING_AGENT | LIBFPTR_AT_ATTORNEY);
libfptr_set_param_str(fptr, 1187, L"Улица свободы, 45");
libfptr_set_param_str(fptr, 1037, L"12345678900987654321");
libfptr_set_param_int(fptr, 1209, LIBFPTR_FFD_1_0_5);
libfptr_set_param_bool(fptr, 1001, false);
libfptr_set_param_str(fptr, 1036, L"513");
libfptr_set_param_bool(fptr, 1002, false);
libfptr_set_param_bool(fptr, 1056, false);
libfptr_set_param_bool(fptr, 1108, false);
libfptr_set_param_bool(fptr, 1109, false);
libfptr_set_param_bool(fptr, 1110, false);
libfptr_set_param_bool(fptr, 1126, false);
libfptr_set_param_bool(fptr, 1193, true);
libfptr_set_param_bool(fptr, 1207, false);
libfptr_set_param_bool(fptr, 1221, false);
libfptr_set_param_str(fptr, 1017, L"123456789012");
libfptr_set_param_str(fptr, 1046, L"ОФД \"ОФД\"");
libfptr_fn_operation(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_OPERATION_TYPE, IFptr.LIBFPTR_FNOP_REGISTRATION)
fptr.setParam(1060, "www.nalog.ru")
fptr.setParam(1009, "Улица свободы, 42")
fptr.setParam(1018, "135792468001")
fptr.setParam(1048, "Иванов Иван Иванович")
fptr.setParam(1062, IFptr.LIBFPTR_TT_OSN | IFptr.LIBFPTR_TT_PATENT)
fptr.setParam(1117, "my-company@mail.ru")
fptr.setParam(1057, IFptr.LIBFPTR_AT_BANK_PAYING_AGENT | IFptr.LIBFPTR_AT_PAYING_AGENT | IFptr.LIBFPTR_AT_ATTORNEY)
fptr.setParam(1187, "Улица свободы, 45")
fptr.setParam(1037, "12345678900987654321")
fptr.setParam(1209, IFptr.LIBFPTR_FFD_1_0_5)
fptr.setParam(1001, False)
fptr.setParam(1036, "513")
fptr.setParam(1002, False)
fptr.setParam(1056, False)
fptr.setParam(1108, False)
fptr.setParam(1109, False)
fptr.setParam(1110, False)
fptr.setParam(1126, False)
fptr.setParam(1193, True)
fptr.setParam(1207, False)
fptr.setParam(1221, False)
fptr.setParam(1017, "123456789012")
fptr.setParam(1046, "ОФД \"ОФД\"")
fptr.fnOperation()
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_OPERATION_TYPE, IFptr.LIBFPTR_FNOP_REGISTRATION);
fptr.setParam(1060, "www.nalog.ru");
fptr.setParam(1009, "Улица свободы, 42");
fptr.setParam(1018, "135792468001");
fptr.setParam(1048, "Иванов Иван Иванович");
fptr.setParam(1062, IFptr.LIBFPTR_TT_OSN | IFptr.LIBFPTR_TT_PATENT);
fptr.setParam(1117, "my-company@mail.ru");
fptr.setParam(1057, IFptr.LIBFPTR_AT_BANK_PAYING_AGENT | IFptr.LIBFPTR_AT_PAYING_AGENT | IFptr.LIBFPTR_AT_ATTORNEY);
fptr.setParam(1187, "Улица свободы, 45");
fptr.setParam(1037, "12345678900987654321");
fptr.setParam(1209, IFptr.LIBFPTR_FFD_1_0_5);
fptr.setParam(1001, false);
fptr.setParam(1036, "513");
fptr.setParam(1002, false);
fptr.setParam(1056, false);
fptr.setParam(1108, false);
fptr.setParam(1109, false);
fptr.setParam(1110, false);
fptr.setParam(1126, false);
fptr.setParam(1193, true);
fptr.setParam(1207, false);
fptr.setParam(1221, false);
fptr.setParam(1017, "123456789012");
fptr.setParam(1046, "ОФД \"ОФД\"");
fptr.fnOperation();
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_OPERATION_TYPE, IFptr.LIBFPTR_FNOP_REGISTRATION);
fptr.setParam(1060, "www.nalog.ru");
fptr.setParam(1009, "Улица свободы, 42");
fptr.setParam(1018, "135792468001");
fptr.setParam(1048, "Иванов Иван Иванович");
fptr.setParam(1062, IFptr.LIBFPTR_TT_OSN | IFptr.LIBFPTR_TT_PATENT);
fptr.setParam(1117, "my-company@mail.ru");
fptr.setParam(1057, IFptr.LIBFPTR_AT_BANK_PAYING_AGENT | IFptr.LIBFPTR_AT_PAYING_AGENT | IFptr.LIBFPTR_AT_ATTORNEY);
fptr.setParam(1187, "Улица свободы, 45");
fptr.setParam(1037, "12345678900987654321");
fptr.setParam(1209, IFptr.LIBFPTR_FFD_1_0_5);
fptr.setParam(1001, false);
fptr.setParam(1036, "513");
fptr.setParam(1002, false);
fptr.setParam(1056, false);
fptr.setParam(1108, false);
fptr.setParam(1109, false);
fptr.setParam(1110, false);
fptr.setParam(1126, false);
fptr.setParam(1193, true);
fptr.setParam(1207, false);
fptr.setParam(1221, false);
fptr.setParam(1017, "123456789012");
fptr.setParam(1046, "ОФД \"ОФД\"");
fptr.fnOperation();
[fptr setParam:LIBFPTR_PARAM_FN_OPERATION_TYPE, intParam:LIBFPTR_FNOP_REGISTRATION];
[fptr setParam:1060, NSStringParam:@"www.nalog.ru"];
[fptr setParam:1009, NSStringParam:@"Улица свободы, 42"];
[fptr setParam:1018, NSStringParam:@"135792468001"];
[fptr setParam:1048, NSStringParam:@"Иванов Иван Иванович"];
[fptr setParam:1062, intParam:LIBFPTR_TT_OSN | LIBFPTR_TT_PATENT];
[fptr setParam:1117, NSStringParam:@"my-company@mail.ru"];
[fptr setParam:1057, intParam:LIBFPTR_AT_BANK_PAYING_AGENT | LIBFPTR_AT_PAYING_AGENT | LIBFPTR_AT_ATTORNEY];
[fptr setParam:1187, NSStringParam:@"Улица свободы, 45"];
[fptr setParam:1037, NSStringParam:@"12345678900987654321"];
[fptr setParam:1209, intParam:LIBFPTR_FFD_1_0_5];
[fptr setParam:1001, boolParam:false];
[fptr setParam:1036, NSStringParam:@"513"];
[fptr setParam:1002, boolParam:false];
[fptr setParam:1056, boolParam:false];
[fptr setParam:1108, boolParam:false];
[fptr setParam:1109, boolParam:false];
[fptr setParam:1110, boolParam:false];
[fptr setParam:1126, boolParam:false];
[fptr setParam:1193, boolParam:true];
[fptr setParam:1207, boolParam:false];
[fptr setParam:1221, boolParam:false];
[fptr setParam:1017, NSStringParam:@"123456789012"];
[fptr setParam:1046, NSStringParam:@"ОФД \"ОФД\""];
[fptr fnOperation];
fptr.setParam(Constants.LIBFPTR_PARAM_FN_OPERATION_TYPE, Constants.LIBFPTR_FNOP_REGISTRATION);
fptr.setParam(1060, "www.nalog.ru");
fptr.setParam(1009, "Улица свободы, 42");
fptr.setParam(1018, "135792468001");
fptr.setParam(1048, "Иванов Иван Иванович");
fptr.setParam(1062, Constants.LIBFPTR_TT_OSN | Constants.LIBFPTR_TT_PATENT);
fptr.setParam(1117, "my-company@mail.ru");
fptr.setParam(1057, Constants.LIBFPTR_AT_BANK_PAYING_AGENT | Constants.LIBFPTR_AT_PAYING_AGENT | Constants.LIBFPTR_AT_ATTORNEY);
fptr.setParam(1187, "Улица свободы, 45");
fptr.setParam(1037, "12345678900987654321");
fptr.setParam(1209, Constants.LIBFPTR_FFD_1_0_5);
fptr.setParam(1001, false);
fptr.setParam(1036, "513");
fptr.setParam(1002, false);
fptr.setParam(1056, false);
fptr.setParam(1108, false);
fptr.setParam(1109, false);
fptr.setParam(1110, false);
fptr.setParam(1126, false);
fptr.setParam(1193, true);
fptr.setParam(1207, false);
fptr.setParam(1221, false);
fptr.setParam(1017, "123456789012");
fptr.setParam(1046, "ОФД \"ОФД\"");
fptr.fnOperation();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_FN_OPERATION_TYPE, fptr.LIBFPTR_FNOP_REGISTRATION);
fptr.setParam(1060, 'www.nalog.ru');
fptr.setParam(1009, 'Улица свободы, 42');
fptr.setParam(1018, '135792468001');
fptr.setParam(1048, 'Иванов Иван Иванович');
fptr.setParam(1062, fptr.LIBFPTR_TT_OSN or fptr.LIBFPTR_TT_PATENT);
fptr.setParam(1117, 'my-company@mail.ru');
fptr.setParam(1057, fptr.LIBFPTR_AT_BANK_PAYING_AGENT or fptr.LIBFPTR_AT_PAYING_AGENT or fptr.LIBFPTR_AT_ATTORNEY);
fptr.setParam(1187, 'Улица свободы, 45');
fptr.setParam(1037, '12345678900987654321');
fptr.setParam(1209, fptr.LIBFPTR_FFD_1_0_5);
fptr.setParam(1001, False);
fptr.setParam(1036, '513');
fptr.setParam(1002, False);
fptr.setParam(1056, False);
fptr.setParam(1108, False);
fptr.setParam(1109, False);
fptr.setParam(1110, False);
fptr.setParam(1126, False);
fptr.setParam(1193, True);
fptr.setParam(1207, False);
fptr.setParam(1221, False);
fptr.setParam(1017, '123456789012');
fptr.setParam(1046, 'ОФД "ОФД"');
fptr.fnOperation;
end;
Для регистрации ККТ необходимо вызвать метод fnOperation() с типом операции LIBFPTR_PARAM_FN_OPERATION_TYPE равным LIBFPTR_FNOP_REGISTRATION. Также необходимо указать параметры регистрации:
Параметр | Описание | Тип |
---|---|---|
1060 | Адрес сайта ФНС | string |
1009 | Адрес расчетов | string |
1018 | ИНН организации | string |
1048 | Название организации | string |
1062 | Системы налогообложения | int |
1117 | E-mail организации | string |
1057 | Признак агента | int |
1187 | Адрес места расчетов | string |
1037 | Регистрационный номер устройства | string |
1209 | Версия ФФД | int |
1001 | Признак автоматического режима | bool |
1036 | Номер автомата | string |
1002 | Признак автономного режима | bool |
1056 | Признак шифрования | bool |
1108 | Признак ККТ для расчетов в сети Интернет | bool |
1109 | Признак расчетов за услуги | bool |
1110 | Признак АС БСО | bool |
1126 | Признак проведения лотерей | bool |
1193 | Признак проведения азартных игр | bool |
1207 | Признак подакцизного товара | bool |
1221 | Признак установки в автомате | bool |
1017 | ИНН ОФД | string |
1046 | Название ОФД | string |
Значение реквизита 1062 (системы налогообложения) - битовое поле, значениями которого являются одно или несколько из следующих значений:
- LIBFPTR_TT_OSN - общая СНО
- LIBFPTR_TT_USN_INCOME - упрощенная Доход
- LIBFPTR_TT_USN_INCOME_OUTCOME - упрощенная Доход минус Расход
- LIBFPTR_TT_ENVD - ЕНВД
- LIBFPTR_TT_ESN - единый сельскохозяйственный доход
- LIBFPTR_TT_PATENT - патентная СНО
Значение реквизита 1057 (признак агента) - битовое поле, значениями которого являются одно или несколько из следующих значений:
- LIBFPTR_AT_NONE - признак агента отсутствует
- LIBFPTR_AT_BANK_PAYING_AGENT - банковский платежный агент
- LIBFPTR_AT_BANK_PAYING_SUBAGENT - банковский платежный субагент
- LIBFPTR_AT_PAYING_AGENT - платежный агент
- LIBFPTR_AT_PAYING_SUBAGENT - платежный субагент
- LIBFPTR_AT_ATTORNEY - поверенный
- LIBFPTR_AT_COMMISSION_AGENT - комиссионер
- LIBFPTR_AT_ANOTHER - другой тип агента
Реквизит 1209 (версия ФФД) может принимать следующие значения:
- LIBFPTR_FFD_UNKNOWN - неизвестная
- LIBFPTR_FFD_1_0 - ФФД 1.0
- LIBFPTR_FFD_1_0_5 - ФФД 1.05
- LIBFPTR_FFD_1_1 - ФФД 1.1
Перерегистрация ККТ
Для перерегистрации ККТ необходимо вызвать метод fnOperation() с типом операции LIBFPTR_PARAM_FN_OPERATION_TYPE равным LIBFPTR_FNOP_CHANGE_PARAMETERS. Список параметров перерегистрации приведен в разделе Регистрация ККТ.
В случае работы по ФФД 1.0 и 1.05 требуется указать причину перерегистрации в реквизите 1101, который может принимать следующие значения:
- 2 - изменение ОФД
- 3 - изменение параметров регистрации ККТ
- 4 - изменение настроек ККТ
В случае работы по ФФД 1.1 требуется указать причины перерегистрации в реквизите 1205 (битовое поле), который может принимать следующие значения:
- 0x00000001 - замена фискального накопителя
- 0x00000002 - замена оператора фискальных данных
- 0x00000004 - изменение наименования пользователя ККТ
- 0x00000008 - изменение адреса и (или) места установки (применения) ККТ
- 0x00000010 - перевод ККТ из автономного режима в режим передачи данных
- 0x00000020 - перевод ККТ из режима передачи данных в автономный режим
- 0x00000040 - изменение версии модели ККТ
- 0x00000080 - изменение перечня систем налогообложения, применяемых при осуществлении расчетов
- 0x00000100 - изменение номера автоматического устройства для расчетов, в составе которого применяется ККТ
- 0x00000200 - перевод ККТ из автоматического режима в неавтоматический режим (осуществление расчетов кассиром)
- 0x00000400 - перевод ККТ из неавтоматического режима (осуществление расчетов кассиром) в автоматический режим
- 0x00000800 - перевод ККТ из режима, не позволяющего формировать БСО, в режим, позволяющий формировать БСО
- 0x00001000 - перевод ККТ из режима, позволяющего формировать БСО, в режим, не позволяющий формировать БСО
- 0x00002000 - перевод ККТ из режима расчетов в сети Интернет (позволяющего не печатать кассовый чек и БСО) в режим, позволяющий печатать кассовый чек и БСО
- 0x00004000 - перевод ККТ из режима, позволяющего печатать кассовый чек и БСО, в режим расчетов в сети Интернет (позволяющего не печатать кассовый чек и БСО)
- 0x00008000 - перевод ККТ из режима, позволяющего оказывать услуги платежного агента (субагента) или банковского платежного агента, в режим, не позволяющий оказывать услуги платежного агента (субагента) или банковского платежного агента
- 0x00010000 - перевод ККТ из режима, не позволяющего оказывать услуги платежного агента (субагента) или банковского платежного агента в режим, позволяющий оказывать услуги платежного агента (субагента) или банковского платежного агента
- 0x00020000 - перевод ККТ из режима, позволяющего применять ККТ при приеме ставок и выплате денежных средств виде выигрыша при осуществлении деятельности по проведению азартных игр, в режим, не позволяющий применять ККТ при приеме ставок и выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению азартных игр
- 0x00040000 - перевод ККТ из режима, не позволяющего применять ККТ при приеме ставок и выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению азартных игр, в режим, позволяющий применять ККТ при приеме ставок и выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению азартных игр
- 0x00080000 - перевод ККТ из режима, позволяющего применять ККТ при приеме денежных средств при реализации лотерейных билетов, электронных лотерейных билетов, приеме лотерейных ставок и выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению лотерей, в режим, не позволяющий применять ККТ при приеме денежных средств при реализации лотерейных билетов, электронных лотерейных билетов, приеме лотерейных ставок и выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению лотерей
- 0x00100000 - перевод ККТ из режима, не позволяющего применять ККТ при приеме денежных средств при реализации лотерейных билетов, электронных лотерейных билетов, приеме лотерейных ставок и выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению лотерей, в режим, позволяющий применять ККТ при приеме денежных средств при реализации лотерейных билетов, электронных лотерейных билетов, приеме лотерейных ставок и выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению лотерей
- 0x00200000 - изменение версии ФФД
- 0x80000000 - иные причины
Замена ФН
Для регистрации замены ФН необходимо вызвать метод fnOperation() с типом операции LIBFPTR_PARAM_FN_OPERATION_TYPE равным LIBFPTR_FNOP_CHANGE_FN. Список параметров перерегистрации приведен в разделе Регистрация ККТ.
В случае работы по ФФД 1.1 требуется указать причины перерегистрации в реквизите 1205 (битовое поле). Список возможных значений приведен в разделе Перерегистрация ККТ.
Закрытие архива ФН
Закрытие архива ФН
libfptr_set_param_int(fptr, LIBFPTR_PARAM_FN_OPERATION_TYPE, LIBFPTR_FNOP_CLOSE_ARCHIVE);
libfptr_fn_operation(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_OPERATION_TYPE, IFptr.LIBFPTR_FNOP_CLOSE_ARCHIVE)
fptr.fnOperation()
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_OPERATION_TYPE, IFptr.LIBFPTR_FNOP_CLOSE_ARCHIVE);
fptr.fnOperation();
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_OPERATION_TYPE, IFptr.LIBFPTR_FNOP_CLOSE_ARCHIVE);
fptr.fnOperation();
[fptr setParam:LIBFPTR_PARAM_FN_OPERATION_TYPE, intParam:LIBFPTR_FNOP_CLOSE_ARCHIVE];
[fptr fnOperation];
fptr.setParam(Constants.LIBFPTR_PARAM_FN_OPERATION_TYPE, Constants.LIBFPTR_FNOP_CLOSE_ARCHIVE);
fptr.fnOperation();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_FN_OPERATION_TYPE, fptr.LIBFPTR_FNOP_CLOSE_ARCHIVE);
fptr.fnOperation;
end;
Для закрытия архива ФН необходимо вызвать метод fnOperation() с типом операции LIBFPTR_PARAM_FN_OPERATION_TYPE равным LIBFPTR_FNOP_CLOSE_ARCHIVE.
Нефискальная печать
Печать клише
Печать клише
libfptr_print_cliche(fptr);
fptr.printCliche()
fptr.printCliche();
fptr.printCliche();
[fptr printCliche];
fptr.printCliche();
begin
fptr.printCliche;
end;
Для печати запрограммированного в ККТ клише необходимо вызвать метод printCliche().
Клише автоматически печатается при закрытии всех документов (и фискальных, и нефискальных).
Открытие нефискального документа
Открытие нефискального документа
libfptr_begin_nonfiscal_document(fptr);
fptr.beginNonfiscalDocument()
fptr.beginNonfiscalDocument();
fptr.beginNonfiscalDocument();
[fptr beginNonfiscalDocument];
fptr.beginNonfiscalDocument();
begin
fptr.beginNonfiscalDocument;
end;
Для открытия нефискального документа необходимо вызвать метод beginNonfiscalDocument().
Закрытие нефискального документа
Закрытие нефискального документа
libfptr_end_nonfiscal_document(fptr);
fptr.endNonfiscalDocument()
fptr.endNonfiscalDocument();
fptr.endNonfiscalDocument();
[fptr endNonfiscalDocument];
fptr.endNonfiscalDocument();
begin
fptr.endNonfiscalDocument;
end;
Закрытие нефискального документа без печати подвала
libfptr_set_param_bool(fptr, LIBFPTR_PARAM_PRINT_FOOTER, false);
libfptr_end_nonfiscal_document(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_PRINT_FOOTER, False)
fptr.endNonfiscalDocument()
fptr.setParam(IFptr.LIBFPTR_PARAM_PRINT_FOOTER, false);
fptr.endNonfiscalDocument();
fptr.setParam(IFptr.LIBFPTR_PARAM_PRINT_FOOTER, false);
fptr.endNonfiscalDocument();
[fptr setParam:LIBFPTR_PARAM_PRINT_FOOTER, boolParam:false];
[fptr endNonfiscalDocument];
fptr.setParam(fptr.LIBFPTR_PARAM_PRINT_FOOTER, false);
fptr.endNonfiscalDocument();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_PRINT_FOOTER, False);
fptr.endNonfiscalDocument;
end;
Для закрытия нефискального документа необходимо вызвать метод endNonfiscalDocument().
Параметр | Описание | Тип | Значение по умолчанию |
---|---|---|---|
LIBFPTR_PARAM_PRINT_FOOTER | Печатать подвал документа | bool | true |
Если ККТ не поддерживает управление подвалом нефискального документа, ошибка возвращена не будет и будет использоваться поведение по умолчанию для данной ККТ.
Печать текста
Печать строки
libfptr_set_param_str(fptr, LIBFPTR_PARAM_TEXT, L"Строка");
libfptr_print_text(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "Строка")
fptr.printText()
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "Строка");
fptr.printText();
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "Строка");
fptr.printText();
[fptr setParam:LIBFPTR_PARAM_TEXT, NSStringParam:@"Строка"];
[fptr printText];
fptr.setParam(Constants.LIBFPTR_PARAM_TEXT, "Строка");
fptr.printText();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_TEXT, 'Строка');
fptr.printText;
end;
Печать строки с выравниванием по центру
libfptr_set_param_str(fptr, LIBFPTR_PARAM_TEXT, L"Строка");
libfptr_set_param_int(fptr, LIBFPTR_PARAM_ALIGNMENT, LIBFPTR_ALIGNMENT_CENTER);
libfptr_print_text(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "Строка")
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER)
fptr.printText()
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "Строка");
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.printText();
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "Строка");
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.printText();
[fptr setParam:LIBFPTR_PARAM_TEXT, NSStringParam:@"Строка"];
[fptr setParam:LIBFPTR_PARAM_ALIGNMENT, intParam:LIBFPTR_ALIGNMENT_CENTER];
[fptr printText];
fptr.setParam(Constants.LIBFPTR_PARAM_TEXT, "Строка");
fptr.setParam(Constants.LIBFPTR_PARAM_ALIGNMENT, Constants.LIBFPTR_ALIGNMENT_CENTER);
fptr.printText();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_TEXT, 'Строка');
fptr.setParam(fptr.LIBFPTR_PARAM_ALIGNMENT, fptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.printText;
end;
Печать строки с форматированием
libfptr_set_param_str(fptr, LIBFPTR_PARAM_TEXT, L"Строка");
libfptr_set_param_int(fptr, LIBFPTR_PARAM_ALIGNMENT, LIBFPTR_ALIGNMENT_RIGHT);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_FONT, 2);
libfptr_set_param_bool(fptr, LIBFPTR_PARAM_FONT_DOUBLE_WIDTH, true);
libfptr_set_param_bool(fptr, LIBFPTR_PARAM_FONT_DOUBLE_HEIGHT, true);
libfptr_print_text(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "Строка")
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_RIGHT)
fptr.setParam(IFptr.LIBFPTR_PARAM_FONT, 2)
fptr.setParam(IFptr.LIBFPTR_PARAM_FONT_DOUBLE_WIDTH, True)
fptr.setParam(IFptr.LIBFPTR_PARAM_FONT_DOUBLE_HEIGHT, True)
fptr.printText()
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "Строка");
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_RIGHT);
fptr.setParam(IFptr.LIBFPTR_PARAM_FONT, 2);
fptr.setParam(IFptr.LIBFPTR_PARAM_FONT_DOUBLE_WIDTH, true);
fptr.setParam(IFptr.LIBFPTR_PARAM_FONT_DOUBLE_HEIGHT, true);
fptr.printText();
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "Строка");
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_RIGHT);
fptr.setParam(IFptr.LIBFPTR_PARAM_FONT, 2);
fptr.setParam(IFptr.LIBFPTR_PARAM_FONT_DOUBLE_WIDTH, true);
fptr.setParam(IFptr.LIBFPTR_PARAM_FONT_DOUBLE_HEIGHT, true);
fptr.printText();
[fptr setParam:LIBFPTR_PARAM_TEXT, NSStringParam:@"Строка"];
[fptr setParam:LIBFPTR_PARAM_ALIGNMENT, intParam:LIBFPTR_ALIGNMENT_RIGHT];
[fptr setParam:LIBFPTR_PARAM_FONT, intParam:2];
[fptr setParam:LIBFPTR_PARAM_FONT_DOUBLE_WIDTH, boolParam:true];
[fptr setParam:LIBFPTR_PARAM_FONT_DOUBLE_HEIGHT, boolParam:true];
[fptr printText];
fptr.setParam(Constants.LIBFPTR_PARAM_TEXT, "Строка");
fptr.setParam(Constants.LIBFPTR_PARAM_ALIGNMENT, Constants.LIBFPTR_ALIGNMENT_RIGHT);
fptr.setParam(Constants.LIBFPTR_PARAM_FONT, 2);
fptr.setParam(Constants.LIBFPTR_PARAM_FONT_DOUBLE_WIDTH, true);
fptr.setParam(Constants.LIBFPTR_PARAM_FONT_DOUBLE_HEIGHT, true);
fptr.printText();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_TEXT, 'Строка');
fptr.setParam(fptr.LIBFPTR_PARAM_ALIGNMENT, fptr.LIBFPTR_ALIGNMENT_RIGHT);
fptr.setParam(fptr.LIBFPTR_PARAM_FONT, 2);
fptr.setParam(fptr.LIBFPTR_PARAM_FONT_DOUBLE_WIDTH, True);
fptr.setParam(fptr.LIBFPTR_PARAM_FONT_DOUBLE_HEIGHT, True);
fptr.printText;
end;
Промотка чековой ленты на одну строку (пустую)
libfptr_print_text(fptr);
fptr.printText()
fptr.printText();
fptr.printText();
[fptr printText];
fptr.printText();
begin
fptr.printText;
end;
Для печати строки необходимо вызвать метод printText() и задать следующие параметры:
Параметр | Описание | Тип | Значение по умолчанию |
---|---|---|---|
LIBFPTR_PARAM_TEXT | Строка для печати | string | Пустая строка |
LIBFPTR_PARAM_ALIGNMENT | Выравнивание | int | LIBFPTR_ALIGNMENT_LEFT |
LIBFPTR_PARAM_TEXT_WRAP | Перенос строки | int | LIBFPTR_TW_NONE |
LIBFPTR_PARAM_FONT | Номер шрифта | int | Стандартный для ККТ шрифт |
LIBFPTR_PARAM_FONT_DOUBLE_WIDTH | Двойная ширина | bool | false |
LIBFPTR_PARAM_FONT_DOUBLE_HEIGHT | Двойная высота | bool | false |
LIBFPTR_PARAM_LINESPACING | Межстрочный интервал | int | Стандартный для ККТ интервал |
LIBFPTR_PARAM_BRIGHTNESS | Яркость | int | Стандартная для ККТ яркость |
LIBFPTR_PARAM_STORE_IN_JOURNAL | Сохранять в электронном журнале | bool | Если печать происходит в открытом чеке, true. Иначе false |
Выравнивание LIBFPTR_PARAM_ALIGNMENT может принимать следующие значения:
- LIBFPTR_ALIGNMENT_LEFT - по левому краю
- LIBFPTR_ALIGNMENT_CENTER - по центру
- LIBFPTR_ALIGNMENT_RIGHT - по правому краю
Перенос LIBFPTR_PARAM_TEXT_WRAP может принимать следующие значения:
- LIBFPTR_TW_NONE - не переносить. Текст будет обрезаться по ширине ленты
- LIBFPTR_TW_WORDS - переносить по словам. Разделителями считаются символы:
- пробел
- точка
- запятая
- точка с запятой
- тире
- знак вопроса
- восклицательный знак
- закрывающая скобка
- закрывающая фигурная скобка
- закрывающая квадратная скобка
- LIBFPTR_TW_CHARS - переносить по символам
Порядок переноса строк:
- Строка разбивается на подстроки в соответствии с переносами в строке (\n, \r\n, \r)
- Каждая подстрока разбивается на более мелкие подстроки в соответствии с LIBFPTR_PARAM_TEXT_WRAP
Возможные значения остальных параметров зависят от модели ККТ. Если какие-то из параметров не удается применить к строке на используемой ККТ, ошибки выдано не будет и параметр не применится.
Печать штрихкода
Печать штрихкода
libfptr_set_param_str(fptr, LIBFPTR_PARAM_BARCODE, L"123456789012");
libfptr_set_param_int(fptr, LIBFPTR_PARAM_BARCODE_TYPE, LIBFPTR_BT_EAN_13);
libfptr_print_barcode(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_BARCODE, "123456789012")
fptr.setParam(IFptr.LIBFPTR_PARAM_BARCODE_TYPE, IFptr.LIBFPTR_BT_EAN_13)
fptr.printBarcode()
fptr.setParam(IFptr.LIBFPTR_PARAM_BARCODE, "123456789012");
fptr.setParam(IFptr.LIBFPTR_PARAM_BARCODE_TYPE, IFptr.LIBFPTR_BT_EAN_13);
fptr.printBarcode();
fptr.setParam(IFptr.LIBFPTR_PARAM_BARCODE, "123456789012");
fptr.setParam(IFptr.LIBFPTR_PARAM_BARCODE_TYPE, IFptr.LIBFPTR_BT_EAN_13);
fptr.printBarcode();
[fptr setParam:LIBFPTR_PARAM_BARCODE, NSStringParam:@"123456789012"];
[fptr setParam:LIBFPTR_PARAM_BARCODE_TYPE, intParam:LIBFPTR_BT_EAN_13];
[fptr printBarcode];
fptr.setParam(Constants.LIBFPTR_PARAM_BARCODE, "123456789012");
fptr.setParam(Constants.LIBFPTR_PARAM_BARCODE_TYPE, IFptr.LIBFPTR_BT_EAN_13);
fptr.printBarcode();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_BARCODE, '123456789012');
fptr.setParam(fptr.LIBFPTR_PARAM_BARCODE_TYPE, fptr.LIBFPTR_BT_EAN_13);
fptr.printBarcode;
end;
Для печати штрихкода необходимо вызвать метод printBarcode() и задать следующие обязательные параметры:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_BARCODE | Данные штрихкода | string |
LIBFPTR_PARAM_BARCODE_TYPE | Тип штрихкода | int |
Тип штрихкода LIBFPTR_PARAM_BARCODE_TYPE может принимать следующие значения:
- Одномерные штрихкоды
- LIBFPTR_BT_EAN_8 - EAN-8
- LIBFPTR_BT_EAN_13 - EAN-13
- LIBFPTR_BT_UPC_A - UPC-A
- LIBFPTR_BT_UPC_E - UPC-E
- LIBFPTR_BT_CODE_39 - Code 39
- LIBFPTR_BT_CODE_93 - Code 93
- LIBFPTR_BT_CODE_128 - Code 128
- LIBFPTR_BT_CODABAR - Codabar
- LIBFPTR_BT_ITF - Interleaved 2of5
- LIBFPTR_BT_ITF_14 - ITF-14
- LIBFPTR_BT_GS1_128 - GS1-128 (EAN-128)
- Двумерные штрихкоды
- LIBFPTR_BT_QR - QR-код
- LIBFPTR_BT_PDF417 - PDF417
- LIBFPTR_BT_AZTEC - AZTEC
По умолчанию штрихкод печатается по центру без увеличения.
Также можно изменить параметры печати штрихкода с помощью следующих параметров:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_ALIGNMENT | Выравнивание штрихкода | int |
LIBFPTR_PARAM_SCALE | Коэффициент увеличения штрихкода | int |
LIBFPTR_PARAM_LEFT_MARGIN | Дополнительный отступ слева | int |
LIBFPTR_PARAM_BARCODE_INVERT | Инверсия цвета | bool |
Для одномерных штрихкодов дополнительно можно задать следующие параметры:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_HEIGHT | Высота штрихкода, пикс. | int |
LIBFPTR_PARAM_BARCODE_PRINT_TEXT | Флаг печати данных ШК | bool |
Для QR-кода дополнительно можно задать следующие параметры:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_BARCODE_CORRECTION | Коррекция QR-кода | int |
LIBFPTR_PARAM_BARCODE_VERSION | Версия QR-кода | int |
Для PDF-417 дополнительно можно задать следующие параметры:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_BARCODE_CORRECTION | Коррекция PDF417 | int |
LIBFPTR_PARAM_BARCODE_COLUMNS | Количество столбцов PDF417 | int |
Для AZTEC дополнительно можно задать следующие параметры:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_BARCODE_CORRECTION | Коррекция Aztec | int |
LIBFPTR_PARAM_BARCODE_VERSION | Версия Aztec | int |
Выравнивание LIBFPTR_PARAM_ALIGNMENT может принимать следующие значения:
- LIBFPTR_ALIGNMENT_LEFT - по левому краю
- LIBFPTR_ALIGNMENT_CENTER - по центру
- LIBFPTR_ALIGNMENT_RIGHT - по правому краю
Коррекция штрихкода LIBFPTR_PARAM_BARCODE_CORRECTION может принимать следующие значения:
- LIBFPTR_BC_DEFAULT - по умолчанию
- LIBFPTR_BC_0 - минимальная
- LIBFPTR_BC_1
- LIBFPTR_BC_2
- LIBFPTR_BC_3 - максимальная для QR / AZTEC
- LIBFPTR_BC_4
- LIBFPTR_BC_5
- LIBFPTR_BC_6
- LIBFPTR_BC_7
- LIBFPTR_BC_8 - максимальная для PDF-417
Печать картинки
Печать картинки
libfptr_set_param_str(fptr, LIBFPTR_PARAM_FILENAME, L"С:\\picture.png");
libfptr_print_picture(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_FILENAME, r"С:\picture.png")
fptr.printPicture()
fptr.setParam(IFptr.LIBFPTR_PARAM_FILENAME, "С:\\picture.png");
fptr.printPicture();
fptr.setParam(IFptr.LIBFPTR_PARAM_FILENAME, "/storage/emulated/0/picture.png");
fptr.printPicture();
[fptr setParam:LIBFPTR_PARAM_FILENAME, NSStringParam:@"/Users/user/picture.png"];
[fptr printPicture];
fptr.setParam(Constants.LIBFPTR_PARAM_FILENAME, "С:\\picture.png");
fptr.printPicture();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_FILENAME, 'С:\\picture.png');
fptr.printPicture;
end;
Для печати картинки необходимо вызвать метод printPicture() и задать путь к файлу картинки в параметре LIBFPTR_PARAM_FILENAME. Поддерживаются картинки в форматах bmp и png без прозрачности.
Дополнительно можно передать следующие параметры печати:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_ALIGNMENT | Выравнивание картинки | int |
LIBFPTR_PARAM_SCALE_PERCENT | Масштаб, в процентах | int |
LIBFPTR_PARAM_LEFT_MARGIN | Дополнительный отступ слева | int |
Выравнивание LIBFPTR_PARAM_ALIGNMENT может принимать следующие значения:
- LIBFPTR_ALIGNMENT_LEFT - по левому краю
- LIBFPTR_ALIGNMENT_CENTER - по центру
- LIBFPTR_ALIGNMENT_RIGHT - по правому краю
Печать картинки из памяти
Печать картинки из памяти
libfptr_set_param_int(fptr, LIBFPTR_PARAM_PICTURE_NUMBER, 1);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_ALIGNMENT, LIBFPTR_ALIGNMENT_CENTER);
libfptr_print_picture_by_number(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_PICTURE_NUMBER, 1)
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER)
fptr.printPictureByNumber()
fptr.setParam(IFptr.LIBFPTR_PARAM_PICTURE_NUMBER, 1);
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.printPictureByNumber();
fptr.setParam(IFptr.LIBFPTR_PARAM_PICTURE_NUMBER, 1);
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.printPictureByNumber();
[fptr setParam:LIBFPTR_PARAM_PICTURE_NUMBER, intParam:1];
[fptr setParam:LIBFPTR_PARAM_ALIGNMENT, intParam:LIBFPTR_ALIGNMENT_CENTER];
[fptr printPictureByNumber];
fptr.setParam(Constants.LIBFPTR_PARAM_PICTURE_NUMBER, 1);
fptr.setParam(Constants.LIBFPTR_PARAM_ALIGNMENT, Constants.LIBFPTR_ALIGNMENT_CENTER);
fptr.printPictureByNumber();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_PICTURE_NUMBER, 1);
fptr.setParam(fptr.LIBFPTR_PARAM_ALIGNMENT, fptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.printPictureByNumber;
end;
Для печати картинки из памяти ККТ необходимо вызвать метод printPictureByNumber() и задать номер картинки в параметре LIBFPTR_PARAM_PICTURE_NUMBER.
Дополнительно можно передать следующие параметры печати:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_ALIGNMENT | Выравнивание картинки | int |
LIBFPTR_PARAM_LEFT_MARGIN | Дополнительный отступ слева | int |
Выравнивание LIBFPTR_PARAM_ALIGNMENT может принимать следующие значения:
- LIBFPTR_ALIGNMENT_LEFT - по левому краю
- LIBFPTR_ALIGNMENT_CENTER - по центру
- LIBFPTR_ALIGNMENT_RIGHT - по правому краю
Чтение данных
Для чтения данных из ККТ или ФН нужно использовать методы beginReadRecords(), endReadRecords() и readNextRecord().
Последний чек
Построчное чтение последнего чека из ККТ
libfptr_set_param_int(fptr, LIBFPTR_PARAM_RECORDS_TYPE, LIBFPTR_RT_LAST_DOCUMENT_LINES);
libfptr_begin_read_records(handle);
while (libfptr_read_next_record() == LIBFPTR_OK)
{
std::vector<wchar_t> str(1024);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_TEXT, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_TEXT, &str[0], str.size());
}
std::wstring textLine = std::wstring(&str[0]);
uint font = libfptr_get_param_int(fptr, LIBFPTR_PARAM_FONT);
uint linespacing = libfptr_get_param_int(fptr, LIBFPTR_PARAM_LINESPACING);
uint brightness = libfptr_get_param_int(fptr, LIBFPTR_PARAM_BRIGHTNESS);
bool doubleWidth = libfptr_get_param_bool(fptr, LIBFPTR_PARAM_FONT_DOUBLE_WIDTH) != 0;
bool doubleHeight = libfptr_get_param_bool(fptr, LIBFPTR_PARAM_FONT_DOUBLE_HEIGHT) != 0;
}
libfptr_end_read_records(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECORDS_TYPE, IFptr.LIBFPTR_RT_LAST_DOCUMENT_LINES)
fptr.beginReadRecords()
while fptr.readNextRecord() == IFptr.LIBFPTR_OK:
textLine = fptr.getParamString(IFptr.LIBFPTR_PARAM_TEXT)
font = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FONT)
linespacing = fptr.getParamInt(IFptr.LIBFPTR_PARAM_LINESPACING)
brightness = fptr.getParamInt(IFptr.LIBFPTR_PARAM_BRIGHTNESS)
doubleWidth = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FONT_DOUBLE_WIDTH)
doubleHeight = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FONT_DOUBLE_HEIGHT)
fptr.endReadRecords()
fptr.setParam(IFptr.LIBFPTR_PARAM_RECORDS_TYPE, IFptr.LIBFPTR_RT_LAST_DOCUMENT_LINES);
fptr.beginReadRecords();
while (fptr.readNextRecord() == IFptr.LIBFPTR_OK) {
String textLine = fptr.getParamString(IFptr.LIBFPTR_PARAM_TEXT);
long font = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FONT);
long linespacing = fptr.getParamInt(IFptr.LIBFPTR_PARAM_LINESPACING);
long brightness = fptr.getParamInt(IFptr.LIBFPTR_PARAM_BRIGHTNESS);
boolean doubleWidth = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FONT_DOUBLE_WIDTH);
boolean doubleHeight = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FONT_DOUBLE_HEIGHT);
}
fptr.endReadRecords();
fptr.setParam(IFptr.LIBFPTR_PARAM_RECORDS_TYPE, IFptr.LIBFPTR_RT_LAST_DOCUMENT_LINES);
fptr.beginReadRecords();
while (fptr.readNextRecord() == IFptr.LIBFPTR_OK) {
String textLine = fptr.getParamString(IFptr.LIBFPTR_PARAM_TEXT);
long font = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FONT);
long linespacing = fptr.getParamInt(IFptr.LIBFPTR_PARAM_LINESPACING);
long brightness = fptr.getParamInt(IFptr.LIBFPTR_PARAM_BRIGHTNESS);
boolean doubleWidth = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FONT_DOUBLE_WIDTH);
boolean doubleHeight = fptr.getParamBool(IFptr.LIBFPTR_PARAM_FONT_DOUBLE_HEIGHT);
}
fptr.endReadRecords();
[fptr setParam:LIBFPTR_PARAM_RECORDS_TYPE, intParam:LIBFPTR_RT_LAST_DOCUMENT_LINES];
[fptr beginReadRecords];
while ([fptr readNextRecord] == LIBFPTR_OK)
{
NSString *textLine = [fptr getParamString:LIBFPTR_PARAM_TEXT];
uint font = [fptr getParamInt:LIBFPTR_PARAM_FONT];
uint linespacing = [fptr getParamInt:LIBFPTR_PARAM_LINESPACING];
uint brightness = [fptr getParamInt:LIBFPTR_PARAM_BRIGHTNESS];
bool doubleWidth = [fptr getParamBool:LIBFPTR_PARAM_FONT_DOUBLE_WIDTH];
bool doubleHeight = [fptr getParamBool:LIBFPTR_PARAM_FONT_DOUBLE_HEIGHT];
}
fptr.setParam(Constants.LIBFPTR_PARAM_RECORDS_TYPE, Constants.LIBFPTR_RT_LAST_DOCUMENT_LINES);
fptr.beginReadRecords();
uint documentType = fptr.getParamInt(Constants.LIBFPTR_PARAM_FN_DOCUMENT_TYPE);
uint documentSize = fptr.getParamInt(Constants.LIBFPTR_PARAM_COUNT);
while (fptr.readNextRecord() == LIBFPTR_OK) {
String textLine = fptr.getParamString(Constants.LIBFPTR_PARAM_TEXT);
long font = fptr.getParamInt(Constants.LIBFPTR_PARAM_FONT);
long linespacing = fptr.getParamInt(Constants.LIBFPTR_PARAM_LINESPACING);
long brightness = fptr.getParamInt(Constants.LIBFPTR_PARAM_BRIGHTNESS);
boolean doubleWidth = fptr.getParamBool(Constants.LIBFPTR_PARAM_FONT_DOUBLE_WIDTH);
boolean doubleHeight = fptr.getParamBool(Constants.LIBFPTR_PARAM_FONT_DOUBLE_HEIGHT);
}
fptr.endReadRecords();
var
documentType: Longint;
documentSize: Longint;
textLine: String;
font: Longint;
linespacing: Longint;
brightness: Longint;
doubleWidth: LongBool;
doubleHeight: LongBool;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_RECORDS_TYPE, fptr.LIBFPTR_RT_LAST_DOCUMENT_LINES);
fptr.beginReadRecords;
documentType := fptr.getParamInt(fptr.LIBFPTR_PARAM_FN_DOCUMENT_TYPE);
documentSize := fptr.getParamInt(fptr.LIBFPTR_PARAM_COUNT);
While fptr.readNextRecord = fptr.LIBFPTR_OK do
begin
textLine := fptr.getParamString(fptr.LIBFPTR_PARAM_TEXT);
font := fptr.getParamInt(fptr.LIBFPTR_PARAM_FONT);
linespacing := fptr.getParamInt(fptr.LIBFPTR_PARAM_LINESPACING);
brightness := fptr.getParamInt(fptr.LIBFPTR_PARAM_BRIGHTNESS);
doubleWidth := fptr.getParamBool(fptr.LIBFPTR_PARAM_FONT_DOUBLE_WIDTH);
doubleHeight := fptr.getParamBool(fptr.LIBFPTR_PARAM_FONT_DOUBLE_HEIGHT);
end;
end;
Для чтения последнего чека в строковом виде необходимо вызвать метод beginReadRecords() с типом данных LIBFPTR_PARAM_RECORDS_TYPE равным LIBFPTR_RT_LAST_DOCUMENT_LINES. Выходные параметры отсутствуют.
Каждый успешный вызов метода readNextRecord() заполняет следующие параметры:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_TEXT | Строка текста | string |
LIBFPTR_PARAM_FONT | Шрифт | int |
LIBFPTR_PARAM_LINESPACING | Межстрочный интервал | int |
LIBFPTR_PARAM_BRIGHTNESS | Яркость | int |
LIBFPTR_PARAM_FONT_DOUBLE_WIDTH | Двойная ширина | bool |
LIBFPTR_PARAM_FONT_DOUBLE_HEIGHT | Двойная высота | bool |
Документ из ФН
Чтение документа из ФН в виде TLV-структур
libfptr_set_param_int(fptr, LIBFPTR_PARAM_RECORDS_TYPE, LIBFPTR_RT_FN_DOCUMENT_TLVS);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_DOCUMENT_NUMBER, 12);
libfptr_begin_read_records(handle);
libfptr_fn_document_type documentType = libfptr_get_param_int(fptr, LIBFPTR_PARAM_FN_DOCUMENT_TYPE);
int documentSize = libfptr_get_param_int(fptr, LIBFPTR_PARAM_COUNT);
while (libfptr_read_next_record() == LIBFPTR_OK)
{
std::vector<uchar> tagValue(32);
int size = libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE, &tagValue[0], tagValue.size());
if (size > tagValue.size())
{
tagValue.resize(size);
libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE, &tagValue[0], tagValue.size());
}
tagValue.resize(size);
uint tagNumber = libfptr_get_param_int(fptr, LIBFPTR_PARAM_TAG_NUMBER);
}
libfptr_end_read_records(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_RECORDS_TYPE, IFptr.LIBFPTR_RT_FN_DOCUMENT_TLVS)
fptr.setParam(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER, 12)
fptr.beginReadRecords()
documentType = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_DOCUMENT_TYPE)
documentSize = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT)
while fptr.readNextRecord() != IFptr.LIBFPTR_OK:
tagValue = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE)
tagNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_TAG_NUMBER)
fptr.endReadRecords()
fptr.setParam(IFptr.LIBFPTR_PARAM_RECORDS_TYPE, IFptr.LIBFPTR_RT_FN_DOCUMENT_TLVS);
fptr.setParam(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER, 12);
fptr.beginReadRecords();
long documentType = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_DOCUMENT_TYPE);
long documentSize = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
while (fptr.readNextRecord() == IFptr.LIBFPTR_OK) {
byte[] tagValue = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE)
long tagNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_TAG_NUMBER)
}
fptr.endReadRecords();
fptr.setParam(IFptr.LIBFPTR_PARAM_RECORDS_TYPE, IFptr.LIBFPTR_RT_FN_DOCUMENT_TLVS);
fptr.setParam(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER, 12);
fptr.beginReadRecords();
long documentType = fptr.getParamInt(IFptr.LIBFPTR_PARAM_FN_DOCUMENT_TYPE);
long documentSize = fptr.getParamInt(IFptr.LIBFPTR_PARAM_COUNT);
while (fptr.readNextRecord() == IFptr.LIBFPTR_OK) {
byte[] tagValue = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE)
long tagNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_TAG_NUMBER)
}
fptr.endReadRecords();
[fptr setParam:LIBFPTR_PARAM_RECORDS_TYPE, intParam:LIBFPTR_RT_FN_DOCUMENT_TLVS];
[fptr setParam:LIBFPTR_PARAM_DOCUMENT_NUMBER, intParam:12];
[fptr beginReadRecords];
uint documentType = [fptr getParamInt:LIBFPTR_PARAM_FN_DOCUMENT_TYPE];
uint documentSize = [fptr getParamInt:LIBFPTR_PARAM_COUNT];
while ([fptr readNextRecord] == LIBFPTR_OK)
{
NSData *tagValue = [fptr getParamByteArray:LIBFPTR_PARAM_TAG_VALUE];
uint tagNumber = [fptr getParamInt:LIBFPTR_PARAM_TAG_NUMBER];
}
fptr.setParam(Constants.LIBFPTR_PARAM_RECORDS_TYPE, Constants.LIBFPTR_RT_FN_DOCUMENT_TLVS);
fptr.setParam(Constants.LIBFPTR_PARAM_DOCUMENT_NUMBER, 12);
fptr.beginReadRecords();
uint documentType = fptr.getParamInt(Constants.LIBFPTR_PARAM_FN_DOCUMENT_TYPE);
uint documentSize = fptr.getParamInt(Constants.LIBFPTR_PARAM_COUNT);
while (fptr.readNextRecord() == Constants.LIBFPTR_OK) {
byte[] tagValue = fptr.getParamByteArray(Constants.LIBFPTR_PARAM_TAG_VALUE)
uint tagNumber = fptr.getParamInt(Constants.LIBFPTR_PARAM_TAG_NUMBER)
}
fptr.endReadRecords();
var
documentType: Integer;
documentSize: Integer;
tagValue: Variant;
tagNumber: Integer;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_RECORDS_TYPE, fptr.LIBFPTR_RT_FN_DOCUMENT_TLVS);
fptr.setParam(fptr.LIBFPTR_PARAM_DOCUMENT_NUMBER, 12);
fptr.beginReadRecords;
documentType := fptr.getParamInt(fptr.LIBFPTR_PARAM_FN_DOCUMENT_TYPE);
documentSize := fptr.getParamInt(fptr.LIBFPTR_PARAM_COUNT);
While fptr.readNextRecord = fptr.LIBFPTR_OK do
begin
tagValue := fptr.getParamByteArray(fptr.LIBFPTR_PARAM_TAG_VALUE)
tagNumber := fptr.getParamInt(fptr.LIBFPTR_PARAM_TAG_NUMBER)
end;
end;
Для чтения документа из ФН по номеру необходимо вызвать метод beginReadRecords() с типом данных LIBFPTR_PARAM_RECORDS_TYPE равным LIBFPTR_RT_FN_DOCUMENT_TLVS и указать номер ФД для чтения в параметре LIBFPTR_PARAM_DOCUMENT_NUMBER.
Выходные параметры метода следущие:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_FN_DOCUMENT_TYPE | Тип документа | int |
LIBFPTR_PARAM_COUNT | Размер документа, б. | int |
Параметр LIBFPTR_PARAM_FN_DOCUMENT_TYPE может принимать следующие значения:
- LIBFPTR_FN_DOC_REGISTRATION - Отчет о регистрации
- LIBFPTR_FN_DOC_OPEN_SHIFT - Отчет об открытии смены
- LIBFPTR_FN_DOC_RECEIPT - Кассовый чек
- LIBFPTR_FN_DOC_BSO - Бланк строгой отчетности
- LIBFPTR_FN_DOC_CLOSE_SHIFT - Отчет о закрытии смены
- LIBFPTR_FN_DOC_CLOSE_FN - Отчет о закрытии фискального накопителя
- LIBFPTR_FN_DOC_OPERATOR_CONFIRMATION - Подтверждение оператора
- LIBFPTR_FN_DOC_REREGISTRATION - Отчет об изменении параметров регистрации
- LIBFPTR_FN_DOC_EXCHANGE_STATUS - Отчет о текущем состоянии расчетов
- LIBFPTR_FN_DOC_CORRECTION - Кассовый чек коррекции
- LIBFPTR_FN_DOC_BSO_CORRECTION - Бланк строгой отчетности коррекции
Каждый успешный вызов метода readNextRecord() возвращает данные TLV-структуры верхнего уровня и заполняет следующие параметры:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_TAG_NUMBER | Номер реквизита | int |
LIBFPTR_PARAM_TAG_VALUE | Значение реквизита | Зависит от номера реквизита |
Служебные операции
Выключение ККТ
Выключение ККТ
libfptr_device_poweroff(fptr);
fptr.devicePoweroff()
fptr.devicePoweroff();
fptr.devicePoweroff();
[fptr devicePoweroff];
fptr.devicePoweroff();
begin
fptr.devicePoweroff;
end;
Для выключения ККТ необходимо вызвать метод devicePoweroff().
Перезагрузка ККТ
Перезагрузка ККТ
libfptr_device_reboot(fptr);
fptr.deviceReboot()
fptr.deviceReboot();
fptr.deviceReboot();
[fptr deviceReboot];
fptr.deviceReboot();
begin
fptr.deviceReboot;
end;
Для перезагрузки ККТ необходимо вызвать метод deviceReboot().
Общее гашение
Общее гашение
libfptr_reset_summary(fptr);
fptr.resetSummary()
fptr.resetSummary();
fptr.resetSummary();
[fptr resetSummary];
fptr.resetSummary();
begin
fptr.resetSummary;
end;
Для выполнения общего гашения необходимо вызвать метод resetSummary().
Начальная инициализация ККТ
Начальная инициализация ККТ
libfptr_set_param_str(fptr, LIBFPTR_PARAM_SERIAL_NUMBER, L"0010840000011");
libfptr_set_param_str(fptr, LIBFPTR_PARAM_MAC_ADDRESS, L"11:22:33:44:55:66");
libfptr_set_param_datetime(fptr, LIBFPTR_PARAM_DATE_TIME, 2018, 3, 18, 12, 30, 00);
libfptr_init_device(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER, "0010840000011")
fptr.setParam(IFptr.LIBFPTR_PARAM_MAC_ADDRESS, "11:22:33:44:55:66")
fptr.setParam(IFptr.LIBFPTR_PARAM_DATE_TIME, datetime.datetime(2018, 3, 18, 12, 30, 00))
fptr.initDevice()
fptr.setParam(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER, "0010840000011");
fptr.setParam(IFptr.LIBFPTR_PARAM_MAC_ADDRESS, "11:22:33:44:55:66");
Calendar c = Calendar.getInstance();
c.set(2018, 3, 18, 12, 30, 00);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATE_TIME, c.getTime());
fptr.initDevice();
fptr.setParam(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER, "0010840000011");
fptr.setParam(IFptr.LIBFPTR_PARAM_MAC_ADDRESS, "11:22:33:44:55:66");
Calendar c = Calendar.getInstance();
c.set(2018, 3, 18, 12, 30, 00);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATE_TIME, c.getTime());
fptr.initDevice();
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setYear:[2018 intValue]];
[components setMonth:[3 intValue]];
[components setDay:[18 intValue]];
[components setHour:[12 intValue]];
[components setMinute:[30 intValue]];
[components setSecond:[00 intValue]];
[fptr setParam:LIBFPTR_PARAM_SERIAL_NUMBER, NSStringParam:@"0010840000011"];
[fptr setParam:LIBFPTR_PARAM_MAC_ADDRESS, NSStringParam:@"11:22:33:44:55:66"];
[fptr setParam:LIBFPTR_PARAM_DATE_TIME, NSDateParam:[calendar dateFromComponents:components]];
[fptr initDevice];
fptr.setParam(Constants.LIBFPTR_PARAM_SERIAL_NUMBER, "0010840000011");
fptr.setParam(Constants.LIBFPTR_PARAM_MAC_ADDRESS, "11:22:33:44:55:66");
DateTime date = new DateTime(2018, 3, 18, 12, 30, 0);
fptr.setParam(Constants.LIBFPTR_PARAM_DATE_TIME, date);
fptr.initDevice();
var
date: TDateTime;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_SERIAL_NUMBER, '0010840000011');
fptr.setParam(fptr.LIBFPTR_PARAM_MAC_ADDRESS, '11:22:33:44:55:66');
date := StrToDateTime('18.03.2018 12:30:00');
fptr.setParam(fptr.LIBFPTR_PARAM_DATE_TIME, date);
fptr.initDevice;
end;
Для выполнения начальной инициализации необходимо вызвать метод initDevice() и передать следующие параметры инициализации:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_SERIAL_NUMBER | Заводской номер | string |
LIBFPTR_PARAM_MAC_ADDRESS | MAC-адрес | string |
LIBFPTR_PARAM_DATE_TIME | Дата и время | datetime |
LIBFPTR_PARAM_FULL_RESET | Выполнять общую очистку памяти | bool |
Технологическое обнуление
Технологическое обнуление
libfptr_reset_settings(fptr);
fptr.resetSettings()
fptr.resetSettings();
fptr.resetSettings();
[fptr resetSettings];
fptr.resetSettings();
begin
fptr.resetSettings;
end;
Для выполнения технологического обнуления необходимо вызвать метод resetSettings().
Технологическое обнуление включает в себя:
- инициализацию системных таблиц начальными значениями;
- общее гашение ККТ;
- обнуление счетчика общих гашений.
Установка даты и времени
Установка даты и времени
libfptr_set_param_datetime(fptr, LIBFPTR_PARAM_DATE_TIME, 2018, 3, 18, 12, 30, 00);
libfptr_write_date_time(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATE_TIME, datetime.datetime(2018, 3, 18, 12, 30, 00))
fptr.writeDateTime()
Calendar c = Calendar.getInstance();
c.set(2018, 3, 18, 12, 30, 00);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATE_TIME, c.getTime());
fptr.writeDateTime();
Calendar c = Calendar.getInstance();
c.set(2018, 3, 18, 12, 30, 00);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATE_TIME, c.getTime());
fptr.writeDateTime();
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setYear:[2018 intValue]];
[components setMonth:[3 intValue]];
[components setDay:[18 intValue]];
[components setHour:[12 intValue]];
[components setMinute:[30 intValue]];
[components setSecond:[00 intValue]];
[fptr setParam:LIBFPTR_PARAM_DATE_TIME, NSDateParam:[calendar dateFromComponents:components]];
[fptr writeDateTime];
DateTime date = new DateTime(2018, 3, 18, 12, 30, 0);
fptr.setParam(Constants.LIBFPTR_PARAM_DATE_TIME, date);
fptr.writeDateTime();
var
date: TDateTime;
begin
date := StrToDateTime('18.03.2018 12:30:00');
fptr.setParam(fptr.LIBFPTR_PARAM_DATE_TIME, date);
fptr.writeDateTime;
end;
Для ввода даты и времени необходимо вызвать метод writeDateTime() и передать дату и время в параметре LIBFPTR_PARAM_DATE_TIME.
Запись лицензии
Запись лицензии
libfptr_set_param_int(fptr, LIBFPTR_PARAM_LICENSE_NUMBER, 4);
libfptr_set_param_str(fptr, LIBFPTR_PARAM_LICENSE, L"1234567890");
libfptr_write_license(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_LICENSE_NUMBER, 4)
fptr.setParam(IFptr.LIBFPTR_PARAM_LICENSE, "1234567890")
fptr.writeLicense()
fptr.setParam(IFptr.LIBFPTR_PARAM_LICENSE_NUMBER, 4);
fptr.setParam(IFptr.LIBFPTR_PARAM_LICENSE, "1234567890");
fptr.writeLicense();
fptr.setParam(IFptr.LIBFPTR_PARAM_LICENSE_NUMBER, 4);
fptr.setParam(IFptr.LIBFPTR_PARAM_LICENSE, "1234567890");
fptr.writeLicense();
[fptr setParam:LIBFPTR_PARAM_LICENSE_NUMBER, intParam:4];
[fptr setParam:LIBFPTR_PARAM_LICENSE, NSString:@"1234567890"];
[fptr writeLicense];
fptr.setParam(Constants.LIBFPTR_PARAM_LICENSE_NUMBER, 4);
fptr.setParam(Constants.LIBFPTR_PARAM_LICENSE, "1234567890");
fptr.writeLicense();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_LICENSE_NUMBER, 4);
fptr.setParam(fptr.LIBFPTR_PARAM_LICENSE, '1234567890');
fptr.writeLicense;
end;
Для записи лицензии (кода защиты) в ККТ необходимо вызвать метод writeLicense() и передать идентификатор лицензии (код защиты) в параметре LIBFPTR_PARAM_LICENSE и тип лицензии (номер кода защиты) в параметре LIBFPTR_PARAM_LICENSE_NUMBER.
Прочие методы
Выполнение команды
Выполнение команды
uchar command[4] = {0x91, 0x13, 0x00, 0x00};
libfptr_set_param_int(fptr, LIBFPTR_PARAM_TIMEOUT_ENQ, 10000);
libfptr_set_param_bytearray(fptr, LIBFPTR_PARAM_COMMAND_BUFFER, command, sizeof(command) / sizeof(command[0]));
libfptr_run_command(fptr);
std::vector<uchar> answer(16);
int size = libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_ANSWER_BUFFER, &answer[0], answer.size());
if (size > answer.size())
{
answer.resize(size);
libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_ANSWER_BUFFER, &answer[0], answer.size());
}
answer.resize(size);
fptr.setParam(IFptr.LIBFPTR_PARAM_TIMEOUT_ENQ, 10000)
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMAND_BUFFER, [0x91, 0x13, 0x00, 0x00])
fptr.runCommand()
answer = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_ANSWER_BUFFER)
fptr.setParam(IFptr.LIBFPTR_PARAM_TIMEOUT_ENQ, 10000);
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMAND_BUFFER, new byte[]{0x91, 0x13, 0x00, 0x00});
fptr.runCommand();
byte[] answer = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_ANSWER_BUFFER);
fptr.setParam(IFptr.LIBFPTR_PARAM_TIMEOUT_ENQ, 10000);
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMAND_BUFFER, new byte[]{0x91, 0x13, 0x00, 0x00});
fptr.runCommand();
byte[] answer = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_ANSWER_BUFFER);
[fptr setParam:LIBFPTR_PARAM_TIMEOUT_ENQ, intParam:10000];
uchar command[4] = {0x91, 0x13, 0x00, 0x00};
[fptr setParam:LIBFPTR_PARAM_COMMAND_BUFFER, NSDataParam:[NSData dataWithBytes:(const void*)command length:sizeof(command)]];
[fptr runCommand];
NSData *answer = [fptr getParamByteArray:LIBFPTR_PARAM_ANSWER_BUFFER];
fptr.setParam(Constants.LIBFPTR_PARAM_TIMEOUT_ENQ, 10000);
byte[] command = new byte[]{0x91, 0x13, 0x00, 0x00};
fptr.setParam(Constants.LIBFPTR_PARAM_COMMAND_BUFFER, command);
fptr.runCommand();
byte[] answer = fptr.getParamByteArray(Constants.LIBFPTR_PARAM_ANSWER_BUFFER);
var
command_byte_array: Array[0 .. 3] of Byte;
command_variant: Variant;
i: Integer;
answer: Variant;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_TIMEOUT_ENQ, 10000);
command_byte_array[0] := 0x91;
command_byte_array[1] := 0x13;
command_byte_array[2] := 0x00;
command_byte_array[2] := 0x00;
command_variant := VarArrayCreate([0, high(command_byte_array)], varByte);
for i := VarArrayLowBound(command_variant, 1) to VarArrayHighBound(command_variant, 1) do
begin
VarArrayPut(command_variant, command_byte_array[i], [i]);
end;
fptr.setParam(fptr.LIBFPTR_PARAM_COMMAND_BUFFER, command_variant));
fptr.runCommand;
answer := fptr.getParamByteArray(fptr.LIBFPTR_PARAM_ANSWER_BUFFER);
end;
Для выполнения произвольной команды ККТ необходимо вызвать метод runCommand() и передать ему команду в параметре LIBFPTR_PARAM_COMMAND_BUFFER и время ожидания ответа на команду в параметре LIBFPTR_PARAM_TIMEOUT_ENQ. Также можно не дожидаться ответа, если передать параметр LIBFPTR_PARAM_NO_NEED_ANSWER, равный true.
Отрезка ЧЛ
Отрезка чековой ленты
libfptr_cut(fptr);
fptr.cut()
fptr.cut();
fptr.cut();
[fptr cut];
fptr.cut();
begin
fptr.cut;
end;
Для отрезки чековой ленты необходимо вызвать метод cut(). Дополнительно можно указать тип отрезки в параметре LIBFPTR_PARAM_CUT_TYPE. Если параметр не указан, драйвер сам определит способ отрезки.
Выравнивание LIBFPTR_PARAM_CUT_TYPE может принимать следующие значения:
- LIBFPTR_CT_FULL - полная отрезка
- LIBFPTR_CT_PART - частичная отрезка
Промотка ЧЛ
Промотка чековой ленты
libfptr_line_feed(fptr);
fptr.lineFeed()
fptr.lineFeed();
fptr.lineFeed();
[fptr lineFeed];
fptr.lineFeed();
begin
fptr.lineFeed;
end;
Для промотки чековой ленты необходимо вызвать метод lineFeed().
Звуковой сигнал
Звуковой сигнал
libfptr_beep(fptr);
fptr.beep()
fptr.beep();
fptr.beep();
[fptr beep];
fptr.beep();
begin
fptr.beep;
end;
Для подачи звукового сигнала необходимо вызвать метод beep().
Дополнительно можно передать следующие параметры для настройки звукового сигнала:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_FREQUENCY | Частота, Гц. | int |
LIBFPTR_PARAM_DURATION | Длительность, мс. | int |
Открытие ДЯ
Открытие денежного ящика
libfptr_open_drawer(fptr);
fptr.openDrawer()
fptr.openDrawer();
fptr.openDrawer();
[fptr openDrawer];
fptr.openDrawer();
begin
fptr.openDrawer;
end;
Для открытия денежного ящика, подключенного к ККТ, необходимо вызвать метод openDrawer().
Дополнительно можно передать следующие параметры для настройки открытия денежного ящика:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_DRAWER_ON_TIMEOUT | Длительность включения, мс. | int |
LIBFPTR_PARAM_DRAWER_OFF_TIMEOUT | Длительность задержки, мс. | int |
LIBFPTR_PARAM_DRAWER_ON_QUANTITY | Количество импульсов | int |
Формирование составного реквизита
Формирование составной TLV-структуры (на примере данных агента)
libfptr_set_param_str(fptr, 1005, L"ул. Свободы, 13");
libfptr_set_param_str(fptr, 1016, L"123456789047");
libfptr_set_param_str(fptr, 1026, L"Оператор 1");
libfptr_set_param_str(fptr, 1044, L"Оплата");
libfptr_set_param_str(fptr, 1073, L"+79121234567");
libfptr_set_param_str(fptr, 1074, L"+79121234568");
libfptr_set_param_str(fptr, 1074, L"+79121234574");
libfptr_set_param_str(fptr, 1075, L"+79121234569");
libfptr_util_form_tlv(fptr);
std::vector<uchar> agentInfo(128);
int size = libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE, &agentInfo[0], agentInfo.size());
if (size > agentInfo.size())
{
agentInfo.resize(size);
libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE, &agentInfo[0], agentInfo.size());
}
agentInfo.resize(size);
// ...
libfptr_set_param_bytearray(fptr, 1223, &agentInfo[0], agentInfo.size());
fptr.setParam(1005, "ул. Свободы, 13")
fptr.setParam(1016, "123456789047")
fptr.setParam(1026, "Оператор 1")
fptr.setParam(1044, "Оплата")
fptr.setParam(1073, "+79121234567")
fptr.setParam(1074, "+79121234568")
fptr.setParam(1074, "+79121234574")
fptr.setParam(1075, "+79121234569")
fptr.utilFormTlv()
agentInfo = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE)
# ...
fptr.setParam(1223, agentInfo)
fptr.setParam(1005, "ул. Свободы, 13");
fptr.setParam(1016, "123456789047");
fptr.setParam(1026, "Оператор 1");
fptr.setParam(1044, "Оплата");
fptr.setParam(1073, "+79121234567");
fptr.setParam(1074, "+79121234568");
fptr.setParam(1074, "+79121234574");
fptr.setParam(1075, "+79121234569");
fptr.utilFormTlv();
byte[] agentInfo = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE);
// ...
fptr.setParam(1223, agentInfo);
fptr.setParam(1005, "ул. Свободы, 13");
fptr.setParam(1016, "123456789047");
fptr.setParam(1026, "Оператор 1");
fptr.setParam(1044, "Оплата");
fptr.setParam(1073, "+79121234567");
fptr.setParam(1074, "+79121234568");
fptr.setParam(1074, "+79121234574");
fptr.setParam(1075, "+79121234569");
fptr.utilFormTlv();
byte[] agentInfo = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE);
// ...
fptr.setParam(1223, agentInfo);
[fptr setParam:1005, NSStringParam:@"ул. Свободы, 13"];
[fptr setParam:1016, NSStringParam:@"123456789047"];
[fptr setParam:1026, NSStringParam:@"Оператор 1"];
[fptr setParam:1044, NSStringParam:@"Оплата"];
[fptr setParam:1073, NSStringParam:@"+79121234567"];
[fptr setParam:1074, NSStringParam:@"+79121234568"];
[fptr setParam:1074, NSStringParam:@"+79121234574"];
[fptr setParam:1075, NSStringParam:@"+79121234569"];
[fptr utilFormTlv];
NSData *agentInfo = [fptr getParamByteArray:LIBFPTR_PARAM_TAG_VALUE];
// ...
[fptr setParam:1223, NSDataParam:agentInfo];
fptr.setParam(1005, "ул. Свободы, 13");
fptr.setParam(1016, "123456789047");
fptr.setParam(1026, "Оператор 1");
fptr.setParam(1044, "Оплата");
fptr.setParam(1073, "+79121234567");
fptr.setParam(1074, "+79121234568");
fptr.setParam(1074, "+79121234574");
fptr.setParam(1075, "+79121234569");
fptr.utilFormTlv();
byte[] agentInfo = fptr.getParamByteArray(Constants.LIBFPTR_PARAM_TAG_VALUE);
// ...
fptr.setParam(1223, agentInfo);
var
agentInfo: Variant;
begin
fptr.setParam(1005, 'ул. Свободы, 13');
fptr.setParam(1016, '123456789047');
fptr.setParam(1026, 'Оператор 1');
fptr.setParam(1044, 'Оплата');
fptr.setParam(1073, '+79121234567');
fptr.setParam(1074, '+79121234568');
fptr.setParam(1074, '+79121234574');
fptr.setParam(1075, '+79121234569');
fptr.utilFormTlv;
agentInfo := fptr.getParamByteArray(fptr.LIBFPTR_PARAM_TAG_VALUE);
// ...
fptr.setParam(1223, agentInfo);
end;
Для формирования составного реквизита ФН необходимо вызвать метод utilFormTlv(). Входными параметрами для метода является набор реквизитов, которые нужно объединить в один составной. Если в качестве значения передается пустота (пустой массив или пустая строка), то этот реквизит не будет добавлен в составной. Результатом метода является массив байтов (параметр LIBFPTR_PARAM_TAG_VALUE), который нужно передать в необходимый метод, указав номер реквизита.
Формирование списка настроек
Формирование списка возможных значений для настройки LIBFPTR_SETTING_MODEL (модель ККТ)
libfptr_set_param_str(fptr, LIBFPTR_PARAM_MAPPING_KEY, LIBFPTR_SETTING_MODEL);
libfptr_util_mapping(fptr);
std::vector<wchar_t> models(256);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_MAPPING_VALUE, &models[0], models.size());
if (size > models.size())
{
models.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_MAPPING_VALUE, &models[0], models.size());
}
fptr.setParam(IFptr.LIBFPTR_PARAM_MAPPING_KEY, IFptr.LIBFPTR_SETTING_MODEL)
fptr.utilMapping()
models = fptr.getParamString(IFptr.LIBFPTR_PARAM_MAPPING_VALUE)
fptr.setParam(IFptr.LIBFPTR_PARAM_MAPPING_KEY, IFptr.LIBFPTR_SETTING_MODEL);
fptr.utilMapping();
String models = fptr.getParamString(IFptr.LIBFPTR_PARAM_MAPPING_VALUE);
fptr.setParam(IFptr.LIBFPTR_PARAM_MAPPING_KEY, IFptr.LIBFPTR_SETTING_MODEL);
fptr.utilMapping();
String models = fptr.getParamString(IFptr.LIBFPTR_PARAM_MAPPING_VALUE);
[fptr setParam:LIBFPTR_PARAM_MAPPING_KEY, NSStringParam:LIBFPTR_SETTING_MODEL];
[fptr utilMapping];
NSString *models = [fptr getParamString:LIBFPTR_PARAM_MAPPING_VALUE];
fptr.setParam(Constants.LIBFPTR_PARAM_MAPPING_KEY, Constants.LIBFPTR_SETTING_MODEL);
fptr.utilMapping();
String models = fptr.getParamString(Constants.LIBFPTR_PARAM_MAPPING_VALUE);
var
models: String;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_MAPPING_KEY, fptr.LIBFPTR_SETTING_MODEL);
fptr.utilMapping;
models := fptr.getParamString(fptr.LIBFPTR_PARAM_MAPPING_VALUE);
end;
> Значением параметра **LIBFPTR_PARAM_MAPPING_VALUE** является Json следующего вида:
[
{
"key": <значение 1, строка>,
"description": <описание значения 1, строка>
},
{
"key": <значение 2, строка>,
"description": <описание значения 2, строка>
},
{
"key": <значение 3, строка>,
"description": <описание значения 3, строка>
},
...
]
Для формирования списка доступных настроек необходимо вызвать метод utilMapping().
Список доступных для получения списка значений настроек:
- LIBFPTR_SETTING_MODEL - модель ККТ
- LIBFPTR_SETTING_PORT - способ связи с ККТ
- LIBFPTR_SETTING_COM_FILE - идентификатор COM / VCOM
- LIBFPTR_SETTING_USB_DEVICE_PATH - идентификатор USB
- LIBFPTR_SETTING_BAUDRATE - скорость канала COM-порта
- LIBFPTR_SETTING_BITS - битность канала COM-порта
- LIBFPTR_SETTING_STOPBITS - количество стоп-битов канала COM-порта
- LIBFPTR_SETTING_PARITY - четность канала COM-порта
- LIBFPTR_SETTING_EXISTED_COM_FILES - найденные COM-порты
Формирование кода товара
Формирование кода изделия их меха
libfptr_set_param_int(fptr, LIBFPTR_PARAM_NOMENCLATURE_TYPE, LIBFPTR_NT_FURS);
libfptr_set_param_str(fptr, LIBFPTR_PARAM_GTIN, L"98765432101234");
libfptr_set_param_str(fptr, LIBFPTR_PARAM_SERIAL_NUMBER, L"RU-430302-ABC1234567");
libfptr_util_form_nomenclature(fptr);
std::vector<uchar> nomenclatureCode;
int size = libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE, &nomenclatureCode[0], nomenclatureCode.size());
if (size > nomenclatureCode.size())
{
nomenclatureCode.resize(size);
libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE, &nomenclatureCode[0], nomenclatureCode.size());
}
fptr.setParam(IFptr.LIBFPTR_PARAM_NOMENCLATURE_TYPE, IFptr.LIBFPTR_NT_FURS)
fptr.setParam(IFptr.LIBFPTR_PARAM_GTIN, "98765432101234")
fptr.setParam(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER, "RU-430302-ABC1234567")
fptr.utilFormNomenclature()
nomenclatureCode = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE)
fptr.setParam(IFptr.LIBFPTR_PARAM_NOMENCLATURE_TYPE, IFptr.LIBFPTR_NT_FURS);
fptr.setParam(IFptr.LIBFPTR_PARAM_GTIN, "98765432101234");
fptr.setParam(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER, "RU-430302-ABC1234567");
fptr.utilFormNomenclature();
byte[] nomenclatureCode = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE);
fptr.setParam(IFptr.LIBFPTR_PARAM_NOMENCLATURE_TYPE, IFptr.LIBFPTR_NT_FURS);
fptr.setParam(IFptr.LIBFPTR_PARAM_GTIN, "98765432101234");
fptr.setParam(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER, "RU-430302-ABC1234567");
fptr.utilFormNomenclature();
byte[] nomenclatureCode = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE);
[fptr setParam:LIBFPTR_PARAM_NOMENCLATURE_TYPE, intParam:LIBFPTR_NT_FURS];
[fptr setParam:LIBFPTR_PARAM_GTIN, NSStringParam:@"98765432101234"];
[fptr setParam:LIBFPTR_PARAM_SERIAL_NUMBER, NSStringParam:@"RU-430302-ABC1234567"];
[fptr utilFormNomenclature];
NSData *nomenclatureCode = [fptr getParamByteArray:LIBFPTR_PARAM_TAG_VALUE];
fptr.setParam(Constants.LIBFPTR_PARAM_NOMENCLATURE_TYPE, Constants.LIBFPTR_NT_FURS);
fptr.setParam(Constants.LIBFPTR_PARAM_GTIN, "98765432101234");
fptr.setParam(Constants.LIBFPTR_PARAM_SERIAL_NUMBER, "RU-430302-ABC1234567");
fptr.utilFormNomenclature();
byte[] nomenclatureCode = fptr.getParamByteArray(Constants.LIBFPTR_PARAM_TAG_VALUE);
var
nomenclatureCode: Variant;
begin
fptr.setParam(fptr.LLIBFPTR_PARAM_NOMENCLATURE_TYPE, fptr.LIBFPTR_NT_FURS);
fptr.setParam(fptr.LIBFPTR_PARAM_GTIN, '98765432101234');
fptr.setParam(fptr.LIBFPTR_PARAM_SERIAL_NUMBER, 'RU-430302-ABC1234567');
fptr.utilFormNomenclature;
nomenclatureCode := fptr.getParamByteArray(fptr.LIBFPTR_PARAM_TAG_VALUE);
end;
Формирование кода лекарственного препарата
libfptr_set_param_int(fptr, LIBFPTR_PARAM_NOMENCLATURE_TYPE, LIBFPTR_NT_MEDICINES);
libfptr_set_param_str(fptr, LIBFPTR_PARAM_GTIN, L"98765432101234");
libfptr_set_param_str(fptr, LIBFPTR_PARAM_SERIAL_NUMBER, L"ABC1234567890");
libfptr_util_form_nomenclature(fptr);
std::vector<uchar> nomenclatureCode;
int size = libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE, &nomenclatureCode[0], nomenclatureCode.size());
if (size > nomenclatureCode.size())
{
nomenclatureCode.resize(size);
libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE, &nomenclatureCode[0], nomenclatureCode.size());
}
fptr.setParam(IFptr.LIBFPTR_PARAM_NOMENCLATURE_TYPE, IFptr.LIBFPTR_NT_MEDICINES)
fptr.setParam(IFptr.LIBFPTR_PARAM_GTIN, "98765432101234")
fptr.setParam(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER, "ABC1234567890")
fptr.utilFormNomenclature()
nomenclatureCode = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE)
fptr.setParam(IFptr.LIBFPTR_PARAM_NOMENCLATURE_TYPE, IFptr.LIBFPTR_NT_MEDICINES);
fptr.setParam(IFptr.LIBFPTR_PARAM_GTIN, "98765432101234");
fptr.setParam(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER, "ABC1234567890");
fptr.utilFormNomenclature();
byte[] nomenclatureCode = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE);
fptr.setParam(IFptr.LIBFPTR_PARAM_NOMENCLATURE_TYPE, IFptr.LIBFPTR_NT_MEDICINES);
fptr.setParam(IFptr.LIBFPTR_PARAM_GTIN, "98765432101234");
fptr.setParam(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER, "ABC1234567890");
fptr.utilFormNomenclature();
byte[] nomenclatureCode = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE);
[fptr setParam:LIBFPTR_PARAM_NOMENCLATURE_TYPE, intParam:LIBFPTR_NT_MEDICINES];
[fptr setParam:LIBFPTR_PARAM_GTIN, NSStringParam:@"98765432101234"];
[fptr setParam:LIBFPTR_PARAM_SERIAL_NUMBER, NSStringParam:@"ABC1234567890"];
[fptr utilFormNomenclature];
NSData *nomenclatureCode = [fptr getParamByteArray:LIBFPTR_PARAM_TAG_VALUE];
fptr.setParam(Constants.LIBFPTR_PARAM_NOMENCLATURE_TYPE, Constants.LIBFPTR_NT_MEDICINES);
fptr.setParam(Constants.LIBFPTR_PARAM_GTIN, "98765432101234");
fptr.setParam(Constants.LIBFPTR_PARAM_SERIAL_NUMBER, "ABC1234567890");
fptr.utilFormNomenclature();
byte[] nomenclatureCode = fptr.getParamByteArray(Constants.LIBFPTR_PARAM_TAG_VALUE);
var
nomenclatureCode: Variant;
begin
fptr.setParam(fptr.LLIBFPTR_PARAM_NOMENCLATURE_TYPE, fptr.LIBFPTR_NT_MEDICINES);
fptr.setParam(fptr.LIBFPTR_PARAM_GTIN, '98765432101234');
fptr.setParam(fptr.LIBFPTR_PARAM_SERIAL_NUMBER, 'ABC1234567890');
fptr.utilFormNomenclature;
nomenclatureCode := fptr.getParamByteArray(fptr.LIBFPTR_PARAM_TAG_VALUE);
end;
Формирование кода табачного изделия
libfptr_set_param_int(fptr, LIBFPTR_PARAM_NOMENCLATURE_TYPE, LIBFPTR_NT_TOBACCO);
libfptr_set_param_str(fptr, LIBFPTR_PARAM_GTIN, L"98765432101234");
libfptr_set_param_str(fptr, LIBFPTR_PARAM_SERIAL_NUMBER, L"ABC1234");
libfptr_util_form_nomenclature(fptr);
std::vector<uchar> nomenclatureCode;
int size = libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE, &nomenclatureCode[0], nomenclatureCode.size());
if (size > nomenclatureCode.size())
{
nomenclatureCode.resize(size);
libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE, &nomenclatureCode[0], nomenclatureCode.size());
}
fptr.setParam(IFptr.LIBFPTR_PARAM_NOMENCLATURE_TYPE, IFptr.LIBFPTR_NT_TOBACCO)
fptr.setParam(IFptr.LIBFPTR_PARAM_GTIN, "98765432101234")
fptr.setParam(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER, "ABC1234")
fptr.utilFormNomenclature()
nomenclatureCode = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE)
fptr.setParam(IFptr.LIBFPTR_PARAM_NOMENCLATURE_TYPE, IFptr.LIBFPTR_NT_TOBACCO);
fptr.setParam(IFptr.LIBFPTR_PARAM_GTIN, "98765432101234");
fptr.setParam(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER, "ABC1234");
fptr.utilFormNomenclature();
byte[] nomenclatureCode = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE);
fptr.setParam(IFptr.LIBFPTR_PARAM_NOMENCLATURE_TYPE, IFptr.LIBFPTR_NT_TOBACCO);
fptr.setParam(IFptr.LIBFPTR_PARAM_GTIN, "98765432101234");
fptr.setParam(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER, "ABC1234");
fptr.utilFormNomenclature();
byte[] nomenclatureCode = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE);
[fptr setParam:LIBFPTR_PARAM_NOMENCLATURE_TYPE, intParam:LIBFPTR_NT_TOBACCO];
[fptr setParam:LIBFPTR_PARAM_GTIN, NSStringParam:@"98765432101234"];
[fptr setParam:LIBFPTR_PARAM_SERIAL_NUMBER, NSStringParam:@"ABC1234"];
[fptr utilFormNomenclature];
NSData *nomenclatureCode = [fptr getParamByteArray:LIBFPTR_PARAM_TAG_VALUE];
fptr.setParam(Constants.LIBFPTR_PARAM_NOMENCLATURE_TYPE, Constants.LIBFPTR_NT_TOBACCO);
fptr.setParam(Constants.LIBFPTR_PARAM_GTIN, "98765432101234");
fptr.setParam(Constants.LIBFPTR_PARAM_SERIAL_NUMBER, "ABC1234");
fptr.utilFormNomenclature();
byte[] nomenclatureCode = fptr.getParamByteArray(Constants.LIBFPTR_PARAM_TAG_VALUE);
var
nomenclatureCode: Variant;
begin
fptr.setParam(fptr.LLIBFPTR_PARAM_NOMENCLATURE_TYPE, fptr.LIBFPTR_NT_TOBACCO);
fptr.setParam(fptr.LIBFPTR_PARAM_GTIN, '98765432101234');
fptr.setParam(fptr.LIBFPTR_PARAM_SERIAL_NUMBER, 'ABC1234');
fptr.utilFormNomenclature;
nomenclatureCode := fptr.getParamByteArray(fptr.LIBFPTR_PARAM_TAG_VALUE);
end;
Формирование кода обуви
libfptr_set_param_int(fptr, LIBFPTR_PARAM_NOMENCLATURE_TYPE, LIBFPTR_NT_SHOES);
libfptr_set_param_str(fptr, LIBFPTR_PARAM_GTIN, L"98765432101234");
libfptr_set_param_str(fptr, LIBFPTR_PARAM_SERIAL_NUMBER, L"sgEKKPPcS25y5");
libfptr_util_form_nomenclature(fptr);
std::vector<uchar> nomenclatureCode;
int size = libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE, &nomenclatureCode[0], nomenclatureCode.size());
if (size > nomenclatureCode.size())
{
nomenclatureCode.resize(size);
libfptr_get_param_bytearray(fptr, LIBFPTR_PARAM_TAG_VALUE, &nomenclatureCode[0], nomenclatureCode.size());
}
fptr.setParam(IFptr.LIBFPTR_PARAM_NOMENCLATURE_TYPE, IFptr.LIBFPTR_NT_SHOES)
fptr.setParam(IFptr.LIBFPTR_PARAM_GTIN, "98765432101234")
fptr.setParam(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER, "sgEKKPPcS25y5")
fptr.utilFormNomenclature()
nomenclatureCode = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE)
fptr.setParam(IFptr.LIBFPTR_PARAM_NOMENCLATURE_TYPE, IFptr.LIBFPTR_NT_SHOES);
fptr.setParam(IFptr.LIBFPTR_PARAM_GTIN, "98765432101234");
fptr.setParam(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER, "sgEKKPPcS25y5");
fptr.utilFormNomenclature();
byte[] nomenclatureCode = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE);
fptr.setParam(IFptr.LIBFPTR_PARAM_NOMENCLATURE_TYPE, IFptr.LIBFPTR_NT_SHOES);
fptr.setParam(IFptr.LIBFPTR_PARAM_GTIN, "98765432101234");
fptr.setParam(IFptr.LIBFPTR_PARAM_SERIAL_NUMBER, "sgEKKPPcS25y5");
fptr.utilFormNomenclature();
byte[] nomenclatureCode = fptr.getParamByteArray(IFptr.LIBFPTR_PARAM_TAG_VALUE);
[fptr setParam:LIBFPTR_PARAM_NOMENCLATURE_TYPE, intParam:LIBFPTR_NT_SHOES];
[fptr setParam:LIBFPTR_PARAM_GTIN, NSStringParam:@"98765432101234"];
[fptr setParam:LIBFPTR_PARAM_SERIAL_NUMBER, NSStringParam:@"sgEKKPPcS25y5"];
[fptr utilFormNomenclature];
NSData *nomenclatureCode = [fptr getParamByteArray:LIBFPTR_PARAM_TAG_VALUE];
fptr.setParam(Constants.LIBFPTR_PARAM_NOMENCLATURE_TYPE, Constants.LIBFPTR_NT_SHOES);
fptr.setParam(Constants.LIBFPTR_PARAM_GTIN, "98765432101234");
fptr.setParam(Constants.LIBFPTR_PARAM_SERIAL_NUMBER, "sgEKKPPcS25y5");
fptr.utilFormNomenclature();
byte[] nomenclatureCode = fptr.getParamByteArray(Constants.LIBFPTR_PARAM_TAG_VALUE);
var
nomenclatureCode: Variant;
begin
fptr.setParam(fptr.LLIBFPTR_PARAM_NOMENCLATURE_TYPE, fptr.LIBFPTR_NT_SHOES);
fptr.setParam(fptr.LIBFPTR_PARAM_GTIN, '98765432101234');
fptr.setParam(fptr.LIBFPTR_PARAM_SERIAL_NUMBER, 'sgEKKPPcS25y5');
fptr.utilFormNomenclature;
nomenclatureCode := fptr.getParamByteArray(fptr.LIBFPTR_PARAM_TAG_VALUE);
end;
Для формирования кода товара (КТ) можно использовать метод utilFormNomenclature(). Входные параметры могут отличаться в зависимости от типа КТ (LIBFPTR_PARAM_NOMENCLATURE_TYPE).
Входные параметры для изделий из меха (LIBFPTR_PARAM_NOMENCLATURE_TYPE = LIBFPTR_NT_FURS):
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_GTIN | Идентификатор продукта GTIN | string, 14 символов |
LIBFPTR_PARAM_SERIAL_NUMBER | Серийный номер | string, 20 символов |
Входные параметры для лекарственных препаратов (LIBFPTR_PARAM_NOMENCLATURE_TYPE = LIBFPTR_NT_MEDICINES):
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_GTIN | Идентификатор продукта GTIN | string, 14 символов |
LIBFPTR_PARAM_SERIAL_NUMBER | Контрольный (идентификационный) знак (КиЗ) | string, 13 символов |
Входные параметры для табачной продукции (LIBFPTR_PARAM_NOMENCLATURE_TYPE = LIBFPTR_NT_TOBACCO):
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_GTIN | Идентификатор продукта GTIN | string, 14 символов |
LIBFPTR_PARAM_SERIAL_NUMBER | Код идентификации | string, 7 символов |
Входные параметры для обуви (LIBFPTR_PARAM_NOMENCLATURE_TYPE = LIBFPTR_NT_SHOES):
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_GTIN | Идентификатор продукта GTIN | string, 14 символов |
LIBFPTR_PARAM_SERIAL_NUMBER | Серийный номер | string, 13 символов |
Получение информации о реквизите ФН
Получение информации о реквизите ФН
libfptr_set_param_int(fptr, LIBFPTR_PARAM_TAG_NUMBER, 1012);
libfptr_util_tag_info(fptr);
std::vector<wchar_t> str(256);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_TAG_NAME, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_TAG_NAME, &str[0], str.size());
}
std::wstring name = std::wstring(&str[0]);
uint type = libfptr_get_param_int(fptr, LIBFPTR_PARAM_TAG_TYPE);
bool isComplex = libfptr_get_param_bool(fptr, LIBFPTR_PARAM_TAG_IS_COMPLEX) ? true : false;
bool isRepeatable = libfptr_get_param_bool(fptr, LIBFPTR_PARAM_TAG_IS_REPEATABLE) ? true : false;
fptr.setParam(IFptr.LIBFPTR_PARAM_TAG_NUMBER, 1012)
fptr.utilTagInfo()
name = fptr.getParamString(IFptr.LIBFPTR_PARAM_TAG_NAME)
type = fptr.getParamInt(IFptr.LIBFPTR_PARAM_TAG_TYPE)
isComplex = fptr.getParamBool(IFptr.LIBFPTR_PARAM_TAG_IS_COMPLEX)
isRepeatable = fptr.getParamBool(IFptr.LIBFPTR_PARAM_TAG_IS_REPEATABLE)
fptr.setParam(IFptr.LIBFPTR_PARAM_TAG_NUMBER, 1012);
fptr.utilTagInfo();
String name = fptr.getParamString(IFptr.LIBFPTR_PARAM_TAG_NAME);
int type = fptr.getParamInt(IFptr.LIBFPTR_PARAM_TAG_TYPE);
boolean isComplex = fptr.getParamBool(IFptr.LIBFPTR_PARAM_TAG_IS_COMPLEX);
boolean isRepeatable = fptr.getParamBool(IFptr.LIBFPTR_PARAM_TAG_IS_REPEATABLE);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAG_NUMBER, 1012);
fptr.utilTagInfo();
String name = fptr.getParamString(IFptr.LIBFPTR_PARAM_TAG_NAME);
int type = fptr.getParamInt(IFptr.LIBFPTR_PARAM_TAG_TYPE);
boolean isComplex = fptr.getParamBool(IFptr.LIBFPTR_PARAM_TAG_IS_COMPLEX);
boolean isRepeatable = fptr.getParamBool(IFptr.LIBFPTR_PARAM_TAG_IS_REPEATABLE);
[fptr setParam:LIBFPTR_PARAM_TAG_NUMBER, intParam:1012];
[fptr utilTagInfo];
NSString *name = [fptr getParamString:LIBFPTR_PARAM_TAG_NAME];
uint type = [fptr getParamInt:LIBFPTR_PARAM_TAG_TYPE];
bool isComplex = [fptr getParamBool:LIBFPTR_PARAM_TAG_IS_COMPLEX];
bool isRepeatable = [fptr getParamBool:LIBFPTR_PARAM_TAG_IS_REPEATABLE];
fptr.setParam(Constants.LIBFPTR_PARAM_TAG_NUMBER, 1012);
fptr.utilTagInfo();
String name = fptr.getParamString(Constants.LIBFPTR_PARAM_TAG_NAME);
int type = fptr.getParamInt(Constants.LIBFPTR_PARAM_TAG_TYPE);
bool isComplex = fptr.getParamBool(Constants.LIBFPTR_PARAM_TAG_IS_COMPLEX);
bool isRepeatable = fptr.getParamBool(Constants.LIBFPTR_PARAM_TAG_IS_REPEATABLE);
var
name: String;
type: LongInt;
isComplex: LongBool;
isRepeatable: LongBool;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_TAG_NUMBER, 1012);
fptr.utilTagInfo;
serialNumber := fptr.getParamString(fptr.LIBFPTR_PARAM_TAG_NAME);
type := fptr.getParamInt(fptr.LIBFPTR_PARAM_TAG_TYPE);
isComplex := fptr.getParamBool(fptr.LIBFPTR_PARAM_TAG_IS_COMPLEX);
isRepeatable := fptr.getParamBool(fptr.LIBFPTR_PARAM_TAG_IS_REPEATABLE);
end;
Для получения информации о реквизите ФН требуется вызвать метод utilTagInfo() и указать в параметре LIBFPTR_PARAM_TAG_NUMBER номер реквизита.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_TAG_NAME | Наименование реквизита | string |
LIBFPTR_PARAM_TAG_TYPE | Тип реквизита | int |
LIBFPTR_PARAM_TAG_IS_COMPLEX | true, если реквизит составной | bool |
LIBFPTR_PARAM_TAG_IS_REPEATABLE | true, если реквизит в составном реквизите может повторяться | bool |
Тип реквизита (LIBFPTR_PARAM_TAG_TYPE) может принимать следующие значения:
- LIBFPTR_TAG_TYPE_STLV - составной реквизит
- LIBFPTR_TAG_TYPE_ARRAY - массив байтов
- LIBFPTR_TAG_TYPE_FVLN - число с точкой без знака
- LIBFPTR_TAG_TYPE_BITS - регистр флагов
- LIBFPTR_TAG_TYPE_BYTE - целое число без знака, 1 байт
- LIBFPTR_TAG_TYPE_UINT_16 - целое число без знака, 2 байта
- LIBFPTR_TAG_TYPE_UINT_32 - целое число без знака, 4 байта
- LIBFPTR_TAG_TYPE_VLN - целое число без знака, переменная длина
- LIBFPTR_TAG_TYPE_STRING - строка
- LIBFPTR_TAG_TYPE_UNIX_TIME - время, выраженное в количестве секунд, отсчитанных от 1 января 1970 года
- LIBFPTR_TAG_TYPE_BOOL - флаг
Запись в лог
Запись в лог произвольного сообщения
libfptr_log_write(L"MyTag", LIBFPTR_LOG_DEBUG, L"Мое отладочное сообщение");
fptr.logWrite("MyTag", IFptr.LIBFPTR_LOG_DEBUG, "Мое отладочное сообщение")
fptr.logWrite("MyTag", IFptr.LIBFPTR_LOG_DEBUG, "Мое отладочное сообщение");
fptr.logWrite("MyTag", IFptr.LIBFPTR_LOG_DEBUG, "Мое отладочное сообщение");
[fptr logWrite:@"MyTag", level:LIBFPTR_LOG_DEBUG, @"Мое отладочное сообщение"];
fptr.logWrite("MyTag", Constants.LIBFPTR_LOG_DEBUG, "Мое отладочное сообщение");
begin
fptr.logWrite('MyTag', fptr.LIBFPTR_LOG_DEBUG, 'Мое отладочное сообщение');
end;
Для записи сообщения в лог драйвера необходимо вызвать метод logWrite() и указать в параметрах:
- категорию логов (должна быть также указана в конфигурации логирования)
- уровень сообщения
- текст сообщения
Уровень сообщения может принимать следующие значения:
- LIBFPTR_LOG_ERROR - ошибка
- LIBFPTR_LOG_WARN - предупреждение
- LIBFPTR_LOG_INFO - информация
- LIBFPTR_LOG_DEBUG - отладка
Получить параметры модели
Получение параметров текущей модели
libfptr_read_model_flags(fptr);
bool cap54FZ = libfptr_get_param_bool(fptr, LIBFPTR_PARAM_CAP_54FZ) != 0;
bool capManualClicheControl = libfptr_get_param_bool(fptr, LIBFPTR_PARAM_CAP_MANUAL_CLICHE_CONTROL) != 0;
fptr.readModelFlags()
cap54FZ = fptr.getParamBool(IFptr.LIBFPTR_PARAM_CAP_54FZ)
capManualClicheControl = fptr.getParamBool(IFptr.LIBFPTR_PARAM_CAP_MANUAL_CLICHE_CONTROL)
fptr.readModelFlags();
boolean cap54FZ = fptr.getParamBool(IFptr.LIBFPTR_PARAM_CAP_54FZ);
boolean capManualClicheControl = fptr.getParamBool(IFptr.LIBFPTR_PARAM_CAP_MANUAL_CLICHE_CONTROL);
fptr.readModelFlags();
boolean cap54FZ = fptr.getParamBool(IFptr.LIBFPTR_PARAM_CAP_54FZ);
boolean capManualClicheControl = fptr.getParamBool(IFptr.LIBFPTR_PARAM_CAP_MANUAL_CLICHE_CONTROL);
[fptr readModelFlags];
bool cap54FZ = [fptr getParamBool:LIBFPTR_PARAM_CAP_54FZ];
bool capManualClicheControl = [fptr getParamBool:LIBFPTR_PARAM_CAP_MANUAL_CLICHE_CONTROL];
fptr.readModelFlags();
bool cap54FZ = fptr.getParamBool(Constants.LIBFPTR_PARAM_CAP_54FZ);
bool capManualClicheControl = fptr.getParamBool(Constants.LIBFPTR_PARAM_CAP_MANUAL_CLICHE_CONTROL);
var
cap54FZ: LongBool;
capManualClicheControl: LongBool;
begin
fptr.readModelFlags;
cap54FZ := fptr.getParamBool(fptr.LIBFPTR_PARAM_CAP_54FZ);
capManualClicheControl := fptr.getParamBool(fptr.LIBFPTR_PARAM_CAP_MANUAL_CLICHE_CONTROL);
end;
Метод позволяет получить набор значений, описывающих возможности ККТ, с которой в данный момент установлено соединение:
- LIBFPTR_PARAM_CAP_54FZ - модель поддерживает 54-ФЗ
- LIBFPTR_PARAM_CAP_MANUAL_CLICHE_CONTROL - модель поддерживает управление печатью клише
Получить информацию о контейнере ПО ККТ
Получение информации о контейнере ПО ККТ
libfptr_set_param_str(fptr, LIBFPTR_PARAM_FILENAME, L"C:\\Atol-25F.con");
libfptr_util_container_versions(fptr);
std::vector<wchar_t> str(256);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_CONTAINER_FIRMWARE_VERSION, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_CONTAINER_FIRMWARE_VERSION, &str[0], str.size());
}
std::wstring firmwareVersion = std::wstring(&str[0]);
size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_CONTAINER_BOOTLOADER_VERSION, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_CONTAINER_BOOTLOADER_VERSION, &str[0], str.size());
}
std::wstring bootloaderVersion = std::wstring(&str[0]);
size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_CONTAINER_CONFIGURATION_VERSION, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_CONTAINER_CONFIGURATION_VERSION, &str[0], str.size());
}
std::wstring configurationVersion = std::wstring(&str[0]);
size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_CONTAINER_SCRIPTS_VERSION, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_CONTAINER_SCRIPTS_VERSION, &str[0], str.size());
}
std::wstring scriptsVersion = std::wstring(&str[0]);
fptr.setParam(IFptr.LIBFPTR_PARAM_FILENAME, 'C:\\Atol-25F.con')
fptr.utilContainerVersions()
firmwareVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_CONTAINER_FIRMWARE_VERSION)
bootloaderVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_CONTAINER_BOOTLOADER_VERSION)
configurationVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_CONTAINER_CONFIGURATION_VERSION)
scriptsVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_CONTAINER_SCRIPTS_VERSION)
fptr.setParam(IFptr.LIBFPTR_PARAM_FILENAME, "C:\\Atol-25F.con");
fptr.utilContainerVersions();
String firmwareVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_CONTAINER_FIRMWARE_VERSION);
String bootloaderVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_CONTAINER_BOOTLOADER_VERSION);
String configurationVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_CONTAINER_CONFIGURATION_VERSION);
String scriptsVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_CONTAINER_SCRIPTS_VERSION);
fptr.setParam(IFptr.LIBFPTR_PARAM_FILENAME, "/storage/emulated/0/Atol-25F.con");
fptr.utilContainerVersions();
String firmwareVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_CONTAINER_FIRMWARE_VERSION);
String bootloaderVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_CONTAINER_BOOTLOADER_VERSION);
String configurationVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_CONTAINER_CONFIGURATION_VERSION);
String scriptsVersion = fptr.getParamString(IFptr.LIBFPTR_PARAM_CONTAINER_SCRIPTS_VERSION);
[fptr setParam:LIBFPTR_PARAM_FILENAME, @"/Users/user/Atol-25F.con"];
[fptr utilContainerVersions];
NSString *firmwareVersion = [fptr getParamString:LIBFPTR_PARAM_CONTAINER_FIRMWARE_VERSION];
NSString *bootloaderVersion = [fptr getParamString:LIBFPTR_PARAM_CONTAINER_BOOTLOADER_VERSION];
NSString *configurationVersion = [fptr getParamString:LIBFPTR_PARAM_CONTAINER_CONFIGURATION_VERSION];
NSString *scriptsVersion = [fptr getParamString:LIBFPTR_PARAM_CONTAINER_SCRIPTS_VERSION];
fptr.setParam(Constants.LIBFPTR_PARAM_FILENAME, "C:\\Atol-25F.con");
fptr.utilContainerVersions();
String firmwareVersion = fptr.getParamString(Constants.LIBFPTR_PARAM_CONTAINER_FIRMWARE_VERSION);
String bootloaderVersion = fptr.getParamString(Constants.LIBFPTR_PARAM_CONTAINER_BOOTLOADER_VERSION);
String configurationVersion = fptr.getParamString(Constants.LIBFPTR_PARAM_CONTAINER_CONFIGURATION_VERSION);
String scriptsVersion = fptr.getParamString(Constants.LIBFPTR_PARAM_CONTAINER_SCRIPTS_VERSION);
var
firmwareVersion: String;
bootloaderVersion: String;
configurationVersion: String;
scriptsVersion: String;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_FILENAME, 'C:\\Atol-25F.con');
fptr.utilContainerVersions;
firmwareVersion := fptr.getParamString(fptr.LIBFPTR_PARAM_CONTAINER_FIRMWARE_VERSION);
bootloaderVersion := fptr.getParamString(fptr.LIBFPTR_PARAM_CONTAINER_BOOTLOADER_VERSION);
configurationVersion := fptr.getParamString(fptr.LIBFPTR_PARAM_CONTAINER_CONFIGURATION_VERSION);
scriptsVersion := fptr.getParamString(fptr.LIBFPTR_PARAM_CONTAINER_SCRIPTS_VERSION);
end;
Для получения информации о контейнере ПО ККТ необходимо использовать метод utilContainerVersions и передать в параметре LIBFPTR_PARAM_FILENAME путь к файлу контейнера.
Результатом этого запроса будет следующая информация:
Параметр | Описание | Тип |
---|---|---|
LIBFPTR_PARAM_CONTAINER_BOOTLOADER_VERSION | Версия загрузчика | string |
LIBFPTR_PARAM_CONTAINER_FIRMWARE_VERSION | Версия ПО ККТ | string |
LIBFPTR_PARAM_CONTAINER_CONFIGURATION_VERSION | Версия конфигурации | string |
LIBFPTR_PARAM_CONTAINER_SCRIPTS_VERSION | Версия скриптов | string |
Если одна из версий пустая - соответствующая ей часть в контейнере отсутствует.
Работает только с контейнерами ПО ККТ АТОЛ.
Программирование ККТ
Инициализация системных таблиц
Инициализация системных таблиц
libfptr_init_settings(fptr);
fptr.initSettings()
fptr.initSettings();
fptr.initSettings();
[fptr initSettings];
fptr.initSettings();
begin
fptr.initSettings;
end;
Для инициализации таблиц ККТ необходимо вызвать метод initSettings().
Запись настройки
Запись строковой настройки (на примере адреса ОФД)
libfptr_set_param_int(fptr, LIBFPTR_PARAM_SETTING_ID, 273);
libfptr_set_param_str(fptr, LIBFPTR_PARAM_SETTING_VALUE, L"ofdp.platformaofd.ru");
libfptr_write_device_setting(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_SETTING_ID, 273)
fptr.setParam(IFptr.LIBFPTR_PARAM_SETTING_VALUE, "ofdp.platformaofd.ru")
fptr.writeDeviceSetting()
fptr.setParam(IFptr.LIBFPTR_PARAM_SETTING_ID, 273);
fptr.setParam(IFptr.LIBFPTR_PARAM_SETTING_VALUE, "ofdp.platformaofd.ru");
fptr.writeDeviceSetting();
fptr.setParam(IFptr.LIBFPTR_PARAM_SETTING_ID, 273);
fptr.setParam(IFptr.LIBFPTR_PARAM_SETTING_VALUE, "ofdp.platformaofd.ru");
fptr.writeDeviceSetting();
[fptr setParam:LIBFPTR_PARAM_SETTING_ID, intParam:273];
[fptr setParam:LIBFPTR_PARAM_SETTING_VALUE, NSStringParam:@"ofdp.platformaofd.ru"];
[fptr writeDeviceSetting];
fptr.setParam(Constants.LIBFPTR_PARAM_SETTING_ID, 273);
fptr.setParam(Constants.LIBFPTR_PARAM_SETTING_VALUE, "ofdp.platformaofd.ru");
fptr.writeDeviceSetting();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_SETTING_ID, 273);
fptr.setParam(fptr.LIBFPTR_PARAM_SETTING_VALUE, 'ofdp.platformaofd.ru');
fptr.writeDeviceSetting;
end;
Запись числовой настройки (на примере порта ОФД)
libfptr_set_param_int(fptr, LIBFPTR_PARAM_SETTING_ID, 274);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_SETTING_VALUE, 19801);
libfptr_write_device_setting(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_SETTING_ID, 274)
fptr.setParam(IFptr.LIBFPTR_PARAM_SETTING_VALUE, 19801)
fptr.writeDeviceSetting()
fptr.setParam(IFptr.LIBFPTR_PARAM_SETTING_ID, 274);
fptr.setParam(IFptr.LIBFPTR_PARAM_SETTING_VALUE, 19801);
fptr.writeDeviceSetting();
fptr.setParam(IFptr.LIBFPTR_PARAM_SETTING_ID, 274);
fptr.setParam(IFptr.LIBFPTR_PARAM_SETTING_VALUE, 19801);
fptr.writeDeviceSetting();
[fptr setParam:LIBFPTR_PARAM_SETTING_ID, intParam:274];
[fptr setParam:LIBFPTR_PARAM_SETTING_VALUE, intParam:19801];
[fptr writeDeviceSetting];
fptr.setParam(Constants.LIBFPTR_PARAM_SETTING_ID, 274);
fptr.setParam(Constants.LIBFPTR_PARAM_SETTING_VALUE, 19801);
fptr.writeDeviceSetting();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_SETTING_ID, 274);
fptr.setParam(fptr.LIBFPTR_PARAM_SETTING_VALUE, 19801);
fptr.writeDeviceSetting;
end;
Для записи настройки в ККТ необходимо вызвать метод writeDeviceSetting(), указав номер настройки в параметре LIBFPTR_PARAM_SETTING_ID и значение настройки в параметре LIBFPTR_PARAM_SETTING_VALUE.
Список доступных настроек и их значений зависит от модели ККТ и приведен в приложении Настройки ККТ.
Чтение настройки
Чтение строковой настройки (на примере адреса ОФД)
libfptr_set_param_int(fptr, LIBFPTR_PARAM_SETTING_ID, 273);
libfptr_read_device_setting(fptr);
std::vector<wchar_t> settingValue(64);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_SETTING_VALUE, &settingValue[0], settingValue.size());
if (size > settingValue.size())
{
settingValue.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_SETTING_VALUE, &settingValue[0], settingValue.size());
}
fptr.setParam(IFptr.LIBFPTR_PARAM_SETTING_ID, 273)
fptr.readDeviceSetting()
settingValue = fptr.getParamString(IFptr.LIBFPTR_PARAM_SETTING_VALUE)
fptr.setParam(IFptr.LIBFPTR_PARAM_SETTING_ID, 273);
fptr.readDeviceSetting();
String settingValue = fptr.getParamString(IFptr.LIBFPTR_PARAM_SETTING_VALUE);
fptr.setParam(IFptr.LIBFPTR_PARAM_SETTING_ID, 273);
fptr.readDeviceSetting();
String settingValue = fptr.getParamString(IFptr.LIBFPTR_PARAM_SETTING_VALUE);
[fptr setParam:LIBFPTR_PARAM_SETTING_ID, intParam:273];
[fptr readDeviceSetting];
NSString *settingValue = [fptr getParamString:LIBFPTR_PARAM_SETTING_VALUE];
fptr.setParam(Constants.LIBFPTR_PARAM_SETTING_ID, 273);
fptr.readDeviceSetting();
String settingValue = fptr.getParamString(Constants.LIBFPTR_PARAM_SETTING_VALUE);
var
settingValue: String;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_SETTING_ID, 273);
fptr.readDeviceSetting;
settingValue := fptr.getParamString(fptr.LIBFPTR_PARAM_SETTING_VALUE);
end;
Чтение числовой настройки (на примере порта ОФД)
libfptr_set_param_int(fptr, LIBFPTR_PARAM_SETTING_ID, 274);
libfptr_read_device_setting(fptr);
uint settingValue = libfptr_get_param_int(fptr, LIBFPTR_PARAM_SETTING_VALUE);
fptr.setParam(IFptr.LIBFPTR_PARAM_SETTING_ID, 274)
fptr.readDeviceSetting()
settingValue = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SETTING_VALUE)
fptr.setParam(IFptr.LIBFPTR_PARAM_SETTING_ID, 274);
fptr.readDeviceSetting();
long settingValue = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SETTING_VALUE);
fptr.setParam(IFptr.LIBFPTR_PARAM_SETTING_ID, 274);
fptr.readDeviceSetting();
long settingValue = fptr.getParamInt(IFptr.LIBFPTR_PARAM_SETTING_VALUE);
[fptr setParam:LIBFPTR_PARAM_SETTING_ID, intParam:274];
[fptr readDeviceSetting];
uint settingValue = [fptr getParamInt:LIBFPTR_PARAM_SETTING_VALUE];
fptr.setParam(Constants.LIBFPTR_PARAM_SETTING_ID, 274);
fptr.readDeviceSetting();
uint settingValue = fptr.getParamInt(Constants.LIBFPTR_PARAM_SETTING_VALUE);
var
settingValue: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_SETTING_ID, 274);
fptr.readDeviceSetting;
settingValue := fptr.getParamInt(fptr.LIBFPTR_PARAM_SETTING_VALUE);
end;
Для чтения настройки из ККТ необходимо вызвать метод readDeviceSetting(), указав номер настройки в параметре LIBFPTR_PARAM_SETTING_ID.
Список доступных настроек и их значений зависит от модели ККТ и приведен в приложении Настройки ККТ.
Сохранение настроек
Сохранение настроек в память ККТ
libfptr_commit_settings(fptr);
fptr.commitSettings()
fptr.commitSettings();
fptr.commitSettings();
[fptr commitSettings];
fptr.commitSettings();
begin
fptr.commitSettings;
end;
Для сохранения параметров в постоянную память ККТ необходимо вызвать метод commitSettings().
Запись картинки в память ККТ
Запись картинки в память ККТ
libfptr_set_param_str(fptr, LIBFPTR_PARAM_FILENAME, L"С:\\picture.png");
libfptr_set_param_double(fptr, LIBFPTR_PARAM_SCALE_PERCENT, 50.0);
libfptr_upload_picture_from_file(fptr);
int pictureNumber = libfptr_get_param_int(fptr, LIBFPTR_PARAM_PICTURE_NUMBER);
fptr.setParam(IFptr.LIBFPTR_PARAM_FILENAME, "С:\\picture.png")
fptr.setParam(IFptr.LIBFPTR_PARAM_SCALE_PERCENT, 50.0)
fptr.uploadPictureFromFile()
pictureNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_PICTURE_NUMBER)
fptr.setParam(IFptr.LIBFPTR_PARAM_FILENAME, "С:\\picture.png");
fptr.setParam(IFptr.LIBFPTR_PARAM_SCALE_PERCENT, 50.0);
fptr.uploadPictureFromFile();
long pictureNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_PICTURE_NUMBER);
fptr.setParam(IFptr.LIBFPTR_PARAM_FILENAME, "/storage/emulated/0/picture.png");
fptr.setParam(IFptr.LIBFPTR_PARAM_SCALE_PERCENT, 50.0);
fptr.uploadPictureFromFile();
long pictureNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_PICTURE_NUMBER);
[fptr setParam:LIBFPTR_PARAM_FILENAME, NSStringParam:@"/Users/user/picture.png"];
[fptr setParam:LIBFPTR_PARAM_SCALE_PERCENT, doubleParam:50.0];
[fptr uploadPictureFromFile];
uint pictureNumber = [fptr getParamInt:LIBFPTR_PARAM_PICTURE_NUMBER];
fptr.setParam(Constants.LIBFPTR_PARAM_FILENAME, "С:\\picture.png");
fptr.setParam(Constants.LIBFPTR_PARAM_SCALE_PERCENT, 50.0);
fptr.uploadPictureFromFile();
uint pictureNumber = fptr.getParamInt(Constants.LIBFPTR_PARAM_PICTURE_NUMBER);
var
pictureNumber: Longint;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_FILENAME, 'С:\\picture.png');
fptr.setParam(fptr.LIBFPTR_PARAM_SCALE_PERCENT, 50.0);
fptr.uploadPictureFromFile;
pictureNumber := fptr.getParamInt(fptr.LIBFPTR_PARAM_PICTURE_NUMBER);
end;
Для записи картинки в память ККТ необходимо вызвать метод uploadPictureFromFile(), указав путь к файлу картинки в параметре LIBFPTR_PARAM_FILENAME. Дополнительно можно указать масштаб в параметре LIBFPTR_PARAM_SCALE_PERCENT. После выполнения метода номер картинки в памяти ККТ будет записан в параметр LIBFPTR_PARAM_PICTURE_NUMBER.
Метод подходит для загрузки статичных, часто используемых изображений, для ускорения их печати. Номер картинки, полученный в результате вызова метода, в дальнейшем может быть использован для печати картинки из памяти ККТ (printPictureByNumber()). Некоторые ККТ позволяют печатать картинку, загруженную таким образом, в клише.
Выгрузка картинки из памяти ККТ
Выгрузка картинки из памяти ККТ
libfptr_set_param_int(fptr, LIBFPTR_PARAM_PICTURE_NUMBER, 1);
libfptr_set_param_str(fptr, LIBFPTR_PARAM_FILENAME, L"С:\\picture.bmp");
libfptr_download_picture(fptr);
fptr.setParam(IFptr.LIBFPTR_PARAM_PICTURE_NUMBER, 1)
fptr.setParam(IFptr.LIBFPTR_PARAM_FILENAME, "С:\\picture.bmp")
fptr.downloadPicture()
fptr.setParam(IFptr.LIBFPTR_PARAM_PICTURE_NUMBER, 1);
fptr.setParam(IFptr.LIBFPTR_PARAM_FILENAME, "С:\\picture.bmp");
fptr.downloadPicture();
fptr.setParam(IFptr.LIBFPTR_PARAM_PICTURE_NUMBER, 1);
fptr.setParam(IFptr.LIBFPTR_PARAM_FILENAME, "/storage/emulated/0/picture.bmp");
fptr.downloadPicture();
[fptr setParam:LIBFPTR_PARAM_PICTURE_NUMBER, intParam:1];
[fptr setParam:LIBFPTR_PARAM_FILENAME, NSStringParam:@"/Users/user/picture.bmp"];
[fptr downloadPicture];
fptr.setParam(Constants.LIBFPTR_PARAM_PICTURE_NUMBER, 1);
fptr.setParam(Constants.LIBFPTR_PARAM_FILENAME, "С:\\picture.bmp");
fptr.downloadPicture();
begin
fptr.setParam(fptr.LIBFPTR_PARAM_PICTURE_NUMBER, 1);
fptr.setParam(fptr.LIBFPTR_PARAM_FILENAME, 'С:\\picture.bmp');
fptr.downloadPicture;
end;
Для выгрузки картинки из памяти ККТ необходимо вызвать метод downloadPicture(), указав путь к файлу картинки в параметре LIBFPTR_PARAM_FILENAME и номер картинки в параметре LIBFPTR_PARAM_PICTURE_NUMBER. Если ККТ не поддерживает работу с несколькими картинками, будет выгружена единственная доступная, внезависимости от значения параметра LIBFPTR_PARAM_PICTURE_NUMBER. Выгрузка происходит в формате BMP.
Очистка картинок
Очистка картинок в памяти ККТ
libfptr_clear_pictures(fptr);
fptr.clearPictures()
fptr.clearPictures();
fptr.clearPictures();
[fptr clearPictures];
fptr.clearPictures();
begin
fptr.clearPictures;
end;
Для очистки картинок в памяти ККТ необходимо вызвать метод clearPictures().
JSON-задания
Выполнение JSON-задания
Выполнение JSON-задания
libfptr_set_param_str(fptr, LIBFPTR_PARAM_JSON_DATA, L"{\"type\": \"openShift\"}");
libfptr_process_json(fptr);
std::vector<wchar_t> result(128);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_JSON_DATA, &result[0], result.size());
if (size > result.size())
{
result.resize(size);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_JSON_DATA, &result[0], result.size());
}
fptr.setParam(IFptr.LIBFPTR_PARAM_JSON_DATA, "{\"type\": \"openShift\"}")
fptr.processJson()
result = fptr.getParamString(IFptr.LIBFPTR_PARAM_JSON_DATA)
fptr.setParam(IFptr.LIBFPTR_PARAM_JSON_DATA, "{\"type\": \"openShift\"}");
fptr.processJson();
String result = fptr.getParamString(IFptr.LIBFPTR_PARAM_JSON_DATA);
fptr.setParam(IFptr.LIBFPTR_PARAM_JSON_DATA, "{\"type\": \"openShift\"}");
fptr.processJson();
String result = fptr.getParamString(IFptr.LIBFPTR_PARAM_JSON_DATA);
[fptr setParam:LIBFPTR_PARAM_JSON_DATA, NSStringParam:@"{\"type\": \"openShift\"}"];
[fptr processJson];
NSString *result = [fptr getParamString:LIBFPTR_PARAM_JSON_DATA];
fptr.setParam(Constants.LIBFPTR_PARAM_JSON_DATA, "{\"type\": \"openShift\"}");
fptr.processJson();
String result = fptr.getParamString(Constants.LIBFPTR_PARAM_JSON_DATA);
var
result: String;
begin
fptr.setParam(fptr.LIBFPTR_PARAM_JSON_DATA, '{"type": "openShift"}');
fptr.processJson;
result := fptr.getParamString(fptr.LIBFPTR_PARAM_JSON_DATA);
end;
Для выполнения JSON-задания необходимо вызвать метод processJson() и в параметре LIBFPTR_PARAM_JSON_DATA передать текст задания. Результат выполнения запишется также в параметр LIBFPTR_PARAM_JSON_DATA. Если задание завершилось с ошибкой, метод вернет ошибку, а параметр LIBFPTR_PARAM_JSON_DATA не будет заполнен.
Список возможных Json-заданий представлен ниже.
Объекты Json
Ниже представлены объекты, которые встречаются в разных JSON-заданиях.
Оператор (Кассир)
Оператор (кассир)
{
"name": "Кассир Иванов И.И.",
"vatin": "123654789507"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
name | Фамилия и должность оператора | string | + | |
vatin | ИНН оператора | string | по умолчанию - не используется |
Оплата чека
Оплата чека
{
"type": "cash",
"sum": 1000.00
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Способ расчета | string | cash или 0 - наличными
electronically или 1 - безналичными prepaid или 2 - предварительная оплата (аванс) credit или 3 - последующая оплата (кредит) other или 4 - иная форма оплаты (встречное предоставление) | + |
sum | Сумма расчета | number | + |
Налог
Налог
{
"type": "vat18",
"sum": 12.43
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Налоговая ставка | string | none - налогом не облагается
vat0 - НДС 0% vat10 - НДС 10% vat18 - НДС 18% vat110 - НДС 10/110 vat118 - НДС 18/118 vat20 - НДС 20% vat120 - НДС 20/120 | + |
sum | Сумма налога | number | Обязательна для налогов на чек, необязательна для позиций (по умолчанию - расчитывается автоматически) |
Информация о покупателе
Информация о покупателе / клиенте
{
"emailOrPhone": "+79161234567"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
emailOrPhone | E-mail или номер телефона получателя электронной формы чека | string | по умолчанию - не используется | |
vatin | ИНН пользователя | string | ||
name | Наименование получателя | string |
Информация о продавце
Информация о продавце
{
"email": "info@mail.ru"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
E-mail отправителя электронной формы чека | string | по умолчанию - используется заданный при регистрации |
Данные агента
Данные агента
{
"agents": ["payingAgent", "bankPayingAgent"],
"payingAgent": {
"operation": "Оплата",
"phones": ["+79161112233"]
},
"receivePaymentsOperator": {
"phones": ["+79163331122"]
},
"moneyTransferOperator": {
"phones": ["+79162223311"],
"name": "Оператор перевода",
"address": "Улица Оператора Перевода, д.1",
"vatin": "321456987121"
}
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
agents | Агенты | string[] | bankPayingAgent - банковский платежный агент
bankPayingSubagent - банковский платежный субагент payingAgent - платежный агент payingSubagent - платежный субагент attorney - поверенный commissionAgent - комиссионер another - другой тип агента | По умолчанию - пустой список (не устаналивать признак агента) |
Данные платежного агента (payingAgent) | ||||
operation | Операция платежного агента | string | + | |
phones | Телефоны платежного агента | string[] | + | |
Данные оператора по приему платежей (receivePaymentsOperator) | ||||
phones | Телефоны оператора по приему платежей | string[] | + | |
Данные оператора перевода (moneyTransferOperator) | ||||
phones | Телефоны оператора перевода | string[] | + | |
name | Наименование оператора перевода | string | + | |
address | Адрес оператора перевода | string | + | |
vatin | ИНН оператора перевода | string | + |
Данные поставщика
Данные поставщика
{
"phones": ["+79175555555"],
"name": "Поставщик",
"vatin": "956839506500"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
phones | Телефоны поставщика | string[] | + | |
name | Наименование поставщика | string | + | |
vatin | ИНН поставщика | string | + |
Информация об организации
Информация об организации
{
"name": "ООО \"АТОЛ\"",
"vatin": "123456789047",
"email": "email@atol.ru",
"taxationTypes": ["osn", "esn"],
"agents": ["payingAgent"],
"address": "Адрес"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
name | Название организации | string | ||
vatin | ИНН организации | string | ||
E-mail организации (адрес отравителя электронных чеков) | string | |||
address | Адрес расчетов | string | ||
taxationTypes | Список систем налогообложения | string[] | osn - общая
usnIncome - упрощенная (Доход) usnIncomeOutcome - упрощенная (Доход минус Расход) envd - ЕНВД esn - единый сельскохозяйственный налог patent - патентная | |
agents | Признак агента | string[] | bankPayingAgent - банковский платежный агент
bankPayingSubagent - банковский платежный субагент payingAgent - платежный агент payingSubagent - платежный субагент attorney - поверенный commissionAgent - комиссионер another - другой тип агента | по умолчанию - пустой список (не устанавливать флаги агентов) |
Параметры ККТ
Параметры ККТ
{
"paymentsAddress": "Адрес места расчетов",
"fnsUrl": "www.nalog.ru",
"registrationNumber": "0000000001002292",
"offlineMode": false,
"machineInstallation": false,
"bso": false,
"encryption": false,
"autoMode": false,
"machineNumber": "",
"service": false,
"gambling": false,
"lottery": false,
"excise": false,
"defaultTaxationType": "osn"
"ofdChannel": "usb"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
registrationNumber | Регистрационный номер ККТ | string | ||
fnsUrl | Адрес сайта ФНС | string | ||
offlineMode | Признак автономного режима | bool | ||
machineInstallation | Признак установки принтера в автомате | bool | ||
bso | Признак АС БСО | bool | ||
encryption | Признак шифрования | bool | ||
autoMode | Признак автоматического режима | bool | ||
machineNumber | Номер автомата | string | ||
internet | Признак ККТ для расчетов только в Интернет | bool | ||
service | Признак расчетов за услуги | bool | ||
excise | Продажа подакцизного товара | bool | ||
gambling | Признак проведения азартных игр | bool | ||
lottery | Признак проведения лотереи | bool | ||
defaultTaxationType | СНО по умолчанию | string | osn - общая
usnIncome - упрощенная (Доход) usnIncomeOutcome - упрощенная (Доход минус Расход) envd - ЕНВД esn - единый сельскохозяйственный налог patent - патентная | Можно не указывать, если taxationTypes имеет 1 элемент, иначе должен входить в список taxationTypes |
ofdChannel | Канал обмена с ОФД | string | usb - USB (EoU)
ethernet - Ethernet wifi - Wi-Fi gsm - GSM-модем proto - средствами протокола ККТ | |
ffdVersion | Версия ФФД | string | 1.0
1.05 1.1 | |
paymentsAddress | Место расчетов | string |
Параметры ОФД
Параметры ОФД
{
"name": "ОФД \"Платформа ОФД\"",
"vatin": "9715260691",
"host": "ofdp.platformaofd.ru",
"port": 21101,
"dns": "0.0.0.0"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
name | Название ОФД | string | ||
vatin | ИНН ОФД | string | ||
host | Адрес ОФД | string | ||
port | Порт ОФД | number | 0 - 65535 | |
dns | DNS ОФД | string |
Маркировка
Произвольный тип марки
"MTIzNDEyMzQ1Njc4MTIzNDU2Nzg5MDEyMzQ1Njc4OTA="
Меховые изделия
{
"type": "furs",
"gtin": "98765432101234",
"serial:": "RU-430302-ABC1234567"
}
Лекарственные препараты
{
"type": "medicines",
"gtin": "98765432101234",
"serial:": "ABC1234567890"
}
Табачная продукция
{
"type": "tobacco",
"gtin": "98765432101234",
"serial:": "ABC1234"
}
Обувь
{
"type": "shoes",
"gtin": "98765432101234",
"serial:": "sgEKKPPcS25y5"
}
Значение маркировки может быть передано как строкой, так и объектом.
Если передается строка, то её значение интерпретируется как base64-закодированное значение реквизита 1162. В этом случае пользователь должен сам составить значение реквизита, закодировать его в base64 и передать драйверу.
Описание объектов представлено ниже. При передаче значения марки как объекта, драйвер самостоятельно, основываясь на переданных значениях, составляет реквизит 1162.
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип маркировки | string | furs - меховые изделия
medicines - лекарства tobacco - табачная продукция shoes - обувь | + |
Дополнительные параметры для меховых изделий (furs) | ||||
gtin | Идентификатор продукта GTIN | string | + | |
serial | Серийный номер | string | + | |
Дополнительные параметры для лекарств (medicines) | ||||
gtin | Идентификатор продукта GTIN | string | + | |
serial | Контрольный (идентификационный) знак (КиЗ) | string | + | |
Дополнительные параметры для табачной продукции (tobacco) | ||||
gtin | Идентификатор продукта GTIN | string | + | |
serial | Код идентификации | string | + | |
Дополнительные параметры для обуви (shoes) | ||||
gtin | Идентификатор продукта GTIN | string | + | |
serial | Серийный номер | string | + |
Элементы документа
Минимальные состав позиции чека
{
"type": "position",
"name": "Бананы",
"price": 73.15,
"quantity": 1.0,
"tax": {
"type": "vat18"
}
}
Позиция с агентами
{
"type": "position",
"name": "Бананы",
"price": 73.15,
"quantity": 1.0,
"amount": 73.15,
"tax": {
"type": "vat18"
},
"agentInfo": {
"agents": ["payingAgent", "bankPayingAgent"],
"payingAgent": {
"operation": "Оплата",
"phones": ["+79161112233"]
},
"receivePaymentsOperator": {
"phones": ["+79163331122"]
},
"moneyTransferOperator": {
"phones": ["+79162223311"],
"name": "Оператор перевода",
"address": "Улица Оператора Перевода, д.1",
"vatin": "321456987121"
}
},
"supplierInfo": {
"phones": ["+79175555555"],
"name": "Поставщик",
"vatin": "956839506500"
}
}
Позиция с маркировкой (произвольная)
{
"type": "position",
"name": "Бананы",
"price": 73.15,
"quantity": 1.0,
"tax": {
"type": "vat18"
},
"nomenclatureCode": "MTIzNDEyMzQ1Njc4MTIzNDU2Nzg5MDEyMzQ1Njc4OTA="
}
Позиция с маркировкой (меховые изделия)
{
"type": "position",
"name": "Шуба",
"price": 100000.0,
"quantity": 1.0,
"tax": {
"type": "vat10"
},
"nomenclatureCode":{
"type": "furs",
"gtin": "98765432101234",
"serial:": "RU-430302-ABC1234567"
}
}
Текст
{
"type": "text",
"text": "--------------------------------",
"alignment": "left"
}
Штрихкод
{
"type": "barcode",
"barcode": "123456789012",
"barcodeType": "EAN13",
"scale": 2
}
Дополнительный реквизит пользователя
{
"type": "userAttribute",
"name": "Номер документа в учетной системе",
"value": "QZ433II",
"print": false
}
Дополнительный реквизит чека (БСО)
{
"type": "additionalAttribute",
"value": "1494325660",
"print": false
}
Изображение из памяти ККТ
{
"type": "pictureFromMemory",
"pictureNumber": 1,
"alignment": "left"
}
Параметр | Описание | Тип | Возможные значения | Обязательность | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
type | Тип элемента | string | position - товар
text - текстовая строка barcode - штрихкод userAttribute - дополнительный реквизит пользователя additionalAttribute - дополнительный реквизит чека (БСО) pictureFromMemory - картинка из памяти ККТ | + | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Текст | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
text | Строка | string | по умолчанию - пустая строка (промотка ленты) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
alignment | Выравнивание | string | left - по левому краю
center - по центру right - по правому краю | по умолчанию - left | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wrap | Перенос | string | none - не переносить, обрезать по ширине ленты
chars - посимвольный перенос words - перенос по словам Порядок переноса строк: по умолчанию - none
| font | Шрифт | number | Зависит от модели ККТ | по умолчанию - 0
| doubleWidth | Двойная ширина | bool | | по умолчанию - false
| doubleHeight | Двойная высота | bool | | по умолчанию - false
| Штрихкод
| barcode | Данные ШК | string | в зависимости от barcodeType | +
| barcodeType | Тип ШК | string | EAN8
| EAN13 UPCA UPCE CODE39 CODE93 CODE128 CODABAR ITF ITF14 GS1_128 PDF417 QR AZTEC +
| alignment | Выравнивание | string
| left - по левому краю
| center - по центру right - по правому краю по умолчанию - center
| scale | Коэффициент увеличения | number | | по умолчанию - 1
| height | Высота (только для одномерных ШК) | number | | по умолчанию - 30
| printText | Печатать значение ШК (только для одномерных ШК) | bool | | по умолчанию - false
| Картинка из памяти ККТ
| pictureNumber | Номер картинки | number | | +
alignment | Выравнивание | string | left - по левому краю
| center - по центру right - по правому краю по умолчанию - center
| Товарная позиция
| name | Наименование товара td>string | | +
| price | Цена | number | | +
| quantity | Количество | number | | +
| amount | Сумма | number | | +
| infoDiscountAmount | Информационная скидка | number | | по умолчанию - 0.0
| department | Отдел | number | | по умолчанию - 1 (по возможности, без печати на чековой ленте)
| measurementUnit | Единицы измерения кол-ва товара (тег 1197) | string | | по умолчанию - не передаются
| piece | Флаг штучного товара. В количестве не будут напечатаны нули в дробной части. | bool | | по умолчанию - false
| paymentMethod | Признак способа рaсчета (тег 1214) | string
| fullPrepayment - предоплата 100%
| prepayment - предоплата advance - аванс fullPayment - полный расчет partialPayment - частичный расчет и кредит credit - передача в кредит creditPayment - оплата кредита по умолчанию - fullPrepayment
| paymentObject | Признак предмета расчета (тег 1212) | string
| commodity - товар
| excise - подакцизный товар job - работа service - услуга gamblingBet - ставка азартной игры gamblingPrize - выигрыш азартной игры lottery - лотерейный билет lotteryPrize - выигрыш лотереи intellectualActivity - предоставление результатов интерелектуальной деятельности payment - платеж agentCommission - агентское вознаграждение proprietaryLaw - имущественное право nonOperatingIncome - внереализационный доход insuranceСontributions - страховые взносы merchantTax - торговый сбор resortFee - курортный сбор deposit - залог composite - составной предмет расчета another - иной предмет расчета по умолчанию - commodity
| nomenclatureCode | Код товара (маркировка) (тег 1162) | string / object | |
| tax | Налог | object | |
| agentInfo | Данные агента | object | |
| supplierInfo | Данные поставщика | object | |
| additionalAttribute | Дополнительный реквизит предмета расчета (тег 1191) | string | |
| additionalAttributePrint | Печатать или не печатать дополнительный реквизит предмета расчета | bool | | по умолчанию - true
| exciseSum | Значение акциза (тег 1229) | double | |
| countryCode | Код страны происхождения (тег 1230) | string | |
| customsDeclaration | Номер таможенной декларации (тег 1231) | string | |
| Дополнительный реквизит пользователя (тег 1084)
| name | Наименование дополнительного реквизита пользователя | string | | +
| value | Значение дополнительного реквизита пользователя | string | | +
| print | Печатать или не печатать реквизит на чековой ленте | bool | | по умолчанию - true
| Дополнительный реквизит чека (БСО) (тег 1192)
| value | Значение дополнительного реквизита чека (БСО) | string | | +
| print | Печатать или не печатать реквизит на чековой ленте | bool | | по умолчанию - true
| |
Допечатать документ
Допечатать документ
{
"type": "continuePrint"
}
С помощью этого задания можно допечатать документ, который закрылся в фискальном накопителе, но не допечатался на чековой ленте. Задание не вернет ошибку, если нет документа для допечатывания.
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | continuePrint - допечатать документ | + |
Данные результата отсутствуют.
Открытие смены
Открытие смены
{
"type": "openShift",
"operator": {
"name": "Иванов",
"vatin": "123654789507"
}
}
Открытие смены с печатью дополнительных строк после
{
"type": "openShift",
"operator": {
"name": "Иванов",
"vatin": "123654789507"
},
"postItems": [
{
"type": "text",
"text": "ОТКРЫТА НОВАЯ СМЕНА",
"alignment": "center",
"doubleWidth": true
},
{
"type": "text",
"text": "ХОРОШЕГО ДНЯ, КАССИР",
"alignment": "center",
"doubleWidth": true
}
]
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | openShift - открытие смены | + |
operator | Оператор (кассир) | object | ||
preItems | Элементы для печати до документа | object[] | Используются только элементы с типами:
text barcode | |
postItems | Элементы для печати после документа | object[] | Используются только элементы с типами:
text barcode |
Ответ на открытие смены
{
"fiscalParams" : {
"fiscalDocumentDateTime" : "2017-07-25T13:16:00+03:00",
"fiscalDocumentNumber" : 70,
"fiscalDocumentSign" : "0024109209",
"fnNumber" : "9999078900000961",
"registrationNumber" : "0000000001002292",
"shiftNumber" : 12,
"fnsUrl": "www.nalog.ru"
},
"warnings": {
"notPrinted": true
}
}
Параметр | Описание | Тип |
---|---|---|
Фискальные параметры отчета (fiscalParams) | ||
fiscalDocumentNumber | Номер ФД отчета | number |
fiscalDocumentSign | ФПД отчета | string |
fiscalDocumentDateTime | Дата и время отчета | string |
shiftNumber | Номер смены | number |
fnNumber | Номер ФН | string |
registrationNumber | РНМ | string |
fnsUrl | Адрес сайта ФНС | string |
Флаги предупреждений (warnings) | ||
notPrinted | Документ закрыт, но не допечатан.
Рекомендуется вывести пользователю сообщение о сбое печати и попросить устранить неисправность (самый стандартный случай - закончилась бумага). После устранения неисправности требуется продолжить печать | bool |
Закрытие смены
Закрытие смены
{
"type": "closeShift",
"operator": {
"name": "Иванов",
"vatin": "123654789507"
}
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | closeShift - закрытие смены | + |
operator | Оператор (кассир) | object | ||
preItems | Элементы для печати до документа | object[] | Используются только элементы с типами:
text barcode pictureFromMemory | |
postItems | Элементы для печати после документа | object[] | Используются только элементы с типами:
text barcode pictureFromMemory |
Ответ на закрытие смены
{
"fiscalParams" : {
"fiscalDocumentDateTime" : "2017-07-25T13:12:00+03:00",
"fiscalDocumentNumber" : 69,
"fiscalDocumentSign" : "1138986989",
"fnNumber" : "9999078900000961",
"registrationNumber" : "0000000001002292",
"shiftNumber" : 11,
"receiptsCount" : 3,
"fnsUrl": "www.nalog.ru"
},
"warnings": {
"notPrinted": false
}
}
Параметр | Описание | Тип |
---|---|---|
Фискальные параметры отчета (fiscalParams) | ||
fiscalDocumentNumber | Номер ФД отчета | number |
fiscalDocumentSign | ФПД отчета | string |
fiscalDocumentDateTime | Дата и время отчета | string |
shiftNumber | Номер смены | number |
fnNumber | Номер ФН | string |
registrationNumber | РНМ | string |
receiptsCount | Количество чеков за смену | number |
fnsUrl | Адрес сайта ФНС | string |
Флаги предупреждений (warnings) | ||
notPrinted | Документ закрыт, но не допечатан.
Рекомендуется вывести пользователю сообщение о сбое печати и попросить устранить неисправность (самый стандартный случай - закончилась бумага). После устранения неисправности требуется продолжить печать | bool |
Фискальные чеки
Пример чека прихода (с печатью на чековой ленте)
{
"type": "sell",
"taxationType": "osn",
"ignoreNonFiscalPrintErrors": false,
"operator": {
"name": "Иванов",
"vatin": "123654789507"
},
"items": [
{
"type": "position",
"name": "Бананы",
"price": 73.15,
"quantity": 1.0,
"amount": 73.15,
"infoDiscountAmount": 0.0,
"department": 1,
"measurementUnit": "кг",
"paymentMethod": "advance",
"paymentObject": "commodity",
"nomenclatureCode": "MTIzNDEyMzQ1Njc4MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=",
"tax": {
"type": "vat18"
},
"agentInfo": {
"agents": ["payingAgent", "bankPayingAgent"],
"payingAgent": {
"operation": "Оплата",
"phones": ["+79161112233"]
},
"receivePaymentsOperator": {
"phones": ["+79163331122"]
},
"moneyTransferOperator": {
"phones": ["+79162223311"],
"name": "Оператор перевода",
"address": "Улица Оператора Перевода, д.1",
"vatin": "321456987121"
}
},
"supplierInfo": {
"phones": ["+79175555555"],
"name": "Поставщик",
"vatin": "956839506500"
}
},
{
"type": "text",
"text": "--------------------------------",
"alignment": "left",
"font": 0,
"doubleWidth": false,
"doubleHeight": false
},
{
"type": "position",
"name": "Шуба",
"price": 51.25,
"quantity": 2.0,
"amount": 102.50,
"department": 1,
"paymentMethod": "fullPayment",
"paymentObject": "commodity",
"nomenclatureCode": {
"type": "furs",
"gtin": "98765432101234",
"serial": "RU-430302-ABC1234567"
},
"tax": {
"type": "vat10"
}
},
{
"type": "text",
"text": "--------------------------------",
"alignment": "left",
"font": 0,
"doubleWidth": false,
"doubleHeight": false
},
{
"type": "position",
"name": "Кефир",
"price": 48.45,
"quantity": 1.0,
"amount": 48.45,
"department": 1,
"measurementUnit": "шт.",
"paymentMethod": "fullPrepayment",
"paymentObject": "excise",
"additionalAttribute": "ID:iASDv3w45",
"tax": {
"type": "vat0"
}
},
{
"type": "barcode",
"barcode": "123456789012",
"barcodeType": "EAN13",
"scale": 2
}
],
"payments": [
{
"type": "cash",
"sum": 2000.00
}
],
"total": 224.00
}
Пример чека прихода (без печати на чековой ленте)
{
"type": "sell",
"taxationType": "osn",
"electronically": true,
"operator": {
"name": "Иванов",
"vatin": "123654789507"
},
"clientInfo": {
"emailOrPhone": "+79161234567"
},
"items": [
{
"type": "position",
"name": "Бананы",
"price": 73.15,
"quantity": 1.0,
"amount": 73.15,
"infoDiscountAmount": 0.0,
"department": 1,
"measurementUnit": "кг",
"paymentMethod": "advance",
"paymentObject": "commodity",
"nomenclatureCode": "MTIzNDEyMzQ1Njc4MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=",
"tax": {
"type": "vat18"
},
"agentInfo": {
"agents": ["payingAgent", "bankPayingAgent"],
"payingAgent": {
"operation": "Оплата",
"phones": ["+79161112233"]
},
"receivePaymentsOperator": {
"phones": ["+79163331122"]
},
"moneyTransferOperator": {
"phones": ["+79162223311"],
"name": "Оператор перевода",
"address": "Улица Оператора Перевода, д.1",
"vatin": "321456987121"
}
},
"supplierInfo": {
"phones": ["+79175555555"],
"name": "Поставщик",
"vatin": "956839506500"
}
},
{
"type": "position",
"name": "Шуба",
"price": 51.25,
"quantity": 2.0,
"amount": 102.50,
"department": 1,
"paymentMethod": "fullPayment",
"paymentObject": "commodity",
"nomenclatureCode": {
"type": "furs",
"gtin": "98765432101234",
"serial": "RU-430302-ABC1234567"
},
"tax": {
"type": "vat10"
}
}
],
"payments": [
{
"type": "electronically",
"sum": 175.00
}
],
"total": 175.00
}
Пример чека прихода с печатью акции
{
"type": "sell",
"taxationType": "osn",
"operator": {
"name": "Иванов",
"vatin": "123654789507"
},
"clientInfo": {
"emailOrPhone": "+79161234567"
},
"items": [
{
"type": "userAttribute",
"name": "Идентификатор скидки",
"value": "PP3569YY",
"print": false
},
{
"type": "position",
"name": "Пакет",
"price": 5,
"quantity": 2.0,
"amount": 10,
"paymentMethod": "fullPayment",
"paymentObject": "commodity",
"tax": {
"type": "vat10"
}
}
],
"payments": [
{
"type": "electronically",
"sum": 10
}
],
"total": 10,
"postItems": [
{
"type": "text",
"text": "АКЦИЯ 2 ПАКЕТА ПО ЦЕНЕ ОДНОГО",
"alignment": "center"
},
{
"type": "text",
"text": "ТОЛЬКО В 2018 ГОДУ",
"alignment": "center"
},
{
"type": "text",
"text": "ПРЕДЪЯВИТЕ ЧЕК ДЛЯ ПОЛУЧЕНИЯ СКИДКИ",
"alignment": "center"
},
{
"type": "barcode",
"barcode": "978020137962",
"barcodeType": "EAN13"
}
]
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | sell - чек прихода
buy - чек расхода sellReturn - чек возврата прихода buyReturn - чек возврата расхода | + |
ignoreNonFiscalPrintErrors | Игнорировать ошибки при печати нефискальных элементов из items | bool | ||
electronically | Электронный чек | bool | true - электронный чек (требуется установка clientInfo.emailOrPhone)
false - печатный чек | по умолчанию - false |
useVAT18 | Использовать при регистрации чека ставку налога 18%. Подробнее в разделе Алгоритмы | bool | true - да
false - нет (будет использоваться ставка 20%) | по умолчанию - false |
taxationType | Система налогообложения | string | osn - общая
usnIncome - упрощенная (Доход) usnIncomeOutcome - упрощенная (Доход минус Расход) envd - ЕНВД esn - единый сельскохозяйственный налог patent - патентная | можно не передавать, если ККТ зарегистрирована с единственной СНО |
paymentsPlace | Место проведения расчета | string | ||
fnsUrl | Адрес сайта ФНС | string | ||
operator | Оператор (кассир) | object | ||
clientInfo | Данные покупателя | object | ||
companyInfo | Данные продавца | object | ||
agentInfo | Данные агента | object | ||
supplierInfo | Данные поставщика | object | ||
items | Элементы документа | object[] | + | |
payments | Оплаты | object[] | + | |
taxes | Налоги на чек | object[] | ||
total | Итог чека | number | Может отличаться от суммы позиций на значение, равное копейкам чека.
Если не задан - высчитывается автоматически из суммы всех позиций | |
preItems | Элементы для печати до документа | object[] | Используются только элементы с типами:
text barcode pictureFromMemory | |
postItems | Элементы для печати после документа | object[] | Используются только элементы с типами:
text barcode pictureFromMemory |
Пример ответа на чек
{
"fiscalParams" : {
"fiscalDocumentDateTime" : "2018-03-06T13:52:00+03:00",
"fiscalDocumentNumber" : 71,
"fiscalDocumentSign" : "1494325660",
"fiscalReceiptNumber" : 1,
"fnNumber" : "9999078900000961",
"registrationNumber" : "0000000001002292",
"shiftNumber" : 12,
"total" : 390.75,
"fnsUrl": "www.nalog.ru"
},
"warnings": null
}
Параметр | Описание | Тип |
---|---|---|
Фискальные параметры чека (fiscalParams) | ||
total | Итог | number |
fiscalDocumentNumber | Номер ФД чека | number |
fiscalDocumentSign | ФПД чека | string |
fiscalDocumentDateTime | Дата и время чека | string |
fiscalReceiptNumber | Номер чека в смене | number |
shiftNumber | Номер смены | number |
fnNumber | Номер ФН | string |
registrationNumber | РНМ | string |
fnsUrl | Адрес сайта ФНС | string |
Флаги предупреждений (warnings) | ||
notPrinted | Документ закрыт, но не допечатан.
Рекомендуется вывести пользователю сообщение о сбое печати и попросить устранить неисправность (самый стандартный случай - закончилась бумага). После устранения неисправности требуется продолжить печать. | bool |
Чеки коррекции
Пример чека коррекции (ФФД 1.0 и ФФД 1.05)
{
"type": "sellCorrection",
"taxationType": "osn",
"correctionType": "self",
"correctionBaseDate": "2017.07.25",
"correctionBaseNumber": "1175",
"correctionBaseName": "Акт технического заключения",
"operator": {
"name": "Иванов",
"vatin": "123654789507"
},
"payments": [
{
"type": "cash",
"sum": 2000.00
}
],
"taxes": [
{
"type": "vat18",
"sum": 10.0
},
{
"type": "vat10",
"sum": 15.0
}
]
}
Пример чека коррекции (ФФД 1.1)
{
"type": "sellCorrection",
"taxationType": "osn",
"electronically": true,
"ignoreNonFiscalPrintErrors": false,
"correctionType": "self",
"correctionBaseDate": "2017.07.25",
"correctionBaseNumber": "1175",
"correctionBaseName": "Акт технического заключения",
"operator": {
"name": "Иванов",
"vatin": "123654789507"
},
"clientInfo": {
"emailOrPhone": "+79161234567"
},
"items": [
{
"type": "position",
"name": "Бананы",
"price": 73.15,
"quantity": 1.0,
"amount": 73.15,
"infoDiscountAmount": 0.0,
"department": 1,
"measurementUnit": "кг",
"paymentMethod": "advance",
"paymentObject": "commodity",
"nomenclatureCode": "MTIzNDEyMzQ1Njc4MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=",
"tax": {
"type": "vat18"
},
"agentInfo": {
"agents": ["payingAgent", "bankPayingAgent"],
"payingAgent": {
"operation": "Оплата",
"phones": ["+79161112233"]
},
"receivePaymentsOperator": {
"phones": ["+79163331122"]
},
"moneyTransferOperator": {
"phones": ["+79162223311"],
"name": "Оператор перевода",
"address": "Улица Оператора Перевода, д.1",
"vatin": "321456987121"
}
},
"supplierInfo": {
"phones": ["+79175555555"],
"name": "Поставщик",
"vatin": "956839506500"
}
},
{
"type": "position",
"name": "Шуба",
"price": 51.25,
"quantity": 2.0,
"amount": 102.50,
"department": 1,
"paymentMethod": "fullPayment",
"paymentObject": "commodity",
"nomenclatureCode": {
"type": "furs",
"gtin": "98765432101234",
"serial": "RU-430302-ABC1234567"
},
"tax": {
"type": "vat10"
}
},
{
"type": "position",
"name": "Пряники",
"price": 64.25,
"quantity": 2.0,
"amount": 128.50,
"infoDiscountAmount": 6.0,
"department": 1,
"measurementUnit": "шт.",
"paymentMethod": "fullPrepayment",
"paymentObject": "commodity",
"tax": {
"type": "vat10"
}
},
{
"type": "position",
"name": "Батон нарезной",
"price": 38.15,
"quantity": 1.0,
"amount": 38.15,
"department": 1,
"measurementUnit": "шт.",
"paymentMethod": "fullPrepayment",
"paymentObject": "commodity",
"tax": {
"type": "10"
}
},
{
"type": "position",
"name": "Кефир",
"price": 48.45,
"quantity": 1.0,
"amount": 48.45,
"department": 1,
"measurementUnit": "шт.",
"paymentMethod": "fullPrepayment",
"paymentObject": "excise",
"tax": {
"type": "vat0"
}
}
],
"payments": [
{
"type": "electronically",
"sum": 390.70
}
],
"total": 390.7
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | sellCorrection - чек коррекции прихода
buyCorrection - чек коррекции расхода sellReturnCorrection - чек коррекции возврата прихода (ФФД 1.1) buyReturnCorrection - чек коррекции возврата расхода (ФФД 1.1) | + |
ignoreNonFiscalPrintErrors | Игнорировать ошибки при печати нефискальных элементов из items | bool | ||
operator | Оператор (кассир) | object | ||
correctionType | Тип коррекции | string | self - самостоятельно
instruction - по предписанию | |
correctionBaseName | Описание коррекции | string | ||
correctionBaseDate | Дата документа основания для коррекции | string | Формат - yyyy.mm.dd | |
correctionBaseNumber | Номер документа основания для коррекции | string | ||
electronically | Электронный чек | bool | true - электронный чек (требуется установка clientInfo.emailOrPhone)
false - печатный чек | по умолчанию - false |
taxationType | Система налогообложения | string | osn - общая
usnIncome - упрощенная (Доход) usnIncomeOutcome - упрощенная (Доход минус Расход) envd - ЕНВД esn - единый сельскохозяйственный налог patent - патентная | можно не передавать, если ККТ зарегистрирована с единственной СНО |
paymentsPlace | Место проведения расчета | string | ||
fnsUrl | Адрес сайта ФНС | string | ||
clientInfo | Данные покупателя | object | ||
companyInfo | Данные продавца | object | ||
agentInfo | Данные агента | object | ||
supplierInfo | Данные поставщика | object | ||
items | Элементы документа | object[] | + | |
payments | Оплаты | object[] | + | |
taxes | Налоги на чек | object[] | ||
total | Итог чека | number | Может отличаться от суммы позиций на значение, равное копейкам чека.
Если не задан - высчитывается автоматически из суммы всех позиций | |
preItems | Элементы для печати до документа | object[] | Используются только элементы с типами:
text barcode pictureFromMemory | |
postItems | Элементы для печати после документа | object[] | Используются только элементы с типами:
text barcode pictureFromMemory |
Пример ответа на чек коррекции
{
"fiscalParams" : {
"fiscalDocumentDateTime" : "2018-03-06T13:52:00+03:00",
"fiscalDocumentNumber" : 49,
"fiscalDocumentSign" : "2403680979",
"fiscalReceiptNumber" : 12,
"fnNumber" : "9999078900000961",
"registrationNumber" : "0000000001002292",
"shiftNumber" : 11,
"total" : 2000.0,
"fnsUrl": "www.nalog.ru"
},
"warnings": {
"notPrinted": true
}
}
Параметр | Описание | Тип |
---|---|---|
Фискальные параметры чека (fiscalParams) | ||
total | Итог | number |
fiscalDocumentNumber | Номер ФД чека | number |
fiscalDocumentSign | ФПД чека | string |
fiscalDocumentDateTime | Дата и время чека | string |
shiftNumber | Номер смены | number |
fnNumber | Номер ФН | string |
registrationNumber | РНМ | string |
fnsUrl | Адрес сайта ФНС | string |
Флаги предупреждений (warnings) | ||
notPrinted | Документ закрыт, но не допечатан.
Рекомендуется вывести пользователю сообщение о сбое печати и попросить устранить неисправность (самый стандартный случай - закончилась бумага). После устранения неисправности требуется продолжить печать. | bool |
Нефискальные документы
Пример нефискального документа
{
"type": "nonFiscal",
"items": [
{
"type": "text",
"text": "ИНН: 7725760410 КПП: 772501001",
"alignment": "center"
},
{
"type": "text",
"text": "КАССА: 00105700000011 СМЕНА:1",
"alignment": "center"
},
{
"type": "text",
"text": "ЧЕК: 1 ДАТА: 20.06.2017 14:12",
"alignment": "center"
},
{
"type": "barcode",
"barcode": "https://check.egais.ru?id=cf1b1096-3cbc-11e7-b3c1-9b018b2ba3f7",
"barcodeType": "QR",
"scale": 7
},
{
"type": "text",
"text": "https://check.egais.ru?id=cf1b1096-3cbc-11e7-b3c1-9b018b2ba3f7",
"alignment": "center"
},
{
"type": "text",
"text": "10 58 1c 85 ab 45 29 fa 34 a7 34 10 58 1c 85 ab 45 29 fa 34 a7 34 10 58 1c 85 ab 45 29 fa 34 a7 34 10 58 1c 85 ab 45 29 fa 34 a7 34 34 a7 34 10 58",
"alignment": "center"
}
]
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | nonFiscal - нефискальный документ | + |
items | Элементы документа | object[] | Используются только элементы с типами:
text barcode pictureFromMemory | + |
printFooter | Флаг печати подвала документа | bool | по умолчанию - true |
Данные результата задания отсутствуют.
X-отчет
Пример X-отчета
{
"type": "reportX",
"operator": {
"name": "Иванов",
"vatin": "123654789507"
}
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | reportX - X-отчет | + |
operator | Оператор (кассир) | object | ||
preItems | Элементы для печати до документа | object[] | Используются только элементы с типами:
text barcode pictureFromMemory | |
postItems | Элементы для печати после документа | object[] | Используются только элементы с типами:
text barcode pictureFromMemory |
Данные результата задания отсутствуют.
Внесения и выплаты
Пример внесения
{
"type": "cashIn",
"operator": {
"name": "Иванов",
"vatin": "123654789507"
},
"cashSum": 1150.0
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | cashIn - внесение
cashOut - выплата | + |
operator | Оператор (кассир) | object | ||
cashSum | Сумма | number | + | |
preItems | Элементы для печати до документа | object[] | Используются только элементы с типами:
text barcode pictureFromMemory | |
postItems | Элементы для печати после документа | object[] | Используются только элементы с типами:
text barcode pictureFromMemory |
Пример ответа на внесение
{
"counters" : {
"cashSum" : 1345.0
}
}
Параметр | Описание | Тип |
---|---|---|
Состояние счетчиков наличности после операции (counters) | ||
cashSum | Сумма в денежном ящике | double |
Отчет о состоянии расчетов
Пример вызова отчета о состоянии расчетов
{
"type": "reportOfdExchangeStatus",
"operator": {
"name": "Иванов",
"vatin": "123654789507"
}
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | reportOfdExchangeStatus - отчет о состоянии расчетов | + |
operator | Оператор (кассир) | object | ||
preItems | Элементы для печати до документа | object[] | Используются только элементы с типами:
text barcode | |
postItems | Элементы для печати после документа | object[] | Используются только элементы с типами:
text barcode |
Пример ответа на формирование отчета о состоянии расчетов
{
"fiscalParams" : {
"fiscalDocumentDateTime" : "2018-03-06T13:52:00+03:00",
"fiscalDocumentNumber" : 157,
"fiscalDocumentSign" : "1230933772",
"fnNumber" : "9999078900000961",
"fnsUrl" : "nalog.ru",
"receiptsCount" : 0,
"registrationNumber" : "0000000001035160",
"shiftNumber" : 28
},
"errors" : {
"fnCommandCode" : 0,
"documentNumber" : 111,
"fn" : {
"code" : 0,
"description" : "Ошибок нет"
},
"network" : {
"code" : 13617,
"description" : "Отсутствует физический канал связи"
},
"ofd" : {
"code" : 0,
"description" : "Ошибок нет"
}
},
"status" : {
"notSentCount" : 46,
"notSentFirstDocDateTime" : "2018-02-04T11:24:00+03:00",
"notSentFirstDocNumber" : 111
},
"warnings": {
"notPrinted": true
}
}
Параметр | Описание | Тип |
---|---|---|
Фискальные параметры отчета (fiscalParams) | ||
fiscalDocumentNumber | Номер ФД отчета | number |
fiscalDocumentSign | ФПД отчета | string |
fiscalDocumentDateTime | Дата и время отчета | string |
shiftNumber | Номер смены | number |
fnNumber | Номер ФН | string |
registrationNumber | РНМ | string |
fnsUrl | Адрес сайта ФНС | string |
Состояние (status) | ||
notSentCount | Количество неотправленных ФД | number |
notSentFirstDocNumber | Номер первого неотправленного ФД | number |
notSentFirstDocDateTime | Дата и время первого неотправленного ФД | string |
Ошибки обмена (errors) | ||
network.code | Код ошибки сети | number |
network.description | Текст ошибки сети | string |
ofd.code | Код ошибки ОФД | number |
ofd.description | Текст ошибки ОФД | string |
fn.code | Код ошибки ФН | number |
fn.description | Текст ошибки ФН | string |
documentNumber | Номер ФД, на котором произошла ошибка | number |
fnCommandCode | Команда ФН, на которой произошла ошибка | number |
Флаги предупреждений (warnings) | ||
notPrinted | Документ закрыт, но не допечатан.
Рекомендуется вывести пользователю сообщение о сбое печати и попросить устранить неисправность (самый стандартный случай - закончилась бумага). После устранения неисправности требуется продолжить печать. | bool |
Печать документа из ФН
Пример печати документа из ФН по номеру
{
"type": "printFnDocument",
"fiscalDocumentNumber": 12
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | printFnDocument - печать документа из ФН по номеру | + |
fiscalDocumentNumber | Номер документа | number | + |
Данные результата задания отсутствуют.
Печать копии последнего чека
Печать копии последнего чека
{
"type": "printLastReceiptCopy"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | printLastReceiptCopy - печать копии последнего чека | + |
Данные результата задания отсутствуют.
Запрос параметров регистрации ККТ
Пример запроса параметров регистрации ККТ
{
"type": "getRegistrationInfo"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | getRegistrationInfo - запрос параметров регистрации | + |
Пример ответа на запрос параметров регистрации ККТ
{
"organization": {
"name": "ООО \"АТОЛ\"",
"vatin": "123456789047",
"email": "email@atol.ru",
"taxationTypes": ["osn", "esn"],
"agents": ["payingAgent"],
"address": "Адрес расчетов"
},
"device": {
"paymentsAddress": "Адрес места расчетов",
"fnsUrl": "www.nalog.ru",
"registrationNumber": "0000000001002292",
"offlineMode": false,
"machineInstallation": false,
"bso": false,
"encryption": false,
"autoMode": false,
"machineNumber": "",
"internet": false,
"service": false,
"gambling": false,
"lottery": false,
"excise": false,
"defaultTaxationType": "osn"
"ofdChannel": "usb"
},
"ofd": {
"name": "ОФД \"Платформа ОФД\"",
"vatin": "9715260691",
"host": "ofdp.platformaofd.ru",
"port": 21101,
"dns": "0.0.0.0"
}
}
Параметр | Описание | Тип |
---|---|---|
organization | Информация об организации | object |
device | Параметры ККТ | object |
ofd | Параметры ОФД | object |
Регистрация / перерегистрация ККТ
Пример перерегистрации ККТ
{
"type": "fnChange",
"operator": {
"name": "Иванов",
"vatin": "123654789507"
},
"organization": {
"name": "ООО \"АТОЛ\"",
"vatin": "123456789047",
"email": "email@atol.ru",
"taxationTypes": ["osn", "esn"],
"agents": ["payingAgent"],
"address": "Адрес"
},
"device": {
"paymentsAddress": "Адрес места расчетов",
"fnsUrl": "www.nalog.ru",
"registrationNumber": "0000000001002292",
"offlineMode": false,
"machineInstallation": false,
"bso": false,
"encryption": false,
"autoMode": false,
"machineNumber": "",
"service": false,
"gambling": false,
"lottery": false,
"excise": false,
"defaultTaxationType": "osn",
"ofdChannel": "usb"
},
"ofd": {
"name": "ОФД \"Платформа ОФД\"",
"vatin": "9715260691",
"host": "ofdp.platformaofd.ru",
"port": 21101,
"dns": "0.0.0.0"
}
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | registration - регистрация
fnChange - замена ФН changeRegistrationParameters - изменение параметров регистрации | + |
operator | Оператор (кассир) | object | ||
reason | Причина перерегистрации (ФФД 1.0 и ФФД 1.05) | string | ofdChange - смена ОФД
attributesChange - изменение реквизитов settingsChange - изменение настроек ККТ | Игнорируется при начальной регистрации |
changeInfoReasons | Список причин изменения параметров регистрации (ФФД 1.1) | int[] | Номера битов из таблицы 16 ФФД (Реквизиты, содержащиеся в структуре реквизита «код причины перерегистрации») | |
organization | Информация об организации | object | ||
device | Параметры ККТ | object | ||
ofd | Параметры ОФД | object |
Пример ответа на перерегистрацию ККТ
{
"fiscalParams" : {
"fiscalDocumentDateTime" : "2018-03-06T13:52:00+03:00",
"fiscalDocumentNumber" : 70,
"fiscalDocumentSign" : "0024109209",
"fnNumber" : "9999078900000961",
"registrationNumber" : "0000000001002292",
"shiftNumber" : 12,
"fnsUrl": "www.nalog.ru"
},
"warnings": {
"notPrinted": true
}
}
Параметр | Описание | Тип |
---|---|---|
Фискальные параметры отчета (fiscalParams) | ||
fiscalDocumentNumber | Номер ФД отчета | number |
fiscalDocumentSign | ФПД отчета | string |
fiscalDocumentDateTime | Дата и время отчета | string |
shiftNumber | Номер смены | number |
fnNumber | Номер ФН | string |
registrationNumber | РНМ | string |
fnsUrl | Адрес сайта ФНС | string |
Флаги предупреждений (warnings) | ||
notPrinted | Документ закрыт, но не допечатан.
Рекомендуется вывести пользователю сообщение о сбое печати и попросить устранить неисправность (самый стандартный случай - закончилась бумага). После устранения неисправности требуется продолжить печать. | bool |
Закрытие архива ФН
Пример закрытия архива ФН
{
"type": "closeArchive",
"operator": {
"name": "Иванов",
"vatin": "123654789507"
}
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | closeArchive - закрытие архива | + |
operator | Оператор (кассир) | object |
Пример ответа на закрытие архива ФН
{
"fiscalParams" : {
"fiscalDocumentDateTime" : "2018-03-06T13:52:00+03:00",
"fiscalDocumentNumber" : 70,
"fiscalDocumentSign" : "0024109209",
"fnNumber" : "9999078900000961",
"registrationNumber" : "0000000001002292",
"shiftNumber" : 12,
"fnsUrl": "www.nalog.ru"
},
"warnings": null
}
Параметр | Описание | Тип |
---|---|---|
Фискальные параметры отчета (fiscalParams) | ||
fiscalDocumentNumber | Номер ФД отчета | number |
fiscalDocumentSign | ФПД отчета | string |
fiscalDocumentDateTime | Дата и время отчета | string |
shiftNumber | Номер смены | number |
fnNumber | Номер ФН | string |
registrationNumber | РНМ | string |
fnsUrl | Адрес сайта ФНС | string |
Флаги предупреждений (warnings) | ||
notPrinted | Документ закрыт, но не допечатан.
Рекомендуется вывести пользователю сообщение о сбое печати и попросить устранить неисправность (самый стандартный случай - закончилась бумага). После устранения неисправности требуется продолжить печать. | bool |
Открыть денежный ящик
Открыть денежный ящик
{
"type": "openCashDrawer"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | openCashDrawer - открыть денежный ящик | + |
Данные результата отсутствуют.
Установка даты и времени
Пример установки даты и времени
{
"type": "setDateTime",
"dateTime": "2018.02.01 12:43:22"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | setDateTime - установка даты и времени | + |
dateTime | Дата и время | string | Формат - yyyy.mm.dd HH:MM:SS |
Данные результата задания отсутствуют.
Чтение настроек ККТ
Пример чтения настроек ККТ
{
"type": "getDeviceParameters",
"keys": [273, 274, 9999, 49, 50]
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | getDeviceParameters - чтение настроек ККТ | + |
keys | Список номеров настроек для чтения | number[] | + |
Список доступных настроек и их значений зависит от модели ККТ и приведен в приложении Настройки ККТ.
Если какую-либо из настроек из списка keys считать не удалось, задание не прервется - просто заполнятся поля errorCode и errorDescription соответствующего блока ответа. Если ошибки при чтение не было - будет заполнено поле value.
Пример ответа на чтение настроек ККТ
{
"deviceParameters" : [
{
"key" : 273,
"value" : "ofdp.platformaofd.ru"
},
{
"key" : 274,
"value" : "21101"
},
{
"errorCode" : 11,
"errorDescription" : "Не поддерживается в данной версии",
"key" : 9999
},
{
"key" : 49,
"value" : "1"
},
{
"key" : 50,
"value" : "16"
}
]
}
Параметр | Описание | Тип |
---|---|---|
Настройки ККТ (deviceParameters) | ||
key | Номер настройки (из запроса) | number |
value | Значение настройки | string |
errorCode | Код ошибки | number |
errorDescription | Текст ошибки | string |
Запись настроек ККТ
Пример записи настроек ККТ
{
"type": "setDeviceParameters",
"deviceParameters" : [
{
"key" : 273,
"value" : "ofdp.platformaofd.ru"
},
{
"key" : 274,
"value" : "21101"
},
{
"key" : 9999,
"value" : "qwerty123"
},
{
"key" : 49,
"value" : "1"
},
{
"key" : 50,
"value" : "16"
}
]
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | setDeviceParameters - запись настроек ККТ | + |
Настройки ККТ (deviceParameters) | ||||
key | Номер настройки | number | + | |
value | Значение настройки | string | + |
Список доступных настроек и их значений зависит от модели ККТи приведен в приложении Настройки ККТ.
Если какую-либо из настроек из списка keys записать не удалось, задание не прервется - просто заполнятся поля errorCode и errorDescription соответствующего блока ответа.
Пример ответа на запись настроек ККТ
{
"deviceParameters" : [
{
"key" : 273,
"value" : "ofdp.platformaofd.ru"
},
{
"key" : 274,
"value" : "21101"
},
{
"errorCode" : 11,
"errorDescription" : "Не поддерживается в данной версии",
"key" : 9999
},
{
"key" : 49,
"value" : "1"
},
{
"key" : 50,
"value" : "16"
}
]
}
Параметр | Описание | Тип |
---|---|---|
Настройки ККТ (deviceParameters) | ||
key | Номер настройки (из запроса) | number |
value | Значение настройки (из запроса) | string |
errorCode | Код ошибки | number |
errorDescription | Текст ошибки | string |
Запрос информации о ККТ
Пример запроса информации о ККТ
{
"type": "getDeviceInfo"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | getDeviceInfo - запрос информации о ККТ | + |
Пример ответа на запрос информации о ККТ
{
"deviceInfo" : {
"configurationVersion" : "5.4.3-rc4",
"ffdVersion" : "1.05",
"firmwareVersion" : "1245",
"fnFfdVersion" : "1.0",
"model" : 69,
"modelName" : "АТОЛ 77Ф",
"receiptLineLength" : 48,
"receiptLineLengthPix" : 576,
"serial" : "00106900000014"
}
}
Параметр | Описание | Тип |
---|---|---|
Информация о ККТ (deviceInfo) | ||
model | Код модели | number |
modelName | Наименование модели | string |
serial | Заводской номер ККТ | string |
firmwareVersion | Версия прошивки | string |
configurationVersion | Версия конфигурации | string |
receiptLineLength | Ширина чековой ленты в символах | number |
receiptLineLengthPix | Ширина чековой ленты в пикселях | number |
ffdVersion | Версия ФФД ККТ | string |
fnFfdVersion | Версия ФФД ФН | string |
Запрос состояния ККТ
Пример запроса состояния ККТ
{
"type": "getDeviceStatus"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | getDeviceStatus - запрос состояния ККТ | + |
Пример ответа на запрос состояния ККТ
{
"deviceStatus" : {
"blocked" : false,
"coverOpened" : false,
"currentDateTime" : "2018-03-07T05:39:20+03:00",
"fiscal" : true,
"fnFiscal" : true,
"fnPresent" : true,
"paperPresent" : true,
"cashDrawerOpened" : false,
"shift" : "closed"
}
}
Параметр | Описание | Тип |
---|---|---|
Состояние ККТ (deviceStatus) | ||
currentDateTime | Текущие дата и время ККТ | string |
shift | Состояние смены.
Принимает значения: closed - закрыта opened - открыта expired - истекла | string |
blocked | ККТ заблокирована | bool |
coverOpened | Крышка открыта | bool |
paperPresent | Наличие чековой ленты | bool |
fiscal | ККТ фискализирована | bool |
fnFiscal | ФН фискализирован | bool |
fnPresent | ФН обнаружен | bool |
cashDrawerOpened | Денежный ящик открыт | bool |
Запрос состояния денежного ящика
Пример запроса состояния денежного ящика
{
"type": "getCashDrawerStatus"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | getCashDrawerStatus - запрос состояния денежного ящика | + |
Пример ответа на запрос состояния денежного ящика
{
"counters" : {
"cashSum" : 6238.0
},
"cashDrawerStatus" : {
"cashDrawerOpened" : false
}
}
Параметр | Описание | Тип |
---|---|---|
Состояние ДЯ (cashDrawerStatus) | ||
cashDrawerOpened | Денежный ящик открыт | bool |
Состояние счетчиков наличности (counters) | ||
cashSum | Сумма в денежном ящике | double |
Запрос состояния смены
Пример запроса состояния смены
{
"type": "getShiftStatus"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | getShiftStatus - запрос состояния смены | + |
Пример ответа на запрос состояния смены
{
"shiftStatus" : {
"expiredTime" : "2018-03-06T13:52:59+03:00",
"number" : 152,
"state" : "closed"
}
}
Параметр | Описание | Тип |
---|---|---|
Состояние смены (shiftStatus) | ||
expiredTime | Дата и время истечения смены (24 часа с её открытия). Имеет смысл, только если смена не закрыта | string |
number | Номер смены, если смена открыта, или номер последней закрытой смены, если закрыта | number |
status | Состояние смены.
Принимает значения: closed - закрыта opened - открыта expired - истекла | string |
Запрос информации о ФН
Пример запроса информации о ФН
{
"type": "getFnInfo"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | getFnInfo - запрос информации о ФН | + |
Пример ответа на запрос информации о ФН
{
"fnInfo" : {
"ffdVersion" : "1.05",
"fnFfdVersion" : "1.0",
"numberOfRegistrations" : 1,
"registrationsRemaining" : 29,
"serial" : "9999078900008855",
"validityDate" : "2019-04-15T21:00:00+03:00",
"livePhase" : "fiscalMode",
"warnings" : {
"criticalError" : false,
"memoryOverflow" : false,
"needReplacement" : false,
"ofdTimeout" : false,
"resourceExhausted" : false
}
}
}
Параметр | Описание | Тип |
---|---|---|
Информация о ФН (fnInfo) | ||
serial | Заводской номер ФН | string |
numberOfRegistrations | Количество проведенных регистраций | number |
registrationsRemaining | Количество оставшихся регистраций | number |
validityDate | Срок действия ФН | string |
ffdVersion | Версия ФФД ККТ | string |
fnFfdVersion | Версия ФФД ФН | string |
livePhase | Фаза жизни ФН.
Принимает значения: init - настройка ФН configured - настроен, готов в активации fiscalMode - фискальный режим postFiscalMode - постфискальный режим accessArchive - доступ к архиву ФН unknown - неизвестная фаза жизни | string |
Предупреждения ФН (fnInfo.warnings) | ||
memoryOverflow | Память ФН переполнена | bool |
needReplacement | Требуется срочная замена ФН | bool |
ofdTimeout | Превышено время ожидания ответа от ОФД | bool |
resourceExhausted | Исчерпан ресурс ФН | bool |
criticalError | Критическая ошибка ФН | bool |
Запрос состояния ФН
Пример запроса статуса ФН
{
"type": "getFnStatus"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | getFnStatus - запрос статуса ФН | + |
Пример ответа на запрос статуса ФН
{
"fnStatus" : {
"fiscalDocumentNumber": 15,
"fiscalReceiptNumber": 15,
"warnings" : {
"criticalError" : false,
"memoryOverflow" : false,
"needReplacement" : false,
"ofdTimeout" : false,
"resourceExhausted" : false
}
}
}
Параметр | Описание | Тип |
---|---|---|
Информация об ФН (fnStatus) | ||
fiscalDocumentNumber | Номер последнего ФД | number |
fiscalReceiptNumber | Количество чеков за смену | number |
Предупреждения ФН (fnInfo.warnings) | ||
memoryOverflow | Память ФН переполнена | bool |
needReplacement | Требуется срочная замена ФН | bool |
ofdTimeout | Превышено время ожидания ответа от ОФД | bool |
resourceExhausted | Исчерпан ресурс ФН | bool |
criticalError | Критическая ошибка ФН | bool |
Запрос состояния обмена с ОФД
Пример запроса состояния обмена с ОФД
{
"type": "ofdExchangeStatus"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | ofdExchangeStatus - запрос состояния обмена с ОФД | + |
Пример ответа на запрос состояния обмена с ОФД
{
"errors" : {
"fnCommandCode" : 0,
"documentNumber" : 1,
"fn" : {
"code" : 0,
"description" : "Ошибок нет"
},
"network" : {
"code" : 13617,
"description" : "Отсутствует физический канал связи"
},
"ofd" : {
"code" : 0,
"description" : "Ошибок нет"
}
},
"status" : {
"notSentCount" : 69,
"notSentFirstDocDateTime" : "2018-03-06T13:52:00+03:00",
"notSentFirstDocNumber" : 1
}
}
Параметр | Описание | Тип |
---|---|---|
Состояние (status) | ||
notSentCount | Количество неотправленных ФД | number |
notSentFirstDocNumber | Номер первого неотправленного ФД | number |
notSentFirstDocDateTime | Дата и время первого неотправленного ФД | string |
Ошибки обмена (errors) | ||
network.code | Код ошибки сети | number |
network.description | Текст ошибки сети | string |
ofd.code | Код ошибки ОФД | number |
ofd.description | Текст ошибки ОФД | string |
fn.code | Код ошибки ФН | number |
fn.description | Текст ошибки ФН | string |
documentNumber | Номер ФД, на котором произошла ошибка | number |
fnCommandCode | Команда ФН, на которой произошла ошибка | number |
Запрос сменных итогов
Пример запроса сменных итогов
{
"type": "getShiftTotals"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | getShiftTotals - запрос сменных итогов | + |
Пример ответа на запрос сменных итогов
{
"shiftTotals" : {
"cashDrawer" : {
"sum" : 112.9
},
"income" : {
"count" : 1,
"sum" : 100.0
},
"outcome" : {
"count" : 0,
"sum" : 0.0
},
"receipts" : {
"buy" : {
"count" : 0,
"payments" : {
"cash" : 0.0,
"credit" : 0.0,
"electronically" : 0.0,
"other" : 0.0,
"prepaid" : 0.0,
"userPaymentType-1" : 0.0,
"userPaymentType-2" : 0.0,
"userPaymentType-3" : 0.0,
"userPaymentType-4" : 0.0,
"userPaymentType-5" : 0.0
}
},
"buyReturn" : {
"count" : 0,
"payments" : {
"cash" : 0.0,
"credit" : 0.0,
"electronically" : 0.0,
"other" : 0.0,
"prepaid" : 0.0,
"userPaymentType-1" : 0.0,
"userPaymentType-2" : 0.0,
"userPaymentType-3" : 0.0,
"userPaymentType-4" : 0.0,
"userPaymentType-5" : 0.0
}
},
"sell" : {
"count" : 1,
"payments" : {
"cash" : 12.9,
"credit" : 0.0,
"electronically" : 0.0,
"other" : 0.0,
"prepaid" : 0.0,
"userPaymentType-1" : 0.0,
"userPaymentType-2" : 0.0,
"userPaymentType-3" : 0.0,
"userPaymentType-4" : 0.0,
"userPaymentType-5" : 0.0
}
},
"sellReturn" : {
"count" : 0,
"payments" : {
"cash" : 0.0,
"credit" : 0.0,
"electronically" : 0.0,
"other" : 0.0,
"prepaid" : 0.0,
"userPaymentType-1" : 0.0,
"userPaymentType-2" : 0.0,
"userPaymentType-3" : 0.0,
"userPaymentType-4" : 0.0,
"userPaymentType-5" : 0.0
}
}
},
"shiftNumber" : 1
}
}
Параметр | Описание | Тип |
---|---|---|
Сменные итоги (shiftTotals) | ||
shiftNumber | Номер смены, если смена открыта, или номер последней закрытой смены, если закрыта | number |
Информация о денежном ящике (shiftTotals.cashDrawer) | ||
sum | Сумма наличных в денежном ящике | number |
Итоги внесений/выплат (shiftTotals.income, shiftTotals.outcome) | ||
count | Количество операций внесения/выплаты | number |
sum | Сумма операций внесения/выплаты | number |
Итоги по чекам (shiftTotals.receipts.sell, shiftTotals.receipts.sellReturn, shiftTotals.receipts.buy, shiftTotals.receipts.buyReturn) | ||
count | Количество чеков | number |
payments.cash | Сумма оплат наличными | number |
payments.electronically | Сумма оплат безналичными | number |
payments.credit | Сумма кредитов | number |
payments.prepaid | Сумма предоплат | number |
payments.other | Сумма оплат встречным предоставлением | number |
payments.userPaymentType-X | Сумма оплат пользовательским типом оплаты с номером X | number |
Запрос необнуляемых итогов
Пример запроса необнуляемых итогов
{
"type": "getOverallTotals"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | getOverallTotals - запрос необнуляемых итогов | + |
Пример ответа на запрос необнуляемых итогов
{
"overallTotals" : {
"receipts" : {
"buy" : {
"sum" : 12.9,
"payments" : {
"cash" : 0.0,
"credit" : 0.0,
"electronically" : 0.0,
"other" : 0.0,
"prepaid" : 0.0,
"userPaymentType-1" : 0.0,
"userPaymentType-2" : 0.0,
"userPaymentType-3" : 0.0,
"userPaymentType-4" : 0.0,
"userPaymentType-5" : 0.0
}
},
"buyReturn" : {
"sum" : 0.0,
"payments" : {
"cash" : 0.0,
"credit" : 0.0,
"electronically" : 0.0,
"other" : 0.0,
"prepaid" : 0.0,
"userPaymentType-1" : 0.0,
"userPaymentType-2" : 0.0,
"userPaymentType-3" : 0.0,
"userPaymentType-4" : 0.0,
"userPaymentType-5" : 0.0
},
},
"sell" : {
"sum" : 0.0,
"payments" : {
"cash" : 0.0,
"credit" : 0.0,
"electronically" : 0.0,
"other" : 0.0,
"prepaid" : 0.0,
"userPaymentType-1" : 0.0,
"userPaymentType-2" : 0.0,
"userPaymentType-3" : 0.0,
"userPaymentType-4" : 0.0,
"userPaymentType-5" : 0.0
},
},
"sellReturn" : {
"sum" : 0.0,
"payments" : {
"cash" : 0.0,
"credit" : 0.0,
"electronically" : 0.0,
"other" : 0.0,
"prepaid" : 0.0,
"userPaymentType-1" : 0.0,
"userPaymentType-2" : 0.0,
"userPaymentType-3" : 0.0,
"userPaymentType-4" : 0.0,
"userPaymentType-5" : 0.0
},
}
}
}
}
Параметр | Описание | Тип |
---|---|---|
Необнуляемые итоги (overallTotals) | ||
Итоги по чекам (overallTotals.receipts.sell, overallTotals.receipts.sellReturn, overallTotals.receipts.buy, overallTotals.receipts.buyReturn) | ||
sum | Общая сумма | number |
payments.cash | Сумма оплат наличными | number |
payments.electronically | Сумма оплат безналичными | number |
payments.credit | Сумма кредитов | number |
payments.prepaid | Сумма предоплат | number |
payments.other | Сумма оплат встречным предоставлением | number |
payments.userPaymentType-X | Сумма оплат пользовательским типом оплаты с номером X | number |
Чтение документа из ФН
Чтение документа из ФН по номеру
{
"type": "getFnDocument",
"fiscalDocumentNumber": 1617
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | getFnDocument - чтение документа из ФН по номеру | + |
fiscalDocumentNumber | Номер документа | number | + |
Пример ответа на чтение документа из ФН по номеру
{
"documentTLV" : {
"1012" : "2018.09.10 10:17:00",
"1018" : "123456789047",
"1020" : 12.9,
"1021" : "СИС. АДМИНИСТРАТОР",
"1031" : 12.9,
"1037" : "0000000001006981",
"1038" : 29,
"1040" : 1617,
"1041" : "9999078900011722",
"1042" : 1,
"1054" : 1,
"1055" : 1,
"1059" : [
{
"1023" : 2.345,
"1030" : "Чипсы с беконом LAYS",
"1043" : 12.9,
"1079" : 5.5,
"1199" : 1,
"1200" : 1.97,
"1212" : 1,
"1214" : 1
}
],
"1077" : "3104F0B68CE4",
"1081" : 0.0,
"1102" : 1.97,
"1209" : 2,
"1215" : 0.0,
"1216" : 0.0,
"1217" : 0.0,
"fiscalDocumentType" : "receipt"
}
}
Параметр | Описание | Тип |
---|---|---|
Состав чека в TLV (documentTLV) | ||
fiscalDocumentType | Тип документа. Принимает следующие значения:
registration - регистрация ККТ changeRegistrationParameters - перерегистрация ККТ closeArchive - закрытие архива ФН ofdExchangeStatus - отчет о состоянии расчетов openShift - открытие смены closeShift - закрытие смены receipt - чек receiptCorrection - чек коррекции bso - БСО bsoCorrection - БСО коррекции | string |
short | Флаг, считан документ полностью или из архива | bool |
Номер реквизита ФН | Значение реквизита ФН | Тип зависит от номера реквизита ФН |
Запрос состояния лицензий / кодов защиты
Пример запроса состояния лицензий / кодов защиты
{
"type": "getLicenses"
}
Параметр | Описание | Тип | Возможные значения | Обязательность |
---|---|---|---|---|
type | Тип задания | string | getLicenses - запрос состояния лицензий / кодов защиты | + |
Пример ответа на запрос состояния лицензий / кодов защиты
{
"licenses": [
{
"id" : "4",
"state" : "active"
},
{
"id" : "10",
"state" : "active"
}
]
}
Параметр | Описание | Тип |
---|---|---|
Лицензии (licenses) | ||
Информация о лицензии | ||
id | Код лицензии | string |
state | Состояние лицензии. Принимает следующие значения:
active - активна | string |
Приложение
Список кодов ошибок
000 - LIBFPTR_OK - Ошибок нет
001 - LIBFPTR_ERROR_CONNECTION_DISABLED - Соединение не установлено
002 - LIBFPTR_ERROR_NO_CONNECTION - Нет связи
003 - LIBFPTR_ERROR_PORT_BUSY - Порт занят
004 - LIBFPTR_ERROR_PORT_NOT_AVAILABLE - Порт недоступен
005 - LIBFPTR_ERROR_INCORRECT_DATA - Некорректные данные от устройства
006 - LIBFPTR_ERROR_INTERNAL - Внутренняя ошибка библиотеки
007 - LIBFPTR_ERROR_UNSUPPORTED_CAST - Неподдерживаемое преобразование типа параметра
008 - LIBFPTR_ERROR_NO_REQUIRED_PARAM - Не найден обязательный параметр
009 - LIBFPTR_ERROR_INVALID_SETTINGS - Некорректные настройки
010 - LIBFPTR_ERROR_NOT_CONFIGURED - Драйвер не настроен
011 - LIBFPTR_ERROR_NOT_SUPPORTED - Не поддерживается в данной версии (драйвера или ККТ)
012 - LIBFPTR_ERROR_INVALID_MODE - Не поддерживается в данном режиме
013 - LIBFPTR_ERROR_INVALID_PARAM - Нeкорректное значение параметра
014 - LIBFPTR_ERROR_NOT_LOADED - Не удалось загрузить библиотеку
015 - LIBFPTR_ERROR_UNKNOWN - Неизвестная ошибка
016 - LIBFPTR_ERROR_INVALID_SUM - Неверная цена (сумма)
017 - LIBFPTR_ERROR_INVALID_QUANTITY - Неверное количество
018 - LIBFPTR_ERROR_CASH_COUNTER_OVERFLOW - Переполнение счетчика наличности
019 - LIBFPTR_ERROR_LAST_OPERATION_STORNO_DENIED - Невозможно сторно последней операции
020 - LIBFPTR_ERROR_STORNO_BY_CODE_DENIED - Сторно по коду невозможно
021 - LIBFPTR_ERROR_LAST_OPERATION_NOT_REPEATABLE - Невозможен повтор последней операции
022 - LIBFPTR_ERROR_DISCOUNT_NOT_REPEATABLE - Повторная скидка на операцию невозможна
023 - LIBFPTR_ERROR_DISCOUNT_DENIED - Невозможно начислить скидку/надбавку
024 - LIBFPTR_ERROR_INVALID_COMMODITY_CODE - Неверный код товара
025 - LIBFPTR_ERROR_INVALID_COMMODITY_BARCODE - Неверный штрихкод товара
026 - LIBFPTR_ERROR_INVALID_COMMAND_FORMAT - Неверный формат команды
027 - LIBFPTR_ERROR_INVALID_COMMAND_LENGTH - Неверная длина
028 - LIBFPTR_ERROR_BLOCKED_IN_DATE_INPUT_MODE - ККТ заблокирована в режиме ввода даты
029 - LIBFPTR_ERROR_NEED_DATE_ACCEPT - Требуется подтверждение ввода даты
030 - LIBFPTR_ERROR_NO_MORE_DATA - Нет больше данных
031 - LIBFPTR_ERROR_NO_ACCEPT_OR_CANCEL - Нет подтверждения или отмены продажи
032 - LIBFPTR_ERROR_BLOCKED_BY_REPORT_INTERRUPTION - Отчет с гашением прерван. Вход в режим невозможен
033 - LIBFPTR_ERROR_DISABLE_CASH_CONTROL_DENIED - Отключение контроля наличности невозможно (не настроены необходимые типы оплаты)
034 - LIBFPTR_ERROR_MODE_BLOCKED - Вход в режим заблокирован
035 - LIBFPTR_ERROR_CHECK_DATE_TIME - Проверьте дату и время
036 - LIBFPTR_ERROR_DATE_TIME_LESS_THAN_FS - Дата и время в ККТ меньше чем в ФН
037 - LIBFPTR_ERROR_CLOSE_ARCHIVE_DENIED - Невозможно закрыть архив
038 - LIBFPTR_ERROR_COMMODITY_NOT_FOUND - Товар не найден
039 - LIBFPTR_ERROR_WEIGHT_BARCODE_WITH_INVALID_QUANTITY - Весовой штрихкод с количеством <> 1.000
040 - LIBFPTR_ERROR_RECEIPT_BUFFER_OVERFLOW - Переполнение буфера чека
041 - LIBFPTR_ERROR_QUANTITY_TOO_FEW - Недостаточное количество товара
042 - LIBFPTR_ERROR_STORNO_TOO_MUCH - Сторнируемое количество больше проданного
043 - LIBFPTR_ERROR_BLOCKED_COMMODITY_NOT_FOUND - Товар не найден
044 - LIBFPTR_ERROR_NO_PAPER - Нет бумаги
045 - LIBFPTR_ERROR_COVER_OPENED - Открыта крышка
046 - LIBFPTR_ERROR_PRINTER_FAULT - Нет связи с принтером чеков
047 - LIBFPTR_ERROR_MECHANICAL_FAULT - Механическая ошибка печатающего устройства
048 - LIBFPTR_ERROR_INVALID_RECEIPT_TYPE - Неверный тип чека
049 - LIBFPTR_ERROR_INVALID_UNIT_TYPE - Недопустимое целевое устройство
050 - LIBFPTR_ERROR_NO_MEMORY - Нет места в массиве картинок/штрихкодов
051 - LIBFPTR_ERROR_PICTURE_NOT_FOUND - Неверный номер картинки/штрихкода (картинка/штрихкод отсутствует)
052 - LIBFPTR_ERROR_NONCACH_PAYMENTS_TOO_MUCH - Сумма не наличных платежей превышает сумму чека
053 - LIBFPTR_ERROR_RETURN_DENIED - Накопление меньше суммы возврата или аннулирования
054 - LIBFPTR_ERROR_PAYMENTS_OVERFLOW - Переполнение суммы платежей
055 - LIBFPTR_ERROR_BUSY - Предыдущая операция незавершена
056 - LIBFPTR_ERROR_GSM - Ошибка GSM- модуля
057 - LIBFPTR_ERROR_INVALID_DISCOUNT - Неверная величина скидки / надбавки
058 - LIBFPTR_ERROR_OPERATION_AFTER_DISCOUNT_DENIED - Операция после скидки / надбавки невозможна
059 - LIBFPTR_ERROR_INVALID_DEPARTMENT - Неверная секция
060 - LIBFPTR_ERROR_INVALID_PAYMENT_TYPE - Неверный вид оплаты
061 - LIBFPTR_ERROR_MULTIPLICATION_OVERFLOW - Переполнение при умножении
062 - LIBFPTR_ERROR_DENIED_BY_SETTINGS - Операция запрещена в таблице настроек
063 - LIBFPTR_ERROR_TOTAL_OVERFLOW - Переполнение итога чека
064 - LIBFPTR_ERROR_DENIED_IN_ANNULATION_RECEIPT - Открыт чек аннулирования – операция невозможна
065 - LIBFPTR_ERROR_JOURNAL_OVERFLOW - Переполнение буфера контрольной ленты
066 - LIBFPTR_ERROR_NOT_FULLY_PAID - Чек оплачен не полностью
067 - LIBFPTR_ERROR_DENIED_IN_RETURN_RECEIPT - Открыт чек возврата – операция невозможна
068 - LIBFPTR_ERROR_SHIFT_EXPIRED - Смена превысила 24 часа
069 - LIBFPTR_ERROR_DENIED_IN_SELL_RECEIPT - Открыт чек продажи – операция невозможна
070 - LIBFPTR_ERROR_FISCAL_MEMORY_OVERFLOW - Переполнение ФП
071 - LIBFPTR_ERROR_INVALID_PASSWORD - Неверный пароль
072 - LIBFPTR_ERROR_JOURNAL_BUSY - Идет обработка контрольной ленты
073 - LIBFPTR_ERROR_DENIED_IN_CLOSED_SHIFT - Смена закрыта - операция невозможна
074 - LIBFPTR_ERROR_INVALID_TABLE_NUMBER - Неверный номер таблицы
075 - LIBFPTR_ERROR_INVALID_ROW_NUMBER - Неверный номер ряда
076 - LIBFPTR_ERROR_INVALID_FIELD_NUMBER - Неверный номер поля
077 - LIBFPTR_ERROR_INVALID_DATE_TIME - Неверная дата и/или время
078 - LIBFPTR_ERROR_INVALID_STORNO_SUM - Неверная сумма сторно
079 - LIBFPTR_ERROR_CHANGE_CALCULATION - Подсчет суммы сдачи невозможен
080 - LIBFPTR_ERROR_NO_CASH - В ККТ нет денег для выплаты
081 - LIBFPTR_ERROR_DENIED_IN_CLOSED_RECEIPT - Чек закрыт – операция невозможна
082 - LIBFPTR_ERROR_DENIED_IN_OPENED_RECEIPT - Чек открыт – операция невозможна
083 - LIBFPTR_ERROR_DENIED_IN_OPENED_SHIFT - Смена открыта, операция невозможна
084 - LIBFPTR_ERROR_SERIAL_NUMBER_ALREADY_ENTERED - Серийный номер / MAC- адрес уже задан
085 - LIBFPTR_ERROR_TOO_MUCH_REREGISTRATIONS - Исчерпан лимит перерегистраций
086 - LIBFPTR_ERROR_INVALID_SHIFT_NUMBER - Неверный номер смены
087 - LIBFPTR_ERROR_INVALID_SERIAL_NUMBER - Недопустимый серийный номер ККТ
088 - LIBFPTR_ERROR_INVALID_RNM_VATIN - Недопустимый РНМ и/или ИНН
089 - LIBFPTR_ERROR_FISCAL_PRINTER_NOT_ACTIVATED - ККТ не фискализирована
090 - LIBFPTR_ERROR_SERIAL_NUMBER_NOT_ENTERED - Не задан серийный номер
091 - LIBFPTR_ERROR_NO_MORE_REPORTS - Нет отчетов
092 - LIBFPTR_ERROR_MODE_NOT_ACTIVATED - Режим не активизирован
093 - LIBFPTR_ERROR_RECORD_NOT_FOUND_IN_JOURNAL - Нет указанного чека в КЛ
094 - LIBFPTR_ERROR_INVALID_LICENSE - Некорректный код или номер кода защиты ККТ
095 - LIBFPTR_ERROR_NEED_FULL_RESET - Требуется выполнение общего гашения
096 - LIBFPTR_ERROR_DENIED_BY_LICENSE - Команда не разрешена введенными кодами защиты ККТ
097 - LIBFPTR_ERROR_DISCOUNT_CANCELLATION_DENIED - Невозможна отмена скидки/надбавки
098 - LIBFPTR_ERROR_CLOSE_RECEIPT_DENIED - Невозможно закрыть чек данным типом оплаты
099 - LIBFPTR_ERROR_INVALID_ROUTE_NUMBER - Неверный номер маршрута
100 - LIBFPTR_ERROR_INVALID_START_ZONE_NUMBER - Неверный номер начальной зоны
101 - LIBFPTR_ERROR_INVALID_END_ZONE_NUMBER - Неверный номер конечной зоны
102 - LIBFPTR_ERROR_INVALID_RATE_TYPE - Неверный тип тарифа
103 - LIBFPTR_ERROR_INVALID_RATE - Неверный тариф
104 - LIBFPTR_ERROR_FISCAL_MODULE_EXCHANGE - Ошибка обмена с фискальным модулем
105 - LIBFPTR_ERROR_NEED_TECHNICAL_SUPPORT - Необходимо провести профилактические работы
106 - LIBFPTR_ERROR_SHIFT_NUMBERS_DID_NOT_MATCH - Неверные номера смен в ККТ и ФН
107 - LIBFPTR_ERROR_DEVICE_NOT_FOUND - Нет устройства, обрабатывающего данную команду
108 - LIBFPTR_ERROR_EXTERNAL_DEVICE_CONNECTION - Нет связи с внешним устройством
109 - LIBFPTR_ERROR_DISPENSER_INVALID_STATE - Ошибочное состояние ТРК
110 - LIBFPTR_ERROR_INVALID_POSITIONS_COUNT - Недопустимое кол- во позиций в чеке
111 - LIBFPTR_ERROR_DISPENSER_INVALID_NUMBER - Ошибочный номер ТРК
112 - LIBFPTR_ERROR_INVALID_DIVIDER - Неверный делитель
113 - LIBFPTR_ERROR_FN_ACTIVATION_DENIED - Активация данного ФН в составе данной ККТ невозможна
114 - LIBFPTR_ERROR_PRINTER_OVERHEAT - Перегрев головки принтера
115 - LIBFPTR_ERROR_FN_EXCHANGE - Ошибка обмена с ФН на уровне интерфейса I2C
116 - LIBFPTR_ERROR_FN_INVALID_FORMAT - Ошибка формата передачи ФН
117 - LIBFPTR_ERROR_FN_INVALID_STATE - Неверное состояние ФН
118 - LIBFPTR_ERROR_FN_FAULT - Неисправимая ошибка ФН
119 - LIBFPTR_ERROR_FN_CRYPTO_FAULT - Ошибка КС ФН
120 - LIBFPTR_ERROR_FN_EXPIRED - Закончен срок эксплуатации ФН
121 - LIBFPTR_ERROR_FN_OVERFLOW - Архив ФН переполнен
122 - LIBFPTR_ERROR_FN_INVALID_DATE_TIME - В ФН переданы неверная дата или время
123 - LIBFPTR_ERROR_FN_NO_MORE_DATA - В ФН нет запрошенных данных
124 - LIBFPTR_ERROR_FN_TOTAL_OVERFLOW - Переполнение ФН (итог чека / смены)
125 - LIBFPTR_ERROR_BUFFER_OVERFLOW - Буфер переполнен
126 - LIBFPTR_ERROR_PRINT_SECOND_COPY_DENIED - Невозможно напечатать вторую фискальную копию
127 - LIBFPTR_ERROR_NEED_RESET_JOURNAL - Требуется гашение ЭЖ
128 - LIBFPTR_ERROR_TAX_SUM_TOO_MUCH - Некорректная сумма налога
129 - LIBFPTR_ERROR_TAX_ON_LAST_OPERATION_DENIED - Начисление налога на последнюю операцию невозможно
130 - LIBFPTR_ERROR_INVALID_FN_NUMBER - Неверный номер ФН
131 - LIBFPTR_ERROR_TAX_CANCEL_DENIED - Сумма сторно налога больше суммы зарегистрированного налога данного типа
132 - LIBFPTR_ERROR_LOW_BATTERY - Операция невозможна, недостаточно питания
133 - LIBFPTR_ERROR_FN_INVALID_COMMAND - Некорректное значение параметров команды ФН
134 - LIBFPTR_ERROR_FN_COMMAND_OVERFLOW - Превышение размеров TLV данных ФН
135 - LIBFPTR_ERROR_FN_NO_TRANSPORT_CONNECTION - Нет транспортного соединения ФН
136 - LIBFPTR_ERROR_FN_CRYPTO_HAS_EXPIRED - Исчерпан ресурс КС ФН
137 - LIBFPTR_ERROR_FN_RESOURCE_HAS_EXPIRED - Ресурс хранения ФД исчерпан
138 - LIBFPTR_ERROR_INVALID_MESSAGE_FROM_OFD - Сообщение от ОФД не может быть принято ФН
139 - LIBFPTR_ERROR_FN_HAS_NOT_SEND_DOCUMENTS - В ФН есть неотправленные ФД
140 - LIBFPTR_ERROR_FN_TIMEOUT - Исчерпан ресурс ожидания передачи сообщения в ФН
141 - LIBFPTR_ERROR_FN_SHIFT_EXPIRED - Продолжительность смены ФН более 24 часов
142 - LIBFPTR_ERROR_FN_INVALID_TIME_DIFFERENCE - Неверная разница во времени между двумя операциями ФН
143 - LIBFPTR_ERROR_INVALID_TAXATION_TYPE - Некорректная СНО
144 - LIBFPTR_ERROR_INVALID_TAX_TYPE - Недопустимый номер ставки налога
145 - LIBFPTR_ERROR_INVALID_COMMODITY_PAYMENT_TYPE - Недопустимый тип оплаты товара
146 - LIBFPTR_ERROR_INVALID_COMMODITY_CODE_TYPE - Недопустимый тип кода товара
147 - LIBFPTR_ERROR_EXCISABLE_COMMODITY_DENIED - Недопустима регистрация подакцизного товара
148 - LIBFPTR_ERROR_FISCAL_PROPERTY_WRITE - Ошибка программирования реквизита
149 - LIBFPTR_ERROR_INVALID_COUNTER_TYPE - Неверный тип счетчика
150 - LIBFPTR_ERROR_CUTTER_FAULT - Ошибка отрезчика
151 - LIBFPTR_ERROR_REPORT_INTERRUPTED - Снятие отчета прервалось
152 - LIBFPTR_ERROR_INVALID_LEFT_MARGIN - Недопустимое значение отступа слева
153 - LIBFPTR_ERROR_INVALID_ALIGNMENT - Недопустимое значение выравнивания
154 - LIBFPTR_ERROR_INVALID_TAX_MODE - Недопустимое значение режима работы с налогом
155 - LIBFPTR_ERROR_FILE_NOT_FOUND - Файл не найден или неверный формат
156 - LIBFPTR_ERROR_PICTURE_TOO_BIG - Размер картинки слишком большой
157 - LIBFPTR_ERROR_INVALID_BARCODE_PARAMS - Не удалось сформировать штрихкод
158 - LIBFPTR_ERROR_FISCAL_PROPERTY_DENIED - Неразрешенные реквизиты
159 - LIBFPTR_ERROR_FN_INTERFACE - Ошибка интерфейса ФН
160 - LIBFPTR_ERROR_DATA_DUPLICATE - Дублирование данных
161 - LIBFPTR_ERROR_NO_REQUIRED_FISCAL_PROPERTY - Не указаны обязательные реквизиты
162 - LIBFPTR_ERROR_FN_READ_DOCUMENT - Ошибка чтения документа из ФН
163 - LIBFPTR_ERROR_FLOAT_OVERFLOW - Переполнение чисел с плавающей точкой
164 - LIBFPTR_ERROR_INVALID_SETTING_VALUE - Неверное значение параметра ККТ
165 - LIBFPTR_ERROR_HARD_FAULT - Внутренняя ошибка ККТ
166 - LIBFPTR_ERROR_FN_NOT_FOUND - ФН не найден
167 - LIBFPTR_ERROR_INVALID_AGENT_FISCAL_PROPERTY - Невозможно записать реквизит агента
168 - LIBFPTR_ERROR_INVALID_FISCAL_PROPERTY_VALUE_1002_1056 - Недопустимое сочетания реквизитов 1002 и 1056
169 - LIBFPTR_ERROR_INVALID_FISCAL_PROPERTY_VALUE_1002_1017 - Недопустимое сочетания реквизитов 1002 и 1017
170 - LIBFPTR_ERROR_SCRIPT - Ошибка скриптового движка ККТ
171 - LIBFPTR_ERROR_INVALID_USER_MEMORY_INDEX - Неверный номер пользовательской ячейки памяти
172 - LIBFPTR_ERROR_NO_ACTIVE_OPERATOR - Кассир не зарегистрирован
173 - LIBFPTR_ERROR_REGISTRATION_REPORT_INTERRUPTED - Отчет о регистрации ККТ прерван. Устраните неисправность и повторите операцию
174 - LIBFPTR_ERROR_CLOSE_FN_REPORT_INTERRUPTED - Отчет о закрытии ФН прерван. Устраните неисправность и повторите операцию
175 - LIBFPTR_ERROR_OPEN_SHIFT_REPORT_INTERRUPTED - Отчет об открытии смены прерван. Устраните неисправность и повторите операцию
176 - LIBFPTR_ERROR_OFD_EXCHANGE_REPORT_INTERRUPTED - Отчет о состоянии расчетов прерван. Устраните неисправность и повторите операцию
177 - LIBFPTR_ERROR_CLOSE_RECEIPT_INTERRUPTED - Закрытие чека прервано
178 - LIBFPTR_ERROR_FN_QUERY_INTERRUPTED - Получение документа из ФН прервано
179 - LIBFPTR_ERROR_RTC_FAULT - Сбой часов
180 - LIBFPTR_ERROR_MEMORY_FAULT - Сбой памяти
181 - LIBFPTR_ERROR_CHIP_FAULT - Сбой микросхемы
182 - LIBFPTR_ERROR_TEMPLATES_CORRUPTED - Ошибка шаблонов документов
183 - LIBFPTR_ERROR_INVALID_MAC_ADDRESS - Недопустимое значение MAC- адреса
184 - LIBFPTR_ERROR_INVALID_SCRIPT_NUMBER - Неверный тип (номер) скрипта
185 - LIBFPTR_ERROR_SCRIPTS_FAULT - Загруженные скрипты повреждены или отсутствуют
186 - LIBFPTR_ERROR_INVALID_SCRIPTS_VERSION - Несовместимая версия загруженных скриптов
187 - LIBFPTR_ERROR_INVALID_CLICHE_FORMAT - Ошибка в формате клише
188 - LIBFPTR_ERROR_WAIT_FOR_REBOOT - Требуется перезагрузка ККТ
189 - LIBFPTR_ERROR_NO_LICENSE - Подходящие лицензии не найдены
190 - LIBFPTR_ERROR_INVALID_FFD_VERSION - Неверная версия ФФД
191 - LIBFPTR_ERROR_CHANGE_SETTING_DENIED - Параметр доступен только для чтения
192 - LIBFPTR_ERROR_INVALID_NOMENCLATURE_TYPE - Неверный тип кода товара
193 - LIBFPTR_ERROR_INVALID_GTIN - Неверное значение GTIN
194 - LIBFPTR_ERROR_NEGATIVE_MATH_RESULT - Отрицательный результат математической операции
195 - LIBFPTR_ERROR_FISCAL_PROPERTIES_COMBINATION - Недопустимое сочетание реквизитов
196 - LIBFPTR_ERROR_OPERATOR_LOGIN - Ошибка регистрации кассира
197 - LIBFPTR_ERROR_INVALID_INTERNET_CHANNEL - Данный канал Интернет отсутствует в ККТ
198 - LIBFPTR_ERROR_DATETIME_NOT_SYNCRONIZED - Дата и время не синхронизированы
199 - LIBFPTR_ERROR_JOURNAL - Ошибка электронного журнала
200 - LIBFPTR_ERROR_DENIED_IN_OPENED_DOC - Документ открыт - операция невозможна
201 - LIBFPTR_ERROR_DENIED_IN_CLOSED_DOC - Документ закрыт - операция невозможна
202 - LIBFPTR_ERROR_LICENSE_MEMORY_OVERFLOW - Нет места для сохранения лицензий
203 - LIBFPTR_ERROR_NEED_CANCEL_DOCUMENT - Произошла критичная ошибка, документ необходимо отменить
204 - LIBFPTR_ERROR_REGISTERS_NOT_INITIALIZED - Регистры ККТ еще не инициализированы
205 - LIBFPTR_ERROR_TOTAL_REQUIRED - Требуется регистрация итога
206 - LIBFPTR_ERROR_SETTINGS_FAULT - Сбой таблицы настроек
207 - LIBFPTR_ERROR_COUNTERS_FAULT - Сбой счетчиков и регистров ККТ
208 - LIBFPTR_ERROR_USER_MEMORY_FAULT - Сбой пользовательской памяти
209 - LIBFPTR_ERROR_SERVICE_COUNTERS_FAULT - Сбой сервисных регистров
210 - LIBFPTR_ERROR_ATTRIBUTES_FAULT - Сбой реквизитов ККТ
211 - LIBFPTR_ERROR_ALREADY_IN_UPDATE_MODE - ККТ уже в режиме обновления конфигурации
212 - LIBFPTR_ERROR_INVALID_FIRMWARE - Конфигурация не прошла проверку
213 - LIBFPTR_ERROR_INVALID_CHANNEL - Аппаратный канал отсутствует, выключен или ещё не проинициализирован
214 - LIBFPTR_ERROR_INTERFACE_DOWN - Сетевой интерфейс не подключен, или на нём не получен IP-адрес
215 - LIBFPTR_ERROR_INVALID_FISCAL_PROPERTY_VALUE_1212_1030 - Недопустимое сочетание реквизитов 1212 и 1030
216 - LIBFPTR_ERROR_INVALID_FISCAL_PROPERTY_VALUE_1214 - Некорректный признак способа расчета
217 - LIBFPTR_ERROR_INVALID_FISCAL_PROPERTY_VALUE_1212 - Некорректный признак предмета расчета
218 - LIBFPTR_ERROR_SYNC_TIME - Ошибка синхронизации времени
219 - LIBFPTR_ERROR_VAT18_VAT20_IN_RECEIPT - В одном чеке одновременно не может быть позиций с НДС 18% (18/118) и НДС 20% (20/120)
220 - LIBFPTR_ERROR_PICTURE_NOT_CLOSED - Картинка не закрыта
221 - LIBFPTR_ERROR_INTERFACE_BUSY - Сетевой интерфейс занят
222 - LIBFPTR_ERROR_INVALID_PICTURE_NUMBER - Неверный номер картинки
223 - LIBFPTR_ERROR_INVALID_CONTAINER - Ошибка при разборе контейнера
501 - LIBFPTR_ERROR_RECEIPT_PARSE_ERROR - Ошибка парсинга чека / запроса
502 - LIBFPTR_ERROR_INTERRUPTED_BY_PREVIOUS_ERRORS - Выполнение прервано из-за предыдущих ошибок
Используемые сторонние библиотеки
Название | Версия | Лицензия | Где используется |
---|---|---|---|
Qt | 4.8.7, 5.6.2 | LGPL | Тестовое приложение |
QtCSV | 1.5 | MIT | Окно параметров ККТ |
QtWinMigrate | 2.6.0 | BSD | Окно настроек связи с ККТ |
CxImage | 7.0.1 | zlib/libpng | Работа с изображениями |
zlib | 1.2.11 | zlib/libpng | Работа с PNG-изображениями |
libpng | 1.6.28 | zlib/libpng | Работа с PNG-изображениями |
zint | 2.6.0 | BSD | Работа со штрихкодами |
libusb | 1.0.21 | LGPLv2 | Работа с USB-ККТ на Linux |
decNumber | 3.68 | ICU License - ICU 1.8.1 and later | Точные вычисления в чеках |
jsoncpp | 1.7.7 | MIT | Работа с настройками, Json-заданиями, т.п. |
utf8cpp | Boost Software License | Работа с логами | |
base64 | Сайт | Работа с base64 в JSON-заданиях | |
Slate | @7ecc79c | Apache | Документация |
Пример использования
#include "libfptr10.h"
std::wstring getErrorDescription(libfptr_handle fptr)
{
std::vector<wchar_t> str(32);
int size = libfptr_error_description(fptr, &str[0], str.size());
if (size > str.size())
{
str.resize(size);
libfptr_error_description(fptr, &str[0], str.size());
}
return std::wstring(&str[0]);
}
int main(int argc, char **argv)
{
// Создание и настройка компонента
libfptr_handle fptr;
libfptr_create(&fptr);
libfptr_set_single_setting(fptr, LIBFPTR_SETTING_PORT, std::to_wstring(LIBFPTR_PORT_USB).c_str())
libfptr_apply_single_settings(fptr)
// Соединение с ККТ
libfptr_open(fptr);
// Регистрация кассира
libfptr_set_param_str(fptr, 1021, L"Иванов И.И.");
libfptr_set_param_str(fptr, 1203, L"500100732259");
libfptr_operator_login(fptr);
// Открытие чека (с передачей телефона получателя)
libfptr_set_param_int(fptr, LIBFPTR_PARAM_RECEIPT_TYPE, LIBFPTR_RT_SELL);
libfptr_set_param_str(fptr, 1008, L"+79161234567");
libfptr_open_receipt(fptr);
// Регистрация позиции
libfptr_set_param_str(fptr, LIBFPTR_PARAM_COMMODITY_NAME, L"Чипсы LAYS");
libfptr_set_param_double(fptr, LIBFPTR_PARAM_PRICE, 73.99);
libfptr_set_param_double(fptr, LIBFPTR_PARAM_QUANTITY, 5);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_TAX_TYPE, LIBFPTR_TAX_VAT18);
libfptr_set_param_int(fptr, 1212, 1);
libfptr_set_param_int(fptr, 1214, 7);
libfptr_registration(fptr);
// Регистрация итога (отрасываем копейки)
libfptr_set_param_double(fptr, LIBFPTR_PARAM_SUM, 369.0);
libfptr_receipt_total(fptr);
// Оплата наличными
libfptr_set_param_int(fptr, LIBFPTR_PARAM_PAYMENT_TYPE, LIBFPTR_PT_CASH);
libfptr_set_param_double(fptr, LIBFPTR_PARAM_PAYMENT_SUM, 1000);
libfptr_payment(fptr);
// Закрытие чека
libfptr_close_receipt(fptr);
while (libfptr_check_document_closed(fptr) < 0) {
// Не удалось проверить состояние документа. Вывести пользователю текст ошибки, попросить устранить неполадку и повторить запрос
std::wcout << getErrorDescription(fptr) << std::endl;
continue;
}
if (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_DOCUMENT_CLOSED) == 0) {
// Документ не закрылся. Требуется его отменить (если это чек) и сформировать заново
libfptr_cancel_receipt(fptr);
return;
}
if (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_DOCUMENT_PRINTED) == 0) {
// Можно сразу вызвать метод допечатывания документа, он завершится с ошибкой, если это невозможно
while (libfptr_continue_print(fptr) < 0) {
// Если не удалось допечатать документ - показать пользователю ошибку и попробовать еще раз.
std::wcout << L"Не удалось напечатать документ (Ошибка \""<< getErrorDescription(fptr) << L"\"). Устраните неполадку и повторите.";
continue;
}
}
// Получение информации о чеке из ФН
libfptr_set_param_int(fptr, LIBFPTR_PARAM_FN_DATA_TYPE, LIBFPTR_FNDT_LAST_DOCUMENT);
libfptr_fn_query_data(fptr);
wchar_t fiscalSign[50] = {0};
libfptr_get_param_str(fptr, LIBFPTR_PARAM_FISCAL_SIGN, &fiscalSign[0], sizeof(fiscalSign) / sizeof(fiscalSign[0]));
uint documentNumber = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DOCUMENT_NUMBER);
// Формирование слипа ЕГАИС
libfptr_begin_nonfiscal_document(fptr);
libfptr_set_param_str(fptr, LIBFPTR_PARAM_TEXT, L"ИНН: 111111111111 КПП: 222222222");
libfptr_set_param_int(fptr, LIBFPTR_PARAM_ALIGNMENT, LIBFPTR_ALIGNMENT_CENTER);
libfptr_print_text(fptr);
libfptr_set_param_str(fptr, LIBFPTR_PARAM_TEXT, L"КАССА: 1 СМЕНА: 11");
libfptr_set_param_int(fptr, LIBFPTR_PARAM_ALIGNMENT, LIBFPTR_ALIGNMENT_CENTER);
libfptr_print_text(fptr);
libfptr_set_param_str(fptr, LIBFPTR_PARAM_TEXT, L"ЧЕК: 314 ДАТА: 20.11.2017 15:39");
libfptr_set_param_int(fptr, LIBFPTR_PARAM_ALIGNMENT, LIBFPTR_ALIGNMENT_CENTER);
libfptr_print_text(fptr);
libfptr_set_param_str(fptr, LIBFPTR_PARAM_BARCODE, L"https://check.egais.ru?id=cf1b1096-3cbc-11e7-b3c1-9b018b2ba3f7");
libfptr_set_param_int(fptr, LIBFPTR_PARAM_BARCODE_TYPE, LIBFPTR_BT_QR);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_ALIGNMENT, LIBFPTR_ALIGNMENT_CENTER);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_SCALE, 500);
libfptr_print_barcode(fptr);
libfptr_print_text(fptr);
libfptr_set_param_str(fptr, LIBFPTR_PARAM_TEXT, L"https://check.egais.ru?id=cf1b1096-3cbc-11e7-b3c1-9b018b2ba3f7");
libfptr_set_param_int(fptr, LIBFPTR_PARAM_ALIGNMENT, LIBFPTR_ALIGNMENT_CENTER);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_TEXT_WRAP, LIBFPTR_TW_CHARS);
libfptr_print_text(fptr);
libfptr_print_text(fptr);
libfptr_set_param_str(fptr, LIBFPTR_PARAM_TEXT,
L"10 58 1c 85 bb 80 99 84 40 b1 4f 35 8a 35 3f 7c "
L"78 b0 0a ff cd 37 c1 8e ca 04 1c 7e e7 5d b4 85 "
L"ff d2 d6 b2 8d 7f df 48 d2 5d 81 10 de 6a 05 c9 "
L"81 74");
libfptr_set_param_int(fptr, LIBFPTR_PARAM_ALIGNMENT, LIBFPTR_ALIGNMENT_CENTER);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_TEXT_WRAP, LIBFPTR_TW_WORDS);
libfptr_print_text(fptr);
libfptr_end_nonfiscal_document(fptr);
// Z-отчет
libfptr_set_param_int(fptr, LIBFPTR_PARAM_REPORT_TYPE, LIBFPTR_RT_CLOSE_SHIFT);
libfptr_report(fptr);
// Получение информации о неотправленных документах
libfptr_set_param_int(fptr, LIBFPTR_PARAM_FN_DATA_TYPE, LIBFPTR_FNDT_OFD_EXCHANGE_STATUS);
libfptr_fn_query_data(fptr);
wchar_t unsentDateTime[50] = {0};
uint unsentCount libfptr_get_param_int(fptr, LIBFPTR_PARAM_DOCUMENTS_COUNT);
uint unsentFirstNumber = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DOCUMENT_NUMBER);
libfptr_get_param_str(fptr, LIBFPTR_PARAM_DATE_TIME, &unsentDateTime[0], sizeof(unsentDateTime) / sizeof(unsentDateTime[0]));
// Завершение работы
libfptr_close(fptr);
libfptr_destroy(&fptr);
}
# -*- coding: utf-8 -*-
import sys
import os
from libfptr10 import IFptr
fptr = IFptr("")
fptr.setSingleSetting(IFptr.LIBFPTR_SETTING_PORT, str(IFptr.LIBFPTR_PORT_USB))
fptr.applySingleSettings()
fptr.open()
# Регистрация кассира
fptr.setParam(1021, u"Иванов И.И.")
fptr.setParam(1203, u"500100732259")
fptr.operatorLogin()
# Открытие чека(с передачей телефона получателя)
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL)
fptr.setParam(1008, u"+79161234567")
fptr.openReceipt()
# Регистрация позиции
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMODITY_NAME, u"Чипсы LAYS")
fptr.setParam(IFptr.LIBFPTR_PARAM_PRICE, 73.99)
fptr.setParam(IFptr.LIBFPTR_PARAM_QUANTITY, 5)
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18)
fptr.setParam(1212, 1)
fptr.setParam(1214, 7)
fptr.registration()
# Регистрация итога (отрасываем копейки)
fptr.setParam(IFptr.LIBFPTR_PARAM_SUM, 369.0)
fptr.receiptTotal()
# Оплата наличными
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_TYPE, IFptr.LIBFPTR_PT_CASH)
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_SUM, 1000)
fptr.payment()
# Закрытие чека
fptr.closeReceipt()
while fptr.checkDocumentClosed() < 0:
# Не удалось проверить состояние документа. Вывести пользователю текст ошибки, попросить устранить неполадку и повторить запрос
print(fptr.errorDescription())
continue
if not fptr.getParamBool(IFptr.LIBFPTR_PARAM_DOCUMENT_CLOSED):
# Документ не закрылся. Требуется его отменить (если это чек) и сформировать заново
fptr.cancelReceipt()
return
if not fptr.getParamBool(IFptr.LIBFPTR_PARAM_DOCUMENT_PRINTED):
# Можно сразу вызвать метод допечатывания документа, он завершится с ошибкой, если это невозможно
while fptr.continuePrint() < 0:
# Если не удалось допечатать документ - показать пользователю ошибку и попробовать еще раз.
print('Не удалось напечатать документ (Ошибка "%s"). Устраните неполадку и повторите.', fptr.errorDescription())
continue
# Запрос информации о закрытом чеке
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_LAST_DOCUMENT)
fptr.fnQueryData()
print("Fiscal Sign = {}".format(fptr.getParamString(IFptr.LIBFPTR_PARAM_FISCAL_SIGN)))
print("Fiscal Document Number = {}".format(fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER)))
# Формирование слипа ЕГАИС
fptr.beginNonfiscalDocument()
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "ИНН: 111111111111 КПП: 222222222")
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER)
fptr.printText()
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "КАССА: 1 СМЕНА: 11")
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER)
fptr.printText()
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "ЧЕК: 314 ДАТА: 20.11.2017 15:39")
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER)
fptr.printText()
fptr.setParam(IFptr.LIBFPTR_PARAM_BARCODE, "https://check.egais.ru?id=cf1b1096-3cbc-11e7-b3c1-9b018b2ba3f7")
fptr.setParam(IFptr.LIBFPTR_PARAM_BARCODE_TYPE, IFptr.LIBFPTR_BT_QR)
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER)
fptr.setParam(IFptr.LIBFPTR_PARAM_SCALE, 5)
fptr.printBarcode()
fptr.printText()
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "https://check.egais.ru?id=cf1b1096-3cbc-11e7-b3c1-9b018b2ba3f7")
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER)
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT_WRAP, IFptr.LIBFPTR_TW_CHARS)
fptr.printText()
fptr.printText()
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT,
"10 58 1c 85 bb 80 99 84 40 b1 4f 35 8a 35 3f 7c "
"78 b0 0a ff cd 37 c1 8e ca 04 1c 7e e7 5d b4 85 "
"ff d2 d6 b2 8d 7f df 48 d2 5d 81 10 de 6a 05 c9 "
"81 74")
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER)
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT_WRAP, IFptr.LIBFPTR_TW_WORDS)
fptr.printText()
fptr.endNonfiscalDocument()
# Отчет о закрытии смены
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_CLOSE_SHIFT)
fptr.report()
# Получение информации о неотправленных документах
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_OFD_EXCHANGE_STATUS)
fptr.fnQueryData()
unsentCount = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT)
unsentFirstNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER)
unsentDateTime = fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME)
# Завершение работы
fptr.close()
package ru.atol.test;
import ru.atol.drivers10.fptr.Fptr;
import ru.atol.drivers10.fptr.IFptr;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
public class Main {
public static void main(String[] args) {
IFptr fptr = new Fptr();
fptr.setSingleSetting(IFptr.LIBFPTR_SETTING_PORT, String.valueOf(IFptr.LIBFPTR_PORT_USB));
fptr.applySingleSettings();
// Соединение с ККТ
fptr.open();
// Регистрация кассира
fptr.setParam(1021, "Иванов И.И.");
fptr.setParam(1203, "500100732259");
fptr.operatorLogin();
// Открытие чека (с передачей телефона получателя)
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.setParam(1008, "+79161234567");
fptr.openReceipt();
// Регистрация позиции
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMODITY_NAME, "Чипсы LAYS");
fptr.setParam(IFptr.LIBFPTR_PARAM_PRICE, 73.99);
fptr.setParam(IFptr.LIBFPTR_PARAM_QUANTITY, 5);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18);
fptr.setParam(1212, 1);
fptr.setParam(1214, 7);
fptr.registration();
// Регистрация итога (отрасываем копейки)
fptr.setParam(IFptr.LIBFPTR_PARAM_SUM, 369.0);
fptr.receiptTotal();
// Оплата наличными
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_TYPE, IFptr.LIBFPTR_PT_CASH);
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_SUM, 1000);
fptr.payment();
// Закрытие чека
fptr.closeReceipt();
while (fptr.checkDocumentClosed() < 0) {
// Не удалось проверить состояние документа. Вывести пользователю текст ошибки, попросить устранить неполадку и повторить запрос
System.out.println(fptr.errorDescription());
continue;
}
if (!fptr.getParamBool(IFptr.LIBFPTR_PARAM_DOCUMENT_CLOSED)) {
// Документ не закрылся. Требуется его отменить (если это чек) и сформировать заново
fptr.cancelReceipt();
return;
}
if (!fptr.getParamBool(IFptr.LIBFPTR_PARAM_DOCUMENT_PRINTED)) {
// Можно сразу вызвать метод допечатывания документа, он завершится с ошибкой, если это невозможно
while (fptr.continuePrint() < 0) {
// Если не удалось допечатать документ - показать пользователю ошибку и попробовать еще раз.
System.out.println(String.format("Не удалось напечатать документ (Ошибка \"%s\"). Устраните неполадку и повторите.", fptr.errorDescription()));
continue;
}
}
// Запрос информации о закрытом чеке
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_LAST_DOCUMENT);
fptr.fnQueryData();
System.out.println(String.format("Fiscal Sign = %s", fptr.getParamString(IFptr.LIBFPTR_PARAM_FISCAL_SIGN)));
System.out.println(String.format("Fiscal Document Number = %d", fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER)));
// Формирование слипа ЕГАИС
fptr.beginNonfiscalDocument();
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "ИНН: 111111111111 КПП: 222222222");
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.printText();
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "КАССА: 1 СМЕНА: 11");
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.printText();
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "ЧЕК: 314 ДАТА: 20.11.2017 15:39");
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.printText();
fptr.setParam(IFptr.LIBFPTR_PARAM_BARCODE, "https://check.egais.ru?id=cf1b1096-3cbc-11e7-b3c1-9b018b2ba3f7");
fptr.setParam(IFptr.LIBFPTR_PARAM_BARCODE_TYPE, IFptr.LIBFPTR_BT_QR);
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.setParam(IFptr.LIBFPTR_PARAM_SCALE, 5);
fptr.printBarcode();
fptr.printText();
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "https://check.egais.ru?id=cf1b1096-3cbc-11e7-b3c1-9b018b2ba3f7");
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT_WRAP, IFptr.LIBFPTR_TW_CHARS);
fptr.printText();
fptr.printText();
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT,
"10 58 1c 85 bb 80 99 84 40 b1 4f 35 8a 35 3f 7c " +
"78 b0 0a ff cd 37 c1 8e ca 04 1c 7e e7 5d b4 85 " +
"ff d2 d6 b2 8d 7f df 48 d2 5d 81 10 de 6a 05 c9 " +
"81 74");
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT_WRAP, IFptr.LIBFPTR_TW_WORDS);
fptr.printText();
fptr.endNonfiscalDocument();
// Отчет о закрытии смены
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_CLOSE_SHIFT);
fptr.report();
// Получение информации о неотправленных документах
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_OFD_EXCHANGE_STATUS);
fptr.fnQueryData();
System.out.println(String.format("Unsent documents count = %d", fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT)));
System.out.println(String.format("First unsent document number = %d", fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER)));
DateFormat df = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
System.out.println(String.format("First unsent document date = %s", df.format(fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME))));
// Завершение работы
fptr.close();
}
}
package ru.atol.test;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;
import ru.atol.drivers10.fptr.Fptr;
import ru.atol.drivers10.fptr.IFptr;
import ru.atol.drivers10.fptr.settings.SettingsActivity;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private static final String TAG = "Test";
private static final int REQUEST_SHOW_SETTINGS = 1;
private IFptr fptr;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.btnShowSettings).setOnClickListener(this);
findViewById(R.id.btnPrintReceipt).setOnClickListener(this);
// Создание объекта компонента
fptr = new Fptr(getApplication());
// Начальная инициализация настройками (тут они могут вычитываться, например, из хранилища приложения)
fptr.setSingleSetting(IFptr.LIBFPTR_SETTING_PORT, String.valueOf(IFptr.LIBFPTR_PORT_BLUETOOTH));
fptr.setSingleSetting(IFptr.LIBFPTR_SETTING_MACADDRESS, "00:11:22:33:44:55");
fptr.applySingleSettings();
}
@Override
public void onClick(View view) {
if (view.getId() == R.id.btnShowSettings) {
Intent intent = new Intent(getApplication(), SettingsActivity.class);
// Передаем текущие настройки в SettingsActivity.
// Если не передать - будет показана SettingsActivity с настройками по умолчанию
intent.putExtra(SettingsActivity.DEVICE_SETTINGS, fptr.getSettings());
startActivityForResult(intent, REQUEST_SHOW_SETTINGS);
}
else if (view.getId() == R.id.btnPrintReceipt) {
new Thread(new Runnable() {
@Override
public void run() {
// Соединение с ККТ
fptr.open();
// Регистрация кассира
fptr.setParam(1021, "Иванов И.И.");
fptr.setParam(1203, "500100732259");
fptr.operatorLogin();
// Открытие чека (с передачей телефона получателя)
fptr.setParam(IFptr.LIBFPTR_PARAM_RECEIPT_TYPE, IFptr.LIBFPTR_RT_SELL);
fptr.setParam(1008, "+79161234567");
fptr.openReceipt();
// Регистрация позиции
fptr.setParam(IFptr.LIBFPTR_PARAM_COMMODITY_NAME, "Чипсы LAYS");
fptr.setParam(IFptr.LIBFPTR_PARAM_PRICE, 73.99);
fptr.setParam(IFptr.LIBFPTR_PARAM_QUANTITY, 5);
fptr.setParam(IFptr.LIBFPTR_PARAM_TAX_TYPE, IFptr.LIBFPTR_TAX_VAT18);
fptr.setParam(1212, 1);
fptr.setParam(1214, 7);
fptr.registration();
// Регистрация итога (отрасываем копейки)
fptr.setParam(IFptr.LIBFPTR_PARAM_SUM, 369.0);
fptr.receiptTotal();
// Оплата наличными
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_TYPE, IFptr.LIBFPTR_PT_CASH);
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_SUM, 1000);
fptr.payment();
// Закрытие чека
fptr.closeReceipt();
while (fptr.checkDocumentClosed() < 0) {
// Не удалось проверить состояние документа. Вывести пользователю текст ошибки, попросить устранить неполадку и повторить запрос
Log.d(TAG, fptr.errorDescription());
continue;
}
if (!fptr.getParamBool(IFptr.LIBFPTR_PARAM_DOCUMENT_CLOSED)) {
// Документ не закрылся. Требуется его отменить (если это чек) и сформировать заново
fptr.cancelReceipt();
return;
}
if (!fptr.getParamBool(IFptr.LIBFPTR_PARAM_DOCUMENT_PRINTED)) {
// Можно сразу вызвать метод допечатывания документа, он завершится с ошибкой, если это невозможно
while (fptr.continuePrint() < 0) {
// Если не удалось допечатать документ - показать пользователю ошибку и попробовать еще раз.
Log.d(TAG, String.format("Не удалось напечатать документ (Ошибка \"%s\"). Устраните неполадку и повторите.", fptr.errorDescription()));
continue;
}
}
// Запрос информации о закрытом чеке
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_LAST_DOCUMENT);
fptr.fnQueryData();
final String fiscalSign = fptr.getParamString(IFptr.LIBFPTR_PARAM_FISCAL_SIGN);
final long documentNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this,
String.format("ФПД: %s\nФД: %d",
fiscalSign,
documentNumber),
Toast.LENGTH_LONG).show();
}
});
// Формирование слипа ЕГАИС
fptr.beginNonfiscalDocument();
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "ИНН: 111111111111 КПП: 222222222");
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.printText();
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "КАССА: 1 СМЕНА: 11");
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.printText();
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "ЧЕК: 314 ДАТА: 20.11.2017 15:39");
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.printText();
fptr.setParam(IFptr.LIBFPTR_PARAM_BARCODE, "https://check.egais.ru?id=cf1b1096-3cbc-11e7-b3c1-9b018b2ba3f7");
fptr.setParam(IFptr.LIBFPTR_PARAM_BARCODE_TYPE, IFptr.LIBFPTR_BT_QR);
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.setParam(IFptr.LIBFPTR_PARAM_SCALE, 5);
fptr.printBarcode();
fptr.printText();
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT, "https://check.egais.ru?id=cf1b1096-3cbc-11e7-b3c1-9b018b2ba3f7");
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT_WRAP, IFptr.LIBFPTR_TW_CHARS);
fptr.printText();
fptr.printText();
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT,
"10 58 1c 85 bb 80 99 84 40 b1 4f 35 8a 35 3f 7c " +
"78 b0 0a ff cd 37 c1 8e ca 04 1c 7e e7 5d b4 85 " +
"ff d2 d6 b2 8d 7f df 48 d2 5d 81 10 de 6a 05 c9 " +
"81 74");
fptr.setParam(IFptr.LIBFPTR_PARAM_ALIGNMENT, IFptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.setParam(IFptr.LIBFPTR_PARAM_TEXT_WRAP, IFptr.LIBFPTR_TW_WORDS);
fptr.printText();
fptr.endNonfiscalDocument();
// Отчет о закрытии смены
fptr.setParam(IFptr.LIBFPTR_PARAM_REPORT_TYPE, IFptr.LIBFPTR_RT_CLOSE_SHIFT);
fptr.report();
// Получение информации о неотправленных документах
fptr.setParam(IFptr.LIBFPTR_PARAM_FN_DATA_TYPE, IFptr.LIBFPTR_FNDT_OFD_EXCHANGE_STATUS);
fptr.fnQueryData();
final long unsentCount = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENTS_COUNT);
final long unsentFirstNumber = fptr.getParamInt(IFptr.LIBFPTR_PARAM_DOCUMENT_NUMBER);
DateFormat df = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
final String unsentDateTime = df.format(fptr.getParamDateTime(IFptr.LIBFPTR_PARAM_DATE_TIME))
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this,
String.format("Статус обмена с ОФД: %d неотправленно, первый: №%d (%s)",
unsentCount,
unsentFirstNumber,
unsentDateTime),
Toast.LENGTH_LONG).show();
}
});
}
}).start();
}
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_SHOW_SETTINGS && resultCode == Activity.RESULT_OK) {
// Записываем настройки в объект
fptr.setSettings(data.getStringExtra(SettingsActivity.DEVICE_SETTINGS));
}
}
@Override
public void onBackPressed() {
// Гарантировано чистим объект.
// Вызов этого метода так же разрывает соединение, если оно установлено.
fptr.destroy();
super.onBackPressed();
}
}
#import <Foundation/Foundation.h>
#import "libfptr10_objc.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
IFptr *fptr = [[IFptr alloc] init];
NSLog(@"Version: %@", [fptr version]);
[fptr setSingleSetting:LIBFPTR_SETTING_PORT value:[NSString stringWithFormat:@"%d", LIBFPTR_PORT_TCPIP]];
[fptr setSingleSetting:LIBFPTR_SETTING_IPADDRESS value:@"192.168.2.30"];
[fptr applySingleSettings];
[fptr open];
// Регистрация кассира
[fptr setParam:1021 NSStringParam:@"Иванов И.И."];
[fptr setParam:1203 NSStringParam:@"500100732259"];
[fptr operatorLogin];
// Открытие чека(с передачей телефона получателя)
[fptr setParam:1008 NSStringParam:@"+79161234567"];
[fptr setParam:LIBFPTR_PARAM_RECEIPT_TYPE intParam:LIBFPTR_RT_SELL];
[fptr openReceipt];
// Регистрация позиции
[fptr setParam:LIBFPTR_PARAM_COMMODITY_NAME NSStringParam:@"Чипсы LAYS"];
[fptr setParam:LIBFPTR_PARAM_PRICE doubleParam:73.99];
[fptr setParam:LIBFPTR_PARAM_QUANTITY intParam:5];
[fptr setParam:LIBFPTR_PARAM_TAX_TYPE intParam:LIBFPTR_TAX_VAT18];
[fptr setParam:1212 intParam:1];
[fptr setParam:1214 intParam:7];
[fptr registration];
// Регистрация итога (отрасываем копейки)
[fptr setParam:LIBFPTR_PARAM_SUM doubleParam:369.0];
[fptr receiptTotal];
// Оплата наличными
[fptr setParam:LIBFPTR_PARAM_PAYMENT_TYPE intParam:LIBFPTR_PT_CASH];
[fptr setParam:LIBFPTR_PARAM_PAYMENT_SUM doubleParam:1000];
[fptr payment];
// Закрытие чека
[fptr closeReceipt];
while ([fptr checkReceiptClosed] < 0) {
// Не удалось проверить состояние документа. Вывести пользователю текст ошибки, попросить устранить неполадку и повторить запрос
NSLog([fptr errorDescription]);
continue;
}
if (![fptr getParamBool:LIBFPTR_PARAM_DOCUMENT_CLOSED]) {
// Документ не закрылся. Требуется его отменить (если это чек) и сформировать заново
[fptr cancelReceipt];
return;
}
if (![fptr getParamBool:LIBFPTR_PARAM_DOCUMENT_PRINTED]) {
// Можно сразу вызвать метод допечатывания документа, он завершится с ошибкой, если это невозможно
while ([fptr continuePrint] < 0) {
// Если не удалось допечатать документ - показать пользователю ошибку и попробовать еще раз.
NSLog(@"Не удалось напечатать документ (Ошибка \"%@\"). Устраните неполадку и повторите.", [fptr errorDescription]);
continue;
}
}
// Запрос информации о закрытом чеке
[fptr setParam:LIBFPTR_PARAM_FN_DATA_TYPE intParam:LIBFPTR_FNDT_LAST_DOCUMENT];
[fptr fnQueryData];
NSLog(@"Fiscal Sign = %@", [fptr getParamString:LIBFPTR_PARAM_FISCAL_SIGN]);
NSLog(@"Fiscal DocumentNumber = %d", [fptr getParamInt:LIBFPTR_PARAM_DOCUMENT_NUMBER]);
// Формирование слипа ЕГАИС
[fptr beginNonfiscalDocument];
[fptr setParam:LIBFPTR_PARAM_TEXT NSStringParam:@"ИНН: 111111111111 КПП: 222222222"];
[fptr setParam:LIBFPTR_PARAM_ALIGNMENT intParam:LIBFPTR_ALIGNMENT_CENTER];
[fptr printText];
[fptr setParam:LIBFPTR_PARAM_TEXT NSStringParam:@"КАССА: 1 СМЕНА: 11"];
[fptr setParam:LIBFPTR_PARAM_ALIGNMENT intParam:LIBFPTR_ALIGNMENT_CENTER];
[fptr printText];
[fptr setParam:LIBFPTR_PARAM_TEXT NSStringParam:@"ЧЕК: 314 ДАТА: 20.11.2017 15:39"];
[fptr setParam:LIBFPTR_PARAM_ALIGNMENT intParam:LIBFPTR_ALIGNMENT_CENTER];
[fptr printText];
[fptr setParam:LIBFPTR_PARAM_BARCODE NSStringParam:@"https://check.egais.ru?id=cf1b1096-3cbc-11e7-b3c1-9b018b2ba3f7"];
[fptr setParam:LIBFPTR_PARAM_BARCODE_TYPE intParam:LIBFPTR_BT_QR];
[fptr setParam:LIBFPTR_PARAM_ALIGNMENT intParam:LIBFPTR_ALIGNMENT_CENTER];
[fptr setParam:LIBFPTR_PARAM_SCALE intParam:5];
[fptr printBarcode];
[fptr printText];
[fptr setParam:LIBFPTR_PARAM_TEXT NSStringParam:@"https://check.egais.ru?id=cf1b1096-3cbc-11e7-b3c1-9b018b2ba3f7"];
[fptr setParam:LIBFPTR_PARAM_ALIGNMENT intParam:LIBFPTR_ALIGNMENT_CENTER];
[fptr setParam:LIBFPTR_PARAM_TEXT_WRAP intParam:LIBFPTR_TW_CHARS];
[fptr printText];
[fptr printText];
[fptr setParam:LIBFPTR_PARAM_TEXT
NSStringParam:@"10 58 1c 85 bb 80 99 84 40 b1 4f 35 8a 35 3f 7c "
@"78 b0 0a ff cd 37 c1 8e ca 04 1c 7e e7 5d b4 85 "
@"ff d2 d6 b2 8d 7f df 48 d2 5d 81 10 de 6a 05 c9 "
@"81 74"];
[fptr setParam:LIBFPTR_PARAM_ALIGNMENT intParam:LIBFPTR_ALIGNMENT_CENTER];
[fptr setParam:LIBFPTR_PARAM_TEXT_WRAP intParam:LIBFPTR_TW_WORDS];
[fptr printText];
[fptr endNonfiscalDocument];
// Отчет о закрытии смены
[fptr setParam:LIBFPTR_PARAM_REPORT_TYPE intParam:LIBFPTR_RT_CLOSE_SHIFT];
[fptr report];
// Получение информации о неотправленных документах
[fptr setParam:LIBFPTR_PARAM_FN_DATA_TYPE intParam:LIBFPTR_FNDT_OFD_EXCHANGE_STATUS];
[fptr fnQueryData];
int unsentCount = [fptr getParamInt:LIBFPTR_PARAM_DOCUMENTS_COUNT];
int unsentFirstNumber = [fptr getParamInt:LIBFPTR_PARAM_DOCUMENT_NUMBER];
NSDate* unsentDateTime = [fptr getParamDateTime:LIBFPTR_PARAM_DATE_TIME];
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
NSLog(@"First unsent document = %d (%@)", unsentFirstNumber, [formatter stringFromDate:unsentDateTime]);
NSLog(@"Unsent count = %d", unsentCount);
[fptr close];
[fptr release];
}
return 0;
}
using System;
using Atol.Drivers10.Fptr;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
IFptr fptr = new Fptr();
fptr.setSingleSetting(Constants.LIBFPTR_SETTING_PORT, (Constants.LIBFPTR_PORT_USB).ToString());
fptr.applySingleSettings();
// Соединение с ККТ
fptr.open();
// Регистрация кассира
fptr.setParam(1021, "Иванов И.И.");
fptr.setParam(1203, "500100732259");
fptr.operatorLogin();
// Открытие чека (с передачей телефона получателя)
fptr.setParam(Constants.LIBFPTR_PARAM_RECEIPT_TYPE, Constants.LIBFPTR_RT_SELL);
fptr.setParam(1008, "+79161234567");
fptr.openReceipt();
// Регистрация позиции
fptr.setParam(Constants.LIBFPTR_PARAM_COMMODITY_NAME, "Чипсы LAYS");
fptr.setParam(Constants.LIBFPTR_PARAM_PRICE, 73.99);
fptr.setParam(Constants.LIBFPTR_PARAM_QUANTITY, 5);
fptr.setParam(Constants.LIBFPTR_PARAM_TAX_TYPE, Constants.LIBFPTR_TAX_VAT18);
fptr.setParam(1212, 1);
fptr.setParam(1214, 7);
fptr.registration();
// Регистрация итога (отрасываем копейки)
fptr.setParam(Constants.LIBFPTR_PARAM_SUM, 369.0);
fptr.receiptTotal();
// Оплата наличными
fptr.setParam(Constants.LIBFPTR_PARAM_PAYMENT_TYPE, Constants.LIBFPTR_PT_CASH);
fptr.setParam(Constants.LIBFPTR_PARAM_PAYMENT_SUM, 1000);
fptr.payment();
// Закрытие чека
fptr.closeReceipt();
while (fptr.checkDocumentClosed() < 0)
{
// Не удалось проверить состояние документа. Вывести пользователю текст ошибки, попросить устранить неполадку и повторить запрос
Console.WriteLine(fptr.errorDescription());
continue;
}
if (!fptr.getParamBool(Constants.LIBFPTR_PARAM_DOCUMENT_CLOSED))
{
// Документ не закрылся. Требуется его отменить (если это чек) и сформировать заново
fptr.cancelReceipt();
return;
}
if (!fptr.getParamBool(Constants.LIBFPTR_PARAM_DOCUMENT_PRINTED))
{
// Можно сразу вызвать метод допечатывания документа, он завершится с ошибкой, если это невозможно
while (fptr.continuePrint() < 0)
{
// Если не удалось допечатать документ - показать пользователю ошибку и попробовать еще раз.
Console.WriteLine(String.Format("Не удалось напечатать документ (Ошибка \"{0}\"). Устраните неполадку и повторите.", fptr.errorDescription()));
continue;
}
}
// Запрос информации о закрытом чеке
fptr.setParam(Constants.LIBFPTR_PARAM_FN_DATA_TYPE, Constants.LIBFPTR_FNDT_LAST_DOCUMENT);
fptr.fnQueryData();
Console.WriteLine(String.Format("Fiscal Sign = {0}", fptr.getParamString(Constants.LIBFPTR_PARAM_FISCAL_SIGN)));
Console.WriteLine(String.Format("Fiscal Document Number = {0}", fptr.getParamInt(Constants.LIBFPTR_PARAM_DOCUMENT_NUMBER)));
// Формирование слипа ЕГАИС
fptr.beginNonfiscalDocument();
fptr.setParam(Constants.LIBFPTR_PARAM_TEXT, "ИНН: 111111111111 КПП: 222222222");
fptr.setParam(Constants.LIBFPTR_PARAM_ALIGNMENT, Constants.LIBFPTR_ALIGNMENT_CENTER);
fptr.printText();
fptr.setParam(Constants.LIBFPTR_PARAM_TEXT, "КАССА: 1 СМЕНА: 11");
fptr.setParam(Constants.LIBFPTR_PARAM_ALIGNMENT, Constants.LIBFPTR_ALIGNMENT_CENTER);
fptr.printText();
fptr.setParam(Constants.LIBFPTR_PARAM_TEXT, "ЧЕК: 314 ДАТА: 20.11.2017 15:39");
fptr.setParam(Constants.LIBFPTR_PARAM_ALIGNMENT, Constants.LIBFPTR_ALIGNMENT_CENTER);
fptr.printText();
fptr.setParam(Constants.LIBFPTR_PARAM_BARCODE, "https://check.egais.ru?id=cf1b1096-3cbc-11e7-b3c1-9b018b2ba3f7");
fptr.setParam(Constants.LIBFPTR_PARAM_BARCODE_TYPE, Constants.LIBFPTR_BT_QR);
fptr.setParam(Constants.LIBFPTR_PARAM_ALIGNMENT, Constants.LIBFPTR_ALIGNMENT_CENTER);
fptr.setParam(Constants.LIBFPTR_PARAM_SCALE, 5);
fptr.printBarcode();
fptr.printText();
fptr.setParam(Constants.LIBFPTR_PARAM_TEXT, "https://check.egais.ru?id=cf1b1096-3cbc-11e7-b3c1-9b018b2ba3f7");
fptr.setParam(Constants.LIBFPTR_PARAM_ALIGNMENT, Constants.LIBFPTR_ALIGNMENT_CENTER);
fptr.setParam(Constants.LIBFPTR_PARAM_TEXT_WRAP, Constants.LIBFPTR_TW_CHARS);
fptr.printText();
fptr.printText();
fptr.setParam(Constants.LIBFPTR_PARAM_TEXT,
"10 58 1c 85 bb 80 99 84 40 b1 4f 35 8a 35 3f 7c " +
"78 b0 0a ff cd 37 c1 8e ca 04 1c 7e e7 5d b4 85 " +
"ff d2 d6 b2 8d 7f df 48 d2 5d 81 10 de 6a 05 c9 " +
"81 74");
fptr.setParam(Constants.LIBFPTR_PARAM_ALIGNMENT, Constants.LIBFPTR_ALIGNMENT_CENTER);
fptr.setParam(Constants.LIBFPTR_PARAM_TEXT_WRAP, Constants.LIBFPTR_TW_WORDS);
fptr.printText();
fptr.endNonfiscalDocument();
// Отчет о закрытии смены
fptr.setParam(Constants.LIBFPTR_PARAM_REPORT_TYPE, Constants.LIBFPTR_RT_CLOSE_SHIFT);
fptr.report();
// Получение информации о неотправленных документах
fptr.setParam(Constants.LIBFPTR_PARAM_FN_DATA_TYPE, Constants.LIBFPTR_FNDT_OFD_EXCHANGE_STATUS);
fptr.fnQueryData();
Console.WriteLine(String.Format("Unsent documents count = {0}", fptr.getParamInt(Constants.LIBFPTR_PARAM_DOCUMENTS_COUNT)));
Console.WriteLine(String.Format("First unsent document number = {0}", fptr.getParamInt(Constants.LIBFPTR_PARAM_DOCUMENT_NUMBER)));
Console.WriteLine(String.Format("First unsent document date = {0}", (fptr.getParamDateTime(Constants.LIBFPTR_PARAM_DATE_TIME)).ToString("yyyy.MM.dd HH:mm:ss")));
// Завершение работы
fptr.close();
Console.ReadKey();
}
}
}
uses
ActiveX, Dialogs, SysUtils, ComObj;
var
fptr: OleVariant;
begin
CoInitialize(nil);
fptr := CreateOleObject('AddIn.Fptr10');
fptr.setSingleSetting(fptr.LIBFPTR_SETTING_PORT, IntToStr(fptr.LIBFPTR_PORT_USB));
fptr.applySingleSettings;
// Соединение с ККТ
fptr.open;
// Регистрация кассира
fptr.setParam(1021, 'Иванов И.И.');
fptr.setParam(1203, '500100732259');
fptr.operatorLogin;
// Открытие чека (с передачей телефона получателя)
fptr.setParam(fptr.LIBFPTR_PARAM_RECEIPT_TYPE, fptr.LIBFPTR_RT_SELL);
fptr.setParam(1008, '+79161234567');
fptr.openReceipt;
// Регистрация позиции
fptr.setParam(fptr.LIBFPTR_PARAM_COMMODITY_NAME, 'Чипсы LAYS');
fptr.setParam(fptr.LIBFPTR_PARAM_PRICE, 73.99);
fptr.setParam(fptr.LIBFPTR_PARAM_QUANTITY, 5);
fptr.setParam(fptr.LIBFPTR_PARAM_TAX_TYPE, fptr.LIBFPTR_TAX_VAT18);
fptr.setParam(1212, 1);
fptr.setParam(1214, 7);
fptr.registration;
// Регистрация итога (отрасываем копейки)
fptr.setParam(fptr.LIBFPTR_PARAM_SUM, 369.0);
fptr.receiptTotal;
// Оплата наличными
fptr.setParam(fptr.LIBFPTR_PARAM_PAYMENT_TYPE, fptr.LIBFPTR_PT_CASH);
fptr.setParam(fptr.LIBFPTR_PARAM_PAYMENT_SUM, 1000);
fptr.payment;
// Закрытие чека
fptr.closeReceipt;
showmessage(fptr.errorDescription);
While fptr.checkDocumentClosed < 0 do
begin
// Не удалось проверить состояние документа. Вывести пользователю текст ошибки, попросить устранить неполадку и повторить запрос
showmessage(fptr.errorDescription);
Continue;
end;
if not fptr.getParamBool(fptr.LIBFPTR_PARAM_DOCUMENT_CLOSED) then
begin
// Документ не закрылся. Требуется его отменить (если это чек) и сформировать заново
fptr.cancelReceipt;
Exit;
end;
if not fptr.getParamBool(fptr.LIBFPTR_PARAM_DOCUMENT_PRINTED) then
begin
// Можно сразу вызвать метод допечатывания документа, он завершится с ошибкой, если это невозможно
While fptr.continuePrint < 0 do
begin
// Если не удалось допечатать документ - показать пользователю ошибку и попробовать еще раз.
showmessage('Не удалось напечатать документ (Ошибка "' + fptr.errorDescription + '"). Устраните неполадку и повторите.');
Continue;
end;
end;
// Запрос информации о закрытом чеке
fptr.setParam(fptr.LIBFPTR_PARAM_FN_DATA_TYPE, fptr.LIBFPTR_FNDT_LAST_DOCUMENT);
fptr.fnQueryData;
showmessage('Fiscal Sign = ' + fptr.getParamString(fptr.LIBFPTR_PARAM_FISCAL_SIGN));
showmessage('Fiscal Document Number = ' + IntToStr(fptr.getParamInt(fptr.LIBFPTR_PARAM_DOCUMENT_NUMBER)));
// Формирование слипа ЕГАИС
fptr.beginNonfiscalDocument;
fptr.setParam(fptr.LIBFPTR_PARAM_TEXT, 'ИНН: 111111111111 КПП: 222222222');
fptr.setParam(fptr.LIBFPTR_PARAM_ALIGNMENT, fptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.printText;
fptr.setParam(fptr.LIBFPTR_PARAM_TEXT, 'КАССА: 1 СМЕНА: 11');
fptr.setParam(fptr.LIBFPTR_PARAM_ALIGNMENT, fptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.printText;
fptr.setParam(fptr.LIBFPTR_PARAM_TEXT, 'ЧЕК: 314 ДАТА: 20.11.2017 15:39');
fptr.setParam(fptr.LIBFPTR_PARAM_ALIGNMENT, fptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.printText;
fptr.setParam(fptr.LIBFPTR_PARAM_BARCODE, 'https://check.egais.ru?id=cf1b1096-3cbc-11e7-b3c1-9b018b2ba3f7');
fptr.setParam(fptr.LIBFPTR_PARAM_BARCODE_TYPE, fptr.LIBFPTR_BT_QR);
fptr.setParam(fptr.LIBFPTR_PARAM_ALIGNMENT, fptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.setParam(fptr.LIBFPTR_PARAM_SCALE, 5);
fptr.printBarcode;
fptr.printText;
fptr.setParam(fptr.LIBFPTR_PARAM_TEXT, 'https://check.egais.ru?id=cf1b1096-3cbc-11e7-b3c1-9b018b2ba3f7');
fptr.setParam(fptr.LIBFPTR_PARAM_ALIGNMENT, fptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.setParam(fptr.LIBFPTR_PARAM_TEXT_WRAP, fptr.LIBFPTR_TW_CHARS);
fptr.printText;
fptr.printText;
fptr.setParam(fptr.LIBFPTR_PARAM_TEXT,
'10 58 1c 85 bb 80 99 84 40 b1 4f 35 8a 35 3f 7c ' +
'78 b0 0a ff cd 37 c1 8e ca 04 1c 7e e7 5d b4 85 ' +
'ff d2 d6 b2 8d 7f df 48 d2 5d 81 10 de 6a 05 c9 ' +
'81 74');
fptr.setParam(fptr.LIBFPTR_PARAM_ALIGNMENT, fptr.LIBFPTR_ALIGNMENT_CENTER);
fptr.setParam(fptr.LIBFPTR_PARAM_TEXT_WRAP, fptr.LIBFPTR_TW_WORDS);
fptr.printText;
fptr.endNonfiscalDocument;
// Отчет о закрытии смены
fptr.setParam(fptr.LIBFPTR_PARAM_REPORT_TYPE, fptr.LIBFPTR_RT_CLOSE_SHIFT);
fptr.report;
// Получение информации о неотправленных документах
fptr.setParam(fptr.LIBFPTR_PARAM_FN_DATA_TYPE, fptr.LIBFPTR_FNDT_OFD_EXCHANGE_STATUS);
fptr.fnQueryData;
showmessage('Unsent documents count = ' + IntToStr(fptr.getParamInt(fptr.LIBFPTR_PARAM_DOCUMENTS_COUNT)));
showmessage('First unsent document number = ' + IntToStr(fptr.getParamInt(fptr.LIBFPTR_PARAM_DOCUMENT_NUMBER)));
showmessage('First unsent document date = ' + DateTimeToStr(fptr.getParamDateTime(fptr.LIBFPTR_PARAM_DATE_TIME)));
// Завершение работы
fptr.close;
end.
Пример полного цикла работы с драйвером, состоящий из этапов:
- подключение к ККТ по USB
- формирование электронного чека с передачей дополнительных реквизитов
- получение информации о чеке
- формирование слипа ЕГАИС
- получение сменного итога по продажам
- снятие Z-отчета
- получение информации о количестве неотправленных в ОФД документов
Алгоритмы
Чеки возврата после 2019.01.01 00:00:00
Для возврата товаров, проданных по налоговым ставкам НДС 18% или НДС расчитанный 18/118, после 2019.01.01 00:00:00, можно использовать два способа:
- если кассовое ПО самостоятельно расчитывает суммы налогов и передает их в драйвер, то при возврате можно также передать расчитанную ранее сумму налога. ККТ подстроится под переданную сумму и на чековой ленте будут печататься ставки налогов, соответсвующие 18%.
- если кассовое ПО не расчитывает суммы самостоятельно, то есть возможность установить флаг LIBFPTR_PARAM_USE_VAT18 при открытии чека (поле useVAT18 в JSON-задании). В этом случае сумма налога по всем необходимым позициям будет расчитываться автоматически как НДС 18%.
Настройки ККТ
АТОЛ 11Ф
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
0 | Номер ККТ в магазине | число | 0 .. 255 |
2 | Печатать названия секций | число | 0 - Не печатать 1 - Печатать |
3 | Печатать необнуляемую сумму приходов и расходов | число | 0 - Не печатать 1 - Печатать |
4 | Производить инкассацию | число | 0 - Нет 1 - Да |
5 | Расширенный X-отчет и Z-отчет | число | 0 - Нет 1 - Да |
6 | Печатать информацию о количестве чеков за смену по типам операций | число | 0 - Не печатать 1 - Печатать |
7 | Автоматически печатать отчет по секциям перед X- и Z-отчетом | число | 0 - Не печатать 1 - Печатать |
8 | Яркость печати ЧЛ | число | 1 .. 15 |
9 | Открывать ДЯ при закрытии чека | число | 0 - Нет 1 - Да |
10 | Игнорировать ошибки ДЯ при работе от аккумуляторов | число | 0 - Нет 1 - Да |
11 | Пароль доступа | строка | Максимальная длина: 4 |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
13 | Шрифт ЧЛ | число | 1 .. 7 |
14 | Количество печатаемых строк после чека на ЧЛ | число | 0 .. 20 |
15 | Печатать разделители в суточных отчетах | число | 0 - Не печатать 1 - Печатать |
16 | Печатать номер секции | число | 0 - Не печатать 1 - Печатать |
17 | Печатать необнуляемый итог на начало смены в Z-отчете | число | 0 - Не печатать 1 - Печатать |
18 | Печатать необнуляемый итог на начало смены в X-отчете | число | 0 - Не печатать 1 - Печатать |
19 | Печатать текст командой «Печать строки» | число | 0 - Не печатать 1 - Печатать |
20 | Режим перехода на летнее/зимнее время | число | 0 - Не переходить 1 - Переходить, не оповещать 2 - Переходить, оповещать кассира 3 - Переходить, оповещать кассира и хост |
21 | Дата перехода на летнее время | число | |
22 | Дата перехода на зимнее время | число | |
23 | Количество символов в строке | число | 24 .. 64 |
24 | Символ для разделителя | строка | Максимальная длина: 1 |
25 | Проверять время | число | 0 .. 99 |
26 | Смещение области печати слева | число | 0 .. 24 |
27 | Печатать налоги в Х- и Z-отчете и при регистрации | число | 0 - Не печатать 1 - Печатать |
28 | Минимальная яркость термокомпенсации на ЧЛ | число | 1 .. 15 |
29 | Печатать на ЧЛ документ готовности к работе | число | 0 - Не печатать 1 - Печатать |
30 | Печатать на ЧЛ клише в служебных сообщениях | число | 0 - Не печатать 1 - Печатать |
31 | Печатать на ЧЛ сообщение о вводе даты-времени | число | 0 - Не печатать 1 - Печатать |
32 | Протокол работы ККТ | число | 0 - АТОЛ 2 1 - АТОЛ 3 |
33 | PIN-код для Bluetooth | строка | Максимальная длина: 8 |
34 | Уровень коррекции ошибок QR-кода | число | 1 .. 4 |
35 | Количество строк заголовка клише | число | 0 - 0 1 - 1 2 - 2 3 - 3 4 - 4 5 - 5 6 - 6 7 - 7 8 - 8 9 - 9 10 - 10 11 - 11 12 - 12 13 - 13 14 - 14 15 - 15 16 - 16 17 - 17 18 - 18 19 - 19 20 - 20 99 - Старый формат печати |
36 | Расстояние от ТПГ до отрывного ножа | число | 0 .. 255 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
38 | Звуковой сигнал при окончании бумаги и открытии крышки | число | 0 - Нет 1 - Да |
39 | Звуковой сигнал при включении | число | 0 - Нет 1 - Да |
40 | Сохранять печатаемый документ в память | число | 0 - Не сохранять 1 - Сохранять только отчеты 2 - Сохранять все |
41 | Печатать нулевые налоги | число | 0 - Не печатать 1 - Печатать |
42 | Печать необнуляемой суммы возвратов приходов | число | 0 - Не печатать 1 - Печатать |
43 | Печать необнуляемой суммы возвратов расходов | число | 0 - Не печатать 1 - Печатать |
44 | Печатать количество отмененных чеков по типам | число | 0 - Не печатать 1 - Печатать |
45 | Не печатать блоки «приходы», «возвраты приходов», «расходы», «возвраты расходов» | число | 0 - Печатать 1 - Не печатать |
46 | Печатать нулевые суммы | число | 0 - Не печатать 1 - Печатать |
47 | Печать номера ККМ в магазине | число | 0 - Не печатать 1 - Печатать |
48 | Печать реквизитов чека на аннулированных чеках | число | 0 - Не печатать 1 - Печатать |
49 | Получение IP-адреса от DHCP (Ethernet) | число | 0 - Отключено 1 - Включено |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
51 | Шаблон чека | число | 1 - Шаблон 1 2 - Шаблон 2 |
52 | Признак способа расчета по умолчанию | число | 1 - Предоплата 100% 2 - Предоплата 3 - Аванс 4 - Полный расчет 5 - Частичный расчет и кредит 6 - Передача в кредит 7 - Оплата кредита |
53 | Округлять сумму налога | число | 0 - На весь чек 1 - После каждой позиции |
54 | Контроль суммы налогов 10% и 18% (20%) | число | 0 - Отключен 1 - Включен |
55 | Пересчитывать суммы налогов после скидки на итог | число | 0 - Нет 1 - Да |
56 | Учет наличности | число | 0 - Отключен 1 - Включен |
57 | Печатать признак способа расчета | число | 0 - Не печатать 1 - Печатать |
58 | Печатать признак предмета расчета | число | 0 - Не печатать 1 - Печатать полное наименование 2 - Печатать краткое наименование |
59 | Не печатать суточный отчет с гашением при закрытии смены | число | 0 - Печатать 1 - Не печатать |
60 | Печатать необнуляемые суммы по способам расчета прихода и возврата прихода | число | 0 - Не печатать 1 - Печатать |
61 | Печатать необнуляемые суммы по способам расчета расхода и возврата расхода | число | 0 - Не печатать 1 - Печатать |
62 | Не печатать клише автоматически при закрытии чека | число | 0 - Печатать 1 - Не печатать |
63 | Признак предмета расчета по умолчанию | число | 1 - Товар 2 - Подакцизный товар 3 - Работа 4 - Услуга 5 - Ставка азартной игры 6 - Выигрыш азартной игры 7 - Лотерейный билет 8 - Выигрыш лотереи 9 - Предоставление РИД 10 - Платеж 11 - Агентское вознаграждение 12 - Составной предмет расчета 13 - Иной предмет расчета 14 - Имущественное право 15 - Внереализационный доход 16 - Страховые взносы 17 - Торговый сбор 18 - Курортный сбор 19 - Залог |
94 | Пароль кассира 1 | строка | Максимальная длина: 8 |
95 | Пароль кассира 2 | строка | Максимальная длина: 8 |
96 | Пароль кассира 3 | строка | Максимальная длина: 8 |
97 | Пароль кассира 4 | строка | Максимальная длина: 8 |
98 | Пароль кассира 5 | строка | Максимальная длина: 8 |
99 | Пароль кассира 6 | строка | Максимальная длина: 8 |
100 | Пароль кассира 7 | строка | Максимальная длина: 8 |
101 | Пароль кассира 8 | строка | Максимальная длина: 8 |
102 | Пароль кассира 9 | строка | Максимальная длина: 8 |
103 | Пароль кассира 10 | строка | Максимальная длина: 8 |
104 | Пароль кассира 11 | строка | Максимальная длина: 8 |
105 | Пароль кассира 12 | строка | Максимальная длина: 8 |
106 | Пароль кассира 13 | строка | Максимальная длина: 8 |
107 | Пароль кассира 14 | строка | Максимальная длина: 8 |
108 | Пароль кассира 15 | строка | Максимальная длина: 8 |
109 | Пароль кассира 16 | строка | Максимальная длина: 8 |
110 | Пароль кассира 17 | строка | Максимальная длина: 8 |
111 | Пароль кассира 18 | строка | Максимальная длина: 8 |
112 | Пароль кассира 19 | строка | Максимальная длина: 8 |
113 | Пароль кассира 20 | строка | Максимальная длина: 8 |
114 | Пароль кассира 21 | строка | Максимальная длина: 8 |
115 | Пароль кассира 22 | строка | Максимальная длина: 8 |
116 | Пароль кассира 23 | строка | Максимальная длина: 8 |
117 | Пароль кассира 24 | строка | Максимальная длина: 8 |
118 | Пароль кассира 25 | строка | Максимальная длина: 8 |
119 | Пароль кассира 26 | строка | Максимальная длина: 8 |
120 | Пароль кассира 27 | строка | Максимальная длина: 8 |
121 | Пароль кассира 28 | строка | Максимальная длина: 8 |
122 | Имя кассира 1 | строка | Максимальная длина: 42 |
123 | Имя кассира 2 | строка | Максимальная длина: 42 |
124 | Имя кассира 3 | строка | Максимальная длина: 42 |
125 | Имя кассира 4 | строка | Максимальная длина: 42 |
126 | Имя кассира 5 | строка | Максимальная длина: 42 |
127 | Имя кассира 6 | строка | Максимальная длина: 42 |
128 | Имя кассира 7 | строка | Максимальная длина: 42 |
129 | Имя кассира 8 | строка | Максимальная длина: 42 |
130 | Имя кассира 9 | строка | Максимальная длина: 42 |
131 | Имя кассира 10 | строка | Максимальная длина: 42 |
132 | Имя кассира 11 | строка | Максимальная длина: 42 |
133 | Имя кассира 12 | строка | Максимальная длина: 42 |
134 | Имя кассира 13 | строка | Максимальная длина: 42 |
135 | Имя кассира 14 | строка | Максимальная длина: 42 |
136 | Имя кассира 15 | строка | Максимальная длина: 42 |
137 | Имя кассира 16 | строка | Максимальная длина: 42 |
138 | Имя кассира 17 | строка | Максимальная длина: 42 |
139 | Имя кассира 18 | строка | Максимальная длина: 42 |
140 | Имя кассира 19 | строка | Максимальная длина: 42 |
141 | Имя кассира 20 | строка | Максимальная длина: 42 |
142 | Имя кассира 21 | строка | Максимальная длина: 42 |
143 | Имя кассира 22 | строка | Максимальная длина: 42 |
144 | Имя кассира 23 | строка | Максимальная длина: 42 |
145 | Имя кассира 24 | строка | Максимальная длина: 42 |
146 | Имя кассира 25 | строка | Максимальная длина: 42 |
147 | Имя кассира 26 | строка | Максимальная длина: 42 |
148 | Имя кассира 27 | строка | Максимальная длина: 42 |
149 | Имя кассира 28 | строка | Максимальная длина: 42 |
150 | ИНН кассира 1 | строка | Максимальная длина: 12 |
151 | ИНН кассира 2 | строка | Максимальная длина: 12 |
152 | ИНН кассира 3 | строка | Максимальная длина: 12 |
153 | ИНН кассира 4 | строка | Максимальная длина: 12 |
154 | ИНН кассира 5 | строка | Максимальная длина: 12 |
155 | ИНН кассира 6 | строка | Максимальная длина: 12 |
156 | ИНН кассира 7 | строка | Максимальная длина: 12 |
157 | ИНН кассира 8 | строка | Максимальная длина: 12 |
158 | ИНН кассира 9 | строка | Максимальная длина: 12 |
159 | ИНН кассира 10 | строка | Максимальная длина: 12 |
160 | ИНН кассира 11 | строка | Максимальная длина: 12 |
161 | ИНН кассира 12 | строка | Максимальная длина: 12 |
162 | ИНН кассира 13 | строка | Максимальная длина: 12 |
163 | ИНН кассира 14 | строка | Максимальная длина: 12 |
164 | ИНН кассира 15 | строка | Максимальная длина: 12 |
165 | ИНН кассира 16 | строка | Максимальная длина: 12 |
166 | ИНН кассира 17 | строка | Максимальная длина: 12 |
167 | ИНН кассира 18 | строка | Максимальная длина: 12 |
168 | ИНН кассира 19 | строка | Максимальная длина: 12 |
169 | ИНН кассира 20 | строка | Максимальная длина: 12 |
170 | ИНН кассира 21 | строка | Максимальная длина: 12 |
171 | ИНН кассира 22 | строка | Максимальная длина: 12 |
172 | ИНН кассира 23 | строка | Максимальная длина: 12 |
173 | ИНН кассира 24 | строка | Максимальная длина: 12 |
174 | ИНН кассира 25 | строка | Максимальная длина: 12 |
175 | ИНН кассира 26 | строка | Максимальная длина: 12 |
176 | ИНН кассира 27 | строка | Максимальная длина: 12 |
177 | ИНН кассира 28 | строка | Максимальная длина: 12 |
178 | Пароль администратора | строка | Максимальная длина: 8 |
179 | Имя администратора | строка | Максимальная длина: 42 |
180 | ИНН администратора | строка | Максимальная длина: 12 |
181 | Пароль системного администратора | строка | Максимальная длина: 8 |
182 | Имя системного администратора | строка | Максимальная длина: 42 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
184 | Строка клише 1 | строка | Максимальная длина: 42 |
185 | Строка клише 2 | строка | Максимальная длина: 42 |
186 | Строка клише 3 | строка | Максимальная длина: 42 |
187 | Строка клише 4 | строка | Максимальная длина: 42 |
188 | Строка клише 5 | строка | Максимальная длина: 42 |
189 | Строка клише 6 | строка | Максимальная длина: 42 |
190 | Строка клише 7 | строка | Максимальная длина: 42 |
191 | Строка клише 8 | строка | Максимальная длина: 42 |
192 | Строка клише 9 | строка | Максимальная длина: 42 |
193 | Строка клише 10 | строка | Максимальная длина: 42 |
194 | Строка клише 11 | строка | Максимальная длина: 42 |
195 | Строка клише 12 | строка | Максимальная длина: 42 |
196 | Строка клише 13 | строка | Максимальная длина: 42 |
197 | Строка клише 14 | строка | Максимальная длина: 42 |
198 | Строка клише 15 | строка | Максимальная длина: 42 |
199 | Строка клише 16 | строка | Максимальная длина: 42 |
200 | Строка клише 17 | строка | Максимальная длина: 42 |
201 | Строка клише 18 | строка | Максимальная длина: 42 |
202 | Строка клише 19 | строка | Максимальная длина: 42 |
203 | Строка клише 20 | строка | Максимальная длина: 42 |
204 | Наименование секции 1 | строка | Максимальная длина: 42 |
205 | Наименование секции 2 | строка | Максимальная длина: 42 |
206 | Наименование секции 3 | строка | Максимальная длина: 42 |
207 | Наименование секции 4 | строка | Максимальная длина: 42 |
208 | Наименование секции 5 | строка | Максимальная длина: 42 |
209 | Наименование секции 6 | строка | Максимальная длина: 42 |
210 | Наименование секции 7 | строка | Максимальная длина: 42 |
211 | Наименование секции 8 | строка | Максимальная длина: 42 |
212 | Наименование секции 9 | строка | Максимальная длина: 42 |
213 | Наименование секции 10 | строка | Максимальная длина: 42 |
214 | Наименование секции 11 | строка | Максимальная длина: 42 |
215 | Наименование секции 12 | строка | Максимальная длина: 42 |
216 | Наименование секции 13 | строка | Максимальная длина: 42 |
217 | Наименование секции 14 | строка | Максимальная длина: 42 |
218 | Наименование секции 15 | строка | Максимальная длина: 42 |
219 | Наименование секции 16 | строка | Максимальная длина: 42 |
220 | Номер налога 1 | число | 1 .. 6 |
221 | Номер налога 2 | число | 1 .. 6 |
222 | Номер налога 3 | число | 1 .. 6 |
223 | Номер налога 4 | число | 1 .. 6 |
224 | Номер налога 5 | число | 1 .. 6 |
225 | Номер налога 6 | число | 1 .. 6 |
226 | Номер налога 7 | число | 1 .. 6 |
227 | Номер налога 8 | число | 1 .. 6 |
228 | Номер налога 9 | число | 1 .. 6 |
229 | Номер налога 10 | число | 1 .. 6 |
230 | Номер налога 11 | число | 1 .. 6 |
231 | Номер налога 12 | число | 1 .. 6 |
232 | Номер налога 13 | число | 1 .. 6 |
233 | Номер налога 14 | число | 1 .. 6 |
234 | Номер налога 15 | число | 1 .. 6 |
235 | Номер налога 16 | число | 1 .. 6 |
236 | Скорость ККТ | число | 1200 - 1200 бод 2400 - 2400 бод 4800 - 4800 бод 9600 - 9600 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
237 | Подключенное устройство | число | 0 - Нет устройства 1 - Сканер |
238 | Скорость подключенного устройства | число | 1200 - 1200 бод 2400 - 2400 бод 4800 - 4800 бод 9600 - 9600 бод 14400 - 14400 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
239 | Канал обмена с ККТ | число | 0 - RS-232 4 - USB 5 - Bluetooth 7 - Wi-Fi |
240 | Наименование способа расчета 2 | строка | Максимальная длина: 42 |
241 | Наименование способа расчета 3 | строка | Максимальная длина: 42 |
242 | Наименование способа расчета 4 | строка | Максимальная длина: 42 |
243 | Наименование способа расчета 5 | строка | Максимальная длина: 42 |
244 | Наименование способа расчета 6 | строка | Максимальная длина: 42 |
245 | Наименование способа расчета 7 | строка | Максимальная длина: 42 |
246 | Наименование способа расчета 8 | строка | Максимальная длина: 42 |
247 | Наименование способа расчета 9 | строка | Максимальная длина: 42 |
248 | Наименование способа расчета 10 | строка | Максимальная длина: 42 |
249 | Номер формы расчета 2 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
250 | Номер формы расчета 3 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
251 | Номер формы расчета 4 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
252 | Номер формы расчета 5 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
253 | Номер формы расчета 6 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
254 | Номер формы расчета 7 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
255 | Номер формы расчета 8 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
256 | Номер формы расчета 9 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
257 | Номер формы расчета 10 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
265 | Конфигурационная строка | строка | Максимальная длина: 32 |
266 | Имя пользователя | строка | Максимальная длина: 32 |
267 | Пароль | строка | Максимальная длина: 32 |
268 | Режим Wi-Fi | число | 0 - Клиент 1 - Точка доступа |
269 | Имя точки доступа для работы по Wi-Fi | строка | Максимальная длина: 32 |
270 | Пароль доступа к точке доступа | строка | Максимальная длина: 32 |
271 | Номер канала Wi-Fi в режиме точки доступа | число | 0 .. 13 |
272 | Тип шифрования Wi-Fi | число | 0 - Open 1 - WEP 2 - WPA 3 - WPA2 4 - WPA/WPA2 |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
275 | DNS ОФД | строка | Максимальная длина: 15 |
276 | Канал обмена с ОФД | число | 1 - USB (EoU) 3 - Wi-Fi 4 - GSM-модем 5 - EthernetOverTransport |
277 | Адрес сайта ФНС | строка | Максимальная длина: 64 |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
280 | Интервал посылок диагностических сообщений, с. | число | 0 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 1 .. 5 |
282 | Интервал опроса ФН при разрывах (в сек.) | число | 5 .. 120 |
287 | Версия ФФД | число | 0 - Автоматически 100 - ФФД 1.0 |
301 | Печатать на ЧЛ сообщение о полученном IP-адресе | число | 0 - Не печатать 1 - Печатать |
305 | Частота обмена с ФН, кбит/с | число | 50 .. 400 |
306 | Передавать необязательные реквизиты в ОФД | число | 0 - Не передавать 1 - Передавать |
307 | Ожидание инициализации ФН после включения, с. | число | 5 .. 255 |
308 | Ожидание обработки команды в ФН, с. | число | 10 .. 255 |
309 | Размер чека в байтах | число | 0 .. 4294967295 |
310 | Печатать пароль доступа к точке Wi-Fi | число | 0 - Не печатать 1 - Печатать |
311 | Блокировать ККТ при переполнении ЭЖ | число | 0 - Не блокировать 1 - Блокировать работу по протоколу 2 - Блокировать работу с ЛК |
312 | Работа со скидками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
313 | Работа со надбавками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
325 | Получение IP-адреса от DHCP (Wi-Fi) | число | 0 - Отключено 1 - Включено |
326 | IP-адрес (Wi-Fi) | строка | Максимальная длина: 15 |
327 | Маска подсети (Wi-Fi) | строка | Максимальная длина: 15 |
328 | Шлюз по умолчанию (Wi-Fi) | строка | Максимальная длина: 15 |
330 | Шрифт реквизитов в чеке | число | 1 .. 7 |
331 | Сопряжение по Bluetooth | число | 0 - Запрещено 1 - Разрешено |
332 | Печатать реквизит "Наименование ОФД" | число | 0 - Не печатать 1 - Печатать |
333 | Печатать реквизит "Адрес электронной почты отправителя" | число | 0 - Не печатать 1 - Печатать |
334 | Работа с ЭЖ | число | 0 - Отключена 1 - Включена |
345 | Печатать реквизит "ИНН поставщика" | число | 0 - Не печатать 1 - Печатать |
АТОЛ 15Ф
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
0 | Номер ККТ в магазине | число | 0 .. 255 |
2 | Печатать названия секций | число | 0 - Не печатать 1 - Печатать |
3 | Печатать необнуляемую сумму приходов и расходов | число | 0 - Не печатать 1 - Печатать |
4 | Производить инкассацию | число | 0 - Нет 1 - Да |
5 | Расширенный X-отчет и Z-отчет | число | 0 - Нет 1 - Да |
6 | Печатать информацию о количестве чеков за смену по типам операций | число | 0 - Не печатать 1 - Печатать |
7 | Автоматически печатать отчет по секциям перед X- и Z-отчетом | число | 0 - Не печатать 1 - Печатать |
8 | Яркость печати ЧЛ | число | 1 .. 15 |
11 | Пароль доступа | строка | Максимальная длина: 4 |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
13 | Шрифт ЧЛ | число | 1 .. 7 |
14 | Количество печатаемых строк после чека на ЧЛ | число | 0 .. 20 |
15 | Печатать разделители в суточных отчетах | число | 0 - Не печатать 1 - Печатать |
16 | Печатать номер секции | число | 0 - Не печатать 1 - Печатать |
17 | Печатать необнуляемый итог на начало смены в Z-отчете | число | 0 - Не печатать 1 - Печатать |
18 | Печатать необнуляемый итог на начало смены в X-отчете | число | 0 - Не печатать 1 - Печатать |
19 | Печатать текст командой «Печать строки» | число | 0 - Не печатать 1 - Печатать |
20 | Режим перехода на летнее/зимнее время | число | 0 - Не переходить 1 - Переходить, не оповещать 2 - Переходить, оповещать кассира 3 - Переходить, оповещать кассира и хост |
21 | Дата перехода на летнее время | число | |
22 | Дата перехода на зимнее время | число | |
23 | Количество символов в строке | число | 24 .. 42 |
24 | Символ для разделителя | строка | Максимальная длина: 1 |
25 | Проверять время | число | 0 .. 99 |
26 | Смещение области печати слева | число | 0 .. 24 |
27 | Печатать налоги в Х- и Z-отчете и при регистрации | число | 0 - Не печатать 1 - Печатать |
28 | Минимальная яркость термокомпенсации на ЧЛ | число | 1 .. 15 |
29 | Печатать на ЧЛ документ готовности к работе | число | 0 - Не печатать 1 - Печатать |
30 | Печатать на ЧЛ клише в служебных сообщениях | число | 0 - Не печатать 1 - Печатать |
31 | Печатать на ЧЛ сообщение о вводе даты-времени | число | 0 - Не печатать 1 - Печатать |
32 | Протокол работы ККТ | число | 0 - АТОЛ 2 1 - АТОЛ 3 |
33 | PIN-код для Bluetooth | строка | Максимальная длина: 8 |
34 | Уровень коррекции ошибок QR-кода | число | 1 .. 4 |
35 | Количество строк заголовка клише | число | 0 - 0 1 - 1 2 - 2 3 - 3 4 - 4 5 - 5 6 - 6 7 - 7 8 - 8 9 - 9 10 - 10 11 - 11 12 - 12 13 - 13 14 - 14 15 - 15 16 - 16 17 - 17 18 - 18 19 - 19 20 - 20 99 - Старый формат печати |
36 | Расстояние от ТПГ до отрывного ножа | число | 0 .. 255 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
38 | Звуковой сигнал при окончании бумаги и открытии крышки | число | 0 - Нет 1 - Да |
39 | Звуковой сигнал при включении | число | 0 - Нет 1 - Да |
40 | Сохранять печатаемый документ в память | число | 0 - Не сохранять 1 - Сохранять только отчеты 2 - Сохранять все |
41 | Печатать нулевые налоги | число | 0 - Не печатать 1 - Печатать |
42 | Печать необнуляемой суммы возвратов приходов | число | 0 - Не печатать 1 - Печатать |
43 | Печать необнуляемой суммы возвратов расходов | число | 0 - Не печатать 1 - Печатать |
44 | Печатать количество отмененных чеков по типам | число | 0 - Не печатать 1 - Печатать |
45 | Не печатать блоки «приходы», «возвраты приходов», «расходы», «возвраты расходов» | число | 0 - Печатать 1 - Не печатать |
46 | Печатать нулевые суммы | число | 0 - Не печатать 1 - Печатать |
47 | Печать номера ККМ в магазине | число | 0 - Не печатать 1 - Печатать |
48 | Печать реквизитов чека на аннулированных чеках | число | 0 - Не печатать 1 - Печатать |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
51 | Шаблон чека | число | 1 - Шаблон 1 2 - Шаблон 2 |
52 | Признак способа расчета по умолчанию | число | 1 - Предоплата 100% 2 - Предоплата 3 - Аванс 4 - Полный расчет 5 - Частичный расчет и кредит 6 - Передача в кредит 7 - Оплата кредита |
53 | Округлять сумму налога | число | 0 - На весь чек 1 - После каждой позиции |
54 | Контроль суммы налогов 10% и 18% (20%) | число | 0 - Отключен 1 - Включен |
55 | Пересчитывать суммы налогов после скидки на итог | число | 0 - Нет 1 - Да |
56 | Учет наличности | число | 0 - Отключен 1 - Включен |
57 | Печатать признак способа расчета | число | 0 - Не печатать 1 - Печатать |
58 | Печатать признак предмета расчета | число | 0 - Не печатать 1 - Печатать полное наименование 2 - Печатать краткое наименование |
59 | Не печатать суточный отчет с гашением при закрытии смены | число | 0 - Печатать 1 - Не печатать |
60 | Печатать необнуляемые суммы по способам расчета прихода и возврата прихода | число | 0 - Не печатать 1 - Печатать |
61 | Печатать необнуляемые суммы по способам расчета расхода и возврата расхода | число | 0 - Не печатать 1 - Печатать |
62 | Не печатать клише автоматически при закрытии чека | число | 0 - Печатать 1 - Не печатать |
63 | Признак предмета расчета по умолчанию | число | 1 - Товар 2 - Подакцизный товар 3 - Работа 4 - Услуга 5 - Ставка азартной игры 6 - Выигрыш азартной игры 7 - Лотерейный билет 8 - Выигрыш лотереи 9 - Предоставление РИД 10 - Платеж 11 - Агентское вознаграждение 12 - Составной предмет расчета 13 - Иной предмет расчета 14 - Имущественное право 15 - Внереализационный доход 16 - Страховые взносы 17 - Торговый сбор 18 - Курортный сбор 19 - Залог |
64 | Таймаут на выключение ККТ (минуты) | число | 0 .. 990 |
94 | Пароль кассира 1 | строка | Максимальная длина: 8 |
95 | Пароль кассира 2 | строка | Максимальная длина: 8 |
96 | Пароль кассира 3 | строка | Максимальная длина: 8 |
97 | Пароль кассира 4 | строка | Максимальная длина: 8 |
98 | Пароль кассира 5 | строка | Максимальная длина: 8 |
99 | Пароль кассира 6 | строка | Максимальная длина: 8 |
100 | Пароль кассира 7 | строка | Максимальная длина: 8 |
101 | Пароль кассира 8 | строка | Максимальная длина: 8 |
102 | Пароль кассира 9 | строка | Максимальная длина: 8 |
103 | Пароль кассира 10 | строка | Максимальная длина: 8 |
104 | Пароль кассира 11 | строка | Максимальная длина: 8 |
105 | Пароль кассира 12 | строка | Максимальная длина: 8 |
106 | Пароль кассира 13 | строка | Максимальная длина: 8 |
107 | Пароль кассира 14 | строка | Максимальная длина: 8 |
108 | Пароль кассира 15 | строка | Максимальная длина: 8 |
109 | Пароль кассира 16 | строка | Максимальная длина: 8 |
110 | Пароль кассира 17 | строка | Максимальная длина: 8 |
111 | Пароль кассира 18 | строка | Максимальная длина: 8 |
112 | Пароль кассира 19 | строка | Максимальная длина: 8 |
113 | Пароль кассира 20 | строка | Максимальная длина: 8 |
114 | Пароль кассира 21 | строка | Максимальная длина: 8 |
115 | Пароль кассира 22 | строка | Максимальная длина: 8 |
116 | Пароль кассира 23 | строка | Максимальная длина: 8 |
117 | Пароль кассира 24 | строка | Максимальная длина: 8 |
118 | Пароль кассира 25 | строка | Максимальная длина: 8 |
119 | Пароль кассира 26 | строка | Максимальная длина: 8 |
120 | Пароль кассира 27 | строка | Максимальная длина: 8 |
121 | Пароль кассира 28 | строка | Максимальная длина: 8 |
122 | Имя кассира 1 | строка | Максимальная длина: 42 |
123 | Имя кассира 2 | строка | Максимальная длина: 42 |
124 | Имя кассира 3 | строка | Максимальная длина: 42 |
125 | Имя кассира 4 | строка | Максимальная длина: 42 |
126 | Имя кассира 5 | строка | Максимальная длина: 42 |
127 | Имя кассира 6 | строка | Максимальная длина: 42 |
128 | Имя кассира 7 | строка | Максимальная длина: 42 |
129 | Имя кассира 8 | строка | Максимальная длина: 42 |
130 | Имя кассира 9 | строка | Максимальная длина: 42 |
131 | Имя кассира 10 | строка | Максимальная длина: 42 |
132 | Имя кассира 11 | строка | Максимальная длина: 42 |
133 | Имя кассира 12 | строка | Максимальная длина: 42 |
134 | Имя кассира 13 | строка | Максимальная длина: 42 |
135 | Имя кассира 14 | строка | Максимальная длина: 42 |
136 | Имя кассира 15 | строка | Максимальная длина: 42 |
137 | Имя кассира 16 | строка | Максимальная длина: 42 |
138 | Имя кассира 17 | строка | Максимальная длина: 42 |
139 | Имя кассира 18 | строка | Максимальная длина: 42 |
140 | Имя кассира 19 | строка | Максимальная длина: 42 |
141 | Имя кассира 20 | строка | Максимальная длина: 42 |
142 | Имя кассира 21 | строка | Максимальная длина: 42 |
143 | Имя кассира 22 | строка | Максимальная длина: 42 |
144 | Имя кассира 23 | строка | Максимальная длина: 42 |
145 | Имя кассира 24 | строка | Максимальная длина: 42 |
146 | Имя кассира 25 | строка | Максимальная длина: 42 |
147 | Имя кассира 26 | строка | Максимальная длина: 42 |
148 | Имя кассира 27 | строка | Максимальная длина: 42 |
149 | Имя кассира 28 | строка | Максимальная длина: 42 |
150 | ИНН кассира 1 | строка | Максимальная длина: 12 |
151 | ИНН кассира 2 | строка | Максимальная длина: 12 |
152 | ИНН кассира 3 | строка | Максимальная длина: 12 |
153 | ИНН кассира 4 | строка | Максимальная длина: 12 |
154 | ИНН кассира 5 | строка | Максимальная длина: 12 |
155 | ИНН кассира 6 | строка | Максимальная длина: 12 |
156 | ИНН кассира 7 | строка | Максимальная длина: 12 |
157 | ИНН кассира 8 | строка | Максимальная длина: 12 |
158 | ИНН кассира 9 | строка | Максимальная длина: 12 |
159 | ИНН кассира 10 | строка | Максимальная длина: 12 |
160 | ИНН кассира 11 | строка | Максимальная длина: 12 |
161 | ИНН кассира 12 | строка | Максимальная длина: 12 |
162 | ИНН кассира 13 | строка | Максимальная длина: 12 |
163 | ИНН кассира 14 | строка | Максимальная длина: 12 |
164 | ИНН кассира 15 | строка | Максимальная длина: 12 |
165 | ИНН кассира 16 | строка | Максимальная длина: 12 |
166 | ИНН кассира 17 | строка | Максимальная длина: 12 |
167 | ИНН кассира 18 | строка | Максимальная длина: 12 |
168 | ИНН кассира 19 | строка | Максимальная длина: 12 |
169 | ИНН кассира 20 | строка | Максимальная длина: 12 |
170 | ИНН кассира 21 | строка | Максимальная длина: 12 |
171 | ИНН кассира 22 | строка | Максимальная длина: 12 |
172 | ИНН кассира 23 | строка | Максимальная длина: 12 |
173 | ИНН кассира 24 | строка | Максимальная длина: 12 |
174 | ИНН кассира 25 | строка | Максимальная длина: 12 |
175 | ИНН кассира 26 | строка | Максимальная длина: 12 |
176 | ИНН кассира 27 | строка | Максимальная длина: 12 |
177 | ИНН кассира 28 | строка | Максимальная длина: 12 |
178 | Пароль администратора | строка | Максимальная длина: 8 |
179 | Имя администратора | строка | Максимальная длина: 42 |
180 | ИНН администратора | строка | Максимальная длина: 12 |
181 | Пароль системного администратора | строка | Максимальная длина: 8 |
182 | Имя системного администратора | строка | Максимальная длина: 42 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
184 | Строка клише 1 | строка | Максимальная длина: 42 |
185 | Строка клише 2 | строка | Максимальная длина: 42 |
186 | Строка клише 3 | строка | Максимальная длина: 42 |
187 | Строка клише 4 | строка | Максимальная длина: 42 |
188 | Строка клише 5 | строка | Максимальная длина: 42 |
189 | Строка клише 6 | строка | Максимальная длина: 42 |
190 | Строка клише 7 | строка | Максимальная длина: 42 |
191 | Строка клише 8 | строка | Максимальная длина: 42 |
192 | Строка клише 9 | строка | Максимальная длина: 42 |
193 | Строка клише 10 | строка | Максимальная длина: 42 |
194 | Строка клише 11 | строка | Максимальная длина: 42 |
195 | Строка клише 12 | строка | Максимальная длина: 42 |
196 | Строка клише 13 | строка | Максимальная длина: 42 |
197 | Строка клише 14 | строка | Максимальная длина: 42 |
198 | Строка клише 15 | строка | Максимальная длина: 42 |
199 | Строка клише 16 | строка | Максимальная длина: 42 |
200 | Строка клише 17 | строка | Максимальная длина: 42 |
201 | Строка клише 18 | строка | Максимальная длина: 42 |
202 | Строка клише 19 | строка | Максимальная длина: 42 |
203 | Строка клише 20 | строка | Максимальная длина: 42 |
204 | Наименование секции 1 | строка | Максимальная длина: 42 |
205 | Наименование секции 2 | строка | Максимальная длина: 42 |
206 | Наименование секции 3 | строка | Максимальная длина: 42 |
207 | Наименование секции 4 | строка | Максимальная длина: 42 |
208 | Наименование секции 5 | строка | Максимальная длина: 42 |
209 | Наименование секции 6 | строка | Максимальная длина: 42 |
210 | Наименование секции 7 | строка | Максимальная длина: 42 |
211 | Наименование секции 8 | строка | Максимальная длина: 42 |
212 | Наименование секции 9 | строка | Максимальная длина: 42 |
213 | Наименование секции 10 | строка | Максимальная длина: 42 |
214 | Наименование секции 11 | строка | Максимальная длина: 42 |
215 | Наименование секции 12 | строка | Максимальная длина: 42 |
216 | Наименование секции 13 | строка | Максимальная длина: 42 |
217 | Наименование секции 14 | строка | Максимальная длина: 42 |
218 | Наименование секции 15 | строка | Максимальная длина: 42 |
219 | Наименование секции 16 | строка | Максимальная длина: 42 |
220 | Номер налога 1 | число | 1 .. 6 |
221 | Номер налога 2 | число | 1 .. 6 |
222 | Номер налога 3 | число | 1 .. 6 |
223 | Номер налога 4 | число | 1 .. 6 |
224 | Номер налога 5 | число | 1 .. 6 |
225 | Номер налога 6 | число | 1 .. 6 |
226 | Номер налога 7 | число | 1 .. 6 |
227 | Номер налога 8 | число | 1 .. 6 |
228 | Номер налога 9 | число | 1 .. 6 |
229 | Номер налога 10 | число | 1 .. 6 |
230 | Номер налога 11 | число | 1 .. 6 |
231 | Номер налога 12 | число | 1 .. 6 |
232 | Номер налога 13 | число | 1 .. 6 |
233 | Номер налога 14 | число | 1 .. 6 |
234 | Номер налога 15 | число | 1 .. 6 |
235 | Номер налога 16 | число | 1 .. 6 |
239 | Канал обмена с ККТ | число | 4 - USB 5 - Bluetooth 7 - Wi-Fi |
240 | Наименование способа расчета 2 | строка | Максимальная длина: 42 |
241 | Наименование способа расчета 3 | строка | Максимальная длина: 42 |
242 | Наименование способа расчета 4 | строка | Максимальная длина: 42 |
243 | Наименование способа расчета 5 | строка | Максимальная длина: 42 |
244 | Наименование способа расчета 6 | строка | Максимальная длина: 42 |
245 | Наименование способа расчета 7 | строка | Максимальная длина: 42 |
246 | Наименование способа расчета 8 | строка | Максимальная длина: 42 |
247 | Наименование способа расчета 9 | строка | Максимальная длина: 42 |
248 | Наименование способа расчета 10 | строка | Максимальная длина: 42 |
249 | Номер формы расчета 2 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
250 | Номер формы расчета 3 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
251 | Номер формы расчета 4 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
252 | Номер формы расчета 5 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
253 | Номер формы расчета 6 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
254 | Номер формы расчета 7 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
255 | Номер формы расчета 8 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
256 | Номер формы расчета 9 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
257 | Номер формы расчета 10 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
265 | Конфигурационная строка | строка | Максимальная длина: 32 |
266 | Имя пользователя | строка | Максимальная длина: 32 |
267 | Пароль | строка | Максимальная длина: 32 |
268 | Режим Wi-Fi | число | 0 - Клиент 1 - Точка доступа |
269 | Имя точки доступа для работы по Wi-Fi | строка | Максимальная длина: 32 |
270 | Пароль доступа к точке доступа | строка | Максимальная длина: 32 |
271 | Номер канала Wi-Fi в режиме точки доступа | число | 0 .. 13 |
272 | Тип шифрования Wi-Fi | число | 0 - Open 1 - WEP 2 - WPA 3 - WPA2 4 - WPA/WPA2 |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
275 | DNS ОФД | строка | Максимальная длина: 15 |
276 | Канал обмена с ОФД | число | 1 - USB (EoU) 3 - Wi-Fi 5 - EthernetOverTransport |
277 | Адрес сайта ФНС | строка | Максимальная длина: 64 |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
280 | Интервал посылок диагностических сообщений, с. | число | 0 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 1 .. 5 |
282 | Интервал опроса ФН при разрывах (в сек.) | число | 5 .. 120 |
287 | Версия ФФД | число | 0 - Автоматически 100 - ФФД 1.0 |
301 | Печатать на ЧЛ сообщение о полученном IP-адресе | число | 0 - Не печатать 1 - Печатать |
305 | Частота обмена с ФН, кбит/с | число | 50 .. 400 |
306 | Передавать необязательные реквизиты в ОФД | число | 0 - Не передавать 1 - Передавать |
307 | Ожидание инициализации ФН после включения, с. | число | 5 .. 255 |
308 | Ожидание обработки команды в ФН, с. | число | 10 .. 255 |
309 | Размер чека в байтах | число | 0 .. 4294967295 |
310 | Печатать пароль доступа к точке Wi-Fi | число | 0 - Не печатать 1 - Печатать |
311 | Блокировать ККТ при переполнении ЭЖ | число | 0 - Не блокировать 1 - Блокировать работу по протоколу 2 - Блокировать работу с ЛК |
312 | Работа со скидками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
313 | Работа со надбавками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
325 | Получение IP-адреса от DHCP (Wi-Fi) | число | 0 - Отключено 1 - Включено |
326 | IP-адрес (Wi-Fi) | строка | Максимальная длина: 15 |
327 | Маска подсети (Wi-Fi) | строка | Максимальная длина: 15 |
328 | Шлюз по умолчанию (Wi-Fi) | строка | Максимальная длина: 15 |
330 | Шрифт реквизитов в чеке | число | 1 .. 7 |
331 | Сопряжение по Bluetooth | число | 0 - Запрещено 1 - Разрешено |
332 | Печатать реквизит "Наименование ОФД" | число | 0 - Не печатать 1 - Печатать |
333 | Печатать реквизит "Адрес электронной почты отправителя" | число | 0 - Не печатать 1 - Печатать |
334 | Работа с ЭЖ | число | 0 - Отключена 1 - Включена |
345 | Печатать реквизит "ИНН поставщика" | число | 0 - Не печатать 1 - Печатать |
АТОЛ 1Ф
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
8 | Яркость печати ЧЛ | число | 0 .. 100 |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
39 | Звуковой сигнал при включении | число | 0 - Нет 1 - Да |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
62 | Не печатать клише автоматически при закрытии чека | число | 0 - Печатать 1 - Не печатать |
182 | Имя системного администратора | строка | Максимальная длина: 64 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
184 | Строка клише 1 | строка | Максимальная длина: 256 |
185 | Строка клише 2 | строка | Максимальная длина: 256 |
186 | Строка клише 3 | строка | Максимальная длина: 256 |
187 | Строка клише 4 | строка | Максимальная длина: 256 |
188 | Строка клише 5 | строка | Максимальная длина: 256 |
189 | Строка клише 6 | строка | Максимальная длина: 256 |
190 | Строка клише 7 | строка | Максимальная длина: 256 |
191 | Строка клише 8 | строка | Максимальная длина: 256 |
192 | Строка клише 9 | строка | Максимальная длина: 256 |
193 | Строка клише 10 | строка | Максимальная длина: 256 |
244 | Наименование способа расчета 6 | строка | Максимальная длина: 15 |
245 | Наименование способа расчета 7 | строка | Максимальная длина: 15 |
246 | Наименование способа расчета 8 | строка | Максимальная длина: 15 |
247 | Наименование способа расчета 9 | строка | Максимальная длина: 15 |
248 | Наименование способа расчета 10 | строка | Максимальная длина: 15 |
253 | Номер формы расчета 6 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
254 | Номер формы расчета 7 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
255 | Номер формы расчета 8 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
256 | Номер формы расчета 9 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
257 | Номер формы расчета 10 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
276 | Канал обмена с ОФД | число | 5 - EthernetOverTransport |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 0 .. 5 |
286 | Приоритет качества печати перед скоростью | число | 0 - Нет 1 - Да |
292 | Использовать загружаемые скрипты | число | 0 - Нет 1 - Да |
293 | Скорость обмена с ФН | число | 0 .. 7 |
299 | Регистрировать секции | число | 0 - Нет 1 - Да |
АТОЛ 20Ф
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
0 | Номер ККТ в магазине | число | 0 .. 255 |
2 | Печатать названия секций | число | 0 - Не печатать 1 - Печатать |
3 | Печатать необнуляемую сумму приходов и расходов | число | 0 - Не печатать 1 - Печатать |
4 | Производить инкассацию | число | 0 - Нет 1 - Да |
5 | Расширенный X-отчет и Z-отчет | число | 0 - Нет 1 - Да |
6 | Печатать информацию о количестве чеков за смену по типам операций | число | 0 - Не печатать 1 - Печатать |
7 | Автоматически печатать отчет по секциям перед X- и Z-отчетом | число | 0 - Не печатать 1 - Печатать |
8 | Яркость печати ЧЛ | число | 1 .. 15 |
9 | Открывать ДЯ при закрытии чека | число | 0 - Нет 1 - Да |
11 | Пароль доступа | строка | Максимальная длина: 4 |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
13 | Шрифт ЧЛ | число | 1 .. 7 |
14 | Количество печатаемых строк после чека на ЧЛ | число | 0 .. 20 |
15 | Печатать разделители в суточных отчетах | число | 0 - Не печатать 1 - Печатать |
16 | Печатать номер секции | число | 0 - Не печатать 1 - Печатать |
17 | Печатать необнуляемый итог на начало смены в Z-отчете | число | 0 - Не печатать 1 - Печатать |
18 | Печатать необнуляемый итог на начало смены в X-отчете | число | 0 - Не печатать 1 - Печатать |
19 | Печатать текст командой «Печать строки» | число | 0 - Не печатать 1 - Печатать |
20 | Режим перехода на летнее/зимнее время | число | 0 - Не переходить 1 - Переходить, не оповещать 2 - Переходить, оповещать кассира 3 - Переходить, оповещать кассира и хост |
21 | Дата перехода на летнее время | число | |
22 | Дата перехода на зимнее время | число | |
23 | Количество символов в строке | число | 24 .. 64 |
24 | Символ для разделителя | строка | Максимальная длина: 1 |
25 | Проверять время | число | 0 .. 99 |
26 | Смещение области печати слева | число | 0 .. 24 |
27 | Печатать налоги в Х- и Z-отчете и при регистрации | число | 0 - Не печатать 1 - Печатать |
28 | Минимальная яркость термокомпенсации на ЧЛ | число | 1 .. 15 |
29 | Печатать на ЧЛ документ готовности к работе | число | 0 - Не печатать 1 - Печатать |
30 | Печатать на ЧЛ клише в служебных сообщениях | число | 0 - Не печатать 1 - Печатать |
31 | Печатать на ЧЛ сообщение о вводе даты-времени | число | 0 - Не печатать 1 - Печатать |
32 | Протокол работы ККТ | число | 0 - АТОЛ 2 1 - АТОЛ 3 |
33 | PIN-код для Bluetooth | строка | Максимальная длина: 8 |
34 | Уровень коррекции ошибок QR-кода | число | 1 .. 4 |
35 | Количество строк заголовка клише | число | 0 - 0 1 - 1 2 - 2 3 - 3 4 - 4 5 - 5 6 - 6 7 - 7 8 - 8 9 - 9 10 - 10 11 - 11 12 - 12 13 - 13 14 - 14 15 - 15 16 - 16 17 - 17 18 - 18 19 - 19 20 - 20 99 - Старый формат печати |
36 | Расстояние от ТПГ до отрывного ножа | число | 0 .. 255 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
38 | Звуковой сигнал при окончании бумаги и открытии крышки | число | 0 - Нет 1 - Да |
39 | Звуковой сигнал при включении | число | 0 - Нет 1 - Да |
40 | Сохранять печатаемый документ в память | число | 0 - Не сохранять 1 - Сохранять только отчеты 2 - Сохранять все |
41 | Печатать нулевые налоги | число | 0 - Не печатать 1 - Печатать |
42 | Печать необнуляемой суммы возвратов приходов | число | 0 - Не печатать 1 - Печатать |
43 | Печать необнуляемой суммы возвратов расходов | число | 0 - Не печатать 1 - Печатать |
44 | Печатать количество отмененных чеков по типам | число | 0 - Не печатать 1 - Печатать |
45 | Не печатать блоки «приходы», «возвраты приходов», «расходы», «возвраты расходов» | число | 0 - Печатать 1 - Не печатать |
46 | Печатать нулевые суммы | число | 0 - Не печатать 1 - Печатать |
47 | Печать номера ККМ в магазине | число | 0 - Не печатать 1 - Печатать |
48 | Печать реквизитов чека на аннулированных чеках | число | 0 - Не печатать 1 - Печатать |
49 | Получение IP-адреса от DHCP (Ethernet) | число | 0 - Отключено 1 - Включено |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
51 | Шаблон чека | число | 1 - Шаблон 1 2 - Шаблон 2 |
52 | Признак способа расчета по умолчанию | число | 1 - Предоплата 100% 2 - Предоплата 3 - Аванс 4 - Полный расчет 5 - Частичный расчет и кредит 6 - Передача в кредит 7 - Оплата кредита |
53 | Округлять сумму налога | число | 0 - На весь чек 1 - После каждой позиции |
54 | Контроль суммы налогов 10% и 18% (20%) | число | 0 - Отключен 1 - Включен |
55 | Пересчитывать суммы налогов после скидки на итог | число | 0 - Нет 1 - Да |
56 | Учет наличности | число | 0 - Отключен 1 - Включен |
57 | Печатать признак способа расчета | число | 0 - Не печатать 1 - Печатать |
58 | Печатать признак предмета расчета | число | 0 - Не печатать 1 - Печатать полное наименование 2 - Печатать краткое наименование |
59 | Не печатать суточный отчет с гашением при закрытии смены | число | 0 - Печатать 1 - Не печатать |
60 | Печатать необнуляемые суммы по способам расчета прихода и возврата прихода | число | 0 - Не печатать 1 - Печатать |
61 | Печатать необнуляемые суммы по способам расчета расхода и возврата расхода | число | 0 - Не печатать 1 - Печатать |
62 | Не печатать клише автоматически при закрытии чека | число | 0 - Печатать 1 - Не печатать |
63 | Признак предмета расчета по умолчанию | число | 1 - Товар 2 - Подакцизный товар 3 - Работа 4 - Услуга 5 - Ставка азартной игры 6 - Выигрыш азартной игры 7 - Лотерейный билет 8 - Выигрыш лотереи 9 - Предоставление РИД 10 - Платеж 11 - Агентское вознаграждение 12 - Составной предмет расчета 13 - Иной предмет расчета 14 - Имущественное право 15 - Внереализационный доход 16 - Страховые взносы 17 - Торговый сбор 18 - Курортный сбор 19 - Залог |
65 | Не открывать ДЯ при отсутствии наличного способа расчета в чеке | число | 0 - Открывать 1 - Не открывать |
66 | Отрезать чек после завершения документа | число | 0 - Не отрезать 1 - Не полностью 2 - Полностью |
67 | Запретить отрезку чеков | число | 0 - Нет 1 - Да |
68 | Запретить отрезку отчетов | число | 0 - Нет 1 - Да |
69 | Отрезать ЧЛ после печати клише командой «Печать клише» | число | 0 - Нет 1 - Да |
71 | IP-адрес (Ethernet) | строка | Максимальная длина: 15 |
72 | Маска подсети (Ethernet) | строка | Максимальная длина: 15 |
73 | Шлюз по умолчанию (Ethernet) | строка | Максимальная длина: 15 |
74 | IP-порт (Ethernet) | число | 1 .. 65535 |
75 | Расстояние от ножа отрезчика до гребенки | число | 0 .. 255 |
94 | Пароль кассира 1 | строка | Максимальная длина: 8 |
95 | Пароль кассира 2 | строка | Максимальная длина: 8 |
96 | Пароль кассира 3 | строка | Максимальная длина: 8 |
97 | Пароль кассира 4 | строка | Максимальная длина: 8 |
98 | Пароль кассира 5 | строка | Максимальная длина: 8 |
99 | Пароль кассира 6 | строка | Максимальная длина: 8 |
100 | Пароль кассира 7 | строка | Максимальная длина: 8 |
101 | Пароль кассира 8 | строка | Максимальная длина: 8 |
102 | Пароль кассира 9 | строка | Максимальная длина: 8 |
103 | Пароль кассира 10 | строка | Максимальная длина: 8 |
104 | Пароль кассира 11 | строка | Максимальная длина: 8 |
105 | Пароль кассира 12 | строка | Максимальная длина: 8 |
106 | Пароль кассира 13 | строка | Максимальная длина: 8 |
107 | Пароль кассира 14 | строка | Максимальная длина: 8 |
108 | Пароль кассира 15 | строка | Максимальная длина: 8 |
109 | Пароль кассира 16 | строка | Максимальная длина: 8 |
110 | Пароль кассира 17 | строка | Максимальная длина: 8 |
111 | Пароль кассира 18 | строка | Максимальная длина: 8 |
112 | Пароль кассира 19 | строка | Максимальная длина: 8 |
113 | Пароль кассира 20 | строка | Максимальная длина: 8 |
114 | Пароль кассира 21 | строка | Максимальная длина: 8 |
115 | Пароль кассира 22 | строка | Максимальная длина: 8 |
116 | Пароль кассира 23 | строка | Максимальная длина: 8 |
117 | Пароль кассира 24 | строка | Максимальная длина: 8 |
118 | Пароль кассира 25 | строка | Максимальная длина: 8 |
119 | Пароль кассира 26 | строка | Максимальная длина: 8 |
120 | Пароль кассира 27 | строка | Максимальная длина: 8 |
121 | Пароль кассира 28 | строка | Максимальная длина: 8 |
122 | Имя кассира 1 | строка | Максимальная длина: 64 |
123 | Имя кассира 2 | строка | Максимальная длина: 64 |
124 | Имя кассира 3 | строка | Максимальная длина: 64 |
125 | Имя кассира 4 | строка | Максимальная длина: 64 |
126 | Имя кассира 5 | строка | Максимальная длина: 64 |
127 | Имя кассира 6 | строка | Максимальная длина: 64 |
128 | Имя кассира 7 | строка | Максимальная длина: 64 |
129 | Имя кассира 8 | строка | Максимальная длина: 64 |
130 | Имя кассира 9 | строка | Максимальная длина: 64 |
131 | Имя кассира 10 | строка | Максимальная длина: 64 |
132 | Имя кассира 11 | строка | Максимальная длина: 64 |
133 | Имя кассира 12 | строка | Максимальная длина: 64 |
134 | Имя кассира 13 | строка | Максимальная длина: 64 |
135 | Имя кассира 14 | строка | Максимальная длина: 64 |
136 | Имя кассира 15 | строка | Максимальная длина: 64 |
137 | Имя кассира 16 | строка | Максимальная длина: 64 |
138 | Имя кассира 17 | строка | Максимальная длина: 64 |
139 | Имя кассира 18 | строка | Максимальная длина: 64 |
140 | Имя кассира 19 | строка | Максимальная длина: 64 |
141 | Имя кассира 20 | строка | Максимальная длина: 64 |
142 | Имя кассира 21 | строка | Максимальная длина: 64 |
143 | Имя кассира 22 | строка | Максимальная длина: 64 |
144 | Имя кассира 23 | строка | Максимальная длина: 64 |
145 | Имя кассира 24 | строка | Максимальная длина: 64 |
146 | Имя кассира 25 | строка | Максимальная длина: 64 |
147 | Имя кассира 26 | строка | Максимальная длина: 64 |
148 | Имя кассира 27 | строка | Максимальная длина: 64 |
149 | Имя кассира 28 | строка | Максимальная длина: 64 |
150 | ИНН кассира 1 | строка | Максимальная длина: 12 |
151 | ИНН кассира 2 | строка | Максимальная длина: 12 |
152 | ИНН кассира 3 | строка | Максимальная длина: 12 |
153 | ИНН кассира 4 | строка | Максимальная длина: 12 |
154 | ИНН кассира 5 | строка | Максимальная длина: 12 |
155 | ИНН кассира 6 | строка | Максимальная длина: 12 |
156 | ИНН кассира 7 | строка | Максимальная длина: 12 |
157 | ИНН кассира 8 | строка | Максимальная длина: 12 |
158 | ИНН кассира 9 | строка | Максимальная длина: 12 |
159 | ИНН кассира 10 | строка | Максимальная длина: 12 |
160 | ИНН кассира 11 | строка | Максимальная длина: 12 |
161 | ИНН кассира 12 | строка | Максимальная длина: 12 |
162 | ИНН кассира 13 | строка | Максимальная длина: 12 |
163 | ИНН кассира 14 | строка | Максимальная длина: 12 |
164 | ИНН кассира 15 | строка | Максимальная длина: 12 |
165 | ИНН кассира 16 | строка | Максимальная длина: 12 |
166 | ИНН кассира 17 | строка | Максимальная длина: 12 |
167 | ИНН кассира 18 | строка | Максимальная длина: 12 |
168 | ИНН кассира 19 | строка | Максимальная длина: 12 |
169 | ИНН кассира 20 | строка | Максимальная длина: 12 |
170 | ИНН кассира 21 | строка | Максимальная длина: 12 |
171 | ИНН кассира 22 | строка | Максимальная длина: 12 |
172 | ИНН кассира 23 | строка | Максимальная длина: 12 |
173 | ИНН кассира 24 | строка | Максимальная длина: 12 |
174 | ИНН кассира 25 | строка | Максимальная длина: 12 |
175 | ИНН кассира 26 | строка | Максимальная длина: 12 |
176 | ИНН кассира 27 | строка | Максимальная длина: 12 |
177 | ИНН кассира 28 | строка | Максимальная длина: 12 |
178 | Пароль администратора | строка | Максимальная длина: 8 |
179 | Имя администратора | строка | Максимальная длина: 64 |
180 | ИНН администратора | строка | Максимальная длина: 12 |
181 | Пароль системного администратора | строка | Максимальная длина: 8 |
182 | Имя системного администратора | строка | Максимальная длина: 64 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
184 | Строка клише 1 | строка | Максимальная длина: 64 |
185 | Строка клише 2 | строка | Максимальная длина: 64 |
186 | Строка клише 3 | строка | Максимальная длина: 64 |
187 | Строка клише 4 | строка | Максимальная длина: 64 |
188 | Строка клише 5 | строка | Максимальная длина: 64 |
189 | Строка клише 6 | строка | Максимальная длина: 64 |
190 | Строка клише 7 | строка | Максимальная длина: 64 |
191 | Строка клише 8 | строка | Максимальная длина: 64 |
192 | Строка клише 9 | строка | Максимальная длина: 64 |
193 | Строка клише 10 | строка | Максимальная длина: 64 |
194 | Строка клише 11 | строка | Максимальная длина: 64 |
195 | Строка клише 12 | строка | Максимальная длина: 64 |
196 | Строка клише 13 | строка | Максимальная длина: 64 |
197 | Строка клише 14 | строка | Максимальная длина: 64 |
198 | Строка клише 15 | строка | Максимальная длина: 64 |
199 | Строка клише 16 | строка | Максимальная длина: 64 |
200 | Строка клише 17 | строка | Максимальная длина: 64 |
201 | Строка клише 18 | строка | Максимальная длина: 64 |
202 | Строка клише 19 | строка | Максимальная длина: 64 |
203 | Строка клише 20 | строка | Максимальная длина: 64 |
204 | Наименование секции 1 | строка | Максимальная длина: 64 |
205 | Наименование секции 2 | строка | Максимальная длина: 64 |
206 | Наименование секции 3 | строка | Максимальная длина: 64 |
207 | Наименование секции 4 | строка | Максимальная длина: 64 |
208 | Наименование секции 5 | строка | Максимальная длина: 64 |
209 | Наименование секции 6 | строка | Максимальная длина: 64 |
210 | Наименование секции 7 | строка | Максимальная длина: 64 |
211 | Наименование секции 8 | строка | Максимальная длина: 64 |
212 | Наименование секции 9 | строка | Максимальная длина: 64 |
213 | Наименование секции 10 | строка | Максимальная длина: 64 |
214 | Наименование секции 11 | строка | Максимальная длина: 64 |
215 | Наименование секции 12 | строка | Максимальная длина: 64 |
216 | Наименование секции 13 | строка | Максимальная длина: 64 |
217 | Наименование секции 14 | строка | Максимальная длина: 64 |
218 | Наименование секции 15 | строка | Максимальная длина: 64 |
219 | Наименование секции 16 | строка | Максимальная длина: 64 |
220 | Номер налога 1 | число | 1 .. 6 |
221 | Номер налога 2 | число | 1 .. 6 |
222 | Номер налога 3 | число | 1 .. 6 |
223 | Номер налога 4 | число | 1 .. 6 |
224 | Номер налога 5 | число | 1 .. 6 |
225 | Номер налога 6 | число | 1 .. 6 |
226 | Номер налога 7 | число | 1 .. 6 |
227 | Номер налога 8 | число | 1 .. 6 |
228 | Номер налога 9 | число | 1 .. 6 |
229 | Номер налога 10 | число | 1 .. 6 |
230 | Номер налога 11 | число | 1 .. 6 |
231 | Номер налога 12 | число | 1 .. 6 |
232 | Номер налога 13 | число | 1 .. 6 |
233 | Номер налога 14 | число | 1 .. 6 |
234 | Номер налога 15 | число | 1 .. 6 |
235 | Номер налога 16 | число | 1 .. 6 |
236 | Скорость ККТ | число | 1200 - 1200 бод 2400 - 2400 бод 4800 - 4800 бод 9600 - 9600 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
238 | Скорость подключенного устройства | число | 1200 - 1200 бод 2400 - 2400 бод 4800 - 4800 бод 9600 - 9600 бод 14400 - 14400 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
239 | Канал обмена с ККТ | число | 4 - USB 5 - Bluetooth 7 - Wi-Fi |
240 | Наименование способа расчета 2 | строка | Максимальная длина: 64 |
241 | Наименование способа расчета 3 | строка | Максимальная длина: 64 |
242 | Наименование способа расчета 4 | строка | Максимальная длина: 64 |
243 | Наименование способа расчета 5 | строка | Максимальная длина: 64 |
244 | Наименование способа расчета 6 | строка | Максимальная длина: 64 |
245 | Наименование способа расчета 7 | строка | Максимальная длина: 64 |
246 | Наименование способа расчета 8 | строка | Максимальная длина: 64 |
247 | Наименование способа расчета 9 | строка | Максимальная длина: 64 |
248 | Наименование способа расчета 10 | строка | Максимальная длина: 64 |
249 | Номер формы расчета 2 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
250 | Номер формы расчета 3 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
251 | Номер формы расчета 4 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
252 | Номер формы расчета 5 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
253 | Номер формы расчета 6 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
254 | Номер формы расчета 7 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
255 | Номер формы расчета 8 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
256 | Номер формы расчета 9 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
257 | Номер формы расчета 10 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
265 | Конфигурационная строка | строка | Максимальная длина: 32 |
266 | Имя пользователя | строка | Максимальная длина: 32 |
267 | Пароль | строка | Максимальная длина: 32 |
268 | Режим Wi-Fi | число | 0 - Клиент 1 - Точка доступа |
269 | Имя точки доступа для работы по Wi-Fi | строка | Максимальная длина: 32 |
270 | Пароль доступа к точке доступа | строка | Максимальная длина: 32 |
271 | Номер канала Wi-Fi в режиме точки доступа | число | 0 .. 13 |
272 | Тип шифрования Wi-Fi | число | 0 - Open 1 - WEP 2 - WPA 3 - WPA2 4 - WPA/WPA2 |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
275 | DNS ОФД | строка | Максимальная длина: 15 |
276 | Канал обмена с ОФД | число | 1 - USB (EoU) 2 - Ethernet 3 - Wi-Fi 4 - GSM-модем 5 - EthernetOverTransport |
277 | Адрес сайта ФНС | строка | Максимальная длина: 64 |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
280 | Интервал посылок диагностических сообщений, с. | число | 0 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 1 .. 5 |
282 | Интервал опроса ФН при разрывах (в сек.) | число | 5 .. 120 |
287 | Версия ФФД | число | 0 - Автоматически 100 - ФФД 1.0 |
301 | Печатать на ЧЛ сообщение о полученном IP-адресе | число | 0 - Не печатать 1 - Печатать |
305 | Частота обмена с ФН, кбит/с | число | 50 .. 400 |
306 | Передавать необязательные реквизиты в ОФД | число | 0 - Не передавать 1 - Передавать |
307 | Ожидание инициализации ФН после включения, с. | число | 5 .. 255 |
308 | Ожидание обработки команды в ФН, с. | число | 10 .. 255 |
309 | Размер чека в байтах | число | 0 .. 4294967295 |
310 | Печатать пароль доступа к точке Wi-Fi | число | 0 - Не печатать 1 - Печатать |
311 | Блокировать ККТ при переполнении ЭЖ | число | 0 - Не блокировать 1 - Блокировать работу по протоколу 2 - Блокировать работу с ЛК |
312 | Работа со скидками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
313 | Работа со надбавками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
325 | Получение IP-адреса от DHCP (Wi-Fi) | число | 0 - Отключено 1 - Включено |
326 | IP-адрес (Wi-Fi) | строка | Максимальная длина: 15 |
327 | Маска подсети (Wi-Fi) | строка | Максимальная длина: 15 |
328 | Шлюз по умолчанию (Wi-Fi) | строка | Максимальная длина: 15 |
330 | Шрифт реквизитов в чеке | число | 1 .. 7 |
331 | Сопряжение по Bluetooth | число | 0 - Запрещено 1 - Разрешено |
332 | Печатать реквизит "Наименование ОФД" | число | 0 - Не печатать 1 - Печатать |
333 | Печатать реквизит "Адрес электронной почты отправителя" | число | 0 - Не печатать 1 - Печатать |
334 | Работа с ЭЖ | число | 0 - Отключена 1 - Включена |
345 | Печатать реквизит "ИНН поставщика" | число | 0 - Не печатать 1 - Печатать |
АТОЛ 22Ф
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
0 | Номер ККТ в магазине | число | 0 .. 255 |
2 | Печатать названия секций | число | 0 - Не печатать 1 - Печатать |
3 | Печатать необнуляемую сумму приходов и расходов | число | 0 - Не печатать 1 - Печатать |
4 | Производить инкассацию | число | 0 - Нет 1 - Да |
5 | Расширенный X-отчет и Z-отчет | число | 0 - Нет 1 - Да |
6 | Печатать информацию о количестве чеков за смену по типам операций | число | 0 - Не печатать 1 - Печатать |
7 | Автоматически печатать отчет по секциям перед X- и Z-отчетом | число | 0 - Не печатать 1 - Печатать |
8 | Яркость печати ЧЛ | число | 1 .. 15 |
9 | Открывать ДЯ при закрытии чека | число | 0 - Нет 1 - Да |
11 | Пароль доступа | строка | Максимальная длина: 4 |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
13 | Шрифт ЧЛ | число | 1 .. 7 |
14 | Количество печатаемых строк после чека на ЧЛ | число | 0 .. 20 |
15 | Печатать разделители в суточных отчетах | число | 0 - Не печатать 1 - Печатать |
16 | Печатать номер секции | число | 0 - Не печатать 1 - Печатать |
17 | Печатать необнуляемый итог на начало смены в Z-отчете | число | 0 - Не печатать 1 - Печатать |
18 | Печатать необнуляемый итог на начало смены в X-отчете | число | 0 - Не печатать 1 - Печатать |
19 | Печатать текст командой «Печать строки» | число | 0 - Не печатать 1 - Печатать |
20 | Режим перехода на летнее/зимнее время | число | 0 - Не переходить 1 - Переходить, не оповещать 2 - Переходить, оповещать кассира 3 - Переходить, оповещать кассира и хост |
21 | Дата перехода на летнее время | число | |
22 | Дата перехода на зимнее время | число | |
23 | Количество символов в строке | число | 24 .. 64 |
24 | Символ для разделителя | строка | Максимальная длина: 1 |
25 | Проверять время | число | 0 .. 99 |
26 | Смещение области печати слева | число | 0 .. 24 |
27 | Печатать налоги в Х- и Z-отчете и при регистрации | число | 0 - Не печатать 1 - Печатать |
28 | Минимальная яркость термокомпенсации на ЧЛ | число | 1 .. 15 |
29 | Печатать на ЧЛ документ готовности к работе | число | 0 - Не печатать 1 - Печатать |
30 | Печатать на ЧЛ клише в служебных сообщениях | число | 0 - Не печатать 1 - Печатать |
31 | Печатать на ЧЛ сообщение о вводе даты-времени | число | 0 - Не печатать 1 - Печатать |
32 | Протокол работы ККТ | число | 0 - АТОЛ 2 1 - АТОЛ 3 |
33 | PIN-код для Bluetooth | строка | Максимальная длина: 8 |
34 | Уровень коррекции ошибок QR-кода | число | 1 .. 4 |
35 | Количество строк заголовка клише | число | 0 - 0 1 - 1 2 - 2 3 - 3 4 - 4 5 - 5 6 - 6 7 - 7 8 - 8 9 - 9 10 - 10 11 - 11 12 - 12 13 - 13 14 - 14 15 - 15 16 - 16 17 - 17 18 - 18 19 - 19 20 - 20 99 - Старый формат печати |
36 | Расстояние от ТПГ до отрывного ножа | число | 0 .. 255 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
38 | Звуковой сигнал при окончании бумаги и открытии крышки | число | 0 - Нет 1 - Да |
39 | Звуковой сигнал при включении | число | 0 - Нет 1 - Да |
40 | Сохранять печатаемый документ в память | число | 0 - Не сохранять 1 - Сохранять только отчеты 2 - Сохранять все |
41 | Печатать нулевые налоги | число | 0 - Не печатать 1 - Печатать |
42 | Печать необнуляемой суммы возвратов приходов | число | 0 - Не печатать 1 - Печатать |
43 | Печать необнуляемой суммы возвратов расходов | число | 0 - Не печатать 1 - Печатать |
44 | Печатать количество отмененных чеков по типам | число | 0 - Не печатать 1 - Печатать |
45 | Не печатать блоки «приходы», «возвраты приходов», «расходы», «возвраты расходов» | число | 0 - Печатать 1 - Не печатать |
46 | Печатать нулевые суммы | число | 0 - Не печатать 1 - Печатать |
47 | Печать номера ККМ в магазине | число | 0 - Не печатать 1 - Печатать |
48 | Печать реквизитов чека на аннулированных чеках | число | 0 - Не печатать 1 - Печатать |
49 | Получение IP-адреса от DHCP (Ethernet) | число | 0 - Отключено 1 - Включено |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
51 | Шаблон чека | число | 1 - Шаблон 1 2 - Шаблон 2 |
52 | Признак способа расчета по умолчанию | число | 1 - Предоплата 100% 2 - Предоплата 3 - Аванс 4 - Полный расчет 5 - Частичный расчет и кредит 6 - Передача в кредит 7 - Оплата кредита |
53 | Округлять сумму налога | число | 0 - На весь чек 1 - После каждой позиции |
54 | Контроль суммы налогов 10% и 18% (20%) | число | 0 - Отключен 1 - Включен |
55 | Пересчитывать суммы налогов после скидки на итог | число | 0 - Нет 1 - Да |
56 | Учет наличности | число | 0 - Отключен 1 - Включен |
57 | Печатать признак способа расчета | число | 0 - Не печатать 1 - Печатать |
58 | Печатать признак предмета расчета | число | 0 - Не печатать 1 - Печатать полное наименование 2 - Печатать краткое наименование |
59 | Не печатать суточный отчет с гашением при закрытии смены | число | 0 - Печатать 1 - Не печатать |
60 | Печатать необнуляемые суммы по способам расчета прихода и возврата прихода | число | 0 - Не печатать 1 - Печатать |
61 | Печатать необнуляемые суммы по способам расчета расхода и возврата расхода | число | 0 - Не печатать 1 - Печатать |
62 | Не печатать клише автоматически при закрытии чека | число | 0 - Печатать 1 - Не печатать |
63 | Признак предмета расчета по умолчанию | число | 1 - Товар 2 - Подакцизный товар 3 - Работа 4 - Услуга 5 - Ставка азартной игры 6 - Выигрыш азартной игры 7 - Лотерейный билет 8 - Выигрыш лотереи 9 - Предоставление РИД 10 - Платеж 11 - Агентское вознаграждение 12 - Составной предмет расчета 13 - Иной предмет расчета 14 - Имущественное право 15 - Внереализационный доход 16 - Страховые взносы 17 - Торговый сбор 18 - Курортный сбор 19 - Залог |
65 | Не открывать ДЯ при отсутствии наличного способа расчета в чеке | число | 0 - Открывать 1 - Не открывать |
66 | Отрезать чек после завершения документа | число | 0 - Не отрезать 1 - Не полностью 2 - Полностью |
67 | Запретить отрезку чеков | число | 0 - Нет 1 - Да |
68 | Запретить отрезку отчетов | число | 0 - Нет 1 - Да |
69 | Отрезать ЧЛ после печати клише командой «Печать клише» | число | 0 - Нет 1 - Да |
71 | IP-адрес (Ethernet) | строка | Максимальная длина: 15 |
72 | Маска подсети (Ethernet) | строка | Максимальная длина: 15 |
73 | Шлюз по умолчанию (Ethernet) | строка | Максимальная длина: 15 |
74 | IP-порт (Ethernet) | число | 1 .. 65535 |
75 | Расстояние от ножа отрезчика до гребенки | число | 0 .. 255 |
94 | Пароль кассира 1 | строка | Максимальная длина: 8 |
95 | Пароль кассира 2 | строка | Максимальная длина: 8 |
96 | Пароль кассира 3 | строка | Максимальная длина: 8 |
97 | Пароль кассира 4 | строка | Максимальная длина: 8 |
98 | Пароль кассира 5 | строка | Максимальная длина: 8 |
99 | Пароль кассира 6 | строка | Максимальная длина: 8 |
100 | Пароль кассира 7 | строка | Максимальная длина: 8 |
101 | Пароль кассира 8 | строка | Максимальная длина: 8 |
102 | Пароль кассира 9 | строка | Максимальная длина: 8 |
103 | Пароль кассира 10 | строка | Максимальная длина: 8 |
104 | Пароль кассира 11 | строка | Максимальная длина: 8 |
105 | Пароль кассира 12 | строка | Максимальная длина: 8 |
106 | Пароль кассира 13 | строка | Максимальная длина: 8 |
107 | Пароль кассира 14 | строка | Максимальная длина: 8 |
108 | Пароль кассира 15 | строка | Максимальная длина: 8 |
109 | Пароль кассира 16 | строка | Максимальная длина: 8 |
110 | Пароль кассира 17 | строка | Максимальная длина: 8 |
111 | Пароль кассира 18 | строка | Максимальная длина: 8 |
112 | Пароль кассира 19 | строка | Максимальная длина: 8 |
113 | Пароль кассира 20 | строка | Максимальная длина: 8 |
114 | Пароль кассира 21 | строка | Максимальная длина: 8 |
115 | Пароль кассира 22 | строка | Максимальная длина: 8 |
116 | Пароль кассира 23 | строка | Максимальная длина: 8 |
117 | Пароль кассира 24 | строка | Максимальная длина: 8 |
118 | Пароль кассира 25 | строка | Максимальная длина: 8 |
119 | Пароль кассира 26 | строка | Максимальная длина: 8 |
120 | Пароль кассира 27 | строка | Максимальная длина: 8 |
121 | Пароль кассира 28 | строка | Максимальная длина: 8 |
122 | Имя кассира 1 | строка | Максимальная длина: 64 |
123 | Имя кассира 2 | строка | Максимальная длина: 64 |
124 | Имя кассира 3 | строка | Максимальная длина: 64 |
125 | Имя кассира 4 | строка | Максимальная длина: 64 |
126 | Имя кассира 5 | строка | Максимальная длина: 64 |
127 | Имя кассира 6 | строка | Максимальная длина: 64 |
128 | Имя кассира 7 | строка | Максимальная длина: 64 |
129 | Имя кассира 8 | строка | Максимальная длина: 64 |
130 | Имя кассира 9 | строка | Максимальная длина: 64 |
131 | Имя кассира 10 | строка | Максимальная длина: 64 |
132 | Имя кассира 11 | строка | Максимальная длина: 64 |
133 | Имя кассира 12 | строка | Максимальная длина: 64 |
134 | Имя кассира 13 | строка | Максимальная длина: 64 |
135 | Имя кассира 14 | строка | Максимальная длина: 64 |
136 | Имя кассира 15 | строка | Максимальная длина: 64 |
137 | Имя кассира 16 | строка | Максимальная длина: 64 |
138 | Имя кассира 17 | строка | Максимальная длина: 64 |
139 | Имя кассира 18 | строка | Максимальная длина: 64 |
140 | Имя кассира 19 | строка | Максимальная длина: 64 |
141 | Имя кассира 20 | строка | Максимальная длина: 64 |
142 | Имя кассира 21 | строка | Максимальная длина: 64 |
143 | Имя кассира 22 | строка | Максимальная длина: 64 |
144 | Имя кассира 23 | строка | Максимальная длина: 64 |
145 | Имя кассира 24 | строка | Максимальная длина: 64 |
146 | Имя кассира 25 | строка | Максимальная длина: 64 |
147 | Имя кассира 26 | строка | Максимальная длина: 64 |
148 | Имя кассира 27 | строка | Максимальная длина: 64 |
149 | Имя кассира 28 | строка | Максимальная длина: 64 |
150 | ИНН кассира 1 | строка | Максимальная длина: 12 |
151 | ИНН кассира 2 | строка | Максимальная длина: 12 |
152 | ИНН кассира 3 | строка | Максимальная длина: 12 |
153 | ИНН кассира 4 | строка | Максимальная длина: 12 |
154 | ИНН кассира 5 | строка | Максимальная длина: 12 |
155 | ИНН кассира 6 | строка | Максимальная длина: 12 |
156 | ИНН кассира 7 | строка | Максимальная длина: 12 |
157 | ИНН кассира 8 | строка | Максимальная длина: 12 |
158 | ИНН кассира 9 | строка | Максимальная длина: 12 |
159 | ИНН кассира 10 | строка | Максимальная длина: 12 |
160 | ИНН кассира 11 | строка | Максимальная длина: 12 |
161 | ИНН кассира 12 | строка | Максимальная длина: 12 |
162 | ИНН кассира 13 | строка | Максимальная длина: 12 |
163 | ИНН кассира 14 | строка | Максимальная длина: 12 |
164 | ИНН кассира 15 | строка | Максимальная длина: 12 |
165 | ИНН кассира 16 | строка | Максимальная длина: 12 |
166 | ИНН кассира 17 | строка | Максимальная длина: 12 |
167 | ИНН кассира 18 | строка | Максимальная длина: 12 |
168 | ИНН кассира 19 | строка | Максимальная длина: 12 |
169 | ИНН кассира 20 | строка | Максимальная длина: 12 |
170 | ИНН кассира 21 | строка | Максимальная длина: 12 |
171 | ИНН кассира 22 | строка | Максимальная длина: 12 |
172 | ИНН кассира 23 | строка | Максимальная длина: 12 |
173 | ИНН кассира 24 | строка | Максимальная длина: 12 |
174 | ИНН кассира 25 | строка | Максимальная длина: 12 |
175 | ИНН кассира 26 | строка | Максимальная длина: 12 |
176 | ИНН кассира 27 | строка | Максимальная длина: 12 |
177 | ИНН кассира 28 | строка | Максимальная длина: 12 |
178 | Пароль администратора | строка | Максимальная длина: 8 |
179 | Имя администратора | строка | Максимальная длина: 64 |
180 | ИНН администратора | строка | Максимальная длина: 12 |
181 | Пароль системного администратора | строка | Максимальная длина: 8 |
182 | Имя системного администратора | строка | Максимальная длина: 64 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
184 | Строка клише 1 | строка | Максимальная длина: 64 |
185 | Строка клише 2 | строка | Максимальная длина: 64 |
186 | Строка клише 3 | строка | Максимальная длина: 64 |
187 | Строка клише 4 | строка | Максимальная длина: 64 |
188 | Строка клише 5 | строка | Максимальная длина: 64 |
189 | Строка клише 6 | строка | Максимальная длина: 64 |
190 | Строка клише 7 | строка | Максимальная длина: 64 |
191 | Строка клише 8 | строка | Максимальная длина: 64 |
192 | Строка клише 9 | строка | Максимальная длина: 64 |
193 | Строка клише 10 | строка | Максимальная длина: 64 |
194 | Строка клише 11 | строка | Максимальная длина: 64 |
195 | Строка клише 12 | строка | Максимальная длина: 64 |
196 | Строка клише 13 | строка | Максимальная длина: 64 |
197 | Строка клише 14 | строка | Максимальная длина: 64 |
198 | Строка клише 15 | строка | Максимальная длина: 64 |
199 | Строка клише 16 | строка | Максимальная длина: 64 |
200 | Строка клише 17 | строка | Максимальная длина: 64 |
201 | Строка клише 18 | строка | Максимальная длина: 64 |
202 | Строка клише 19 | строка | Максимальная длина: 64 |
203 | Строка клише 20 | строка | Максимальная длина: 64 |
204 | Наименование секции 1 | строка | Максимальная длина: 64 |
205 | Наименование секции 2 | строка | Максимальная длина: 64 |
206 | Наименование секции 3 | строка | Максимальная длина: 64 |
207 | Наименование секции 4 | строка | Максимальная длина: 64 |
208 | Наименование секции 5 | строка | Максимальная длина: 64 |
209 | Наименование секции 6 | строка | Максимальная длина: 64 |
210 | Наименование секции 7 | строка | Максимальная длина: 64 |
211 | Наименование секции 8 | строка | Максимальная длина: 64 |
212 | Наименование секции 9 | строка | Максимальная длина: 64 |
213 | Наименование секции 10 | строка | Максимальная длина: 64 |
214 | Наименование секции 11 | строка | Максимальная длина: 64 |
215 | Наименование секции 12 | строка | Максимальная длина: 64 |
216 | Наименование секции 13 | строка | Максимальная длина: 64 |
217 | Наименование секции 14 | строка | Максимальная длина: 64 |
218 | Наименование секции 15 | строка | Максимальная длина: 64 |
219 | Наименование секции 16 | строка | Максимальная длина: 64 |
220 | Номер налога 1 | число | 1 .. 6 |
221 | Номер налога 2 | число | 1 .. 6 |
222 | Номер налога 3 | число | 1 .. 6 |
223 | Номер налога 4 | число | 1 .. 6 |
224 | Номер налога 5 | число | 1 .. 6 |
225 | Номер налога 6 | число | 1 .. 6 |
226 | Номер налога 7 | число | 1 .. 6 |
227 | Номер налога 8 | число | 1 .. 6 |
228 | Номер налога 9 | число | 1 .. 6 |
229 | Номер налога 10 | число | 1 .. 6 |
230 | Номер налога 11 | число | 1 .. 6 |
231 | Номер налога 12 | число | 1 .. 6 |
232 | Номер налога 13 | число | 1 .. 6 |
233 | Номер налога 14 | число | 1 .. 6 |
234 | Номер налога 15 | число | 1 .. 6 |
235 | Номер налога 16 | число | 1 .. 6 |
236 | Скорость ККТ | число | 1200 - 1200 бод 2400 - 2400 бод 4800 - 4800 бод 9600 - 9600 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
238 | Скорость подключенного устройства | число | 1200 - 1200 бод 2400 - 2400 бод 4800 - 4800 бод 9600 - 9600 бод 14400 - 14400 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
239 | Канал обмена с ККТ | число | 0 - RS-232 4 - USB 5 - Bluetooth 6 - Ethernet 7 - Wi-Fi |
240 | Наименование способа расчета 2 | строка | Максимальная длина: 64 |
241 | Наименование способа расчета 3 | строка | Максимальная длина: 64 |
242 | Наименование способа расчета 4 | строка | Максимальная длина: 64 |
243 | Наименование способа расчета 5 | строка | Максимальная длина: 64 |
244 | Наименование способа расчета 6 | строка | Максимальная длина: 64 |
245 | Наименование способа расчета 7 | строка | Максимальная длина: 64 |
246 | Наименование способа расчета 8 | строка | Максимальная длина: 64 |
247 | Наименование способа расчета 9 | строка | Максимальная длина: 64 |
248 | Наименование способа расчета 10 | строка | Максимальная длина: 64 |
249 | Номер формы расчета 2 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
250 | Номер формы расчета 3 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
251 | Номер формы расчета 4 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
252 | Номер формы расчета 5 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
253 | Номер формы расчета 6 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
254 | Номер формы расчета 7 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
255 | Номер формы расчета 8 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
256 | Номер формы расчета 9 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
257 | Номер формы расчета 10 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
265 | Конфигурационная строка | строка | Максимальная длина: 32 |
266 | Имя пользователя | строка | Максимальная длина: 32 |
267 | Пароль | строка | Максимальная длина: 32 |
268 | Режим Wi-Fi | число | 0 - Клиент 1 - Точка доступа |
269 | Имя точки доступа для работы по Wi-Fi | строка | Максимальная длина: 32 |
270 | Пароль доступа к точке доступа | строка | Максимальная длина: 32 |
271 | Номер канала Wi-Fi в режиме точки доступа | число | 0 .. 13 |
272 | Тип шифрования Wi-Fi | число | 0 - Open 1 - WEP 2 - WPA 3 - WPA2 4 - WPA/WPA2 |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
275 | DNS ОФД | строка | Максимальная длина: 15 |
276 | Канал обмена с ОФД | число | 1 - USB (EoU) 2 - Ethernet 3 - Wi-Fi 4 - GSM-модем 5 - EthernetOverTransport |
277 | Адрес сайта ФНС | строка | Максимальная длина: 64 |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
280 | Интервал посылок диагностических сообщений, с. | число | 0 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 1 .. 5 |
282 | Интервал опроса ФН при разрывах (в сек.) | число | 5 .. 120 |
287 | Версия ФФД | число | 0 - Автоматически 100 - ФФД 1.0 |
301 | Печатать на ЧЛ сообщение о полученном IP-адресе | число | 0 - Не печатать 1 - Печатать |
305 | Частота обмена с ФН, кбит/с | число | 50 .. 400 |
306 | Передавать необязательные реквизиты в ОФД | число | 0 - Не передавать 1 - Передавать |
307 | Ожидание инициализации ФН после включения, с. | число | 5 .. 255 |
308 | Ожидание обработки команды в ФН, с. | число | 10 .. 255 |
309 | Размер чека в байтах | число | 0 .. 4294967295 |
310 | Печатать пароль доступа к точке Wi-Fi | число | 0 - Не печатать 1 - Печатать |
311 | Блокировать ККТ при переполнении ЭЖ | число | 0 - Не блокировать 1 - Блокировать работу по протоколу 2 - Блокировать работу с ЛК |
312 | Работа со скидками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
313 | Работа со надбавками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
325 | Получение IP-адреса от DHCP (Wi-Fi) | число | 0 - Отключено 1 - Включено |
326 | IP-адрес (Wi-Fi) | строка | Максимальная длина: 15 |
327 | Маска подсети (Wi-Fi) | строка | Максимальная длина: 15 |
328 | Шлюз по умолчанию (Wi-Fi) | строка | Максимальная длина: 15 |
330 | Шрифт реквизитов в чеке | число | 1 .. 7 |
331 | Сопряжение по Bluetooth | число | 0 - Запрещено 1 - Разрешено |
332 | Печатать реквизит "Наименование ОФД" | число | 0 - Не печатать 1 - Печатать |
333 | Печатать реквизит "Адрес электронной почты отправителя" | число | 0 - Не печатать 1 - Печатать |
334 | Работа с ЭЖ | число | 0 - Отключена 1 - Включена |
345 | Печатать реквизит "ИНН поставщика" | число | 0 - Не печатать 1 - Печатать |
АТОЛ 25Ф
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
0 | Номер ККТ в магазине | число | 0 .. 255 |
2 | Печатать названия секций | число | 0 - Не печатать 1 - Печатать |
3 | Печатать необнуляемую сумму приходов и расходов | число | 0 - Не печатать 1 - Печатать |
4 | Производить инкассацию | число | 0 - Нет 1 - Да |
5 | Расширенный X-отчет и Z-отчет | число | 0 - Нет 1 - Да |
6 | Печатать информацию о количестве чеков за смену по типам операций | число | 0 - Не печатать 1 - Печатать |
7 | Автоматически печатать отчет по секциям перед X- и Z-отчетом | число | 0 - Не печатать 1 - Печатать |
8 | Яркость печати ЧЛ | число | 1 .. 15 |
9 | Открывать ДЯ при закрытии чека | число | 0 - Нет 1 - Да |
11 | Пароль доступа | строка | Максимальная длина: 4 |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
13 | Шрифт ЧЛ | число | 1 .. 7 |
14 | Количество печатаемых строк после чека на ЧЛ | число | 0 .. 20 |
15 | Печатать разделители в суточных отчетах | число | 0 - Не печатать 1 - Печатать |
16 | Печатать номер секции | число | 0 - Не печатать 1 - Печатать |
17 | Печатать необнуляемый итог на начало смены в Z-отчете | число | 0 - Не печатать 1 - Печатать |
18 | Печатать необнуляемый итог на начало смены в X-отчете | число | 0 - Не печатать 1 - Печатать |
19 | Печатать текст командой «Печать строки» | число | 0 - Не печатать 1 - Печатать |
20 | Режим перехода на летнее/зимнее время | число | 0 - Не переходить 1 - Переходить, не оповещать 2 - Переходить, оповещать кассира 3 - Переходить, оповещать кассира и хост |
21 | Дата перехода на летнее время | число | |
22 | Дата перехода на зимнее время | число | |
23 | Количество символов в строке | число | 24 .. 64 |
24 | Символ для разделителя | строка | Максимальная длина: 1 |
25 | Проверять время | число | 0 .. 99 |
26 | Смещение области печати слева | число | 0 .. 24 |
27 | Печатать налоги в Х- и Z-отчете и при регистрации | число | 0 - Не печатать 1 - Печатать |
28 | Минимальная яркость термокомпенсации на ЧЛ | число | 1 .. 15 |
29 | Печатать на ЧЛ документ готовности к работе | число | 0 - Не печатать 1 - Печатать |
30 | Печатать на ЧЛ клише в служебных сообщениях | число | 0 - Не печатать 1 - Печатать |
31 | Печатать на ЧЛ сообщение о вводе даты-времени | число | 0 - Не печатать 1 - Печатать |
32 | Протокол работы ККТ | число | 0 - АТОЛ 2 1 - АТОЛ 3 |
33 | PIN-код для Bluetooth | строка | Максимальная длина: 8 |
34 | Уровень коррекции ошибок QR-кода | число | 1 .. 4 |
35 | Количество строк заголовка клише | число | 0 - 0 1 - 1 2 - 2 3 - 3 4 - 4 5 - 5 6 - 6 7 - 7 8 - 8 9 - 9 10 - 10 11 - 11 12 - 12 13 - 13 14 - 14 15 - 15 16 - 16 17 - 17 18 - 18 19 - 19 20 - 20 99 - Старый формат печати |
36 | Расстояние от ТПГ до отрывного ножа | число | 0 .. 255 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
38 | Звуковой сигнал при окончании бумаги и открытии крышки | число | 0 - Нет 1 - Да |
39 | Звуковой сигнал при включении | число | 0 - Нет 1 - Да |
40 | Сохранять печатаемый документ в память | число | 0 - Не сохранять 1 - Сохранять только отчеты 2 - Сохранять все |
41 | Печатать нулевые налоги | число | 0 - Не печатать 1 - Печатать |
42 | Печать необнуляемой суммы возвратов приходов | число | 0 - Не печатать 1 - Печатать |
43 | Печать необнуляемой суммы возвратов расходов | число | 0 - Не печатать 1 - Печатать |
44 | Печатать количество отмененных чеков по типам | число | 0 - Не печатать 1 - Печатать |
45 | Не печатать блоки «приходы», «возвраты приходов», «расходы», «возвраты расходов» | число | 0 - Печатать 1 - Не печатать |
46 | Печатать нулевые суммы | число | 0 - Не печатать 1 - Печатать |
47 | Печать номера ККМ в магазине | число | 0 - Не печатать 1 - Печатать |
48 | Печать реквизитов чека на аннулированных чеках | число | 0 - Не печатать 1 - Печатать |
49 | Получение IP-адреса от DHCP (Ethernet) | число | 0 - Отключено 1 - Включено |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
51 | Шаблон чека | число | 1 - Шаблон 1 2 - Шаблон 2 |
52 | Признак способа расчета по умолчанию | число | 1 - Предоплата 100% 2 - Предоплата 3 - Аванс 4 - Полный расчет 5 - Частичный расчет и кредит 6 - Передача в кредит 7 - Оплата кредита |
53 | Округлять сумму налога | число | 0 - На весь чек 1 - После каждой позиции |
54 | Контроль суммы налогов 10% и 18% (20%) | число | 0 - Отключен 1 - Включен |
55 | Пересчитывать суммы налогов после скидки на итог | число | 0 - Нет 1 - Да |
56 | Учет наличности | число | 0 - Отключен 1 - Включен |
57 | Печатать признак способа расчета | число | 0 - Не печатать 1 - Печатать |
58 | Печатать признак предмета расчета | число | 0 - Не печатать 1 - Печатать полное наименование 2 - Печатать краткое наименование |
59 | Не печатать суточный отчет с гашением при закрытии смены | число | 0 - Печатать 1 - Не печатать |
60 | Печатать необнуляемые суммы по способам расчета прихода и возврата прихода | число | 0 - Не печатать 1 - Печатать |
61 | Печатать необнуляемые суммы по способам расчета расхода и возврата расхода | число | 0 - Не печатать 1 - Печатать |
62 | Не печатать клише автоматически при закрытии чека | число | 0 - Печатать 1 - Не печатать |
63 | Признак предмета расчета по умолчанию | число | 1 - Товар 2 - Подакцизный товар 3 - Работа 4 - Услуга 5 - Ставка азартной игры 6 - Выигрыш азартной игры 7 - Лотерейный билет 8 - Выигрыш лотереи 9 - Предоставление РИД 10 - Платеж 11 - Агентское вознаграждение 12 - Составной предмет расчета 13 - Иной предмет расчета 14 - Имущественное право 15 - Внереализационный доход 16 - Страховые взносы 17 - Торговый сбор 18 - Курортный сбор 19 - Залог |
65 | Не открывать ДЯ при отсутствии наличного способа расчета в чеке | число | 0 - Открывать 1 - Не открывать |
66 | Отрезать чек после завершения документа | число | 0 - Не отрезать 1 - Не полностью 2 - Полностью |
67 | Запретить отрезку чеков | число | 0 - Нет 1 - Да |
68 | Запретить отрезку отчетов | число | 0 - Нет 1 - Да |
69 | Отрезать ЧЛ после печати клише командой «Печать клише» | число | 0 - Нет 1 - Да |
71 | IP-адрес (Ethernet) | строка | Максимальная длина: 15 |
72 | Маска подсети (Ethernet) | строка | Максимальная длина: 15 |
73 | Шлюз по умолчанию (Ethernet) | строка | Максимальная длина: 15 |
74 | IP-порт (Ethernet) | число | 1 .. 65535 |
75 | Расстояние от ножа отрезчика до гребенки | число | 0 .. 255 |
76 | Выключение / перезагрузка ККТ | число | 0 - По кнопке 1 - По команде 2 - По кнопке и по команде |
94 | Пароль кассира 1 | строка | Максимальная длина: 8 |
95 | Пароль кассира 2 | строка | Максимальная длина: 8 |
96 | Пароль кассира 3 | строка | Максимальная длина: 8 |
97 | Пароль кассира 4 | строка | Максимальная длина: 8 |
98 | Пароль кассира 5 | строка | Максимальная длина: 8 |
99 | Пароль кассира 6 | строка | Максимальная длина: 8 |
100 | Пароль кассира 7 | строка | Максимальная длина: 8 |
101 | Пароль кассира 8 | строка | Максимальная длина: 8 |
102 | Пароль кассира 9 | строка | Максимальная длина: 8 |
103 | Пароль кассира 10 | строка | Максимальная длина: 8 |
104 | Пароль кассира 11 | строка | Максимальная длина: 8 |
105 | Пароль кассира 12 | строка | Максимальная длина: 8 |
106 | Пароль кассира 13 | строка | Максимальная длина: 8 |
107 | Пароль кассира 14 | строка | Максимальная длина: 8 |
108 | Пароль кассира 15 | строка | Максимальная длина: 8 |
109 | Пароль кассира 16 | строка | Максимальная длина: 8 |
110 | Пароль кассира 17 | строка | Максимальная длина: 8 |
111 | Пароль кассира 18 | строка | Максимальная длина: 8 |
112 | Пароль кассира 19 | строка | Максимальная длина: 8 |
113 | Пароль кассира 20 | строка | Максимальная длина: 8 |
114 | Пароль кассира 21 | строка | Максимальная длина: 8 |
115 | Пароль кассира 22 | строка | Максимальная длина: 8 |
116 | Пароль кассира 23 | строка | Максимальная длина: 8 |
117 | Пароль кассира 24 | строка | Максимальная длина: 8 |
118 | Пароль кассира 25 | строка | Максимальная длина: 8 |
119 | Пароль кассира 26 | строка | Максимальная длина: 8 |
120 | Пароль кассира 27 | строка | Максимальная длина: 8 |
121 | Пароль кассира 28 | строка | Максимальная длина: 8 |
122 | Имя кассира 1 | строка | Максимальная длина: 64 |
123 | Имя кассира 2 | строка | Максимальная длина: 64 |
124 | Имя кассира 3 | строка | Максимальная длина: 64 |
125 | Имя кассира 4 | строка | Максимальная длина: 64 |
126 | Имя кассира 5 | строка | Максимальная длина: 64 |
127 | Имя кассира 6 | строка | Максимальная длина: 64 |
128 | Имя кассира 7 | строка | Максимальная длина: 64 |
129 | Имя кассира 8 | строка | Максимальная длина: 64 |
130 | Имя кассира 9 | строка | Максимальная длина: 64 |
131 | Имя кассира 10 | строка | Максимальная длина: 64 |
132 | Имя кассира 11 | строка | Максимальная длина: 64 |
133 | Имя кассира 12 | строка | Максимальная длина: 64 |
134 | Имя кассира 13 | строка | Максимальная длина: 64 |
135 | Имя кассира 14 | строка | Максимальная длина: 64 |
136 | Имя кассира 15 | строка | Максимальная длина: 64 |
137 | Имя кассира 16 | строка | Максимальная длина: 64 |
138 | Имя кассира 17 | строка | Максимальная длина: 64 |
139 | Имя кассира 18 | строка | Максимальная длина: 64 |
140 | Имя кассира 19 | строка | Максимальная длина: 64 |
141 | Имя кассира 20 | строка | Максимальная длина: 64 |
142 | Имя кассира 21 | строка | Максимальная длина: 64 |
143 | Имя кассира 22 | строка | Максимальная длина: 64 |
144 | Имя кассира 23 | строка | Максимальная длина: 64 |
145 | Имя кассира 24 | строка | Максимальная длина: 64 |
146 | Имя кассира 25 | строка | Максимальная длина: 64 |
147 | Имя кассира 26 | строка | Максимальная длина: 64 |
148 | Имя кассира 27 | строка | Максимальная длина: 64 |
149 | Имя кассира 28 | строка | Максимальная длина: 64 |
150 | ИНН кассира 1 | строка | Максимальная длина: 12 |
151 | ИНН кассира 2 | строка | Максимальная длина: 12 |
152 | ИНН кассира 3 | строка | Максимальная длина: 12 |
153 | ИНН кассира 4 | строка | Максимальная длина: 12 |
154 | ИНН кассира 5 | строка | Максимальная длина: 12 |
155 | ИНН кассира 6 | строка | Максимальная длина: 12 |
156 | ИНН кассира 7 | строка | Максимальная длина: 12 |
157 | ИНН кассира 8 | строка | Максимальная длина: 12 |
158 | ИНН кассира 9 | строка | Максимальная длина: 12 |
159 | ИНН кассира 10 | строка | Максимальная длина: 12 |
160 | ИНН кассира 11 | строка | Максимальная длина: 12 |
161 | ИНН кассира 12 | строка | Максимальная длина: 12 |
162 | ИНН кассира 13 | строка | Максимальная длина: 12 |
163 | ИНН кассира 14 | строка | Максимальная длина: 12 |
164 | ИНН кассира 15 | строка | Максимальная длина: 12 |
165 | ИНН кассира 16 | строка | Максимальная длина: 12 |
166 | ИНН кассира 17 | строка | Максимальная длина: 12 |
167 | ИНН кассира 18 | строка | Максимальная длина: 12 |
168 | ИНН кассира 19 | строка | Максимальная длина: 12 |
169 | ИНН кассира 20 | строка | Максимальная длина: 12 |
170 | ИНН кассира 21 | строка | Максимальная длина: 12 |
171 | ИНН кассира 22 | строка | Максимальная длина: 12 |
172 | ИНН кассира 23 | строка | Максимальная длина: 12 |
173 | ИНН кассира 24 | строка | Максимальная длина: 12 |
174 | ИНН кассира 25 | строка | Максимальная длина: 12 |
175 | ИНН кассира 26 | строка | Максимальная длина: 12 |
176 | ИНН кассира 27 | строка | Максимальная длина: 12 |
177 | ИНН кассира 28 | строка | Максимальная длина: 12 |
178 | Пароль администратора | строка | Максимальная длина: 8 |
179 | Имя администратора | строка | Максимальная длина: 64 |
180 | ИНН администратора | строка | Максимальная длина: 12 |
181 | Пароль системного администратора | строка | Максимальная длина: 8 |
182 | Имя системного администратора | строка | Максимальная длина: 64 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
184 | Строка клише 1 | строка | Максимальная длина: 64 |
185 | Строка клише 2 | строка | Максимальная длина: 64 |
186 | Строка клише 3 | строка | Максимальная длина: 64 |
187 | Строка клише 4 | строка | Максимальная длина: 64 |
188 | Строка клише 5 | строка | Максимальная длина: 64 |
189 | Строка клише 6 | строка | Максимальная длина: 64 |
190 | Строка клише 7 | строка | Максимальная длина: 64 |
191 | Строка клише 8 | строка | Максимальная длина: 64 |
192 | Строка клише 9 | строка | Максимальная длина: 64 |
193 | Строка клише 10 | строка | Максимальная длина: 64 |
194 | Строка клише 11 | строка | Максимальная длина: 64 |
195 | Строка клише 12 | строка | Максимальная длина: 64 |
196 | Строка клише 13 | строка | Максимальная длина: 64 |
197 | Строка клише 14 | строка | Максимальная длина: 64 |
198 | Строка клише 15 | строка | Максимальная длина: 64 |
199 | Строка клише 16 | строка | Максимальная длина: 64 |
200 | Строка клише 17 | строка | Максимальная длина: 64 |
201 | Строка клише 18 | строка | Максимальная длина: 64 |
202 | Строка клише 19 | строка | Максимальная длина: 64 |
203 | Строка клише 20 | строка | Максимальная длина: 64 |
204 | Наименование секции 1 | строка | Максимальная длина: 64 |
205 | Наименование секции 2 | строка | Максимальная длина: 64 |
206 | Наименование секции 3 | строка | Максимальная длина: 64 |
207 | Наименование секции 4 | строка | Максимальная длина: 64 |
208 | Наименование секции 5 | строка | Максимальная длина: 64 |
209 | Наименование секции 6 | строка | Максимальная длина: 64 |
210 | Наименование секции 7 | строка | Максимальная длина: 64 |
211 | Наименование секции 8 | строка | Максимальная длина: 64 |
212 | Наименование секции 9 | строка | Максимальная длина: 64 |
213 | Наименование секции 10 | строка | Максимальная длина: 64 |
214 | Наименование секции 11 | строка | Максимальная длина: 64 |
215 | Наименование секции 12 | строка | Максимальная длина: 64 |
216 | Наименование секции 13 | строка | Максимальная длина: 64 |
217 | Наименование секции 14 | строка | Максимальная длина: 64 |
218 | Наименование секции 15 | строка | Максимальная длина: 64 |
219 | Наименование секции 16 | строка | Максимальная длина: 64 |
220 | Номер налога 1 | число | 1 .. 6 |
221 | Номер налога 2 | число | 1 .. 6 |
222 | Номер налога 3 | число | 1 .. 6 |
223 | Номер налога 4 | число | 1 .. 6 |
224 | Номер налога 5 | число | 1 .. 6 |
225 | Номер налога 6 | число | 1 .. 6 |
226 | Номер налога 7 | число | 1 .. 6 |
227 | Номер налога 8 | число | 1 .. 6 |
228 | Номер налога 9 | число | 1 .. 6 |
229 | Номер налога 10 | число | 1 .. 6 |
230 | Номер налога 11 | число | 1 .. 6 |
231 | Номер налога 12 | число | 1 .. 6 |
232 | Номер налога 13 | число | 1 .. 6 |
233 | Номер налога 14 | число | 1 .. 6 |
234 | Номер налога 15 | число | 1 .. 6 |
235 | Номер налога 16 | число | 1 .. 6 |
236 | Скорость ККТ | число | 1200 - 1200 бод 2400 - 2400 бод 4800 - 4800 бод 9600 - 9600 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
238 | Скорость подключенного устройства | число | 1200 - 1200 бод 2400 - 2400 бод 4800 - 4800 бод 9600 - 9600 бод 14400 - 14400 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
239 | Канал обмена с ККТ | число | 0 - RS-232 4 - USB 5 - Bluetooth 6 - Ethernet 7 - Wi-Fi |
240 | Наименование способа расчета 2 | строка | Максимальная длина: 64 |
241 | Наименование способа расчета 3 | строка | Максимальная длина: 64 |
242 | Наименование способа расчета 4 | строка | Максимальная длина: 64 |
243 | Наименование способа расчета 5 | строка | Максимальная длина: 64 |
244 | Наименование способа расчета 6 | строка | Максимальная длина: 64 |
245 | Наименование способа расчета 7 | строка | Максимальная длина: 64 |
246 | Наименование способа расчета 8 | строка | Максимальная длина: 64 |
247 | Наименование способа расчета 9 | строка | Максимальная длина: 64 |
248 | Наименование способа расчета 10 | строка | Максимальная длина: 64 |
249 | Номер формы расчета 2 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
250 | Номер формы расчета 3 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
251 | Номер формы расчета 4 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
252 | Номер формы расчета 5 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
253 | Номер формы расчета 6 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
254 | Номер формы расчета 7 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
255 | Номер формы расчета 8 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
256 | Номер формы расчета 9 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
257 | Номер формы расчета 10 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
265 | Конфигурационная строка | строка | Максимальная длина: 32 |
266 | Имя пользователя | строка | Максимальная длина: 32 |
267 | Пароль | строка | Максимальная длина: 32 |
268 | Режим Wi-Fi | число | 0 - Клиент 1 - Точка доступа |
269 | Имя точки доступа для работы по Wi-Fi | строка | Максимальная длина: 32 |
270 | Пароль доступа к точке доступа | строка | Максимальная длина: 32 |
271 | Номер канала Wi-Fi в режиме точки доступа | число | 0 .. 13 |
272 | Тип шифрования Wi-Fi | число | 0 - Open 1 - WEP 2 - WPA 3 - WPA2 4 - WPA/WPA2 |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
275 | DNS ОФД | строка | Максимальная длина: 15 |
276 | Канал обмена с ОФД | число | 1 - USB (EoU) 2 - Ethernet 3 - Wi-Fi 4 - GSM-модем 5 - EthernetOverTransport |
277 | Адрес сайта ФНС | строка | Максимальная длина: 64 |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
280 | Интервал посылок диагностических сообщений, с. | число | 0 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 1 .. 5 |
282 | Интервал опроса ФН при разрывах (в сек.) | число | 5 .. 120 |
287 | Версия ФФД | число | 0 - Автоматически 100 - ФФД 1.0 |
301 | Печатать на ЧЛ сообщение о полученном IP-адресе | число | 0 - Не печатать 1 - Печатать |
305 | Частота обмена с ФН, кбит/с | число | 50 .. 400 |
306 | Передавать необязательные реквизиты в ОФД | число | 0 - Не передавать 1 - Передавать |
307 | Ожидание инициализации ФН после включения, с. | число | 5 .. 255 |
308 | Ожидание обработки команды в ФН, с. | число | 10 .. 255 |
309 | Размер чека в байтах | число | 0 .. 4294967295 |
310 | Печатать пароль доступа к точке Wi-Fi | число | 0 - Не печатать 1 - Печатать |
311 | Блокировать ККТ при переполнении ЭЖ | число | 0 - Не блокировать 1 - Блокировать работу по протоколу 2 - Блокировать работу с ЛК |
312 | Работа со скидками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
313 | Работа со надбавками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
325 | Получение IP-адреса от DHCP (Wi-Fi) | число | 0 - Отключено 1 - Включено |
326 | IP-адрес (Wi-Fi) | строка | Максимальная длина: 15 |
327 | Маска подсети (Wi-Fi) | строка | Максимальная длина: 15 |
328 | Шлюз по умолчанию (Wi-Fi) | строка | Максимальная длина: 15 |
330 | Шрифт реквизитов в чеке | число | 1 .. 7 |
331 | Сопряжение по Bluetooth | число | 0 - Запрещено 1 - Разрешено |
332 | Печатать реквизит "Наименование ОФД" | число | 0 - Не печатать 1 - Печатать |
333 | Печатать реквизит "Адрес электронной почты отправителя" | число | 0 - Не печатать 1 - Печатать |
334 | Работа с ЭЖ | число | 0 - Отключена 1 - Включена |
345 | Печатать реквизит "ИНН поставщика" | число | 0 - Не печатать 1 - Печатать |
АТОЛ 30Ф
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
0 | Номер ККТ в магазине | число | 0 .. 255 |
2 | Печатать названия секций | число | 0 - Не печатать 1 - Печатать |
3 | Печатать необнуляемую сумму приходов и расходов | число | 0 - Не печатать 1 - Печатать |
4 | Производить инкассацию | число | 0 - Нет 1 - Да |
5 | Расширенный X-отчет и Z-отчет | число | 0 - Нет 1 - Да |
6 | Печатать информацию о количестве чеков за смену по типам операций | число | 0 - Не печатать 1 - Печатать |
7 | Автоматически печатать отчет по секциям перед X- и Z-отчетом | число | 0 - Не печатать 1 - Печатать |
8 | Яркость печати ЧЛ | число | 1 .. 15 |
9 | Открывать ДЯ при закрытии чека | число | 0 - Нет 1 - Да |
11 | Пароль доступа | строка | Максимальная длина: 4 |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
13 | Шрифт ЧЛ | число | 1 .. 7 |
14 | Количество печатаемых строк после чека на ЧЛ | число | 0 .. 20 |
15 | Печатать разделители в суточных отчетах | число | 0 - Не печатать 1 - Печатать |
16 | Печатать номер секции | число | 0 - Не печатать 1 - Печатать |
17 | Печатать необнуляемый итог на начало смены в Z-отчете | число | 0 - Не печатать 1 - Печатать |
18 | Печатать необнуляемый итог на начало смены в X-отчете | число | 0 - Не печатать 1 - Печатать |
19 | Печатать текст командой «Печать строки» | число | 0 - Не печатать 1 - Печатать |
20 | Режим перехода на летнее/зимнее время | число | 0 - Не переходить 1 - Переходить, не оповещать 2 - Переходить, оповещать кассира 3 - Переходить, оповещать кассира и хост |
21 | Дата перехода на летнее время | число | |
22 | Дата перехода на зимнее время | число | |
23 | Количество символов в строке | число | 24 .. 64 |
24 | Символ для разделителя | строка | Максимальная длина: 1 |
25 | Проверять время | число | 0 .. 99 |
26 | Смещение области печати слева | число | 0 .. 24 |
27 | Печатать налоги в Х- и Z-отчете и при регистрации | число | 0 - Не печатать 1 - Печатать |
28 | Минимальная яркость термокомпенсации на ЧЛ | число | 1 .. 15 |
29 | Печатать на ЧЛ документ готовности к работе | число | 0 - Не печатать 1 - Печатать |
30 | Печатать на ЧЛ клише в служебных сообщениях | число | 0 - Не печатать 1 - Печатать |
31 | Печатать на ЧЛ сообщение о вводе даты-времени | число | 0 - Не печатать 1 - Печатать |
32 | Протокол работы ККТ | число | 0 - АТОЛ 2 1 - АТОЛ 3 |
33 | PIN-код для Bluetooth | строка | Максимальная длина: 8 |
34 | Уровень коррекции ошибок QR-кода | число | 1 .. 4 |
35 | Количество строк заголовка клише | число | 0 - 0 1 - 1 2 - 2 3 - 3 4 - 4 5 - 5 6 - 6 7 - 7 8 - 8 9 - 9 10 - 10 11 - 11 12 - 12 13 - 13 14 - 14 15 - 15 16 - 16 17 - 17 18 - 18 19 - 19 20 - 20 99 - Старый формат печати |
36 | Расстояние от ТПГ до отрывного ножа | число | 0 .. 255 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
38 | Звуковой сигнал при окончании бумаги и открытии крышки | число | 0 - Нет 1 - Да |
39 | Звуковой сигнал при включении | число | 0 - Нет 1 - Да |
40 | Сохранять печатаемый документ в память | число | 0 - Не сохранять 1 - Сохранять только отчеты 2 - Сохранять все |
41 | Печатать нулевые налоги | число | 0 - Не печатать 1 - Печатать |
42 | Печать необнуляемой суммы возвратов приходов | число | 0 - Не печатать 1 - Печатать |
43 | Печать необнуляемой суммы возвратов расходов | число | 0 - Не печатать 1 - Печатать |
44 | Печатать количество отмененных чеков по типам | число | 0 - Не печатать 1 - Печатать |
45 | Не печатать блоки «приходы», «возвраты приходов», «расходы», «возвраты расходов» | число | 0 - Печатать 1 - Не печатать |
46 | Печатать нулевые суммы | число | 0 - Не печатать 1 - Печатать |
47 | Печать номера ККМ в магазине | число | 0 - Не печатать 1 - Печатать |
48 | Печать реквизитов чека на аннулированных чеках | число | 0 - Не печатать 1 - Печатать |
49 | Получение IP-адреса от DHCP (Ethernet) | число | 0 - Отключено 1 - Включено |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
51 | Шаблон чека | число | 1 - Шаблон 1 2 - Шаблон 2 |
52 | Признак способа расчета по умолчанию | число | 1 - Предоплата 100% 2 - Предоплата 3 - Аванс 4 - Полный расчет 5 - Частичный расчет и кредит 6 - Передача в кредит 7 - Оплата кредита |
53 | Округлять сумму налога | число | 0 - На весь чек 1 - После каждой позиции |
54 | Контроль суммы налогов 10% и 18% (20%) | число | 0 - Отключен 1 - Включен |
55 | Пересчитывать суммы налогов после скидки на итог | число | 0 - Нет 1 - Да |
56 | Учет наличности | число | 0 - Отключен 1 - Включен |
57 | Печатать признак способа расчета | число | 0 - Не печатать 1 - Печатать |
58 | Печатать признак предмета расчета | число | 0 - Не печатать 1 - Печатать полное наименование 2 - Печатать краткое наименование |
59 | Не печатать суточный отчет с гашением при закрытии смены | число | 0 - Печатать 1 - Не печатать |
60 | Печатать необнуляемые суммы по способам расчета прихода и возврата прихода | число | 0 - Не печатать 1 - Печатать |
61 | Печатать необнуляемые суммы по способам расчета расхода и возврата расхода | число | 0 - Не печатать 1 - Печатать |
62 | Не печатать клише автоматически при закрытии чека | число | 0 - Печатать 1 - Не печатать |
63 | Признак предмета расчета по умолчанию | число | 1 - Товар 2 - Подакцизный товар 3 - Работа 4 - Услуга 5 - Ставка азартной игры 6 - Выигрыш азартной игры 7 - Лотерейный билет 8 - Выигрыш лотереи 9 - Предоставление РИД 10 - Платеж 11 - Агентское вознаграждение 12 - Составной предмет расчета 13 - Иной предмет расчета 14 - Имущественное право 15 - Внереализационный доход 16 - Страховые взносы 17 - Торговый сбор 18 - Курортный сбор 19 - Залог |
65 | Не открывать ДЯ при отсутствии наличного способа расчета в чеке | число | 0 - Открывать 1 - Не открывать |
94 | Пароль кассира 1 | строка | Максимальная длина: 8 |
95 | Пароль кассира 2 | строка | Максимальная длина: 8 |
96 | Пароль кассира 3 | строка | Максимальная длина: 8 |
97 | Пароль кассира 4 | строка | Максимальная длина: 8 |
98 | Пароль кассира 5 | строка | Максимальная длина: 8 |
99 | Пароль кассира 6 | строка | Максимальная длина: 8 |
100 | Пароль кассира 7 | строка | Максимальная длина: 8 |
101 | Пароль кассира 8 | строка | Максимальная длина: 8 |
102 | Пароль кассира 9 | строка | Максимальная длина: 8 |
103 | Пароль кассира 10 | строка | Максимальная длина: 8 |
104 | Пароль кассира 11 | строка | Максимальная длина: 8 |
105 | Пароль кассира 12 | строка | Максимальная длина: 8 |
106 | Пароль кассира 13 | строка | Максимальная длина: 8 |
107 | Пароль кассира 14 | строка | Максимальная длина: 8 |
108 | Пароль кассира 15 | строка | Максимальная длина: 8 |
109 | Пароль кассира 16 | строка | Максимальная длина: 8 |
110 | Пароль кассира 17 | строка | Максимальная длина: 8 |
111 | Пароль кассира 18 | строка | Максимальная длина: 8 |
112 | Пароль кассира 19 | строка | Максимальная длина: 8 |
113 | Пароль кассира 20 | строка | Максимальная длина: 8 |
114 | Пароль кассира 21 | строка | Максимальная длина: 8 |
115 | Пароль кассира 22 | строка | Максимальная длина: 8 |
116 | Пароль кассира 23 | строка | Максимальная длина: 8 |
117 | Пароль кассира 24 | строка | Максимальная длина: 8 |
118 | Пароль кассира 25 | строка | Максимальная длина: 8 |
119 | Пароль кассира 26 | строка | Максимальная длина: 8 |
120 | Пароль кассира 27 | строка | Максимальная длина: 8 |
121 | Пароль кассира 28 | строка | Максимальная длина: 8 |
122 | Имя кассира 1 | строка | Максимальная длина: 42 |
123 | Имя кассира 2 | строка | Максимальная длина: 42 |
124 | Имя кассира 3 | строка | Максимальная длина: 42 |
125 | Имя кассира 4 | строка | Максимальная длина: 42 |
126 | Имя кассира 5 | строка | Максимальная длина: 42 |
127 | Имя кассира 6 | строка | Максимальная длина: 42 |
128 | Имя кассира 7 | строка | Максимальная длина: 42 |
129 | Имя кассира 8 | строка | Максимальная длина: 42 |
130 | Имя кассира 9 | строка | Максимальная длина: 42 |
131 | Имя кассира 10 | строка | Максимальная длина: 42 |
132 | Имя кассира 11 | строка | Максимальная длина: 42 |
133 | Имя кассира 12 | строка | Максимальная длина: 42 |
134 | Имя кассира 13 | строка | Максимальная длина: 42 |
135 | Имя кассира 14 | строка | Максимальная длина: 42 |
136 | Имя кассира 15 | строка | Максимальная длина: 42 |
137 | Имя кассира 16 | строка | Максимальная длина: 42 |
138 | Имя кассира 17 | строка | Максимальная длина: 42 |
139 | Имя кассира 18 | строка | Максимальная длина: 42 |
140 | Имя кассира 19 | строка | Максимальная длина: 42 |
141 | Имя кассира 20 | строка | Максимальная длина: 42 |
142 | Имя кассира 21 | строка | Максимальная длина: 42 |
143 | Имя кассира 22 | строка | Максимальная длина: 42 |
144 | Имя кассира 23 | строка | Максимальная длина: 42 |
145 | Имя кассира 24 | строка | Максимальная длина: 42 |
146 | Имя кассира 25 | строка | Максимальная длина: 42 |
147 | Имя кассира 26 | строка | Максимальная длина: 42 |
148 | Имя кассира 27 | строка | Максимальная длина: 42 |
149 | Имя кассира 28 | строка | Максимальная длина: 42 |
150 | ИНН кассира 1 | строка | Максимальная длина: 12 |
151 | ИНН кассира 2 | строка | Максимальная длина: 12 |
152 | ИНН кассира 3 | строка | Максимальная длина: 12 |
153 | ИНН кассира 4 | строка | Максимальная длина: 12 |
154 | ИНН кассира 5 | строка | Максимальная длина: 12 |
155 | ИНН кассира 6 | строка | Максимальная длина: 12 |
156 | ИНН кассира 7 | строка | Максимальная длина: 12 |
157 | ИНН кассира 8 | строка | Максимальная длина: 12 |
158 | ИНН кассира 9 | строка | Максимальная длина: 12 |
159 | ИНН кассира 10 | строка | Максимальная длина: 12 |
160 | ИНН кассира 11 | строка | Максимальная длина: 12 |
161 | ИНН кассира 12 | строка | Максимальная длина: 12 |
162 | ИНН кассира 13 | строка | Максимальная длина: 12 |
163 | ИНН кассира 14 | строка | Максимальная длина: 12 |
164 | ИНН кассира 15 | строка | Максимальная длина: 12 |
165 | ИНН кассира 16 | строка | Максимальная длина: 12 |
166 | ИНН кассира 17 | строка | Максимальная длина: 12 |
167 | ИНН кассира 18 | строка | Максимальная длина: 12 |
168 | ИНН кассира 19 | строка | Максимальная длина: 12 |
169 | ИНН кассира 20 | строка | Максимальная длина: 12 |
170 | ИНН кассира 21 | строка | Максимальная длина: 12 |
171 | ИНН кассира 22 | строка | Максимальная длина: 12 |
172 | ИНН кассира 23 | строка | Максимальная длина: 12 |
173 | ИНН кассира 24 | строка | Максимальная длина: 12 |
174 | ИНН кассира 25 | строка | Максимальная длина: 12 |
175 | ИНН кассира 26 | строка | Максимальная длина: 12 |
176 | ИНН кассира 27 | строка | Максимальная длина: 12 |
177 | ИНН кассира 28 | строка | Максимальная длина: 12 |
178 | Пароль администратора | строка | Максимальная длина: 8 |
179 | Имя администратора | строка | Максимальная длина: 42 |
180 | ИНН администратора | строка | Максимальная длина: 12 |
181 | Пароль системного администратора | строка | Максимальная длина: 8 |
182 | Имя системного администратора | строка | Максимальная длина: 42 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
184 | Строка клише 1 | строка | Максимальная длина: 42 |
185 | Строка клише 2 | строка | Максимальная длина: 42 |
186 | Строка клише 3 | строка | Максимальная длина: 42 |
187 | Строка клише 4 | строка | Максимальная длина: 42 |
188 | Строка клише 5 | строка | Максимальная длина: 42 |
189 | Строка клише 6 | строка | Максимальная длина: 42 |
190 | Строка клише 7 | строка | Максимальная длина: 42 |
191 | Строка клише 8 | строка | Максимальная длина: 42 |
192 | Строка клише 9 | строка | Максимальная длина: 42 |
193 | Строка клише 10 | строка | Максимальная длина: 42 |
194 | Строка клише 11 | строка | Максимальная длина: 42 |
195 | Строка клише 12 | строка | Максимальная длина: 42 |
196 | Строка клише 13 | строка | Максимальная длина: 42 |
197 | Строка клише 14 | строка | Максимальная длина: 42 |
198 | Строка клише 15 | строка | Максимальная длина: 42 |
199 | Строка клише 16 | строка | Максимальная длина: 42 |
200 | Строка клише 17 | строка | Максимальная длина: 42 |
201 | Строка клише 18 | строка | Максимальная длина: 42 |
202 | Строка клише 19 | строка | Максимальная длина: 42 |
203 | Строка клише 20 | строка | Максимальная длина: 42 |
204 | Наименование секции 1 | строка | Максимальная длина: 42 |
205 | Наименование секции 2 | строка | Максимальная длина: 42 |
206 | Наименование секции 3 | строка | Максимальная длина: 42 |
207 | Наименование секции 4 | строка | Максимальная длина: 42 |
208 | Наименование секции 5 | строка | Максимальная длина: 42 |
209 | Наименование секции 6 | строка | Максимальная длина: 42 |
210 | Наименование секции 7 | строка | Максимальная длина: 42 |
211 | Наименование секции 8 | строка | Максимальная длина: 42 |
212 | Наименование секции 9 | строка | Максимальная длина: 42 |
213 | Наименование секции 10 | строка | Максимальная длина: 42 |
214 | Наименование секции 11 | строка | Максимальная длина: 42 |
215 | Наименование секции 12 | строка | Максимальная длина: 42 |
216 | Наименование секции 13 | строка | Максимальная длина: 42 |
217 | Наименование секции 14 | строка | Максимальная длина: 42 |
218 | Наименование секции 15 | строка | Максимальная длина: 42 |
219 | Наименование секции 16 | строка | Максимальная длина: 42 |
220 | Номер налога 1 | число | 1 .. 6 |
221 | Номер налога 2 | число | 1 .. 6 |
222 | Номер налога 3 | число | 1 .. 6 |
223 | Номер налога 4 | число | 1 .. 6 |
224 | Номер налога 5 | число | 1 .. 6 |
225 | Номер налога 6 | число | 1 .. 6 |
226 | Номер налога 7 | число | 1 .. 6 |
227 | Номер налога 8 | число | 1 .. 6 |
228 | Номер налога 9 | число | 1 .. 6 |
229 | Номер налога 10 | число | 1 .. 6 |
230 | Номер налога 11 | число | 1 .. 6 |
231 | Номер налога 12 | число | 1 .. 6 |
232 | Номер налога 13 | число | 1 .. 6 |
233 | Номер налога 14 | число | 1 .. 6 |
234 | Номер налога 15 | число | 1 .. 6 |
235 | Номер налога 16 | число | 1 .. 6 |
239 | Канал обмена с ККТ | число | 4 - USB 5 - Bluetooth 7 - Wi-Fi |
240 | Наименование способа расчета 2 | строка | Максимальная длина: 42 |
241 | Наименование способа расчета 3 | строка | Максимальная длина: 42 |
242 | Наименование способа расчета 4 | строка | Максимальная длина: 42 |
243 | Наименование способа расчета 5 | строка | Максимальная длина: 42 |
244 | Наименование способа расчета 6 | строка | Максимальная длина: 42 |
245 | Наименование способа расчета 7 | строка | Максимальная длина: 42 |
246 | Наименование способа расчета 8 | строка | Максимальная длина: 42 |
247 | Наименование способа расчета 9 | строка | Максимальная длина: 42 |
248 | Наименование способа расчета 10 | строка | Максимальная длина: 42 |
249 | Номер формы расчета 2 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
250 | Номер формы расчета 3 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
251 | Номер формы расчета 4 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
252 | Номер формы расчета 5 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
253 | Номер формы расчета 6 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
254 | Номер формы расчета 7 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
255 | Номер формы расчета 8 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
256 | Номер формы расчета 9 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
257 | Номер формы расчета 10 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
265 | Конфигурационная строка | строка | Максимальная длина: 32 |
266 | Имя пользователя | строка | Максимальная длина: 32 |
267 | Пароль | строка | Максимальная длина: 32 |
268 | Режим Wi-Fi | число | 0 - Клиент 1 - Точка доступа |
269 | Имя точки доступа для работы по Wi-Fi | строка | Максимальная длина: 32 |
270 | Пароль доступа к точке доступа | строка | Максимальная длина: 32 |
271 | Номер канала Wi-Fi в режиме точки доступа | число | 0 .. 13 |
272 | Тип шифрования Wi-Fi | число | 0 - Open 1 - WEP 2 - WPA 3 - WPA2 4 - WPA/WPA2 |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
275 | DNS ОФД | строка | Максимальная длина: 15 |
276 | Канал обмена с ОФД | число | 1 - USB (EoU) 3 - Wi-Fi 4 - GSM-модем 5 - EthernetOverTransport |
277 | Адрес сайта ФНС | строка | Максимальная длина: 64 |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
280 | Интервал посылок диагностических сообщений, с. | число | 0 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 1 .. 5 |
282 | Интервал опроса ФН при разрывах (в сек.) | число | 5 .. 120 |
287 | Версия ФФД | число | 0 - Автоматически 100 - ФФД 1.0 |
301 | Печатать на ЧЛ сообщение о полученном IP-адресе | число | 0 - Не печатать 1 - Печатать |
305 | Частота обмена с ФН, кбит/с | число | 50 .. 400 |
306 | Передавать необязательные реквизиты в ОФД | число | 0 - Не передавать 1 - Передавать |
307 | Ожидание инициализации ФН после включения, с. | число | 5 .. 255 |
308 | Ожидание обработки команды в ФН, с. | число | 10 .. 255 |
309 | Размер чека в байтах | число | 0 .. 4294967295 |
310 | Печатать пароль доступа к точке Wi-Fi | число | 0 - Не печатать 1 - Печатать |
311 | Блокировать ККТ при переполнении ЭЖ | число | 0 - Не блокировать 1 - Блокировать работу по протоколу 2 - Блокировать работу с ЛК |
312 | Работа со скидками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
313 | Работа со надбавками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
325 | Получение IP-адреса от DHCP (Wi-Fi) | число | 0 - Отключено 1 - Включено |
326 | IP-адрес (Wi-Fi) | строка | Максимальная длина: 15 |
327 | Маска подсети (Wi-Fi) | строка | Максимальная длина: 15 |
328 | Шлюз по умолчанию (Wi-Fi) | строка | Максимальная длина: 15 |
330 | Шрифт реквизитов в чеке | число | 1 .. 7 |
331 | Сопряжение по Bluetooth | число | 0 - Запрещено 1 - Разрешено |
332 | Печатать реквизит "Наименование ОФД" | число | 0 - Не печатать 1 - Печатать |
333 | Печатать реквизит "Адрес электронной почты отправителя" | число | 0 - Не печатать 1 - Печатать |
334 | Работа с ЭЖ | число | 0 - Отключена 1 - Включена |
345 | Печатать реквизит "ИНН поставщика" | число | 0 - Не печатать 1 - Печатать |
АТОЛ 42ФС
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
0 | Номер ККТ в магазине | число | 0 .. 255 |
2 | Печатать названия секций | число | 0 - Не печатать 1 - Печатать |
3 | Печатать необнуляемую сумму приходов и расходов | число | 0 - Не печатать 1 - Печатать |
4 | Производить инкассацию | число | 0 - Нет 1 - Да |
5 | Расширенный X-отчет и Z-отчет | число | 0 - Нет 1 - Да |
6 | Печатать информацию о количестве чеков за смену по типам операций | число | 0 - Не печатать 1 - Печатать |
7 | Автоматически печатать отчет по секциям перед X- и Z-отчетом | число | 0 - Не печатать 1 - Печатать |
8 | Яркость печати ЧЛ | число | 1 .. 15 |
11 | Пароль доступа | строка | Максимальная длина: 4 |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
13 | Шрифт ЧЛ | число | 1 .. 7 |
14 | Количество печатаемых строк после чека на ЧЛ | число | 0 .. 20 |
15 | Печатать разделители в суточных отчетах | число | 0 - Не печатать 1 - Печатать |
16 | Печатать номер секции | число | 0 - Не печатать 1 - Печатать |
19 | Печатать текст командой «Печать строки» | число | 0 - Не печатать 1 - Печатать |
20 | Режим перехода на летнее/зимнее время | число | 0 - Не переходить 1 - Переходить, не оповещать 2 - Переходить, оповещать кассира 3 - Переходить, оповещать кассира и хост |
21 | Дата перехода на летнее время | число | |
22 | Дата перехода на зимнее время | число | |
23 | Количество символов в строке | число | 24 .. 57 |
24 | Символ для разделителя | строка | Максимальная длина: 1 |
25 | Проверять время | число | 0 .. 99 |
26 | Смещение области печати слева | число | 0 .. 24 |
27 | Печатать налоги в Х- и Z-отчете и при регистрации | число | 0 - Не печатать 1 - Печатать |
28 | Минимальная яркость термокомпенсации на ЧЛ | число | 1 .. 15 |
29 | Печатать на ЧЛ документ готовности к работе | число | 0 - Не печатать 1 - Печатать |
30 | Печатать на ЧЛ клише в служебных сообщениях | число | 0 - Не печатать 1 - Печатать |
31 | Печатать на ЧЛ сообщение о вводе даты-времени | число | 0 - Не печатать 1 - Печатать |
32 | Протокол работы ККТ | число | 0 - АТОЛ 2 1 - АТОЛ 3 |
34 | Уровень коррекции ошибок QR-кода | число | 1 .. 4 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
38 | Звуковой сигнал при окончании бумаги и открытии крышки | число | 0 - Нет 1 - Да |
39 | Звуковой сигнал при включении | число | 0 - Нет 1 - Да |
41 | Печатать нулевые налоги | число | 0 - Не печатать 1 - Печатать |
42 | Печать необнуляемой суммы возвратов приходов | число | 0 - Не печатать 1 - Печатать |
43 | Печать необнуляемой суммы возвратов расходов | число | 0 - Не печатать 1 - Печатать |
44 | Печатать количество отмененных чеков по типам | число | 0 - Не печатать 1 - Печатать |
45 | Не печатать блоки «приходы», «возвраты приходов», «расходы», «возвраты расходов» | число | 0 - Печатать 1 - Не печатать |
46 | Печатать нулевые суммы | число | 0 - Не печатать 1 - Печатать |
47 | Печать номера ККМ в магазине | число | 0 - Не печатать 1 - Печатать |
48 | Печать реквизитов чека на аннулированных чеках | число | 0 - Не печатать 1 - Печатать |
49 | Получение IP-адреса от DHCP (Ethernet) | число | 0 - Отключено 1 - Включено |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
51 | Шаблон чека | число | 1 - Шаблон 1 2 - Шаблон 2 |
52 | Признак способа расчета по умолчанию | число | 1 - Предоплата 100% 2 - Предоплата 3 - Аванс 4 - Полный расчет 5 - Частичный расчет и кредит 6 - Передача в кредит 7 - Оплата кредита |
53 | Округлять сумму налога | число | 0 - На весь чек 1 - После каждой позиции |
54 | Контроль суммы налогов 10% и 18% (20%) | число | 0 - Отключен 1 - Включен |
55 | Пересчитывать суммы налогов после скидки на итог | число | 0 - Нет 1 - Да |
56 | Учет наличности | число | 0 - Отключен 1 - Включен |
57 | Печатать признак способа расчета | число | 0 - Не печатать 1 - Печатать |
58 | Печатать признак предмета расчета | число | 0 - Не печатать 1 - Печатать полное наименование 2 - Печатать краткое наименование |
59 | Не печатать суточный отчет с гашением при закрытии смены | число | 0 - Печатать 1 - Не печатать |
60 | Печатать необнуляемые суммы по способам расчета прихода и возврата прихода | число | 0 - Не печатать 1 - Печатать |
61 | Печатать необнуляемые суммы по способам расчета расхода и возврата расхода | число | 0 - Не печатать 1 - Печатать |
62 | Не печатать клише автоматически при закрытии чека | число | 0 - Печатать 1 - Не печатать |
63 | Признак предмета расчета по умолчанию | число | 1 - Товар 2 - Подакцизный товар 3 - Работа 4 - Услуга 5 - Ставка азартной игры 6 - Выигрыш азартной игры 7 - Лотерейный билет 8 - Выигрыш лотереи 9 - Предоставление РИД 10 - Платеж 11 - Агентское вознаграждение 12 - Составной предмет расчета 13 - Иной предмет расчета 14 - Имущественное право 15 - Внереализационный доход 16 - Страховые взносы 17 - Торговый сбор 18 - Курортный сбор 19 - Залог |
71 | IP-адрес (Ethernet) | строка | Максимальная длина: 15 |
72 | Маска подсети (Ethernet) | строка | Максимальная длина: 15 |
73 | Шлюз по умолчанию (Ethernet) | строка | Максимальная длина: 15 |
74 | IP-порт (Ethernet) | число | 1 .. 65535 |
76 | Выключение / перезагрузка ККТ | число | 0 - По кнопке 1 - По команде 2 - По кнопке и по команде |
94 | Пароль кассира 1 | строка | Максимальная длина: 8 |
95 | Пароль кассира 2 | строка | Максимальная длина: 8 |
96 | Пароль кассира 3 | строка | Максимальная длина: 8 |
97 | Пароль кассира 4 | строка | Максимальная длина: 8 |
98 | Пароль кассира 5 | строка | Максимальная длина: 8 |
99 | Пароль кассира 6 | строка | Максимальная длина: 8 |
100 | Пароль кассира 7 | строка | Максимальная длина: 8 |
101 | Пароль кассира 8 | строка | Максимальная длина: 8 |
102 | Пароль кассира 9 | строка | Максимальная длина: 8 |
103 | Пароль кассира 10 | строка | Максимальная длина: 8 |
104 | Пароль кассира 11 | строка | Максимальная длина: 8 |
105 | Пароль кассира 12 | строка | Максимальная длина: 8 |
106 | Пароль кассира 13 | строка | Максимальная длина: 8 |
107 | Пароль кассира 14 | строка | Максимальная длина: 8 |
108 | Пароль кассира 15 | строка | Максимальная длина: 8 |
109 | Пароль кассира 16 | строка | Максимальная длина: 8 |
110 | Пароль кассира 17 | строка | Максимальная длина: 8 |
111 | Пароль кассира 18 | строка | Максимальная длина: 8 |
112 | Пароль кассира 19 | строка | Максимальная длина: 8 |
113 | Пароль кассира 20 | строка | Максимальная длина: 8 |
114 | Пароль кассира 21 | строка | Максимальная длина: 8 |
115 | Пароль кассира 22 | строка | Максимальная длина: 8 |
116 | Пароль кассира 23 | строка | Максимальная длина: 8 |
117 | Пароль кассира 24 | строка | Максимальная длина: 8 |
118 | Пароль кассира 25 | строка | Максимальная длина: 8 |
119 | Пароль кассира 26 | строка | Максимальная длина: 8 |
120 | Пароль кассира 27 | строка | Максимальная длина: 8 |
121 | Пароль кассира 28 | строка | Максимальная длина: 8 |
122 | Имя кассира 1 | строка | Максимальная длина: 57 |
123 | Имя кассира 2 | строка | Максимальная длина: 57 |
124 | Имя кассира 3 | строка | Максимальная длина: 57 |
125 | Имя кассира 4 | строка | Максимальная длина: 57 |
126 | Имя кассира 5 | строка | Максимальная длина: 57 |
127 | Имя кассира 6 | строка | Максимальная длина: 57 |
128 | Имя кассира 7 | строка | Максимальная длина: 57 |
129 | Имя кассира 8 | строка | Максимальная длина: 57 |
130 | Имя кассира 9 | строка | Максимальная длина: 57 |
131 | Имя кассира 10 | строка | Максимальная длина: 57 |
132 | Имя кассира 11 | строка | Максимальная длина: 57 |
133 | Имя кассира 12 | строка | Максимальная длина: 57 |
134 | Имя кассира 13 | строка | Максимальная длина: 57 |
135 | Имя кассира 14 | строка | Максимальная длина: 57 |
136 | Имя кассира 15 | строка | Максимальная длина: 57 |
137 | Имя кассира 16 | строка | Максимальная длина: 57 |
138 | Имя кассира 17 | строка | Максимальная длина: 57 |
139 | Имя кассира 18 | строка | Максимальная длина: 57 |
140 | Имя кассира 19 | строка | Максимальная длина: 57 |
141 | Имя кассира 20 | строка | Максимальная длина: 57 |
142 | Имя кассира 21 | строка | Максимальная длина: 57 |
143 | Имя кассира 22 | строка | Максимальная длина: 57 |
144 | Имя кассира 23 | строка | Максимальная длина: 57 |
145 | Имя кассира 24 | строка | Максимальная длина: 57 |
146 | Имя кассира 25 | строка | Максимальная длина: 57 |
147 | Имя кассира 26 | строка | Максимальная длина: 57 |
148 | Имя кассира 27 | строка | Максимальная длина: 57 |
149 | Имя кассира 28 | строка | Максимальная длина: 57 |
150 | ИНН кассира 1 | строка | Максимальная длина: 12 |
151 | ИНН кассира 2 | строка | Максимальная длина: 12 |
152 | ИНН кассира 3 | строка | Максимальная длина: 12 |
153 | ИНН кассира 4 | строка | Максимальная длина: 12 |
154 | ИНН кассира 5 | строка | Максимальная длина: 12 |
155 | ИНН кассира 6 | строка | Максимальная длина: 12 |
156 | ИНН кассира 7 | строка | Максимальная длина: 12 |
157 | ИНН кассира 8 | строка | Максимальная длина: 12 |
158 | ИНН кассира 9 | строка | Максимальная длина: 12 |
159 | ИНН кассира 10 | строка | Максимальная длина: 12 |
160 | ИНН кассира 11 | строка | Максимальная длина: 12 |
161 | ИНН кассира 12 | строка | Максимальная длина: 12 |
162 | ИНН кассира 13 | строка | Максимальная длина: 12 |
163 | ИНН кассира 14 | строка | Максимальная длина: 12 |
164 | ИНН кассира 15 | строка | Максимальная длина: 12 |
165 | ИНН кассира 16 | строка | Максимальная длина: 12 |
166 | ИНН кассира 17 | строка | Максимальная длина: 12 |
167 | ИНН кассира 18 | строка | Максимальная длина: 12 |
168 | ИНН кассира 19 | строка | Максимальная длина: 12 |
169 | ИНН кассира 20 | строка | Максимальная длина: 12 |
170 | ИНН кассира 21 | строка | Максимальная длина: 12 |
171 | ИНН кассира 22 | строка | Максимальная длина: 12 |
172 | ИНН кассира 23 | строка | Максимальная длина: 12 |
173 | ИНН кассира 24 | строка | Максимальная длина: 12 |
174 | ИНН кассира 25 | строка | Максимальная длина: 12 |
175 | ИНН кассира 26 | строка | Максимальная длина: 12 |
176 | ИНН кассира 27 | строка | Максимальная длина: 12 |
177 | ИНН кассира 28 | строка | Максимальная длина: 12 |
178 | Пароль администратора | строка | Максимальная длина: 8 |
179 | Имя администратора | строка | Максимальная длина: 57 |
180 | ИНН администратора | строка | Максимальная длина: 12 |
181 | Пароль системного администратора | строка | Максимальная длина: 8 |
182 | Имя системного администратора | строка | Максимальная длина: 57 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
204 | Наименование секции 1 | строка | Максимальная длина: 57 |
205 | Наименование секции 2 | строка | Максимальная длина: 57 |
206 | Наименование секции 3 | строка | Максимальная длина: 57 |
207 | Наименование секции 4 | строка | Максимальная длина: 57 |
208 | Наименование секции 5 | строка | Максимальная длина: 57 |
209 | Наименование секции 6 | строка | Максимальная длина: 57 |
210 | Наименование секции 7 | строка | Максимальная длина: 57 |
211 | Наименование секции 8 | строка | Максимальная длина: 57 |
212 | Наименование секции 9 | строка | Максимальная длина: 57 |
213 | Наименование секции 10 | строка | Максимальная длина: 57 |
214 | Наименование секции 11 | строка | Максимальная длина: 57 |
215 | Наименование секции 12 | строка | Максимальная длина: 57 |
216 | Наименование секции 13 | строка | Максимальная длина: 57 |
217 | Наименование секции 14 | строка | Максимальная длина: 57 |
218 | Наименование секции 15 | строка | Максимальная длина: 57 |
219 | Наименование секции 16 | строка | Максимальная длина: 57 |
220 | Номер налога 1 | число | 1 .. 6 |
221 | Номер налога 2 | число | 1 .. 6 |
222 | Номер налога 3 | число | 1 .. 6 |
223 | Номер налога 4 | число | 1 .. 6 |
224 | Номер налога 5 | число | 1 .. 6 |
225 | Номер налога 6 | число | 1 .. 6 |
226 | Номер налога 7 | число | 1 .. 6 |
227 | Номер налога 8 | число | 1 .. 6 |
228 | Номер налога 9 | число | 1 .. 6 |
229 | Номер налога 10 | число | 1 .. 6 |
230 | Номер налога 11 | число | 1 .. 6 |
231 | Номер налога 12 | число | 1 .. 6 |
232 | Номер налога 13 | число | 1 .. 6 |
233 | Номер налога 14 | число | 1 .. 6 |
234 | Номер налога 15 | число | 1 .. 6 |
235 | Номер налога 16 | число | 1 .. 6 |
239 | Канал обмена с ККТ | число | 4 - USB 6 - Ethernet 7 - Wi-Fi |
240 | Наименование способа расчета 2 | строка | Максимальная длина: 57 |
241 | Наименование способа расчета 3 | строка | Максимальная длина: 57 |
242 | Наименование способа расчета 4 | строка | Максимальная длина: 57 |
243 | Наименование способа расчета 5 | строка | Максимальная длина: 57 |
244 | Наименование способа расчета 6 | строка | Максимальная длина: 57 |
245 | Наименование способа расчета 7 | строка | Максимальная длина: 57 |
246 | Наименование способа расчета 8 | строка | Максимальная длина: 57 |
247 | Наименование способа расчета 9 | строка | Максимальная длина: 57 |
248 | Наименование способа расчета 10 | строка | Максимальная длина: 57 |
249 | Номер формы расчета 2 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
250 | Номер формы расчета 3 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
251 | Номер формы расчета 4 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
252 | Номер формы расчета 5 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
253 | Номер формы расчета 6 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
254 | Номер формы расчета 7 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
255 | Номер формы расчета 8 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
256 | Номер формы расчета 9 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
257 | Номер формы расчета 10 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
265 | Конфигурационная строка | строка | Максимальная длина: 32 |
266 | Имя пользователя | строка | Максимальная длина: 32 |
267 | Пароль | строка | Максимальная длина: 32 |
268 | Режим Wi-Fi | число | 0 - Клиент 1 - Точка доступа |
269 | Имя точки доступа для работы по Wi-Fi | строка | Максимальная длина: 32 |
270 | Пароль доступа к точке доступа | строка | Максимальная длина: 32 |
271 | Номер канала Wi-Fi в режиме точки доступа | число | 0 .. 13 |
272 | Тип шифрования Wi-Fi | число | 0 - Open 1 - WEP 2 - WPA 3 - WPA2 4 - WPA/WPA2 |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
275 | DNS ОФД | строка | Максимальная длина: 15 |
276 | Канал обмена с ОФД | число | 1 - USB (EoU) 2 - Ethernet 3 - Wi-Fi 4 - GSM-модем |
277 | Адрес сайта ФНС | строка | Максимальная длина: 64 |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
280 | Интервал посылок диагностических сообщений, с. | число | 0 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 1 .. 5 |
282 | Интервал опроса ФН при разрывах (в сек.) | число | 5 .. 120 |
287 | Версия ФФД | число | 0 - Автоматически 100 - ФФД 1.0 |
301 | Печатать на ЧЛ сообщение о полученном IP-адресе | число | 0 - Не печатать 1 - Печатать |
305 | Частота обмена с ФН, кбит/с | число | 50 .. 400 |
306 | Передавать необязательные реквизиты в ОФД | число | 0 - Не передавать 1 - Передавать |
307 | Ожидание инициализации ФН после включения, с. | число | 5 .. 255 |
308 | Ожидание обработки команды в ФН, с. | число | 10 .. 255 |
309 | Размер чека в байтах | число | 0 .. 4294967295 |
311 | Блокировать ККТ при переполнении ЭЖ | число | 0 - Не блокировать 1 - Блокировать работу по протоколу 2 - Блокировать работу с ЛК |
312 | Работа со скидками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
313 | Работа со надбавками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
330 | Шрифт реквизитов в чеке | число | 1 .. 7 |
АТОЛ 50Ф
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
0 | Номер ККТ в магазине | число | 0 .. 255 |
2 | Печатать названия секций | число | 0 - Не печатать 1 - Печатать |
3 | Печатать необнуляемую сумму приходов и расходов | число | 0 - Не печатать 1 - Печатать |
4 | Производить инкассацию | число | 0 - Нет 1 - Да |
5 | Расширенный X-отчет и Z-отчет | число | 0 - Нет 1 - Да |
6 | Печатать информацию о количестве чеков за смену по типам операций | число | 0 - Не печатать 1 - Печатать |
7 | Автоматически печатать отчет по секциям перед X- и Z-отчетом | число | 0 - Не печатать 1 - Печатать |
8 | Яркость печати ЧЛ | число | 1 .. 15 |
9 | Открывать ДЯ при закрытии чека | число | 0 - Нет 1 - Да |
11 | Пароль доступа | строка | Максимальная длина: 4 |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
13 | Шрифт ЧЛ | число | 1 .. 7 |
14 | Количество печатаемых строк после чека на ЧЛ | число | 0 .. 20 |
15 | Печатать разделители в суточных отчетах | число | 0 - Не печатать 1 - Печатать |
16 | Печатать номер секции | число | 0 - Не печатать 1 - Печатать |
17 | Печатать необнуляемый итог на начало смены в Z-отчете | число | 0 - Не печатать 1 - Печатать |
18 | Печатать необнуляемый итог на начало смены в X-отчете | число | 0 - Не печатать 1 - Печатать |
19 | Печатать текст командой «Печать строки» | число | 0 - Не печатать 1 - Печатать |
20 | Режим перехода на летнее/зимнее время | число | 0 - Не переходить 1 - Переходить, не оповещать 2 - Переходить, оповещать кассира 3 - Переходить, оповещать кассира и хост |
21 | Дата перехода на летнее время | число | |
22 | Дата перехода на зимнее время | число | |
23 | Количество символов в строке | число | 24 .. 64 |
24 | Символ для разделителя | строка | Максимальная длина: 1 |
25 | Проверять время | число | 0 .. 99 |
26 | Смещение области печати слева | число | 0 .. 24 |
27 | Печатать налоги в Х- и Z-отчете и при регистрации | число | 0 - Не печатать 1 - Печатать |
28 | Минимальная яркость термокомпенсации на ЧЛ | число | 1 .. 15 |
29 | Печатать на ЧЛ документ готовности к работе | число | 0 - Не печатать 1 - Печатать |
30 | Печатать на ЧЛ клише в служебных сообщениях | число | 0 - Не печатать 1 - Печатать |
31 | Печатать на ЧЛ сообщение о вводе даты-времени | число | 0 - Не печатать 1 - Печатать |
32 | Протокол работы ККТ | число | 0 - АТОЛ 2 1 - АТОЛ 3 |
33 | PIN-код для Bluetooth | строка | Максимальная длина: 8 |
34 | Уровень коррекции ошибок QR-кода | число | 1 .. 4 |
35 | Количество строк заголовка клише | число | 0 - 0 1 - 1 2 - 2 3 - 3 4 - 4 5 - 5 6 - 6 7 - 7 8 - 8 9 - 9 10 - 10 11 - 11 12 - 12 13 - 13 14 - 14 15 - 15 16 - 16 17 - 17 18 - 18 19 - 19 20 - 20 99 - Старый формат печати |
36 | Расстояние от ТПГ до отрывного ножа | число | 0 .. 255 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
38 | Звуковой сигнал при окончании бумаги и открытии крышки | число | 0 - Нет 1 - Да |
39 | Звуковой сигнал при включении | число | 0 - Нет 1 - Да |
40 | Сохранять печатаемый документ в память | число | 0 - Не сохранять 1 - Сохранять только отчеты 2 - Сохранять все |
41 | Печатать нулевые налоги | число | 0 - Не печатать 1 - Печатать |
42 | Печать необнуляемой суммы возвратов приходов | число | 0 - Не печатать 1 - Печатать |
43 | Печать необнуляемой суммы возвратов расходов | число | 0 - Не печатать 1 - Печатать |
44 | Печатать количество отмененных чеков по типам | число | 0 - Не печатать 1 - Печатать |
45 | Не печатать блоки «приходы», «возвраты приходов», «расходы», «возвраты расходов» | число | 0 - Печатать 1 - Не печатать |
46 | Печатать нулевые суммы | число | 0 - Не печатать 1 - Печатать |
47 | Печать номера ККМ в магазине | число | 0 - Не печатать 1 - Печатать |
48 | Печать реквизитов чека на аннулированных чеках | число | 0 - Не печатать 1 - Печатать |
49 | Получение IP-адреса от DHCP (Ethernet) | число | 0 - Отключено 1 - Включено |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
51 | Шаблон чека | число | 1 - Шаблон 1 2 - Шаблон 2 |
52 | Признак способа расчета по умолчанию | число | 1 - Предоплата 100% 2 - Предоплата 3 - Аванс 4 - Полный расчет 5 - Частичный расчет и кредит 6 - Передача в кредит 7 - Оплата кредита |
53 | Округлять сумму налога | число | 0 - На весь чек 1 - После каждой позиции |
54 | Контроль суммы налогов 10% и 18% (20%) | число | 0 - Отключен 1 - Включен |
55 | Пересчитывать суммы налогов после скидки на итог | число | 0 - Нет 1 - Да |
56 | Учет наличности | число | 0 - Отключен 1 - Включен |
57 | Печатать признак способа расчета | число | 0 - Не печатать 1 - Печатать |
58 | Печатать признак предмета расчета | число | 0 - Не печатать 1 - Печатать полное наименование 2 - Печатать краткое наименование |
59 | Не печатать суточный отчет с гашением при закрытии смены | число | 0 - Печатать 1 - Не печатать |
60 | Печатать необнуляемые суммы по способам расчета прихода и возврата прихода | число | 0 - Не печатать 1 - Печатать |
61 | Печатать необнуляемые суммы по способам расчета расхода и возврата расхода | число | 0 - Не печатать 1 - Печатать |
62 | Не печатать клише автоматически при закрытии чека | число | 0 - Печатать 1 - Не печатать |
63 | Признак предмета расчета по умолчанию | число | 1 - Товар 2 - Подакцизный товар 3 - Работа 4 - Услуга 5 - Ставка азартной игры 6 - Выигрыш азартной игры 7 - Лотерейный билет 8 - Выигрыш лотереи 9 - Предоставление РИД 10 - Платеж 11 - Агентское вознаграждение 12 - Составной предмет расчета 13 - Иной предмет расчета 14 - Имущественное право 15 - Внереализационный доход 16 - Страховые взносы 17 - Торговый сбор 18 - Курортный сбор 19 - Залог |
65 | Не открывать ДЯ при отсутствии наличного способа расчета в чеке | число | 0 - Открывать 1 - Не открывать |
66 | Отрезать чек после завершения документа | число | 0 - Не отрезать 1 - Не полностью 2 - Полностью |
67 | Запретить отрезку чеков | число | 0 - Нет 1 - Да |
68 | Запретить отрезку отчетов | число | 0 - Нет 1 - Да |
69 | Отрезать ЧЛ после печати клише командой «Печать клише» | число | 0 - Нет 1 - Да |
71 | IP-адрес (Ethernet) | строка | Максимальная длина: 15 |
72 | Маска подсети (Ethernet) | строка | Максимальная длина: 15 |
73 | Шлюз по умолчанию (Ethernet) | строка | Максимальная длина: 15 |
74 | IP-порт (Ethernet) | число | 1 .. 65535 |
75 | Расстояние от ножа отрезчика до гребенки | число | 0 .. 255 |
94 | Пароль кассира 1 | строка | Максимальная длина: 8 |
95 | Пароль кассира 2 | строка | Максимальная длина: 8 |
96 | Пароль кассира 3 | строка | Максимальная длина: 8 |
97 | Пароль кассира 4 | строка | Максимальная длина: 8 |
98 | Пароль кассира 5 | строка | Максимальная длина: 8 |
99 | Пароль кассира 6 | строка | Максимальная длина: 8 |
100 | Пароль кассира 7 | строка | Максимальная длина: 8 |
101 | Пароль кассира 8 | строка | Максимальная длина: 8 |
102 | Пароль кассира 9 | строка | Максимальная длина: 8 |
103 | Пароль кассира 10 | строка | Максимальная длина: 8 |
104 | Пароль кассира 11 | строка | Максимальная длина: 8 |
105 | Пароль кассира 12 | строка | Максимальная длина: 8 |
106 | Пароль кассира 13 | строка | Максимальная длина: 8 |
107 | Пароль кассира 14 | строка | Максимальная длина: 8 |
108 | Пароль кассира 15 | строка | Максимальная длина: 8 |
109 | Пароль кассира 16 | строка | Максимальная длина: 8 |
110 | Пароль кассира 17 | строка | Максимальная длина: 8 |
111 | Пароль кассира 18 | строка | Максимальная длина: 8 |
112 | Пароль кассира 19 | строка | Максимальная длина: 8 |
113 | Пароль кассира 20 | строка | Максимальная длина: 8 |
114 | Пароль кассира 21 | строка | Максимальная длина: 8 |
115 | Пароль кассира 22 | строка | Максимальная длина: 8 |
116 | Пароль кассира 23 | строка | Максимальная длина: 8 |
117 | Пароль кассира 24 | строка | Максимальная длина: 8 |
118 | Пароль кассира 25 | строка | Максимальная длина: 8 |
119 | Пароль кассира 26 | строка | Максимальная длина: 8 |
120 | Пароль кассира 27 | строка | Максимальная длина: 8 |
121 | Пароль кассира 28 | строка | Максимальная длина: 8 |
122 | Имя кассира 1 | строка | Максимальная длина: 48 |
123 | Имя кассира 2 | строка | Максимальная длина: 48 |
124 | Имя кассира 3 | строка | Максимальная длина: 48 |
125 | Имя кассира 4 | строка | Максимальная длина: 48 |
126 | Имя кассира 5 | строка | Максимальная длина: 48 |
127 | Имя кассира 6 | строка | Максимальная длина: 48 |
128 | Имя кассира 7 | строка | Максимальная длина: 48 |
129 | Имя кассира 8 | строка | Максимальная длина: 48 |
130 | Имя кассира 9 | строка | Максимальная длина: 48 |
131 | Имя кассира 10 | строка | Максимальная длина: 48 |
132 | Имя кассира 11 | строка | Максимальная длина: 48 |
133 | Имя кассира 12 | строка | Максимальная длина: 48 |
134 | Имя кассира 13 | строка | Максимальная длина: 48 |
135 | Имя кассира 14 | строка | Максимальная длина: 48 |
136 | Имя кассира 15 | строка | Максимальная длина: 48 |
137 | Имя кассира 16 | строка | Максимальная длина: 48 |
138 | Имя кассира 17 | строка | Максимальная длина: 48 |
139 | Имя кассира 18 | строка | Максимальная длина: 48 |
140 | Имя кассира 19 | строка | Максимальная длина: 48 |
141 | Имя кассира 20 | строка | Максимальная длина: 48 |
142 | Имя кассира 21 | строка | Максимальная длина: 48 |
143 | Имя кассира 22 | строка | Максимальная длина: 48 |
144 | Имя кассира 23 | строка | Максимальная длина: 48 |
145 | Имя кассира 24 | строка | Максимальная длина: 48 |
146 | Имя кассира 25 | строка | Максимальная длина: 48 |
147 | Имя кассира 26 | строка | Максимальная длина: 48 |
148 | Имя кассира 27 | строка | Максимальная длина: 48 |
149 | Имя кассира 28 | строка | Максимальная длина: 48 |
150 | ИНН кассира 1 | строка | Максимальная длина: 12 |
151 | ИНН кассира 2 | строка | Максимальная длина: 12 |
152 | ИНН кассира 3 | строка | Максимальная длина: 12 |
153 | ИНН кассира 4 | строка | Максимальная длина: 12 |
154 | ИНН кассира 5 | строка | Максимальная длина: 12 |
155 | ИНН кассира 6 | строка | Максимальная длина: 12 |
156 | ИНН кассира 7 | строка | Максимальная длина: 12 |
157 | ИНН кассира 8 | строка | Максимальная длина: 12 |
158 | ИНН кассира 9 | строка | Максимальная длина: 12 |
159 | ИНН кассира 10 | строка | Максимальная длина: 12 |
160 | ИНН кассира 11 | строка | Максимальная длина: 12 |
161 | ИНН кассира 12 | строка | Максимальная длина: 12 |
162 | ИНН кассира 13 | строка | Максимальная длина: 12 |
163 | ИНН кассира 14 | строка | Максимальная длина: 12 |
164 | ИНН кассира 15 | строка | Максимальная длина: 12 |
165 | ИНН кассира 16 | строка | Максимальная длина: 12 |
166 | ИНН кассира 17 | строка | Максимальная длина: 12 |
167 | ИНН кассира 18 | строка | Максимальная длина: 12 |
168 | ИНН кассира 19 | строка | Максимальная длина: 12 |
169 | ИНН кассира 20 | строка | Максимальная длина: 12 |
170 | ИНН кассира 21 | строка | Максимальная длина: 12 |
171 | ИНН кассира 22 | строка | Максимальная длина: 12 |
172 | ИНН кассира 23 | строка | Максимальная длина: 12 |
173 | ИНН кассира 24 | строка | Максимальная длина: 12 |
174 | ИНН кассира 25 | строка | Максимальная длина: 12 |
175 | ИНН кассира 26 | строка | Максимальная длина: 12 |
176 | ИНН кассира 27 | строка | Максимальная длина: 12 |
177 | ИНН кассира 28 | строка | Максимальная длина: 12 |
178 | Пароль администратора | строка | Максимальная длина: 8 |
179 | Имя администратора | строка | Максимальная длина: 48 |
180 | ИНН администратора | строка | Максимальная длина: 12 |
181 | Пароль системного администратора | строка | Максимальная длина: 8 |
182 | Имя системного администратора | строка | Максимальная длина: 48 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
184 | Строка клише 1 | строка | Максимальная длина: 48 |
185 | Строка клише 2 | строка | Максимальная длина: 48 |
186 | Строка клише 3 | строка | Максимальная длина: 48 |
187 | Строка клише 4 | строка | Максимальная длина: 48 |
188 | Строка клише 5 | строка | Максимальная длина: 48 |
189 | Строка клише 6 | строка | Максимальная длина: 48 |
190 | Строка клише 7 | строка | Максимальная длина: 48 |
191 | Строка клише 8 | строка | Максимальная длина: 48 |
192 | Строка клише 9 | строка | Максимальная длина: 48 |
193 | Строка клише 10 | строка | Максимальная длина: 48 |
194 | Строка клише 11 | строка | Максимальная длина: 48 |
195 | Строка клише 12 | строка | Максимальная длина: 48 |
196 | Строка клише 13 | строка | Максимальная длина: 48 |
197 | Строка клише 14 | строка | Максимальная длина: 48 |
198 | Строка клише 15 | строка | Максимальная длина: 48 |
199 | Строка клише 16 | строка | Максимальная длина: 48 |
200 | Строка клише 17 | строка | Максимальная длина: 48 |
201 | Строка клише 18 | строка | Максимальная длина: 48 |
202 | Строка клише 19 | строка | Максимальная длина: 48 |
203 | Строка клише 20 | строка | Максимальная длина: 48 |
204 | Наименование секции 1 | строка | Максимальная длина: 48 |
205 | Наименование секции 2 | строка | Максимальная длина: 48 |
206 | Наименование секции 3 | строка | Максимальная длина: 48 |
207 | Наименование секции 4 | строка | Максимальная длина: 48 |
208 | Наименование секции 5 | строка | Максимальная длина: 48 |
209 | Наименование секции 6 | строка | Максимальная длина: 48 |
210 | Наименование секции 7 | строка | Максимальная длина: 48 |
211 | Наименование секции 8 | строка | Максимальная длина: 48 |
212 | Наименование секции 9 | строка | Максимальная длина: 48 |
213 | Наименование секции 10 | строка | Максимальная длина: 48 |
214 | Наименование секции 11 | строка | Максимальная длина: 48 |
215 | Наименование секции 12 | строка | Максимальная длина: 48 |
216 | Наименование секции 13 | строка | Максимальная длина: 48 |
217 | Наименование секции 14 | строка | Максимальная длина: 48 |
218 | Наименование секции 15 | строка | Максимальная длина: 48 |
219 | Наименование секции 16 | строка | Максимальная длина: 48 |
220 | Номер налога 1 | число | 1 .. 6 |
221 | Номер налога 2 | число | 1 .. 6 |
222 | Номер налога 3 | число | 1 .. 6 |
223 | Номер налога 4 | число | 1 .. 6 |
224 | Номер налога 5 | число | 1 .. 6 |
225 | Номер налога 6 | число | 1 .. 6 |
226 | Номер налога 7 | число | 1 .. 6 |
227 | Номер налога 8 | число | 1 .. 6 |
228 | Номер налога 9 | число | 1 .. 6 |
229 | Номер налога 10 | число | 1 .. 6 |
230 | Номер налога 11 | число | 1 .. 6 |
231 | Номер налога 12 | число | 1 .. 6 |
232 | Номер налога 13 | число | 1 .. 6 |
233 | Номер налога 14 | число | 1 .. 6 |
234 | Номер налога 15 | число | 1 .. 6 |
235 | Номер налога 16 | число | 1 .. 6 |
236 | Скорость ККТ | число | 1200 - 1200 бод 2400 - 2400 бод 4800 - 4800 бод 9600 - 9600 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
238 | Скорость подключенного устройства | число | 1200 - 1200 бод 2400 - 2400 бод 4800 - 4800 бод 9600 - 9600 бод 14400 - 14400 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
239 | Канал обмена с ККТ | число | 4 - USB 5 - Bluetooth 7 - Wi-Fi |
240 | Наименование способа расчета 2 | строка | Максимальная длина: 48 |
241 | Наименование способа расчета 3 | строка | Максимальная длина: 48 |
242 | Наименование способа расчета 4 | строка | Максимальная длина: 48 |
243 | Наименование способа расчета 5 | строка | Максимальная длина: 48 |
244 | Наименование способа расчета 6 | строка | Максимальная длина: 48 |
245 | Наименование способа расчета 7 | строка | Максимальная длина: 48 |
246 | Наименование способа расчета 8 | строка | Максимальная длина: 48 |
247 | Наименование способа расчета 9 | строка | Максимальная длина: 48 |
248 | Наименование способа расчета 10 | строка | Максимальная длина: 48 |
249 | Номер формы расчета 2 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
250 | Номер формы расчета 3 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
251 | Номер формы расчета 4 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
252 | Номер формы расчета 5 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
253 | Номер формы расчета 6 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
254 | Номер формы расчета 7 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
255 | Номер формы расчета 8 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
256 | Номер формы расчета 9 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
257 | Номер формы расчета 10 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
265 | Конфигурационная строка | строка | Максимальная длина: 32 |
266 | Имя пользователя | строка | Максимальная длина: 32 |
267 | Пароль | строка | Максимальная длина: 32 |
268 | Режим Wi-Fi | число | 0 - Клиент 1 - Точка доступа |
269 | Имя точки доступа для работы по Wi-Fi | строка | Максимальная длина: 32 |
270 | Пароль доступа к точке доступа | строка | Максимальная длина: 32 |
271 | Номер канала Wi-Fi в режиме точки доступа | число | 0 .. 13 |
272 | Тип шифрования Wi-Fi | число | 0 - Open 1 - WEP 2 - WPA 3 - WPA2 4 - WPA/WPA2 |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
275 | DNS ОФД | строка | Максимальная длина: 15 |
276 | Канал обмена с ОФД | число | 1 - USB (EoU) 2 - Ethernet 3 - Wi-Fi 4 - GSM-модем 5 - EthernetOverTransport |
277 | Адрес сайта ФНС | строка | Максимальная длина: 64 |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
280 | Интервал посылок диагностических сообщений, с. | число | 0 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 1 .. 5 |
282 | Интервал опроса ФН при разрывах (в сек.) | число | 5 .. 120 |
287 | Версия ФФД | число | 0 - Автоматически 100 - ФФД 1.0 |
301 | Печатать на ЧЛ сообщение о полученном IP-адресе | число | 0 - Не печатать 1 - Печатать |
305 | Частота обмена с ФН, кбит/с | число | 50 .. 400 |
306 | Передавать необязательные реквизиты в ОФД | число | 0 - Не передавать 1 - Передавать |
307 | Ожидание инициализации ФН после включения, с. | число | 5 .. 255 |
308 | Ожидание обработки команды в ФН, с. | число | 10 .. 255 |
309 | Размер чека в байтах | число | 0 .. 4294967295 |
310 | Печатать пароль доступа к точке Wi-Fi | число | 0 - Не печатать 1 - Печатать |
311 | Блокировать ККТ при переполнении ЭЖ | число | 0 - Не блокировать 1 - Блокировать работу по протоколу 2 - Блокировать работу с ЛК |
312 | Работа со скидками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
313 | Работа со надбавками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
325 | Получение IP-адреса от DHCP (Wi-Fi) | число | 0 - Отключено 1 - Включено |
326 | IP-адрес (Wi-Fi) | строка | Максимальная длина: 15 |
327 | Маска подсети (Wi-Fi) | строка | Максимальная длина: 15 |
328 | Шлюз по умолчанию (Wi-Fi) | строка | Максимальная длина: 15 |
330 | Шрифт реквизитов в чеке | число | 1 .. 7 |
331 | Сопряжение по Bluetooth | число | 0 - Запрещено 1 - Разрешено |
332 | Печатать реквизит "Наименование ОФД" | число | 0 - Не печатать 1 - Печатать |
333 | Печатать реквизит "Адрес электронной почты отправителя" | число | 0 - Не печатать 1 - Печатать |
334 | Работа с ЭЖ | число | 0 - Отключена 1 - Включена |
345 | Печатать реквизит "ИНН поставщика" | число | 0 - Не печатать 1 - Печатать |
АТОЛ 52Ф
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
0 | Номер ККТ в магазине | число | 0 .. 255 |
2 | Печатать названия секций | число | 0 - Не печатать 1 - Печатать |
3 | Печатать необнуляемую сумму приходов и расходов | число | 0 - Не печатать 1 - Печатать |
4 | Производить инкассацию | число | 0 - Нет 1 - Да |
5 | Расширенный X-отчет и Z-отчет | число | 0 - Нет 1 - Да |
6 | Печатать информацию о количестве чеков за смену по типам операций | число | 0 - Не печатать 1 - Печатать |
7 | Автоматически печатать отчет по секциям перед X- и Z-отчетом | число | 0 - Не печатать 1 - Печатать |
8 | Яркость печати ЧЛ | число | 1 .. 15 |
9 | Открывать ДЯ при закрытии чека | число | 0 - Нет 1 - Да |
11 | Пароль доступа | строка | Максимальная длина: 4 |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
13 | Шрифт ЧЛ | число | 1 .. 7 |
14 | Количество печатаемых строк после чека на ЧЛ | число | 0 .. 20 |
15 | Печатать разделители в суточных отчетах | число | 0 - Не печатать 1 - Печатать |
16 | Печатать номер секции | число | 0 - Не печатать 1 - Печатать |
17 | Печатать необнуляемый итог на начало смены в Z-отчете | число | 0 - Не печатать 1 - Печатать |
18 | Печатать необнуляемый итог на начало смены в X-отчете | число | 0 - Не печатать 1 - Печатать |
19 | Печатать текст командой «Печать строки» | число | 0 - Не печатать 1 - Печатать |
20 | Режим перехода на летнее/зимнее время | число | 0 - Не переходить 1 - Переходить, не оповещать 2 - Переходить, оповещать кассира 3 - Переходить, оповещать кассира и хост |
21 | Дата перехода на летнее время | число | |
22 | Дата перехода на зимнее время | число | |
23 | Количество символов в строке | число | 24 .. 64 |
24 | Символ для разделителя | строка | Максимальная длина: 1 |
25 | Проверять время | число | 0 .. 99 |
26 | Смещение области печати слева | число | 0 .. 24 |
27 | Печатать налоги в Х- и Z-отчете и при регистрации | число | 0 - Не печатать 1 - Печатать |
28 | Минимальная яркость термокомпенсации на ЧЛ | число | 1 .. 15 |
29 | Печатать на ЧЛ документ готовности к работе | число | 0 - Не печатать 1 - Печатать |
30 | Печатать на ЧЛ клише в служебных сообщениях | число | 0 - Не печатать 1 - Печатать |
31 | Печатать на ЧЛ сообщение о вводе даты-времени | число | 0 - Не печатать 1 - Печатать |
32 | Протокол работы ККТ | число | 0 - АТОЛ 2 1 - АТОЛ 3 |
33 | PIN-код для Bluetooth | строка | Максимальная длина: 8 |
34 | Уровень коррекции ошибок QR-кода | число | 1 .. 4 |
35 | Количество строк заголовка клише | число | 0 - 0 1 - 1 2 - 2 3 - 3 4 - 4 5 - 5 6 - 6 7 - 7 8 - 8 9 - 9 10 - 10 11 - 11 12 - 12 13 - 13 14 - 14 15 - 15 16 - 16 17 - 17 18 - 18 19 - 19 20 - 20 99 - Старый формат печати |
36 | Расстояние от ТПГ до отрывного ножа | число | 0 .. 255 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
38 | Звуковой сигнал при окончании бумаги и открытии крышки | число | 0 - Нет 1 - Да |
39 | Звуковой сигнал при включении | число | 0 - Нет 1 - Да |
40 | Сохранять печатаемый документ в память | число | 0 - Не сохранять 1 - Сохранять только отчеты 2 - Сохранять все |
41 | Печатать нулевые налоги | число | 0 - Не печатать 1 - Печатать |
42 | Печать необнуляемой суммы возвратов приходов | число | 0 - Не печатать 1 - Печатать |
43 | Печать необнуляемой суммы возвратов расходов | число | 0 - Не печатать 1 - Печатать |
44 | Печатать количество отмененных чеков по типам | число | 0 - Не печатать 1 - Печатать |
45 | Не печатать блоки «приходы», «возвраты приходов», «расходы», «возвраты расходов» | число | 0 - Печатать 1 - Не печатать |
46 | Печатать нулевые суммы | число | 0 - Не печатать 1 - Печатать |
47 | Печать номера ККМ в магазине | число | 0 - Не печатать 1 - Печатать |
48 | Печать реквизитов чека на аннулированных чеках | число | 0 - Не печатать 1 - Печатать |
49 | Получение IP-адреса от DHCP (Ethernet) | число | 0 - Отключено 1 - Включено |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
51 | Шаблон чека | число | 1 - Шаблон 1 2 - Шаблон 2 |
52 | Признак способа расчета по умолчанию | число | 1 - Предоплата 100% 2 - Предоплата 3 - Аванс 4 - Полный расчет 5 - Частичный расчет и кредит 6 - Передача в кредит 7 - Оплата кредита |
53 | Округлять сумму налога | число | 0 - На весь чек 1 - После каждой позиции |
54 | Контроль суммы налогов 10% и 18% (20%) | число | 0 - Отключен 1 - Включен |
55 | Пересчитывать суммы налогов после скидки на итог | число | 0 - Нет 1 - Да |
56 | Учет наличности | число | 0 - Отключен 1 - Включен |
57 | Печатать признак способа расчета | число | 0 - Не печатать 1 - Печатать |
58 | Печатать признак предмета расчета | число | 0 - Не печатать 1 - Печатать полное наименование 2 - Печатать краткое наименование |
59 | Не печатать суточный отчет с гашением при закрытии смены | число | 0 - Печатать 1 - Не печатать |
60 | Печатать необнуляемые суммы по способам расчета прихода и возврата прихода | число | 0 - Не печатать 1 - Печатать |
61 | Печатать необнуляемые суммы по способам расчета расхода и возврата расхода | число | 0 - Не печатать 1 - Печатать |
62 | Не печатать клише автоматически при закрытии чека | число | 0 - Печатать 1 - Не печатать |
63 | Признак предмета расчета по умолчанию | число | 1 - Товар 2 - Подакцизный товар 3 - Работа 4 - Услуга 5 - Ставка азартной игры 6 - Выигрыш азартной игры 7 - Лотерейный билет 8 - Выигрыш лотереи 9 - Предоставление РИД 10 - Платеж 11 - Агентское вознаграждение 12 - Составной предмет расчета 13 - Иной предмет расчета 14 - Имущественное право 15 - Внереализационный доход 16 - Страховые взносы 17 - Торговый сбор 18 - Курортный сбор 19 - Залог |
65 | Не открывать ДЯ при отсутствии наличного способа расчета в чеке | число | 0 - Открывать 1 - Не открывать |
66 | Отрезать чек после завершения документа | число | 0 - Не отрезать 1 - Не полностью 2 - Полностью |
67 | Запретить отрезку чеков | число | 0 - Нет 1 - Да |
68 | Запретить отрезку отчетов | число | 0 - Нет 1 - Да |
69 | Отрезать ЧЛ после печати клише командой «Печать клише» | число | 0 - Нет 1 - Да |
71 | IP-адрес (Ethernet) | строка | Максимальная длина: 15 |
72 | Маска подсети (Ethernet) | строка | Максимальная длина: 15 |
73 | Шлюз по умолчанию (Ethernet) | строка | Максимальная длина: 15 |
74 | IP-порт (Ethernet) | число | 1 .. 65535 |
75 | Расстояние от ножа отрезчика до гребенки | число | 0 .. 255 |
94 | Пароль кассира 1 | строка | Максимальная длина: 8 |
95 | Пароль кассира 2 | строка | Максимальная длина: 8 |
96 | Пароль кассира 3 | строка | Максимальная длина: 8 |
97 | Пароль кассира 4 | строка | Максимальная длина: 8 |
98 | Пароль кассира 5 | строка | Максимальная длина: 8 |
99 | Пароль кассира 6 | строка | Максимальная длина: 8 |
100 | Пароль кассира 7 | строка | Максимальная длина: 8 |
101 | Пароль кассира 8 | строка | Максимальная длина: 8 |
102 | Пароль кассира 9 | строка | Максимальная длина: 8 |
103 | Пароль кассира 10 | строка | Максимальная длина: 8 |
104 | Пароль кассира 11 | строка | Максимальная длина: 8 |
105 | Пароль кассира 12 | строка | Максимальная длина: 8 |
106 | Пароль кассира 13 | строка | Максимальная длина: 8 |
107 | Пароль кассира 14 | строка | Максимальная длина: 8 |
108 | Пароль кассира 15 | строка | Максимальная длина: 8 |
109 | Пароль кассира 16 | строка | Максимальная длина: 8 |
110 | Пароль кассира 17 | строка | Максимальная длина: 8 |
111 | Пароль кассира 18 | строка | Максимальная длина: 8 |
112 | Пароль кассира 19 | строка | Максимальная длина: 8 |
113 | Пароль кассира 20 | строка | Максимальная длина: 8 |
114 | Пароль кассира 21 | строка | Максимальная длина: 8 |
115 | Пароль кассира 22 | строка | Максимальная длина: 8 |
116 | Пароль кассира 23 | строка | Максимальная длина: 8 |
117 | Пароль кассира 24 | строка | Максимальная длина: 8 |
118 | Пароль кассира 25 | строка | Максимальная длина: 8 |
119 | Пароль кассира 26 | строка | Максимальная длина: 8 |
120 | Пароль кассира 27 | строка | Максимальная длина: 8 |
121 | Пароль кассира 28 | строка | Максимальная длина: 8 |
122 | Имя кассира 1 | строка | Максимальная длина: 48 |
123 | Имя кассира 2 | строка | Максимальная длина: 48 |
124 | Имя кассира 3 | строка | Максимальная длина: 48 |
125 | Имя кассира 4 | строка | Максимальная длина: 48 |
126 | Имя кассира 5 | строка | Максимальная длина: 48 |
127 | Имя кассира 6 | строка | Максимальная длина: 48 |
128 | Имя кассира 7 | строка | Максимальная длина: 48 |
129 | Имя кассира 8 | строка | Максимальная длина: 48 |
130 | Имя кассира 9 | строка | Максимальная длина: 48 |
131 | Имя кассира 10 | строка | Максимальная длина: 48 |
132 | Имя кассира 11 | строка | Максимальная длина: 48 |
133 | Имя кассира 12 | строка | Максимальная длина: 48 |
134 | Имя кассира 13 | строка | Максимальная длина: 48 |
135 | Имя кассира 14 | строка | Максимальная длина: 48 |
136 | Имя кассира 15 | строка | Максимальная длина: 48 |
137 | Имя кассира 16 | строка | Максимальная длина: 48 |
138 | Имя кассира 17 | строка | Максимальная длина: 48 |
139 | Имя кассира 18 | строка | Максимальная длина: 48 |
140 | Имя кассира 19 | строка | Максимальная длина: 48 |
141 | Имя кассира 20 | строка | Максимальная длина: 48 |
142 | Имя кассира 21 | строка | Максимальная длина: 48 |
143 | Имя кассира 22 | строка | Максимальная длина: 48 |
144 | Имя кассира 23 | строка | Максимальная длина: 48 |
145 | Имя кассира 24 | строка | Максимальная длина: 48 |
146 | Имя кассира 25 | строка | Максимальная длина: 48 |
147 | Имя кассира 26 | строка | Максимальная длина: 48 |
148 | Имя кассира 27 | строка | Максимальная длина: 48 |
149 | Имя кассира 28 | строка | Максимальная длина: 48 |
150 | ИНН кассира 1 | строка | Максимальная длина: 12 |
151 | ИНН кассира 2 | строка | Максимальная длина: 12 |
152 | ИНН кассира 3 | строка | Максимальная длина: 12 |
153 | ИНН кассира 4 | строка | Максимальная длина: 12 |
154 | ИНН кассира 5 | строка | Максимальная длина: 12 |
155 | ИНН кассира 6 | строка | Максимальная длина: 12 |
156 | ИНН кассира 7 | строка | Максимальная длина: 12 |
157 | ИНН кассира 8 | строка | Максимальная длина: 12 |
158 | ИНН кассира 9 | строка | Максимальная длина: 12 |
159 | ИНН кассира 10 | строка | Максимальная длина: 12 |
160 | ИНН кассира 11 | строка | Максимальная длина: 12 |
161 | ИНН кассира 12 | строка | Максимальная длина: 12 |
162 | ИНН кассира 13 | строка | Максимальная длина: 12 |
163 | ИНН кассира 14 | строка | Максимальная длина: 12 |
164 | ИНН кассира 15 | строка | Максимальная длина: 12 |
165 | ИНН кассира 16 | строка | Максимальная длина: 12 |
166 | ИНН кассира 17 | строка | Максимальная длина: 12 |
167 | ИНН кассира 18 | строка | Максимальная длина: 12 |
168 | ИНН кассира 19 | строка | Максимальная длина: 12 |
169 | ИНН кассира 20 | строка | Максимальная длина: 12 |
170 | ИНН кассира 21 | строка | Максимальная длина: 12 |
171 | ИНН кассира 22 | строка | Максимальная длина: 12 |
172 | ИНН кассира 23 | строка | Максимальная длина: 12 |
173 | ИНН кассира 24 | строка | Максимальная длина: 12 |
174 | ИНН кассира 25 | строка | Максимальная длина: 12 |
175 | ИНН кассира 26 | строка | Максимальная длина: 12 |
176 | ИНН кассира 27 | строка | Максимальная длина: 12 |
177 | ИНН кассира 28 | строка | Максимальная длина: 12 |
178 | Пароль администратора | строка | Максимальная длина: 8 |
179 | Имя администратора | строка | Максимальная длина: 48 |
180 | ИНН администратора | строка | Максимальная длина: 12 |
181 | Пароль системного администратора | строка | Максимальная длина: 8 |
182 | Имя системного администратора | строка | Максимальная длина: 48 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
184 | Строка клише 1 | строка | Максимальная длина: 48 |
185 | Строка клише 2 | строка | Максимальная длина: 48 |
186 | Строка клише 3 | строка | Максимальная длина: 48 |
187 | Строка клише 4 | строка | Максимальная длина: 48 |
188 | Строка клише 5 | строка | Максимальная длина: 48 |
189 | Строка клише 6 | строка | Максимальная длина: 48 |
190 | Строка клише 7 | строка | Максимальная длина: 48 |
191 | Строка клише 8 | строка | Максимальная длина: 48 |
192 | Строка клише 9 | строка | Максимальная длина: 48 |
193 | Строка клише 10 | строка | Максимальная длина: 48 |
194 | Строка клише 11 | строка | Максимальная длина: 48 |
195 | Строка клише 12 | строка | Максимальная длина: 48 |
196 | Строка клише 13 | строка | Максимальная длина: 48 |
197 | Строка клише 14 | строка | Максимальная длина: 48 |
198 | Строка клише 15 | строка | Максимальная длина: 48 |
199 | Строка клише 16 | строка | Максимальная длина: 48 |
200 | Строка клише 17 | строка | Максимальная длина: 48 |
201 | Строка клише 18 | строка | Максимальная длина: 48 |
202 | Строка клише 19 | строка | Максимальная длина: 48 |
203 | Строка клише 20 | строка | Максимальная длина: 48 |
204 | Наименование секции 1 | строка | Максимальная длина: 48 |
205 | Наименование секции 2 | строка | Максимальная длина: 48 |
206 | Наименование секции 3 | строка | Максимальная длина: 48 |
207 | Наименование секции 4 | строка | Максимальная длина: 48 |
208 | Наименование секции 5 | строка | Максимальная длина: 48 |
209 | Наименование секции 6 | строка | Максимальная длина: 48 |
210 | Наименование секции 7 | строка | Максимальная длина: 48 |
211 | Наименование секции 8 | строка | Максимальная длина: 48 |
212 | Наименование секции 9 | строка | Максимальная длина: 48 |
213 | Наименование секции 10 | строка | Максимальная длина: 48 |
214 | Наименование секции 11 | строка | Максимальная длина: 48 |
215 | Наименование секции 12 | строка | Максимальная длина: 48 |
216 | Наименование секции 13 | строка | Максимальная длина: 48 |
217 | Наименование секции 14 | строка | Максимальная длина: 48 |
218 | Наименование секции 15 | строка | Максимальная длина: 48 |
219 | Наименование секции 16 | строка | Максимальная длина: 48 |
220 | Номер налога 1 | число | 1 .. 6 |
221 | Номер налога 2 | число | 1 .. 6 |
222 | Номер налога 3 | число | 1 .. 6 |
223 | Номер налога 4 | число | 1 .. 6 |
224 | Номер налога 5 | число | 1 .. 6 |
225 | Номер налога 6 | число | 1 .. 6 |
226 | Номер налога 7 | число | 1 .. 6 |
227 | Номер налога 8 | число | 1 .. 6 |
228 | Номер налога 9 | число | 1 .. 6 |
229 | Номер налога 10 | число | 1 .. 6 |
230 | Номер налога 11 | число | 1 .. 6 |
231 | Номер налога 12 | число | 1 .. 6 |
232 | Номер налога 13 | число | 1 .. 6 |
233 | Номер налога 14 | число | 1 .. 6 |
234 | Номер налога 15 | число | 1 .. 6 |
235 | Номер налога 16 | число | 1 .. 6 |
236 | Скорость ККТ | число | 1200 - 1200 бод 2400 - 2400 бод 4800 - 4800 бод 9600 - 9600 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
238 | Скорость подключенного устройства | число | 1200 - 1200 бод 2400 - 2400 бод 4800 - 4800 бод 9600 - 9600 бод 14400 - 14400 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
239 | Канал обмена с ККТ | число | 0 - RS-232 4 - USB 5 - Bluetooth 6 - Ethernet 7 - Wi-Fi |
240 | Наименование способа расчета 2 | строка | Максимальная длина: 48 |
241 | Наименование способа расчета 3 | строка | Максимальная длина: 48 |
242 | Наименование способа расчета 4 | строка | Максимальная длина: 48 |
243 | Наименование способа расчета 5 | строка | Максимальная длина: 48 |
244 | Наименование способа расчета 6 | строка | Максимальная длина: 48 |
245 | Наименование способа расчета 7 | строка | Максимальная длина: 48 |
246 | Наименование способа расчета 8 | строка | Максимальная длина: 48 |
247 | Наименование способа расчета 9 | строка | Максимальная длина: 48 |
248 | Наименование способа расчета 10 | строка | Максимальная длина: 48 |
249 | Номер формы расчета 2 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
250 | Номер формы расчета 3 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
251 | Номер формы расчета 4 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
252 | Номер формы расчета 5 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
253 | Номер формы расчета 6 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
254 | Номер формы расчета 7 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
255 | Номер формы расчета 8 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
256 | Номер формы расчета 9 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
257 | Номер формы расчета 10 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
265 | Конфигурационная строка | строка | Максимальная длина: 32 |
266 | Имя пользователя | строка | Максимальная длина: 32 |
267 | Пароль | строка | Максимальная длина: 32 |
268 | Режим Wi-Fi | число | 0 - Клиент 1 - Точка доступа |
269 | Имя точки доступа для работы по Wi-Fi | строка | Максимальная длина: 32 |
270 | Пароль доступа к точке доступа | строка | Максимальная длина: 32 |
271 | Номер канала Wi-Fi в режиме точки доступа | число | 0 .. 13 |
272 | Тип шифрования Wi-Fi | число | 0 - Open 1 - WEP 2 - WPA 3 - WPA2 4 - WPA/WPA2 |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
275 | DNS ОФД | строка | Максимальная длина: 15 |
276 | Канал обмена с ОФД | число | 1 - USB (EoU) 2 - Ethernet 3 - Wi-Fi 4 - GSM-модем 5 - EthernetOverTransport |
277 | Адрес сайта ФНС | строка | Максимальная длина: 64 |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
280 | Интервал посылок диагностических сообщений, с. | число | 0 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 1 .. 5 |
282 | Интервал опроса ФН при разрывах (в сек.) | число | 5 .. 120 |
287 | Версия ФФД | число | 0 - Автоматически 100 - ФФД 1.0 |
301 | Печатать на ЧЛ сообщение о полученном IP-адресе | число | 0 - Не печатать 1 - Печатать |
305 | Частота обмена с ФН, кбит/с | число | 50 .. 400 |
306 | Передавать необязательные реквизиты в ОФД | число | 0 - Не передавать 1 - Передавать |
307 | Ожидание инициализации ФН после включения, с. | число | 5 .. 255 |
308 | Ожидание обработки команды в ФН, с. | число | 10 .. 255 |
309 | Размер чека в байтах | число | 0 .. 4294967295 |
310 | Печатать пароль доступа к точке Wi-Fi | число | 0 - Не печатать 1 - Печатать |
311 | Блокировать ККТ при переполнении ЭЖ | число | 0 - Не блокировать 1 - Блокировать работу по протоколу 2 - Блокировать работу с ЛК |
312 | Работа со скидками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
313 | Работа со надбавками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
325 | Получение IP-адреса от DHCP (Wi-Fi) | число | 0 - Отключено 1 - Включено |
326 | IP-адрес (Wi-Fi) | строка | Максимальная длина: 15 |
327 | Маска подсети (Wi-Fi) | строка | Максимальная длина: 15 |
328 | Шлюз по умолчанию (Wi-Fi) | строка | Максимальная длина: 15 |
330 | Шрифт реквизитов в чеке | число | 1 .. 7 |
331 | Сопряжение по Bluetooth | число | 0 - Запрещено 1 - Разрешено |
332 | Печатать реквизит "Наименование ОФД" | число | 0 - Не печатать 1 - Печатать |
333 | Печатать реквизит "Адрес электронной почты отправителя" | число | 0 - Не печатать 1 - Печатать |
334 | Работа с ЭЖ | число | 0 - Отключена 1 - Включена |
345 | Печатать реквизит "ИНН поставщика" | число | 0 - Не печатать 1 - Печатать |
АТОЛ 55Ф
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
0 | Номер ККТ в магазине | число | 0 .. 255 |
2 | Печатать названия секций | число | 0 - Не печатать 1 - Печатать |
3 | Печатать необнуляемую сумму приходов и расходов | число | 0 - Не печатать 1 - Печатать |
4 | Производить инкассацию | число | 0 - Нет 1 - Да |
5 | Расширенный X-отчет и Z-отчет | число | 0 - Нет 1 - Да |
6 | Печатать информацию о количестве чеков за смену по типам операций | число | 0 - Не печатать 1 - Печатать |
7 | Автоматически печатать отчет по секциям перед X- и Z-отчетом | число | 0 - Не печатать 1 - Печатать |
8 | Яркость печати ЧЛ | число | 1 .. 15 |
9 | Открывать ДЯ при закрытии чека | число | 0 - Нет 1 - Да |
11 | Пароль доступа | строка | Максимальная длина: 4 |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
13 | Шрифт ЧЛ | число | 1 .. 7 |
14 | Количество печатаемых строк после чека на ЧЛ | число | 0 .. 20 |
15 | Печатать разделители в суточных отчетах | число | 0 - Не печатать 1 - Печатать |
16 | Печатать номер секции | число | 0 - Не печатать 1 - Печатать |
17 | Печатать необнуляемый итог на начало смены в Z-отчете | число | 0 - Не печатать 1 - Печатать |
18 | Печатать необнуляемый итог на начало смены в X-отчете | число | 0 - Не печатать 1 - Печатать |
19 | Печатать текст командой «Печать строки» | число | 0 - Не печатать 1 - Печатать |
20 | Режим перехода на летнее/зимнее время | число | 0 - Не переходить 1 - Переходить, не оповещать 2 - Переходить, оповещать кассира 3 - Переходить, оповещать кассира и хост |
21 | Дата перехода на летнее время | число | |
22 | Дата перехода на зимнее время | число | |
23 | Количество символов в строке | число | 24 .. 64 |
24 | Символ для разделителя | строка | Максимальная длина: 1 |
25 | Проверять время | число | 0 .. 99 |
26 | Смещение области печати слева | число | 0 .. 24 |
27 | Печатать налоги в Х- и Z-отчете и при регистрации | число | 0 - Не печатать 1 - Печатать |
28 | Минимальная яркость термокомпенсации на ЧЛ | число | 1 .. 15 |
29 | Печатать на ЧЛ документ готовности к работе | число | 0 - Не печатать 1 - Печатать |
30 | Печатать на ЧЛ клише в служебных сообщениях | число | 0 - Не печатать 1 - Печатать |
31 | Печатать на ЧЛ сообщение о вводе даты-времени | число | 0 - Не печатать 1 - Печатать |
32 | Протокол работы ККТ | число | 0 - АТОЛ 2 1 - АТОЛ 3 |
33 | PIN-код для Bluetooth | строка | Максимальная длина: 8 |
34 | Уровень коррекции ошибок QR-кода | число | 1 .. 4 |
35 | Количество строк заголовка клише | число | 0 - 0 1 - 1 2 - 2 3 - 3 4 - 4 5 - 5 6 - 6 7 - 7 8 - 8 9 - 9 10 - 10 11 - 11 12 - 12 13 - 13 14 - 14 15 - 15 16 - 16 17 - 17 18 - 18 19 - 19 20 - 20 99 - Старый формат печати |
36 | Расстояние от ТПГ до отрывного ножа | число | 0 .. 255 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
38 | Звуковой сигнал при окончании бумаги и открытии крышки | число | 0 - Нет 1 - Да |
39 | Звуковой сигнал при включении | число | 0 - Нет 1 - Да |
40 | Сохранять печатаемый документ в память | число | 0 - Не сохранять 1 - Сохранять только отчеты 2 - Сохранять все |
41 | Печатать нулевые налоги | число | 0 - Не печатать 1 - Печатать |
42 | Печать необнуляемой суммы возвратов приходов | число | 0 - Не печатать 1 - Печатать |
43 | Печать необнуляемой суммы возвратов расходов | число | 0 - Не печатать 1 - Печатать |
44 | Печатать количество отмененных чеков по типам | число | 0 - Не печатать 1 - Печатать |
45 | Не печатать блоки «приходы», «возвраты приходов», «расходы», «возвраты расходов» | число | 0 - Печатать 1 - Не печатать |
46 | Печатать нулевые суммы | число | 0 - Не печатать 1 - Печатать |
47 | Печать номера ККМ в магазине | число | 0 - Не печатать 1 - Печатать |
48 | Печать реквизитов чека на аннулированных чеках | число | 0 - Не печатать 1 - Печатать |
49 | Получение IP-адреса от DHCP (Ethernet) | число | 0 - Отключено 1 - Включено |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
51 | Шаблон чека | число | 1 - Шаблон 1 2 - Шаблон 2 |
52 | Признак способа расчета по умолчанию | число | 1 - Предоплата 100% 2 - Предоплата 3 - Аванс 4 - Полный расчет 5 - Частичный расчет и кредит 6 - Передача в кредит 7 - Оплата кредита |
53 | Округлять сумму налога | число | 0 - На весь чек 1 - После каждой позиции |
54 | Контроль суммы налогов 10% и 18% (20%) | число | 0 - Отключен 1 - Включен |
55 | Пересчитывать суммы налогов после скидки на итог | число | 0 - Нет 1 - Да |
56 | Учет наличности | число | 0 - Отключен 1 - Включен |
57 | Печатать признак способа расчета | число | 0 - Не печатать 1 - Печатать |
58 | Печатать признак предмета расчета | число | 0 - Не печатать 1 - Печатать полное наименование 2 - Печатать краткое наименование |
59 | Не печатать суточный отчет с гашением при закрытии смены | число | 0 - Печатать 1 - Не печатать |
60 | Печатать необнуляемые суммы по способам расчета прихода и возврата прихода | число | 0 - Не печатать 1 - Печатать |
61 | Печатать необнуляемые суммы по способам расчета расхода и возврата расхода | число | 0 - Не печатать 1 - Печатать |
62 | Не печатать клише автоматически при закрытии чека | число | 0 - Печатать 1 - Не печатать |
63 | Признак предмета расчета по умолчанию | число | 1 - Товар 2 - Подакцизный товар 3 - Работа 4 - Услуга 5 - Ставка азартной игры 6 - Выигрыш азартной игры 7 - Лотерейный билет 8 - Выигрыш лотереи 9 - Предоставление РИД 10 - Платеж 11 - Агентское вознаграждение 12 - Составной предмет расчета 13 - Иной предмет расчета 14 - Имущественное право 15 - Внереализационный доход 16 - Страховые взносы 17 - Торговый сбор 18 - Курортный сбор 19 - Залог |
65 | Не открывать ДЯ при отсутствии наличного способа расчета в чеке | число | 0 - Открывать 1 - Не открывать |
66 | Отрезать чек после завершения документа | число | 0 - Не отрезать 1 - Не полностью 2 - Полностью |
67 | Запретить отрезку чеков | число | 0 - Нет 1 - Да |
68 | Запретить отрезку отчетов | число | 0 - Нет 1 - Да |
69 | Отрезать ЧЛ после печати клише командой «Печать клише» | число | 0 - Нет 1 - Да |
71 | IP-адрес (Ethernet) | строка | Максимальная длина: 15 |
72 | Маска подсети (Ethernet) | строка | Максимальная длина: 15 |
73 | Шлюз по умолчанию (Ethernet) | строка | Максимальная длина: 15 |
74 | IP-порт (Ethernet) | число | 1 .. 65535 |
75 | Расстояние от ножа отрезчика до гребенки | число | 0 .. 255 |
94 | Пароль кассира 1 | строка | Максимальная длина: 8 |
95 | Пароль кассира 2 | строка | Максимальная длина: 8 |
96 | Пароль кассира 3 | строка | Максимальная длина: 8 |
97 | Пароль кассира 4 | строка | Максимальная длина: 8 |
98 | Пароль кассира 5 | строка | Максимальная длина: 8 |
99 | Пароль кассира 6 | строка | Максимальная длина: 8 |
100 | Пароль кассира 7 | строка | Максимальная длина: 8 |
101 | Пароль кассира 8 | строка | Максимальная длина: 8 |
102 | Пароль кассира 9 | строка | Максимальная длина: 8 |
103 | Пароль кассира 10 | строка | Максимальная длина: 8 |
104 | Пароль кассира 11 | строка | Максимальная длина: 8 |
105 | Пароль кассира 12 | строка | Максимальная длина: 8 |
106 | Пароль кассира 13 | строка | Максимальная длина: 8 |
107 | Пароль кассира 14 | строка | Максимальная длина: 8 |
108 | Пароль кассира 15 | строка | Максимальная длина: 8 |
109 | Пароль кассира 16 | строка | Максимальная длина: 8 |
110 | Пароль кассира 17 | строка | Максимальная длина: 8 |
111 | Пароль кассира 18 | строка | Максимальная длина: 8 |
112 | Пароль кассира 19 | строка | Максимальная длина: 8 |
113 | Пароль кассира 20 | строка | Максимальная длина: 8 |
114 | Пароль кассира 21 | строка | Максимальная длина: 8 |
115 | Пароль кассира 22 | строка | Максимальная длина: 8 |
116 | Пароль кассира 23 | строка | Максимальная длина: 8 |
117 | Пароль кассира 24 | строка | Максимальная длина: 8 |
118 | Пароль кассира 25 | строка | Максимальная длина: 8 |
119 | Пароль кассира 26 | строка | Максимальная длина: 8 |
120 | Пароль кассира 27 | строка | Максимальная длина: 8 |
121 | Пароль кассира 28 | строка | Максимальная длина: 8 |
122 | Имя кассира 1 | строка | Максимальная длина: 48 |
123 | Имя кассира 2 | строка | Максимальная длина: 48 |
124 | Имя кассира 3 | строка | Максимальная длина: 48 |
125 | Имя кассира 4 | строка | Максимальная длина: 48 |
126 | Имя кассира 5 | строка | Максимальная длина: 48 |
127 | Имя кассира 6 | строка | Максимальная длина: 48 |
128 | Имя кассира 7 | строка | Максимальная длина: 48 |
129 | Имя кассира 8 | строка | Максимальная длина: 48 |
130 | Имя кассира 9 | строка | Максимальная длина: 48 |
131 | Имя кассира 10 | строка | Максимальная длина: 48 |
132 | Имя кассира 11 | строка | Максимальная длина: 48 |
133 | Имя кассира 12 | строка | Максимальная длина: 48 |
134 | Имя кассира 13 | строка | Максимальная длина: 48 |
135 | Имя кассира 14 | строка | Максимальная длина: 48 |
136 | Имя кассира 15 | строка | Максимальная длина: 48 |
137 | Имя кассира 16 | строка | Максимальная длина: 48 |
138 | Имя кассира 17 | строка | Максимальная длина: 48 |
139 | Имя кассира 18 | строка | Максимальная длина: 48 |
140 | Имя кассира 19 | строка | Максимальная длина: 48 |
141 | Имя кассира 20 | строка | Максимальная длина: 48 |
142 | Имя кассира 21 | строка | Максимальная длина: 48 |
143 | Имя кассира 22 | строка | Максимальная длина: 48 |
144 | Имя кассира 23 | строка | Максимальная длина: 48 |
145 | Имя кассира 24 | строка | Максимальная длина: 48 |
146 | Имя кассира 25 | строка | Максимальная длина: 48 |
147 | Имя кассира 26 | строка | Максимальная длина: 48 |
148 | Имя кассира 27 | строка | Максимальная длина: 48 |
149 | Имя кассира 28 | строка | Максимальная длина: 48 |
150 | ИНН кассира 1 | строка | Максимальная длина: 12 |
151 | ИНН кассира 2 | строка | Максимальная длина: 12 |
152 | ИНН кассира 3 | строка | Максимальная длина: 12 |
153 | ИНН кассира 4 | строка | Максимальная длина: 12 |
154 | ИНН кассира 5 | строка | Максимальная длина: 12 |
155 | ИНН кассира 6 | строка | Максимальная длина: 12 |
156 | ИНН кассира 7 | строка | Максимальная длина: 12 |
157 | ИНН кассира 8 | строка | Максимальная длина: 12 |
158 | ИНН кассира 9 | строка | Максимальная длина: 12 |
159 | ИНН кассира 10 | строка | Максимальная длина: 12 |
160 | ИНН кассира 11 | строка | Максимальная длина: 12 |
161 | ИНН кассира 12 | строка | Максимальная длина: 12 |
162 | ИНН кассира 13 | строка | Максимальная длина: 12 |
163 | ИНН кассира 14 | строка | Максимальная длина: 12 |
164 | ИНН кассира 15 | строка | Максимальная длина: 12 |
165 | ИНН кассира 16 | строка | Максимальная длина: 12 |
166 | ИНН кассира 17 | строка | Максимальная длина: 12 |
167 | ИНН кассира 18 | строка | Максимальная длина: 12 |
168 | ИНН кассира 19 | строка | Максимальная длина: 12 |
169 | ИНН кассира 20 | строка | Максимальная длина: 12 |
170 | ИНН кассира 21 | строка | Максимальная длина: 12 |
171 | ИНН кассира 22 | строка | Максимальная длина: 12 |
172 | ИНН кассира 23 | строка | Максимальная длина: 12 |
173 | ИНН кассира 24 | строка | Максимальная длина: 12 |
174 | ИНН кассира 25 | строка | Максимальная длина: 12 |
175 | ИНН кассира 26 | строка | Максимальная длина: 12 |
176 | ИНН кассира 27 | строка | Максимальная длина: 12 |
177 | ИНН кассира 28 | строка | Максимальная длина: 12 |
178 | Пароль администратора | строка | Максимальная длина: 8 |
179 | Имя администратора | строка | Максимальная длина: 48 |
180 | ИНН администратора | строка | Максимальная длина: 12 |
181 | Пароль системного администратора | строка | Максимальная длина: 8 |
182 | Имя системного администратора | строка | Максимальная длина: 48 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
184 | Строка клише 1 | строка | Максимальная длина: 48 |
185 | Строка клише 2 | строка | Максимальная длина: 48 |
186 | Строка клише 3 | строка | Максимальная длина: 48 |
187 | Строка клише 4 | строка | Максимальная длина: 48 |
188 | Строка клише 5 | строка | Максимальная длина: 48 |
189 | Строка клише 6 | строка | Максимальная длина: 48 |
190 | Строка клише 7 | строка | Максимальная длина: 48 |
191 | Строка клише 8 | строка | Максимальная длина: 48 |
192 | Строка клише 9 | строка | Максимальная длина: 48 |
193 | Строка клише 10 | строка | Максимальная длина: 48 |
194 | Строка клише 11 | строка | Максимальная длина: 48 |
195 | Строка клише 12 | строка | Максимальная длина: 48 |
196 | Строка клише 13 | строка | Максимальная длина: 48 |
197 | Строка клише 14 | строка | Максимальная длина: 48 |
198 | Строка клише 15 | строка | Максимальная длина: 48 |
199 | Строка клише 16 | строка | Максимальная длина: 48 |
200 | Строка клише 17 | строка | Максимальная длина: 48 |
201 | Строка клише 18 | строка | Максимальная длина: 48 |
202 | Строка клише 19 | строка | Максимальная длина: 48 |
203 | Строка клише 20 | строка | Максимальная длина: 48 |
204 | Наименование секции 1 | строка | Максимальная длина: 48 |
205 | Наименование секции 2 | строка | Максимальная длина: 48 |
206 | Наименование секции 3 | строка | Максимальная длина: 48 |
207 | Наименование секции 4 | строка | Максимальная длина: 48 |
208 | Наименование секции 5 | строка | Максимальная длина: 48 |
209 | Наименование секции 6 | строка | Максимальная длина: 48 |
210 | Наименование секции 7 | строка | Максимальная длина: 48 |
211 | Наименование секции 8 | строка | Максимальная длина: 48 |
212 | Наименование секции 9 | строка | Максимальная длина: 48 |
213 | Наименование секции 10 | строка | Максимальная длина: 48 |
214 | Наименование секции 11 | строка | Максимальная длина: 48 |
215 | Наименование секции 12 | строка | Максимальная длина: 48 |
216 | Наименование секции 13 | строка | Максимальная длина: 48 |
217 | Наименование секции 14 | строка | Максимальная длина: 48 |
218 | Наименование секции 15 | строка | Максимальная длина: 48 |
219 | Наименование секции 16 | строка | Максимальная длина: 48 |
220 | Номер налога 1 | число | 1 .. 6 |
221 | Номер налога 2 | число | 1 .. 6 |
222 | Номер налога 3 | число | 1 .. 6 |
223 | Номер налога 4 | число | 1 .. 6 |
224 | Номер налога 5 | число | 1 .. 6 |
225 | Номер налога 6 | число | 1 .. 6 |
226 | Номер налога 7 | число | 1 .. 6 |
227 | Номер налога 8 | число | 1 .. 6 |
228 | Номер налога 9 | число | 1 .. 6 |
229 | Номер налога 10 | число | 1 .. 6 |
230 | Номер налога 11 | число | 1 .. 6 |
231 | Номер налога 12 | число | 1 .. 6 |
232 | Номер налога 13 | число | 1 .. 6 |
233 | Номер налога 14 | число | 1 .. 6 |
234 | Номер налога 15 | число | 1 .. 6 |
235 | Номер налога 16 | число | 1 .. 6 |
236 | Скорость ККТ | число | 1200 - 1200 бод 2400 - 2400 бод 4800 - 4800 бод 9600 - 9600 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
238 | Скорость подключенного устройства | число | 1200 - 1200 бод 2400 - 2400 бод 4800 - 4800 бод 9600 - 9600 бод 14400 - 14400 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
239 | Канал обмена с ККТ | число | 0 - RS-232 4 - USB 5 - Bluetooth 6 - Ethernet 7 - Wi-Fi |
240 | Наименование способа расчета 2 | строка | Максимальная длина: 48 |
241 | Наименование способа расчета 3 | строка | Максимальная длина: 48 |
242 | Наименование способа расчета 4 | строка | Максимальная длина: 48 |
243 | Наименование способа расчета 5 | строка | Максимальная длина: 48 |
244 | Наименование способа расчета 6 | строка | Максимальная длина: 48 |
245 | Наименование способа расчета 7 | строка | Максимальная длина: 48 |
246 | Наименование способа расчета 8 | строка | Максимальная длина: 48 |
247 | Наименование способа расчета 9 | строка | Максимальная длина: 48 |
248 | Наименование способа расчета 10 | строка | Максимальная длина: 48 |
249 | Номер формы расчета 2 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
250 | Номер формы расчета 3 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
251 | Номер формы расчета 4 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
252 | Номер формы расчета 5 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
253 | Номер формы расчета 6 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
254 | Номер формы расчета 7 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
255 | Номер формы расчета 8 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
256 | Номер формы расчета 9 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
257 | Номер формы расчета 10 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
265 | Конфигурационная строка | строка | Максимальная длина: 32 |
266 | Имя пользователя | строка | Максимальная длина: 32 |
267 | Пароль | строка | Максимальная длина: 32 |
268 | Режим Wi-Fi | число | 0 - Клиент 1 - Точка доступа |
269 | Имя точки доступа для работы по Wi-Fi | строка | Максимальная длина: 32 |
270 | Пароль доступа к точке доступа | строка | Максимальная длина: 32 |
271 | Номер канала Wi-Fi в режиме точки доступа | число | 0 .. 13 |
272 | Тип шифрования Wi-Fi | число | 0 - Open 1 - WEP 2 - WPA 3 - WPA2 4 - WPA/WPA2 |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
275 | DNS ОФД | строка | Максимальная длина: 15 |
276 | Канал обмена с ОФД | число | 1 - USB (EoU) 2 - Ethernet 3 - Wi-Fi 4 - GSM-модем 5 - EthernetOverTransport |
277 | Адрес сайта ФНС | строка | Максимальная длина: 64 |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
280 | Интервал посылок диагностических сообщений, с. | число | 0 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 1 .. 5 |
282 | Интервал опроса ФН при разрывах (в сек.) | число | 5 .. 120 |
287 | Версия ФФД | число | 0 - Автоматически 100 - ФФД 1.0 |
301 | Печатать на ЧЛ сообщение о полученном IP-адресе | число | 0 - Не печатать 1 - Печатать |
305 | Частота обмена с ФН, кбит/с | число | 50 .. 400 |
306 | Передавать необязательные реквизиты в ОФД | число | 0 - Не передавать 1 - Передавать |
307 | Ожидание инициализации ФН после включения, с. | число | 5 .. 255 |
308 | Ожидание обработки команды в ФН, с. | число | 10 .. 255 |
309 | Размер чека в байтах | число | 0 .. 4294967295 |
310 | Печатать пароль доступа к точке Wi-Fi | число | 0 - Не печатать 1 - Печатать |
311 | Блокировать ККТ при переполнении ЭЖ | число | 0 - Не блокировать 1 - Блокировать работу по протоколу 2 - Блокировать работу с ЛК |
312 | Работа со скидками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
313 | Работа со надбавками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
325 | Получение IP-адреса от DHCP (Wi-Fi) | число | 0 - Отключено 1 - Включено |
326 | IP-адрес (Wi-Fi) | строка | Максимальная длина: 15 |
327 | Маска подсети (Wi-Fi) | строка | Максимальная длина: 15 |
328 | Шлюз по умолчанию (Wi-Fi) | строка | Максимальная длина: 15 |
330 | Шрифт реквизитов в чеке | число | 1 .. 7 |
331 | Сопряжение по Bluetooth | число | 0 - Запрещено 1 - Разрешено |
332 | Печатать реквизит "Наименование ОФД" | число | 0 - Не печатать 1 - Печатать |
333 | Печатать реквизит "Адрес электронной почты отправителя" | число | 0 - Не печатать 1 - Печатать |
334 | Работа с ЭЖ | число | 0 - Отключена 1 - Включена |
345 | Печатать реквизит "ИНН поставщика" | число | 0 - Не печатать 1 - Печатать |
АТОЛ 60Ф
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
0 | Номер ККТ в магазине | число | 0 .. 255 |
2 | Печатать названия секций | число | 0 - Не печатать 1 - Печатать |
3 | Печатать необнуляемую сумму приходов и расходов | число | 0 - Не печатать 1 - Печатать |
4 | Производить инкассацию | число | 0 - Нет 1 - Да |
5 | Расширенный X-отчет и Z-отчет | число | 0 - Нет 1 - Да |
6 | Печатать информацию о количестве чеков за смену по типам операций | число | 0 - Не печатать 1 - Печатать |
7 | Автоматически печатать отчет по секциям перед X- и Z-отчетом | число | 0 - Не печатать 1 - Печатать |
8 | Яркость печати ЧЛ | число | 1 .. 15 |
11 | Пароль доступа | строка | Максимальная длина: 4 |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
13 | Шрифт ЧЛ | число | 1 .. 7 |
14 | Количество печатаемых строк после чека на ЧЛ | число | 0 .. 20 |
15 | Печатать разделители в суточных отчетах | число | 0 - Не печатать 1 - Печатать |
16 | Печатать номер секции | число | 0 - Не печатать 1 - Печатать |
17 | Печатать необнуляемый итог на начало смены в Z-отчете | число | 0 - Не печатать 1 - Печатать |
18 | Печатать необнуляемый итог на начало смены в X-отчете | число | 0 - Не печатать 1 - Печатать |
19 | Печатать текст командой «Печать строки» | число | 0 - Не печатать 1 - Печатать |
20 | Режим перехода на летнее/зимнее время | число | 0 - Не переходить 1 - Переходить, не оповещать 2 - Переходить, оповещать кассира 3 - Переходить, оповещать кассира и хост |
21 | Дата перехода на летнее время | число | |
22 | Дата перехода на зимнее время | число | |
23 | Количество символов в строке | число | 24 .. 42 |
24 | Символ для разделителя | строка | Максимальная длина: 1 |
25 | Проверять время | число | 0 .. 99 |
26 | Смещение области печати слева | число | 0 .. 24 |
27 | Печатать налоги в Х- и Z-отчете и при регистрации | число | 0 - Не печатать 1 - Печатать |
28 | Минимальная яркость термокомпенсации на ЧЛ | число | 1 .. 15 |
29 | Печатать на ЧЛ документ готовности к работе | число | 0 - Не печатать 1 - Печатать |
30 | Печатать на ЧЛ клише в служебных сообщениях | число | 0 - Не печатать 1 - Печатать |
31 | Печатать на ЧЛ сообщение о вводе даты-времени | число | 0 - Не печатать 1 - Печатать |
32 | Протокол работы ККТ | число | 0 - АТОЛ 2 1 - АТОЛ 3 |
33 | PIN-код для Bluetooth | строка | Максимальная длина: 8 |
34 | Уровень коррекции ошибок QR-кода | число | 1 .. 4 |
35 | Количество строк заголовка клише | число | 0 - 0 1 - 1 2 - 2 3 - 3 4 - 4 5 - 5 6 - 6 7 - 7 8 - 8 9 - 9 10 - 10 11 - 11 12 - 12 13 - 13 14 - 14 15 - 15 16 - 16 17 - 17 18 - 18 19 - 19 20 - 20 99 - Старый формат печати |
36 | Расстояние от ТПГ до отрывного ножа | число | 0 .. 255 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
38 | Звуковой сигнал при окончании бумаги и открытии крышки | число | 0 - Нет 1 - Да |
39 | Звуковой сигнал при включении | число | 0 - Нет 1 - Да |
40 | Сохранять печатаемый документ в память | число | 0 - Не сохранять 1 - Сохранять только отчеты 2 - Сохранять все |
41 | Печатать нулевые налоги | число | 0 - Не печатать 1 - Печатать |
42 | Печать необнуляемой суммы возвратов приходов | число | 0 - Не печатать 1 - Печатать |
43 | Печать необнуляемой суммы возвратов расходов | число | 0 - Не печатать 1 - Печатать |
44 | Печатать количество отмененных чеков по типам | число | 0 - Не печатать 1 - Печатать |
45 | Не печатать блоки «приходы», «возвраты приходов», «расходы», «возвраты расходов» | число | 0 - Печатать 1 - Не печатать |
46 | Печатать нулевые суммы | число | 0 - Не печатать 1 - Печатать |
47 | Печать номера ККМ в магазине | число | 0 - Не печатать 1 - Печатать |
48 | Печать реквизитов чека на аннулированных чеках | число | 0 - Не печатать 1 - Печатать |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
51 | Шаблон чека | число | 1 - Шаблон 1 2 - Шаблон 2 |
52 | Признак способа расчета по умолчанию | число | 1 - Предоплата 100% 2 - Предоплата 3 - Аванс 4 - Полный расчет 5 - Частичный расчет и кредит 6 - Передача в кредит 7 - Оплата кредита |
53 | Округлять сумму налога | число | 0 - На весь чек 1 - После каждой позиции |
54 | Контроль суммы налогов 10% и 18% (20%) | число | 0 - Отключен 1 - Включен |
55 | Пересчитывать суммы налогов после скидки на итог | число | 0 - Нет 1 - Да |
56 | Учет наличности | число | 0 - Отключен 1 - Включен |
57 | Печатать признак способа расчета | число | 0 - Не печатать 1 - Печатать |
58 | Печатать признак предмета расчета | число | 0 - Не печатать 1 - Печатать полное наименование 2 - Печатать краткое наименование |
59 | Не печатать суточный отчет с гашением при закрытии смены | число | 0 - Печатать 1 - Не печатать |
60 | Печатать необнуляемые суммы по способам расчета прихода и возврата прихода | число | 0 - Не печатать 1 - Печатать |
61 | Печатать необнуляемые суммы по способам расчета расхода и возврата расхода | число | 0 - Не печатать 1 - Печатать |
62 | Не печатать клише автоматически при закрытии чека | число | 0 - Печатать 1 - Не печатать |
63 | Признак предмета расчета по умолчанию | число | 1 - Товар 2 - Подакцизный товар 3 - Работа 4 - Услуга 5 - Ставка азартной игры 6 - Выигрыш азартной игры 7 - Лотерейный билет 8 - Выигрыш лотереи 9 - Предоставление РИД 10 - Платеж 11 - Агентское вознаграждение 12 - Составной предмет расчета 13 - Иной предмет расчета 14 - Имущественное право 15 - Внереализационный доход 16 - Страховые взносы 17 - Торговый сбор 18 - Курортный сбор 19 - Залог |
64 | Таймаут на выключение ККТ (минуты) | число | 0 .. 990 |
76 | Выключение / перезагрузка ККТ | число | 0 - По кнопке 1 - По команде 2 - По кнопке и по команде |
94 | Пароль кассира 1 | строка | Максимальная длина: 8 |
95 | Пароль кассира 2 | строка | Максимальная длина: 8 |
96 | Пароль кассира 3 | строка | Максимальная длина: 8 |
97 | Пароль кассира 4 | строка | Максимальная длина: 8 |
98 | Пароль кассира 5 | строка | Максимальная длина: 8 |
99 | Пароль кассира 6 | строка | Максимальная длина: 8 |
100 | Пароль кассира 7 | строка | Максимальная длина: 8 |
101 | Пароль кассира 8 | строка | Максимальная длина: 8 |
102 | Пароль кассира 9 | строка | Максимальная длина: 8 |
103 | Пароль кассира 10 | строка | Максимальная длина: 8 |
104 | Пароль кассира 11 | строка | Максимальная длина: 8 |
105 | Пароль кассира 12 | строка | Максимальная длина: 8 |
106 | Пароль кассира 13 | строка | Максимальная длина: 8 |
107 | Пароль кассира 14 | строка | Максимальная длина: 8 |
108 | Пароль кассира 15 | строка | Максимальная длина: 8 |
109 | Пароль кассира 16 | строка | Максимальная длина: 8 |
110 | Пароль кассира 17 | строка | Максимальная длина: 8 |
111 | Пароль кассира 18 | строка | Максимальная длина: 8 |
112 | Пароль кассира 19 | строка | Максимальная длина: 8 |
113 | Пароль кассира 20 | строка | Максимальная длина: 8 |
114 | Пароль кассира 21 | строка | Максимальная длина: 8 |
115 | Пароль кассира 22 | строка | Максимальная длина: 8 |
116 | Пароль кассира 23 | строка | Максимальная длина: 8 |
117 | Пароль кассира 24 | строка | Максимальная длина: 8 |
118 | Пароль кассира 25 | строка | Максимальная длина: 8 |
119 | Пароль кассира 26 | строка | Максимальная длина: 8 |
120 | Пароль кассира 27 | строка | Максимальная длина: 8 |
121 | Пароль кассира 28 | строка | Максимальная длина: 8 |
122 | Имя кассира 1 | строка | Максимальная длина: 42 |
123 | Имя кассира 2 | строка | Максимальная длина: 42 |
124 | Имя кассира 3 | строка | Максимальная длина: 42 |
125 | Имя кассира 4 | строка | Максимальная длина: 42 |
126 | Имя кассира 5 | строка | Максимальная длина: 42 |
127 | Имя кассира 6 | строка | Максимальная длина: 42 |
128 | Имя кассира 7 | строка | Максимальная длина: 42 |
129 | Имя кассира 8 | строка | Максимальная длина: 42 |
130 | Имя кассира 9 | строка | Максимальная длина: 42 |
131 | Имя кассира 10 | строка | Максимальная длина: 42 |
132 | Имя кассира 11 | строка | Максимальная длина: 42 |
133 | Имя кассира 12 | строка | Максимальная длина: 42 |
134 | Имя кассира 13 | строка | Максимальная длина: 42 |
135 | Имя кассира 14 | строка | Максимальная длина: 42 |
136 | Имя кассира 15 | строка | Максимальная длина: 42 |
137 | Имя кассира 16 | строка | Максимальная длина: 42 |
138 | Имя кассира 17 | строка | Максимальная длина: 42 |
139 | Имя кассира 18 | строка | Максимальная длина: 42 |
140 | Имя кассира 19 | строка | Максимальная длина: 42 |
141 | Имя кассира 20 | строка | Максимальная длина: 42 |
142 | Имя кассира 21 | строка | Максимальная длина: 42 |
143 | Имя кассира 22 | строка | Максимальная длина: 42 |
144 | Имя кассира 23 | строка | Максимальная длина: 42 |
145 | Имя кассира 24 | строка | Максимальная длина: 42 |
146 | Имя кассира 25 | строка | Максимальная длина: 42 |
147 | Имя кассира 26 | строка | Максимальная длина: 42 |
148 | Имя кассира 27 | строка | Максимальная длина: 42 |
149 | Имя кассира 28 | строка | Максимальная длина: 42 |
150 | ИНН кассира 1 | строка | Максимальная длина: 12 |
151 | ИНН кассира 2 | строка | Максимальная длина: 12 |
152 | ИНН кассира 3 | строка | Максимальная длина: 12 |
153 | ИНН кассира 4 | строка | Максимальная длина: 12 |
154 | ИНН кассира 5 | строка | Максимальная длина: 12 |
155 | ИНН кассира 6 | строка | Максимальная длина: 12 |
156 | ИНН кассира 7 | строка | Максимальная длина: 12 |
157 | ИНН кассира 8 | строка | Максимальная длина: 12 |
158 | ИНН кассира 9 | строка | Максимальная длина: 12 |
159 | ИНН кассира 10 | строка | Максимальная длина: 12 |
160 | ИНН кассира 11 | строка | Максимальная длина: 12 |
161 | ИНН кассира 12 | строка | Максимальная длина: 12 |
162 | ИНН кассира 13 | строка | Максимальная длина: 12 |
163 | ИНН кассира 14 | строка | Максимальная длина: 12 |
164 | ИНН кассира 15 | строка | Максимальная длина: 12 |
165 | ИНН кассира 16 | строка | Максимальная длина: 12 |
166 | ИНН кассира 17 | строка | Максимальная длина: 12 |
167 | ИНН кассира 18 | строка | Максимальная длина: 12 |
168 | ИНН кассира 19 | строка | Максимальная длина: 12 |
169 | ИНН кассира 20 | строка | Максимальная длина: 12 |
170 | ИНН кассира 21 | строка | Максимальная длина: 12 |
171 | ИНН кассира 22 | строка | Максимальная длина: 12 |
172 | ИНН кассира 23 | строка | Максимальная длина: 12 |
173 | ИНН кассира 24 | строка | Максимальная длина: 12 |
174 | ИНН кассира 25 | строка | Максимальная длина: 12 |
175 | ИНН кассира 26 | строка | Максимальная длина: 12 |
176 | ИНН кассира 27 | строка | Максимальная длина: 12 |
177 | ИНН кассира 28 | строка | Максимальная длина: 12 |
178 | Пароль администратора | строка | Максимальная длина: 8 |
179 | Имя администратора | строка | Максимальная длина: 42 |
180 | ИНН администратора | строка | Максимальная длина: 12 |
181 | Пароль системного администратора | строка | Максимальная длина: 8 |
182 | Имя системного администратора | строка | Максимальная длина: 42 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
184 | Строка клише 1 | строка | Максимальная длина: 42 |
185 | Строка клише 2 | строка | Максимальная длина: 42 |
186 | Строка клише 3 | строка | Максимальная длина: 42 |
187 | Строка клише 4 | строка | Максимальная длина: 42 |
188 | Строка клише 5 | строка | Максимальная длина: 42 |
189 | Строка клише 6 | строка | Максимальная длина: 42 |
190 | Строка клише 7 | строка | Максимальная длина: 42 |
191 | Строка клише 8 | строка | Максимальная длина: 42 |
192 | Строка клише 9 | строка | Максимальная длина: 42 |
193 | Строка клише 10 | строка | Максимальная длина: 42 |
194 | Строка клише 11 | строка | Максимальная длина: 42 |
195 | Строка клише 12 | строка | Максимальная длина: 42 |
196 | Строка клише 13 | строка | Максимальная длина: 42 |
197 | Строка клише 14 | строка | Максимальная длина: 42 |
198 | Строка клише 15 | строка | Максимальная длина: 42 |
199 | Строка клише 16 | строка | Максимальная длина: 42 |
200 | Строка клише 17 | строка | Максимальная длина: 42 |
201 | Строка клише 18 | строка | Максимальная длина: 42 |
202 | Строка клише 19 | строка | Максимальная длина: 42 |
203 | Строка клише 20 | строка | Максимальная длина: 42 |
204 | Наименование секции 1 | строка | Максимальная длина: 42 |
205 | Наименование секции 2 | строка | Максимальная длина: 42 |
206 | Наименование секции 3 | строка | Максимальная длина: 42 |
207 | Наименование секции 4 | строка | Максимальная длина: 42 |
208 | Наименование секции 5 | строка | Максимальная длина: 42 |
209 | Наименование секции 6 | строка | Максимальная длина: 42 |
210 | Наименование секции 7 | строка | Максимальная длина: 42 |
211 | Наименование секции 8 | строка | Максимальная длина: 42 |
212 | Наименование секции 9 | строка | Максимальная длина: 42 |
213 | Наименование секции 10 | строка | Максимальная длина: 42 |
214 | Наименование секции 11 | строка | Максимальная длина: 42 |
215 | Наименование секции 12 | строка | Максимальная длина: 42 |
216 | Наименование секции 13 | строка | Максимальная длина: 42 |
217 | Наименование секции 14 | строка | Максимальная длина: 42 |
218 | Наименование секции 15 | строка | Максимальная длина: 42 |
219 | Наименование секции 16 | строка | Максимальная длина: 42 |
220 | Номер налога 1 | число | 1 .. 6 |
221 | Номер налога 2 | число | 1 .. 6 |
222 | Номер налога 3 | число | 1 .. 6 |
223 | Номер налога 4 | число | 1 .. 6 |
224 | Номер налога 5 | число | 1 .. 6 |
225 | Номер налога 6 | число | 1 .. 6 |
226 | Номер налога 7 | число | 1 .. 6 |
227 | Номер налога 8 | число | 1 .. 6 |
228 | Номер налога 9 | число | 1 .. 6 |
229 | Номер налога 10 | число | 1 .. 6 |
230 | Номер налога 11 | число | 1 .. 6 |
231 | Номер налога 12 | число | 1 .. 6 |
232 | Номер налога 13 | число | 1 .. 6 |
233 | Номер налога 14 | число | 1 .. 6 |
234 | Номер налога 15 | число | 1 .. 6 |
235 | Номер налога 16 | число | 1 .. 6 |
239 | Канал обмена с ККТ | число | 4 - USB 5 - Bluetooth 7 - Wi-Fi |
240 | Наименование способа расчета 2 | строка | Максимальная длина: 42 |
241 | Наименование способа расчета 3 | строка | Максимальная длина: 42 |
242 | Наименование способа расчета 4 | строка | Максимальная длина: 42 |
243 | Наименование способа расчета 5 | строка | Максимальная длина: 42 |
244 | Наименование способа расчета 6 | строка | Максимальная длина: 42 |
245 | Наименование способа расчета 7 | строка | Максимальная длина: 42 |
246 | Наименование способа расчета 8 | строка | Максимальная длина: 42 |
247 | Наименование способа расчета 9 | строка | Максимальная длина: 42 |
248 | Наименование способа расчета 10 | строка | Максимальная длина: 42 |
249 | Номер формы расчета 2 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
250 | Номер формы расчета 3 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
251 | Номер формы расчета 4 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
252 | Номер формы расчета 5 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
253 | Номер формы расчета 6 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
254 | Номер формы расчета 7 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
255 | Номер формы расчета 8 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
256 | Номер формы расчета 9 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
257 | Номер формы расчета 10 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
265 | Конфигурационная строка | строка | Максимальная длина: 32 |
266 | Имя пользователя | строка | Максимальная длина: 32 |
267 | Пароль | строка | Максимальная длина: 32 |
268 | Режим Wi-Fi | число | 0 - Клиент 1 - Точка доступа |
269 | Имя точки доступа для работы по Wi-Fi | строка | Максимальная длина: 32 |
270 | Пароль доступа к точке доступа | строка | Максимальная длина: 32 |
271 | Номер канала Wi-Fi в режиме точки доступа | число | 0 .. 13 |
272 | Тип шифрования Wi-Fi | число | 0 - Open 1 - WEP 2 - WPA 3 - WPA2 4 - WPA/WPA2 |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
275 | DNS ОФД | строка | Максимальная длина: 15 |
276 | Канал обмена с ОФД | число | 1 - USB (EoU) 3 - Wi-Fi 4 - GSM-модем 5 - EthernetOverTransport |
277 | Адрес сайта ФНС | строка | Максимальная длина: 64 |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
280 | Интервал посылок диагностических сообщений, с. | число | 0 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 1 .. 5 |
282 | Интервал опроса ФН при разрывах (в сек.) | число | 5 .. 120 |
287 | Версия ФФД | число | 0 - Автоматически 100 - ФФД 1.0 |
301 | Печатать на ЧЛ сообщение о полученном IP-адресе | число | 0 - Не печатать 1 - Печатать |
305 | Частота обмена с ФН, кбит/с | число | 50 .. 400 |
306 | Передавать необязательные реквизиты в ОФД | число | 0 - Не передавать 1 - Передавать |
307 | Ожидание инициализации ФН после включения, с. | число | 5 .. 255 |
308 | Ожидание обработки команды в ФН, с. | число | 10 .. 255 |
309 | Размер чека в байтах | число | 0 .. 4294967295 |
310 | Печатать пароль доступа к точке Wi-Fi | число | 0 - Не печатать 1 - Печатать |
311 | Блокировать ККТ при переполнении ЭЖ | число | 0 - Не блокировать 1 - Блокировать работу по протоколу 2 - Блокировать работу с ЛК |
312 | Работа со скидками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
313 | Работа со надбавками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
325 | Получение IP-адреса от DHCP (Wi-Fi) | число | 0 - Отключено 1 - Включено |
326 | IP-адрес (Wi-Fi) | строка | Максимальная длина: 15 |
327 | Маска подсети (Wi-Fi) | строка | Максимальная длина: 15 |
328 | Шлюз по умолчанию (Wi-Fi) | строка | Максимальная длина: 15 |
330 | Шрифт реквизитов в чеке | число | 1 .. 7 |
331 | Сопряжение по Bluetooth | число | 0 - Запрещено 1 - Разрешено |
332 | Печатать реквизит "Наименование ОФД" | число | 0 - Не печатать 1 - Печатать |
333 | Печатать реквизит "Адрес электронной почты отправителя" | число | 0 - Не печатать 1 - Печатать |
334 | Работа с ЭЖ | число | 0 - Отключена 1 - Включена |
345 | Печатать реквизит "ИНН поставщика" | число | 0 - Не печатать 1 - Печатать |
АТОЛ 77Ф
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
0 | Номер ККТ в магазине | число | 0 .. 255 |
2 | Печатать названия секций | число | 0 - Не печатать 1 - Печатать |
3 | Печатать необнуляемую сумму приходов и расходов | число | 0 - Не печатать 1 - Печатать |
4 | Производить инкассацию | число | 0 - Нет 1 - Да |
5 | Расширенный X-отчет и Z-отчет | число | 0 - Нет 1 - Да |
6 | Печатать информацию о количестве чеков за смену по типам операций | число | 0 - Не печатать 1 - Печатать |
7 | Автоматически печатать отчет по секциям перед X- и Z-отчетом | число | 0 - Не печатать 1 - Печатать |
8 | Яркость печати ЧЛ | число | 1 .. 15 |
9 | Открывать ДЯ при закрытии чека | число | 0 - Нет 1 - Да |
11 | Пароль доступа | строка | Максимальная длина: 4 |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
13 | Шрифт ЧЛ | число | 1 .. 7 |
14 | Количество печатаемых строк после чека на ЧЛ | число | 0 .. 20 |
15 | Печатать разделители в суточных отчетах | число | 0 - Не печатать 1 - Печатать |
16 | Печатать номер секции | число | 0 - Не печатать 1 - Печатать |
17 | Печатать необнуляемый итог на начало смены в Z-отчете | число | 0 - Не печатать 1 - Печатать |
18 | Печатать необнуляемый итог на начало смены в X-отчете | число | 0 - Не печатать 1 - Печатать |
19 | Печатать текст командой «Печать строки» | число | 0 - Не печатать 1 - Печатать |
20 | Режим перехода на летнее/зимнее время | число | 0 - Не переходить 1 - Переходить, не оповещать 2 - Переходить, оповещать кассира 3 - Переходить, оповещать кассира и хост |
21 | Дата перехода на летнее время | число | |
22 | Дата перехода на зимнее время | число | |
23 | Количество символов в строке | число | 24 .. 64 |
24 | Символ для разделителя | строка | Максимальная длина: 1 |
25 | Проверять время | число | 0 .. 99 |
26 | Смещение области печати слева | число | 0 .. 24 |
27 | Печатать налоги в Х- и Z-отчете и при регистрации | число | 0 - Не печатать 1 - Печатать |
28 | Минимальная яркость термокомпенсации на ЧЛ | число | 1 .. 15 |
29 | Печатать на ЧЛ документ готовности к работе | число | 0 - Не печатать 1 - Печатать |
30 | Печатать на ЧЛ клише в служебных сообщениях | число | 0 - Не печатать 1 - Печатать |
31 | Печатать на ЧЛ сообщение о вводе даты-времени | число | 0 - Не печатать 1 - Печатать |
32 | Протокол работы ККТ | число | 0 - АТОЛ 2 1 - АТОЛ 3 |
33 | PIN-код для Bluetooth | строка | Максимальная длина: 8 |
34 | Уровень коррекции ошибок QR-кода | число | 1 .. 4 |
35 | Количество строк заголовка клише | число | 0 - 0 1 - 1 2 - 2 3 - 3 4 - 4 5 - 5 6 - 6 7 - 7 8 - 8 9 - 9 10 - 10 11 - 11 12 - 12 13 - 13 14 - 14 15 - 15 16 - 16 17 - 17 18 - 18 19 - 19 20 - 20 99 - Старый формат печати |
36 | Расстояние от ТПГ до отрывного ножа | число | 0 .. 255 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
38 | Звуковой сигнал при окончании бумаги и открытии крышки | число | 0 - Нет 1 - Да |
39 | Звуковой сигнал при включении | число | 0 - Нет 1 - Да |
40 | Сохранять печатаемый документ в память | число | 0 - Не сохранять 1 - Сохранять только отчеты 2 - Сохранять все |
41 | Печатать нулевые налоги | число | 0 - Не печатать 1 - Печатать |
42 | Печать необнуляемой суммы возвратов приходов | число | 0 - Не печатать 1 - Печатать |
43 | Печать необнуляемой суммы возвратов расходов | число | 0 - Не печатать 1 - Печатать |
44 | Печатать количество отмененных чеков по типам | число | 0 - Не печатать 1 - Печатать |
45 | Не печатать блоки «приходы», «возвраты приходов», «расходы», «возвраты расходов» | число | 0 - Печатать 1 - Не печатать |
46 | Печатать нулевые суммы | число | 0 - Не печатать 1 - Печатать |
47 | Печать номера ККМ в магазине | число | 0 - Не печатать 1 - Печатать |
48 | Печать реквизитов чека на аннулированных чеках | число | 0 - Не печатать 1 - Печатать |
49 | Получение IP-адреса от DHCP (Ethernet) | число | 0 - Отключено 1 - Включено |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
51 | Шаблон чека | число | 1 - Шаблон 1 2 - Шаблон 2 |
52 | Признак способа расчета по умолчанию | число | 1 - Предоплата 100% 2 - Предоплата 3 - Аванс 4 - Полный расчет 5 - Частичный расчет и кредит 6 - Передача в кредит 7 - Оплата кредита |
53 | Округлять сумму налога | число | 0 - На весь чек 1 - После каждой позиции |
54 | Контроль суммы налогов 10% и 18% (20%) | число | 0 - Отключен 1 - Включен |
55 | Пересчитывать суммы налогов после скидки на итог | число | 0 - Нет 1 - Да |
56 | Учет наличности | число | 0 - Отключен 1 - Включен |
57 | Печатать признак способа расчета | число | 0 - Не печатать 1 - Печатать |
58 | Печатать признак предмета расчета | число | 0 - Не печатать 1 - Печатать полное наименование 2 - Печатать краткое наименование |
59 | Не печатать суточный отчет с гашением при закрытии смены | число | 0 - Печатать 1 - Не печатать |
60 | Печатать необнуляемые суммы по способам расчета прихода и возврата прихода | число | 0 - Не печатать 1 - Печатать |
61 | Печатать необнуляемые суммы по способам расчета расхода и возврата расхода | число | 0 - Не печатать 1 - Печатать |
62 | Не печатать клише автоматически при закрытии чека | число | 0 - Печатать 1 - Не печатать |
63 | Признак предмета расчета по умолчанию | число | 1 - Товар 2 - Подакцизный товар 3 - Работа 4 - Услуга 5 - Ставка азартной игры 6 - Выигрыш азартной игры 7 - Лотерейный билет 8 - Выигрыш лотереи 9 - Предоставление РИД 10 - Платеж 11 - Агентское вознаграждение 12 - Составной предмет расчета 13 - Иной предмет расчета 14 - Имущественное право 15 - Внереализационный доход 16 - Страховые взносы 17 - Торговый сбор 18 - Курортный сбор 19 - Залог |
65 | Не открывать ДЯ при отсутствии наличного способа расчета в чеке | число | 0 - Открывать 1 - Не открывать |
66 | Отрезать чек после завершения документа | число | 0 - Не отрезать 1 - Не полностью 2 - Полностью |
67 | Запретить отрезку чеков | число | 0 - Нет 1 - Да |
68 | Запретить отрезку отчетов | число | 0 - Нет 1 - Да |
69 | Отрезать ЧЛ после печати клише командой «Печать клише» | число | 0 - Нет 1 - Да |
71 | IP-адрес (Ethernet) | строка | Максимальная длина: 15 |
72 | Маска подсети (Ethernet) | строка | Максимальная длина: 15 |
73 | Шлюз по умолчанию (Ethernet) | строка | Максимальная длина: 15 |
74 | IP-порт (Ethernet) | число | 1 .. 65535 |
75 | Расстояние от ножа отрезчика до гребенки | число | 0 .. 255 |
76 | Выключение / перезагрузка ККТ | число | 0 - По кнопке 1 - По команде 2 - По кнопке и по команде |
94 | Пароль кассира 1 | строка | Максимальная длина: 8 |
95 | Пароль кассира 2 | строка | Максимальная длина: 8 |
96 | Пароль кассира 3 | строка | Максимальная длина: 8 |
97 | Пароль кассира 4 | строка | Максимальная длина: 8 |
98 | Пароль кассира 5 | строка | Максимальная длина: 8 |
99 | Пароль кассира 6 | строка | Максимальная длина: 8 |
100 | Пароль кассира 7 | строка | Максимальная длина: 8 |
101 | Пароль кассира 8 | строка | Максимальная длина: 8 |
102 | Пароль кассира 9 | строка | Максимальная длина: 8 |
103 | Пароль кассира 10 | строка | Максимальная длина: 8 |
104 | Пароль кассира 11 | строка | Максимальная длина: 8 |
105 | Пароль кассира 12 | строка | Максимальная длина: 8 |
106 | Пароль кассира 13 | строка | Максимальная длина: 8 |
107 | Пароль кассира 14 | строка | Максимальная длина: 8 |
108 | Пароль кассира 15 | строка | Максимальная длина: 8 |
109 | Пароль кассира 16 | строка | Максимальная длина: 8 |
110 | Пароль кассира 17 | строка | Максимальная длина: 8 |
111 | Пароль кассира 18 | строка | Максимальная длина: 8 |
112 | Пароль кассира 19 | строка | Максимальная длина: 8 |
113 | Пароль кассира 20 | строка | Максимальная длина: 8 |
114 | Пароль кассира 21 | строка | Максимальная длина: 8 |
115 | Пароль кассира 22 | строка | Максимальная длина: 8 |
116 | Пароль кассира 23 | строка | Максимальная длина: 8 |
117 | Пароль кассира 24 | строка | Максимальная длина: 8 |
118 | Пароль кассира 25 | строка | Максимальная длина: 8 |
119 | Пароль кассира 26 | строка | Максимальная длина: 8 |
120 | Пароль кассира 27 | строка | Максимальная длина: 8 |
121 | Пароль кассира 28 | строка | Максимальная длина: 8 |
122 | Имя кассира 1 | строка | Максимальная длина: 64 |
123 | Имя кассира 2 | строка | Максимальная длина: 64 |
124 | Имя кассира 3 | строка | Максимальная длина: 64 |
125 | Имя кассира 4 | строка | Максимальная длина: 64 |
126 | Имя кассира 5 | строка | Максимальная длина: 64 |
127 | Имя кассира 6 | строка | Максимальная длина: 64 |
128 | Имя кассира 7 | строка | Максимальная длина: 64 |
129 | Имя кассира 8 | строка | Максимальная длина: 64 |
130 | Имя кассира 9 | строка | Максимальная длина: 64 |
131 | Имя кассира 10 | строка | Максимальная длина: 64 |
132 | Имя кассира 11 | строка | Максимальная длина: 64 |
133 | Имя кассира 12 | строка | Максимальная длина: 64 |
134 | Имя кассира 13 | строка | Максимальная длина: 64 |
135 | Имя кассира 14 | строка | Максимальная длина: 64 |
136 | Имя кассира 15 | строка | Максимальная длина: 64 |
137 | Имя кассира 16 | строка | Максимальная длина: 64 |
138 | Имя кассира 17 | строка | Максимальная длина: 64 |
139 | Имя кассира 18 | строка | Максимальная длина: 64 |
140 | Имя кассира 19 | строка | Максимальная длина: 64 |
141 | Имя кассира 20 | строка | Максимальная длина: 64 |
142 | Имя кассира 21 | строка | Максимальная длина: 64 |
143 | Имя кассира 22 | строка | Максимальная длина: 64 |
144 | Имя кассира 23 | строка | Максимальная длина: 64 |
145 | Имя кассира 24 | строка | Максимальная длина: 64 |
146 | Имя кассира 25 | строка | Максимальная длина: 64 |
147 | Имя кассира 26 | строка | Максимальная длина: 64 |
148 | Имя кассира 27 | строка | Максимальная длина: 64 |
149 | Имя кассира 28 | строка | Максимальная длина: 64 |
150 | ИНН кассира 1 | строка | Максимальная длина: 12 |
151 | ИНН кассира 2 | строка | Максимальная длина: 12 |
152 | ИНН кассира 3 | строка | Максимальная длина: 12 |
153 | ИНН кассира 4 | строка | Максимальная длина: 12 |
154 | ИНН кассира 5 | строка | Максимальная длина: 12 |
155 | ИНН кассира 6 | строка | Максимальная длина: 12 |
156 | ИНН кассира 7 | строка | Максимальная длина: 12 |
157 | ИНН кассира 8 | строка | Максимальная длина: 12 |
158 | ИНН кассира 9 | строка | Максимальная длина: 12 |
159 | ИНН кассира 10 | строка | Максимальная длина: 12 |
160 | ИНН кассира 11 | строка | Максимальная длина: 12 |
161 | ИНН кассира 12 | строка | Максимальная длина: 12 |
162 | ИНН кассира 13 | строка | Максимальная длина: 12 |
163 | ИНН кассира 14 | строка | Максимальная длина: 12 |
164 | ИНН кассира 15 | строка | Максимальная длина: 12 |
165 | ИНН кассира 16 | строка | Максимальная длина: 12 |
166 | ИНН кассира 17 | строка | Максимальная длина: 12 |
167 | ИНН кассира 18 | строка | Максимальная длина: 12 |
168 | ИНН кассира 19 | строка | Максимальная длина: 12 |
169 | ИНН кассира 20 | строка | Максимальная длина: 12 |
170 | ИНН кассира 21 | строка | Максимальная длина: 12 |
171 | ИНН кассира 22 | строка | Максимальная длина: 12 |
172 | ИНН кассира 23 | строка | Максимальная длина: 12 |
173 | ИНН кассира 24 | строка | Максимальная длина: 12 |
174 | ИНН кассира 25 | строка | Максимальная длина: 12 |
175 | ИНН кассира 26 | строка | Максимальная длина: 12 |
176 | ИНН кассира 27 | строка | Максимальная длина: 12 |
177 | ИНН кассира 28 | строка | Максимальная длина: 12 |
178 | Пароль администратора | строка | Максимальная длина: 8 |
179 | Имя администратора | строка | Максимальная длина: 64 |
180 | ИНН администратора | строка | Максимальная длина: 12 |
181 | Пароль системного администратора | строка | Максимальная длина: 8 |
182 | Имя системного администратора | строка | Максимальная длина: 64 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
184 | Строка клише 1 | строка | Максимальная длина: 64 |
185 | Строка клише 2 | строка | Максимальная длина: 64 |
186 | Строка клише 3 | строка | Максимальная длина: 64 |
187 | Строка клише 4 | строка | Максимальная длина: 64 |
188 | Строка клише 5 | строка | Максимальная длина: 64 |
189 | Строка клише 6 | строка | Максимальная длина: 64 |
190 | Строка клише 7 | строка | Максимальная длина: 64 |
191 | Строка клише 8 | строка | Максимальная длина: 64 |
192 | Строка клише 9 | строка | Максимальная длина: 64 |
193 | Строка клише 10 | строка | Максимальная длина: 64 |
194 | Строка клише 11 | строка | Максимальная длина: 64 |
195 | Строка клише 12 | строка | Максимальная длина: 64 |
196 | Строка клише 13 | строка | Максимальная длина: 64 |
197 | Строка клише 14 | строка | Максимальная длина: 64 |
198 | Строка клише 15 | строка | Максимальная длина: 64 |
199 | Строка клише 16 | строка | Максимальная длина: 64 |
200 | Строка клише 17 | строка | Максимальная длина: 64 |
201 | Строка клише 18 | строка | Максимальная длина: 64 |
202 | Строка клише 19 | строка | Максимальная длина: 64 |
203 | Строка клише 20 | строка | Максимальная длина: 64 |
204 | Наименование секции 1 | строка | Максимальная длина: 64 |
205 | Наименование секции 2 | строка | Максимальная длина: 64 |
206 | Наименование секции 3 | строка | Максимальная длина: 64 |
207 | Наименование секции 4 | строка | Максимальная длина: 64 |
208 | Наименование секции 5 | строка | Максимальная длина: 64 |
209 | Наименование секции 6 | строка | Максимальная длина: 64 |
210 | Наименование секции 7 | строка | Максимальная длина: 64 |
211 | Наименование секции 8 | строка | Максимальная длина: 64 |
212 | Наименование секции 9 | строка | Максимальная длина: 64 |
213 | Наименование секции 10 | строка | Максимальная длина: 64 |
214 | Наименование секции 11 | строка | Максимальная длина: 64 |
215 | Наименование секции 12 | строка | Максимальная длина: 64 |
216 | Наименование секции 13 | строка | Максимальная длина: 64 |
217 | Наименование секции 14 | строка | Максимальная длина: 64 |
218 | Наименование секции 15 | строка | Максимальная длина: 64 |
219 | Наименование секции 16 | строка | Максимальная длина: 64 |
220 | Номер налога 1 | число | 1 .. 6 |
221 | Номер налога 2 | число | 1 .. 6 |
222 | Номер налога 3 | число | 1 .. 6 |
223 | Номер налога 4 | число | 1 .. 6 |
224 | Номер налога 5 | число | 1 .. 6 |
225 | Номер налога 6 | число | 1 .. 6 |
226 | Номер налога 7 | число | 1 .. 6 |
227 | Номер налога 8 | число | 1 .. 6 |
228 | Номер налога 9 | число | 1 .. 6 |
229 | Номер налога 10 | число | 1 .. 6 |
230 | Номер налога 11 | число | 1 .. 6 |
231 | Номер налога 12 | число | 1 .. 6 |
232 | Номер налога 13 | число | 1 .. 6 |
233 | Номер налога 14 | число | 1 .. 6 |
234 | Номер налога 15 | число | 1 .. 6 |
235 | Номер налога 16 | число | 1 .. 6 |
236 | Скорость ККТ | число | 1200 - 1200 бод 2400 - 2400 бод 4800 - 4800 бод 9600 - 9600 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
238 | Скорость подключенного устройства | число | 1200 - 1200 бод 2400 - 2400 бод 4800 - 4800 бод 9600 - 9600 бод 14400 - 14400 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
239 | Канал обмена с ККТ | число | 0 - RS-232 4 - USB 5 - Bluetooth 6 - Ethernet 7 - Wi-Fi |
240 | Наименование способа расчета 2 | строка | Максимальная длина: 64 |
241 | Наименование способа расчета 3 | строка | Максимальная длина: 64 |
242 | Наименование способа расчета 4 | строка | Максимальная длина: 64 |
243 | Наименование способа расчета 5 | строка | Максимальная длина: 64 |
244 | Наименование способа расчета 6 | строка | Максимальная длина: 64 |
245 | Наименование способа расчета 7 | строка | Максимальная длина: 64 |
246 | Наименование способа расчета 8 | строка | Максимальная длина: 64 |
247 | Наименование способа расчета 9 | строка | Максимальная длина: 64 |
248 | Наименование способа расчета 10 | строка | Максимальная длина: 64 |
249 | Номер формы расчета 2 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
250 | Номер формы расчета 3 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
251 | Номер формы расчета 4 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
252 | Номер формы расчета 5 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
253 | Номер формы расчета 6 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
254 | Номер формы расчета 7 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
255 | Номер формы расчета 8 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
256 | Номер формы расчета 9 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
257 | Номер формы расчета 10 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
258 | Ограничение скорости печати для шрифта 1 | число | 0 - 140 мм/с 1 - 180 мм/с 2 - 220 мм/с 3 - 260 мм/с 4 - 300 мм/с |
259 | Ограничение скорости печати для шрифта 2 | число | 0 - 140 мм/с 1 - 180 мм/с 2 - 220 мм/с 3 - 260 мм/с 4 - 300 мм/с |
260 | Ограничение скорости печати для шрифта 3 | число | 0 - 140 мм/с 1 - 180 мм/с 2 - 220 мм/с 3 - 260 мм/с 4 - 300 мм/с |
261 | Ограничение скорости печати для шрифта 4 | число | 0 - 140 мм/с 1 - 180 мм/с 2 - 220 мм/с 3 - 260 мм/с 4 - 300 мм/с |
262 | Ограничение скорости печати для шрифта 5 | число | 0 - 140 мм/с 1 - 180 мм/с 2 - 220 мм/с 3 - 260 мм/с 4 - 300 мм/с |
263 | Ограничение скорости печати для шрифта 6 | число | 0 - 140 мм/с 1 - 180 мм/с 2 - 220 мм/с 3 - 260 мм/с 4 - 300 мм/с |
264 | Ограничение скорости печати графики | число | 0 - 140 мм/с 1 - 180 мм/с 2 - 220 мм/с 3 - 260 мм/с 4 - 300 мм/с |
265 | Конфигурационная строка | строка | Максимальная длина: 32 |
266 | Имя пользователя | строка | Максимальная длина: 32 |
267 | Пароль | строка | Максимальная длина: 32 |
268 | Режим Wi-Fi | число | 0 - Клиент 1 - Точка доступа |
269 | Имя точки доступа для работы по Wi-Fi | строка | Максимальная длина: 32 |
270 | Пароль доступа к точке доступа | строка | Максимальная длина: 32 |
271 | Номер канала Wi-Fi в режиме точки доступа | число | 0 .. 13 |
272 | Тип шифрования Wi-Fi | число | 0 - Open 1 - WEP 2 - WPA 3 - WPA2 4 - WPA/WPA2 |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
275 | DNS ОФД | строка | Максимальная длина: 15 |
276 | Канал обмена с ОФД | число | 1 - USB (EoU) 2 - Ethernet 3 - Wi-Fi 4 - GSM-модем 5 - EthernetOverTransport |
277 | Адрес сайта ФНС | строка | Максимальная длина: 64 |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
280 | Интервал посылок диагностических сообщений, с. | число | 0 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 1 .. 5 |
282 | Интервал опроса ФН при разрывах (в сек.) | число | 5 .. 120 |
287 | Версия ФФД | число | 0 - Автоматически 100 - ФФД 1.0 |
301 | Печатать на ЧЛ сообщение о полученном IP-адресе | число | 0 - Не печатать 1 - Печатать |
305 | Частота обмена с ФН, кбит/с | число | 50 .. 400 |
306 | Передавать необязательные реквизиты в ОФД | число | 0 - Не передавать 1 - Передавать |
307 | Ожидание инициализации ФН после включения, с. | число | 5 .. 255 |
308 | Ожидание обработки команды в ФН, с. | число | 10 .. 255 |
309 | Размер чека в байтах | число | 0 .. 4294967295 |
310 | Печатать пароль доступа к точке Wi-Fi | число | 0 - Не печатать 1 - Печатать |
311 | Блокировать ККТ при переполнении ЭЖ | число | 0 - Не блокировать 1 - Блокировать работу по протоколу 2 - Блокировать работу с ЛК |
312 | Работа со скидками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
313 | Работа со надбавками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
325 | Получение IP-адреса от DHCP (Wi-Fi) | число | 0 - Отключено 1 - Включено |
326 | IP-адрес (Wi-Fi) | строка | Максимальная длина: 15 |
327 | Маска подсети (Wi-Fi) | строка | Максимальная длина: 15 |
328 | Шлюз по умолчанию (Wi-Fi) | строка | Максимальная длина: 15 |
330 | Шрифт реквизитов в чеке | число | 1 .. 7 |
331 | Сопряжение по Bluetooth | число | 0 - Запрещено 1 - Разрешено |
332 | Печатать реквизит "Наименование ОФД" | число | 0 - Не печатать 1 - Печатать |
333 | Печатать реквизит "Адрес электронной почты отправителя" | число | 0 - Не печатать 1 - Печатать |
334 | Работа с ЭЖ | число | 0 - Отключена 1 - Включена |
345 | Печатать реквизит "ИНН поставщика" | число | 0 - Не печатать 1 - Печатать |
АТОЛ 90Ф
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
0 | Номер ККТ в магазине | число | 0 .. 99 |
1 | Разрешение способа расчета 2 | число | 0 - Запрещено 1 - Разрешено |
2 | Печатать названия секций | число | 0 - Не печатать 1 - Печатать |
8 | Яркость печати ЧЛ | число | 1 .. 15 |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
13 | Шрифт ЧЛ | число | 1 .. 4 |
14 | Количество печатаемых строк после чека на ЧЛ | число | 0 .. 6 |
15 | Печатать разделители в суточных отчетах | число | 0 - Не печатать 1 - Печатать |
23 | Количество символов в строке | число | 24 .. 32 |
25 | Проверять время | число | 0 .. 99 |
26 | Смещение области печати слева | число | 0 .. 8 |
27 | Печатать налоги в Х- и Z-отчете и при регистрации | число | 0 - Не печатать 1 - Печатать |
32 | Протокол работы ККТ | число | 0 - АТОЛ 2 1 - АТОЛ 3 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
41 | Печатать нулевые налоги | число | 0 - Не печатать 1 - Печатать |
42 | Печать необнуляемой суммы возвратов приходов | число | 0 - Не печатать 1 - Печатать |
43 | Печать необнуляемой суммы возвратов расходов | число | 0 - Не печатать 1 - Печатать |
44 | Печатать количество отмененных чеков по типам | число | 0 - Не печатать 1 - Печатать |
45 | Не печатать блоки «приходы», «возвраты приходов», «расходы», «возвраты расходов» | число | 0 - Печатать 1 - Не печатать |
46 | Печатать нулевые суммы | число | 0 - Не печатать 1 - Печатать |
47 | Печать номера ККМ в магазине | число | 0 - Не печатать 1 - Печатать |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
56 | Учет наличности | число | 0 - Минимум 1 - Максимум |
59 | Не печатать суточный отчет с гашением при закрытии смены | число | 0 - Печатать 1 - Не печатать |
60 | Печатать необнуляемые суммы по способам расчета прихода и возврата прихода | число | 0 - Не печатать 1 - Печатать |
61 | Печатать необнуляемые суммы по способам расчета расхода и возврата расхода | число | 0 - Не печатать 1 - Печатать |
77 | Порядок ввода сумм | число | 0 - С копеек 1 - С рублей |
78 | Работа по кодам товаров | число | 0 - Запрещена 1 - Разрешена |
79 | Разрядность вводимых сумм | число | 1 .. 8 |
80 | Работа со скидками/надбавками | число | 0 - Скидки запрещены 1 - Разрешены скидки на весь чек 2 - Разрешены скидки на позицию 3 - Разрешены все скидки |
82 | Печать названия товара | число | 0 - Запрещено 1 - Разрешено |
83 | Автоматический вход в режим «РЕГИСТРАЦИЯ» | число | 0 - Запрещено 1 - Разрешено с оператором 1 2 - Разрешено с оператором 2 3 - Разрешено с оператором 3 4 - Разрешено с оператором 4 5 - Разрешено с оператором 5 6 - Разрешено с оператором 6 7 - Разрешено с оператором 7 8 - Разрешено с оператором 8 |
84 | Автоматическая печать «пробного чека» при входе в режим «РЕГИСТРАЦИЯ» | число | 0 - Нет 1 - Да |
85 | Сбрасывать дисплей в «0.00» по завершении чека | число | 0 - Нет 1 - Да |
86 | «Пробный чек» по клавише [ПС] | число | 0 - Нет 1 - Да |
87 | Двойная высота итоговой суммы | число | 0 - Нет 1 - Да |
88 | Двойная ширина итоговой суммы | число | 0 - Нет 1 - Да |
89 | Параметры открытия смены в режиме «РЕГИСТРАЦИЯ» | число | 0 - Только клавишей [ИТ] без печати документа «Открытие смены» 1 - Только клавишей [ИТ] с печатью документа «Открытие смены» 2 - Автоматически и клавишей [ИТ] и без печати документа «Открытие смены» 3 - Автоматически и клавишей [ИТ] и с печатью документа «Открытие смены» |
90 | Звуковая индикация нажатия на кнопки | число | 0 - Нет 1 - Да |
93 | Работа с ЕГАИС | число | 0 - Выключено 1 - Включено |
94 | Пароль кассира 1 | строка | Максимальная длина: 8 |
95 | Пароль кассира 2 | строка | Максимальная длина: 8 |
96 | Пароль кассира 3 | строка | Максимальная длина: 8 |
97 | Пароль кассира 4 | строка | Максимальная длина: 8 |
98 | Пароль кассира 5 | строка | Максимальная длина: 8 |
99 | Пароль кассира 6 | строка | Максимальная длина: 8 |
100 | Пароль кассира 7 | строка | Максимальная длина: 8 |
101 | Пароль кассира 8 | строка | Максимальная длина: 8 |
122 | Имя кассира 1 | строка | Максимальная длина: 32 |
123 | Имя кассира 2 | строка | Максимальная длина: 32 |
124 | Имя кассира 3 | строка | Максимальная длина: 32 |
125 | Имя кассира 4 | строка | Максимальная длина: 32 |
126 | Имя кассира 5 | строка | Максимальная длина: 32 |
127 | Имя кассира 6 | строка | Максимальная длина: 32 |
128 | Имя кассира 7 | строка | Максимальная длина: 32 |
129 | Имя кассира 8 | строка | Максимальная длина: 32 |
150 | ИНН кассира 1 | строка | Максимальная длина: 12 |
151 | ИНН кассира 2 | строка | Максимальная длина: 12 |
152 | ИНН кассира 3 | строка | Максимальная длина: 12 |
153 | ИНН кассира 4 | строка | Максимальная длина: 12 |
154 | ИНН кассира 5 | строка | Максимальная длина: 12 |
155 | ИНН кассира 6 | строка | Максимальная длина: 12 |
156 | ИНН кассира 7 | строка | Максимальная длина: 12 |
157 | ИНН кассира 8 | строка | Максимальная длина: 12 |
178 | Пароль администратора | строка | Максимальная длина: 8 |
179 | Имя администратора | строка | Максимальная длина: 32 |
180 | ИНН администратора | строка | Максимальная длина: 12 |
181 | Пароль системного администратора | строка | Максимальная длина: 8 |
182 | Имя системного администратора | строка | Максимальная длина: 32 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
184 | Строка клише 1 | строка | Максимальная длина: 32 |
185 | Строка клише 2 | строка | Максимальная длина: 32 |
186 | Строка клише 3 | строка | Максимальная длина: 32 |
187 | Строка клише 4 | строка | Максимальная длина: 32 |
188 | Строка клише 5 | строка | Максимальная длина: 32 |
189 | Строка клише 6 | строка | Максимальная длина: 32 |
204 | Наименование секции 1 | строка | Максимальная длина: 32 |
205 | Наименование секции 2 | строка | Максимальная длина: 32 |
206 | Наименование секции 3 | строка | Максимальная длина: 32 |
207 | Наименование секции 4 | строка | Максимальная длина: 32 |
208 | Наименование секции 5 | строка | Максимальная длина: 32 |
209 | Наименование секции 6 | строка | Максимальная длина: 32 |
210 | Наименование секции 7 | строка | Максимальная длина: 32 |
211 | Наименование секции 8 | строка | Максимальная длина: 32 |
212 | Наименование секции 9 | строка | Максимальная длина: 32 |
213 | Наименование секции 10 | строка | Максимальная длина: 32 |
214 | Наименование секции 11 | строка | Максимальная длина: 32 |
215 | Наименование секции 12 | строка | Максимальная длина: 32 |
216 | Наименование секции 13 | строка | Максимальная длина: 32 |
217 | Наименование секции 14 | строка | Максимальная длина: 32 |
218 | Наименование секции 15 | строка | Максимальная длина: 32 |
219 | Наименование секции 16 | строка | Максимальная длина: 32 |
220 | Номер налога 1 | число | 1 .. 6 |
221 | Номер налога 2 | число | 1 .. 6 |
222 | Номер налога 3 | число | 1 .. 6 |
223 | Номер налога 4 | число | 1 .. 6 |
224 | Номер налога 5 | число | 1 .. 6 |
225 | Номер налога 6 | число | 1 .. 6 |
226 | Номер налога 7 | число | 1 .. 6 |
227 | Номер налога 8 | число | 1 .. 6 |
228 | Номер налога 9 | число | 1 .. 6 |
229 | Номер налога 10 | число | 1 .. 6 |
230 | Номер налога 11 | число | 1 .. 6 |
231 | Номер налога 12 | число | 1 .. 6 |
232 | Номер налога 13 | число | 1 .. 6 |
233 | Номер налога 14 | число | 1 .. 6 |
234 | Номер налога 15 | число | 1 .. 6 |
235 | Номер налога 16 | число | 1 .. 6 |
240 | Наименование способа расчета 2 | строка | Максимальная длина: 42 |
265 | Конфигурационная строка | строка | Максимальная длина: 32 |
266 | Имя пользователя | строка | Максимальная длина: 32 |
267 | Пароль | строка | Максимальная длина: 32 |
268 | Режим Wi-Fi | число | 0 - Клиент 1 - Точка доступа |
269 | Имя точки доступа для работы по Wi-Fi | строка | Максимальная длина: 32 |
270 | Пароль доступа к точке доступа | строка | Максимальная длина: 32 |
271 | Номер канала Wi-Fi в режиме точки доступа | число | 0 .. 13 |
272 | Тип шифрования Wi-Fi | число | 0 - Open 1 - WEP 2 - WPA 3 - WPA2 4 - WPA/WPA2 |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
275 | DNS ОФД | строка | Максимальная длина: 15 |
276 | Канал обмена с ОФД | число | 1 - USB (EoU) 3 - Wi-Fi 4 - GSM-модем 5 - EthernetOverTransport |
277 | Адрес сайта ФНС | строка | Максимальная длина: 64 |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
280 | Интервал посылок диагностических сообщений, с. | число | 0 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 1 .. 5 |
282 | Интервал опроса ФН при разрывах (в сек.) | число | 5 .. 120 |
288 | ИНН организации | строка | Максимальная длина: 12 |
289 | КПП организации | строка | Максимальная длина: 10 |
290 | Адрес предприятия торговли | строка | Максимальная длина: 64 |
291 | Наименование предприятия торговли | строка | Максимальная длина: 64 |
303 | Время перехода в режим энергосбережения | число | 0 .. 99 |
312 | Работа со скидками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
313 | Работа со надбавками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
325 | Получение IP-адреса от DHCP (Wi-Fi) | число | 0 - Отключено 1 - Включено |
326 | IP-адрес (Wi-Fi) | строка | Максимальная длина: 15 |
327 | Маска подсети (Wi-Fi) | строка | Максимальная длина: 15 |
328 | Шлюз по умолчанию (Wi-Fi) | строка | Максимальная длина: 15 |
330 | Шрифт реквизитов в чеке | число | 1 .. 4 |
345 | Печатать реквизит "ИНН поставщика" | число | 0 - Не печатать 1 - Печатать |
346 | Передавать код товара в реквизите "Наименование предмета расчета" | число | 0 - Не передавать 1 - Передавать |
АТОЛ 91Ф
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
0 | Номер ККТ в магазине | число | 0 .. 255 |
2 | Печатать названия секций | число | 0 - Не печатать 1 - Печатать |
3 | Печатать необнуляемую сумму приходов и расходов | число | 0 - Не печатать 1 - Печатать |
4 | Производить инкассацию | число | 0 - Нет 1 - Да |
5 | Расширенный X-отчет и Z-отчет | число | 0 - Нет 1 - Да |
6 | Печатать информацию о количестве чеков за смену по типам операций | число | 0 - Не печатать 1 - Печатать |
7 | Автоматически печатать отчет по секциям перед X- и Z-отчетом | число | 0 - Не печатать 1 - Печатать |
8 | Яркость печати ЧЛ | число | 1 .. 15 |
9 | Открывать ДЯ при закрытии чека | число | 0 - Нет 1 - Да |
11 | Пароль доступа | строка | Максимальная длина: 4 |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
13 | Шрифт ЧЛ | число | 1 .. 4 |
14 | Количество печатаемых строк после чека на ЧЛ | число | 0 .. 20 |
15 | Печатать разделители в суточных отчетах | число | 0 - Не печатать 1 - Печатать |
16 | Печатать номер секции | число | 0 - Не печатать 1 - Печатать |
17 | Печатать необнуляемый итог на начало смены в Z-отчете | число | 0 - Не печатать 1 - Печатать |
18 | Печатать необнуляемый итог на начало смены в X-отчете | число | 0 - Не печатать 1 - Печатать |
19 | Печатать текст командой «Печать строки» | число | 0 - Не печатать 1 - Печатать |
20 | Режим перехода на летнее/зимнее время | число | 0 - Не переходить 1 - Переходить, не оповещать 2 - Переходить, оповещать кассира 3 - Переходить, оповещать кассира и хост |
21 | Дата перехода на летнее время | число | |
22 | Дата перехода на зимнее время | число | |
23 | Количество символов в строке | число | 24 .. 42 |
24 | Символ для разделителя | строка | Максимальная длина: 1 |
25 | Проверять время | число | 0 .. 99 |
26 | Смещение области печати слева | число | 0 .. 8 |
27 | Печатать налоги в Х- и Z-отчете и при регистрации | число | 0 - Не печатать 1 - Печатать |
28 | Минимальная яркость термокомпенсации на ЧЛ | число | 1 .. 15 |
29 | Печатать на ЧЛ документ готовности к работе | число | 0 - Не печатать 1 - Печатать |
30 | Печатать на ЧЛ клише в служебных сообщениях | число | 0 - Не печатать 1 - Печатать |
31 | Печатать на ЧЛ сообщение о вводе даты-времени | число | 0 - Не печатать 1 - Печатать |
32 | Протокол работы ККТ | число | 0 - АТОЛ 2 1 - АТОЛ 3 |
33 | PIN-код для Bluetooth | строка | Максимальная длина: 8 |
34 | Уровень коррекции ошибок QR-кода | число | 1 .. 4 |
35 | Количество строк заголовка клише | число | 0 - 0 1 - 1 2 - 2 3 - 3 4 - 4 5 - 5 6 - 6 7 - 7 8 - 8 9 - 9 10 - 10 11 - 11 12 - 12 13 - 13 14 - 14 15 - 15 16 - 16 17 - 17 18 - 18 19 - 19 20 - 20 99 - Старый формат печати |
36 | Расстояние от ТПГ до отрывного ножа | число | 0 .. 255 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
38 | Звуковой сигнал при окончании бумаги и открытии крышки | число | 0 - Нет 1 - Да |
39 | Звуковой сигнал при включении | число | 0 - Нет 1 - Да |
40 | Сохранять печатаемый документ в память | число | 0 - Не сохранять 1 - Сохранять только отчеты 2 - Сохранять все |
41 | Печатать нулевые налоги | число | 0 - Не печатать 1 - Печатать |
42 | Печать необнуляемой суммы возвратов приходов | число | 0 - Не печатать 1 - Печатать |
43 | Печать необнуляемой суммы возвратов расходов | число | 0 - Не печатать 1 - Печатать |
44 | Печатать количество отмененных чеков по типам | число | 0 - Не печатать 1 - Печатать |
45 | Не печатать блоки «приходы», «возвраты приходов», «расходы», «возвраты расходов» | число | 0 - Печатать 1 - Не печатать |
46 | Печатать нулевые суммы | число | 0 - Не печатать 1 - Печатать |
47 | Печать номера ККМ в магазине | число | 0 - Не печатать 1 - Печатать |
48 | Печать реквизитов чека на аннулированных чеках | число | 0 - Не печатать 1 - Печатать |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
51 | Шаблон чека | число | 1 - Шаблон 1 2 - Шаблон 2 |
52 | Признак способа расчета по умолчанию | число | 1 - Предоплата 100% 2 - Предоплата 3 - Аванс 4 - Полный расчет 5 - Частичный расчет и кредит 6 - Передача в кредит 7 - Оплата кредита |
53 | Округлять сумму налога | число | 0 - На весь чек 1 - После каждой позиции |
54 | Контроль суммы налогов 10% и 18% (20%) | число | 0 - Отключен 1 - Включен |
55 | Пересчитывать суммы налогов после скидки на итог | число | 0 - Нет 1 - Да |
56 | Учет наличности | число | 0 - Отключен 1 - Включен |
57 | Печатать признак способа расчета | число | 0 - Не печатать 1 - Печатать |
58 | Печатать признак предмета расчета | число | 0 - Не печатать 1 - Печатать полное наименование 2 - Печатать краткое наименование |
59 | Не печатать суточный отчет с гашением при закрытии смены | число | 0 - Печатать 1 - Не печатать |
60 | Печатать необнуляемые суммы по способам расчета прихода и возврата прихода | число | 0 - Не печатать 1 - Печатать |
61 | Печатать необнуляемые суммы по способам расчета расхода и возврата расхода | число | 0 - Не печатать 1 - Печатать |
62 | Не печатать клише автоматически при закрытии чека | число | 0 - Печатать 1 - Не печатать |
63 | Признак предмета расчета по умолчанию | число | 1 - Товар 2 - Подакцизный товар 3 - Работа 4 - Услуга 5 - Ставка азартной игры 6 - Выигрыш азартной игры 7 - Лотерейный билет 8 - Выигрыш лотереи 9 - Предоставление РИД 10 - Платеж 11 - Агентское вознаграждение 12 - Составной предмет расчета 13 - Иной предмет расчета 14 - Имущественное право 15 - Внереализационный доход 16 - Страховые взносы 17 - Торговый сбор 18 - Курортный сбор 19 - Залог |
71 | IP-адрес (Ethernet) | строка | Максимальная длина: 15 |
72 | Маска подсети (Ethernet) | строка | Максимальная длина: 15 |
73 | Шлюз по умолчанию (Ethernet) | строка | Максимальная длина: 15 |
74 | IP-порт (Ethernet) | число | 1 .. 65535 |
76 | Выключение / перезагрузка ККТ | число | 0 - По кнопке 1 - Не используется 2 - По кнопке и по команде |
78 | Работа по кодам товаров | число | 0 - Запрещена 1 - Разрешена |
79 | Разрядность вводимых сумм | число | 1 .. 8 |
94 | Пароль кассира 1 | строка | Максимальная длина: 8 |
95 | Пароль кассира 2 | строка | Максимальная длина: 8 |
96 | Пароль кассира 3 | строка | Максимальная длина: 8 |
97 | Пароль кассира 4 | строка | Максимальная длина: 8 |
98 | Пароль кассира 5 | строка | Максимальная длина: 8 |
99 | Пароль кассира 6 | строка | Максимальная длина: 8 |
100 | Пароль кассира 7 | строка | Максимальная длина: 8 |
101 | Пароль кассира 8 | строка | Максимальная длина: 8 |
102 | Пароль кассира 9 | строка | Максимальная длина: 8 |
103 | Пароль кассира 10 | строка | Максимальная длина: 8 |
104 | Пароль кассира 11 | строка | Максимальная длина: 8 |
105 | Пароль кассира 12 | строка | Максимальная длина: 8 |
106 | Пароль кассира 13 | строка | Максимальная длина: 8 |
107 | Пароль кассира 14 | строка | Максимальная длина: 8 |
108 | Пароль кассира 15 | строка | Максимальная длина: 8 |
109 | Пароль кассира 16 | строка | Максимальная длина: 8 |
110 | Пароль кассира 17 | строка | Максимальная длина: 8 |
111 | Пароль кассира 18 | строка | Максимальная длина: 8 |
112 | Пароль кассира 19 | строка | Максимальная длина: 8 |
113 | Пароль кассира 20 | строка | Максимальная длина: 8 |
114 | Пароль кассира 21 | строка | Максимальная длина: 8 |
115 | Пароль кассира 22 | строка | Максимальная длина: 8 |
116 | Пароль кассира 23 | строка | Максимальная длина: 8 |
117 | Пароль кассира 24 | строка | Максимальная длина: 8 |
118 | Пароль кассира 25 | строка | Максимальная длина: 8 |
119 | Пароль кассира 26 | строка | Максимальная длина: 8 |
120 | Пароль кассира 27 | строка | Максимальная длина: 8 |
121 | Пароль кассира 28 | строка | Максимальная длина: 8 |
122 | Имя кассира 1 | строка | Максимальная длина: 32 |
123 | Имя кассира 2 | строка | Максимальная длина: 32 |
124 | Имя кассира 3 | строка | Максимальная длина: 32 |
125 | Имя кассира 4 | строка | Максимальная длина: 32 |
126 | Имя кассира 5 | строка | Максимальная длина: 32 |
127 | Имя кассира 6 | строка | Максимальная длина: 32 |
128 | Имя кассира 7 | строка | Максимальная длина: 32 |
129 | Имя кассира 8 | строка | Максимальная длина: 32 |
130 | Имя кассира 9 | строка | Максимальная длина: 32 |
131 | Имя кассира 10 | строка | Максимальная длина: 32 |
132 | Имя кассира 11 | строка | Максимальная длина: 32 |
133 | Имя кассира 12 | строка | Максимальная длина: 32 |
134 | Имя кассира 13 | строка | Максимальная длина: 32 |
135 | Имя кассира 14 | строка | Максимальная длина: 32 |
136 | Имя кассира 15 | строка | Максимальная длина: 32 |
137 | Имя кассира 16 | строка | Максимальная длина: 32 |
138 | Имя кассира 17 | строка | Максимальная длина: 32 |
139 | Имя кассира 18 | строка | Максимальная длина: 32 |
140 | Имя кассира 19 | строка | Максимальная длина: 32 |
141 | Имя кассира 20 | строка | Максимальная длина: 32 |
142 | Имя кассира 21 | строка | Максимальная длина: 32 |
143 | Имя кассира 22 | строка | Максимальная длина: 32 |
144 | Имя кассира 23 | строка | Максимальная длина: 32 |
145 | Имя кассира 24 | строка | Максимальная длина: 32 |
146 | Имя кассира 25 | строка | Максимальная длина: 32 |
147 | Имя кассира 26 | строка | Максимальная длина: 32 |
148 | Имя кассира 27 | строка | Максимальная длина: 32 |
149 | Имя кассира 28 | строка | Максимальная длина: 32 |
150 | ИНН кассира 1 | строка | Максимальная длина: 12 |
151 | ИНН кассира 2 | строка | Максимальная длина: 12 |
152 | ИНН кассира 3 | строка | Максимальная длина: 12 |
153 | ИНН кассира 4 | строка | Максимальная длина: 12 |
154 | ИНН кассира 5 | строка | Максимальная длина: 12 |
155 | ИНН кассира 6 | строка | Максимальная длина: 12 |
156 | ИНН кассира 7 | строка | Максимальная длина: 12 |
157 | ИНН кассира 8 | строка | Максимальная длина: 12 |
158 | ИНН кассира 9 | строка | Максимальная длина: 12 |
159 | ИНН кассира 10 | строка | Максимальная длина: 12 |
160 | ИНН кассира 11 | строка | Максимальная длина: 12 |
161 | ИНН кассира 12 | строка | Максимальная длина: 12 |
162 | ИНН кассира 13 | строка | Максимальная длина: 12 |
163 | ИНН кассира 14 | строка | Максимальная длина: 12 |
164 | ИНН кассира 15 | строка | Максимальная длина: 12 |
165 | ИНН кассира 16 | строка | Максимальная длина: 12 |
166 | ИНН кассира 17 | строка | Максимальная длина: 12 |
167 | ИНН кассира 18 | строка | Максимальная длина: 12 |
168 | ИНН кассира 19 | строка | Максимальная длина: 12 |
169 | ИНН кассира 20 | строка | Максимальная длина: 12 |
170 | ИНН кассира 21 | строка | Максимальная длина: 12 |
171 | ИНН кассира 22 | строка | Максимальная длина: 12 |
172 | ИНН кассира 23 | строка | Максимальная длина: 12 |
173 | ИНН кассира 24 | строка | Максимальная длина: 12 |
174 | ИНН кассира 25 | строка | Максимальная длина: 12 |
175 | ИНН кассира 26 | строка | Максимальная длина: 12 |
176 | ИНН кассира 27 | строка | Максимальная длина: 12 |
177 | ИНН кассира 28 | строка | Максимальная длина: 12 |
178 | Пароль администратора | строка | Максимальная длина: 8 |
179 | Имя администратора | строка | Максимальная длина: 32 |
180 | ИНН администратора | строка | Максимальная длина: 12 |
181 | Пароль системного администратора | строка | Максимальная длина: 8 |
182 | Имя системного администратора | строка | Максимальная длина: 32 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
184 | Строка клише 1 | строка | Максимальная длина: 32 |
185 | Строка клише 2 | строка | Максимальная длина: 32 |
186 | Строка клише 3 | строка | Максимальная длина: 32 |
187 | Строка клише 4 | строка | Максимальная длина: 32 |
188 | Строка клише 5 | строка | Максимальная длина: 32 |
189 | Строка клише 6 | строка | Максимальная длина: 32 |
190 | Строка клише 7 | строка | Максимальная длина: 32 |
191 | Строка клише 8 | строка | Максимальная длина: 32 |
192 | Строка клише 9 | строка | Максимальная длина: 32 |
193 | Строка клише 10 | строка | Максимальная длина: 32 |
194 | Строка клише 11 | строка | Максимальная длина: 32 |
195 | Строка клише 12 | строка | Максимальная длина: 32 |
196 | Строка клише 13 | строка | Максимальная длина: 32 |
197 | Строка клише 14 | строка | Максимальная длина: 32 |
198 | Строка клише 15 | строка | Максимальная длина: 32 |
199 | Строка клише 16 | строка | Максимальная длина: 32 |
200 | Строка клише 17 | строка | Максимальная длина: 32 |
201 | Строка клише 18 | строка | Максимальная длина: 32 |
202 | Строка клише 19 | строка | Максимальная длина: 32 |
203 | Строка клише 20 | строка | Максимальная длина: 32 |
204 | Наименование секции 1 | строка | Максимальная длина: 32 |
205 | Наименование секции 2 | строка | Максимальная длина: 32 |
206 | Наименование секции 3 | строка | Максимальная длина: 32 |
207 | Наименование секции 4 | строка | Максимальная длина: 32 |
208 | Наименование секции 5 | строка | Максимальная длина: 32 |
209 | Наименование секции 6 | строка | Максимальная длина: 32 |
210 | Наименование секции 7 | строка | Максимальная длина: 32 |
211 | Наименование секции 8 | строка | Максимальная длина: 32 |
212 | Наименование секции 9 | строка | Максимальная длина: 32 |
213 | Наименование секции 10 | строка | Максимальная длина: 32 |
214 | Наименование секции 11 | строка | Максимальная длина: 32 |
215 | Наименование секции 12 | строка | Максимальная длина: 32 |
216 | Наименование секции 13 | строка | Максимальная длина: 32 |
217 | Наименование секции 14 | строка | Максимальная длина: 32 |
218 | Наименование секции 15 | строка | Максимальная длина: 32 |
219 | Наименование секции 16 | строка | Максимальная длина: 32 |
220 | Номер налога 1 | число | 1 .. 6 |
221 | Номер налога 2 | число | 1 .. 6 |
222 | Номер налога 3 | число | 1 .. 6 |
223 | Номер налога 4 | число | 1 .. 6 |
224 | Номер налога 5 | число | 1 .. 6 |
225 | Номер налога 6 | число | 1 .. 6 |
226 | Номер налога 7 | число | 1 .. 6 |
227 | Номер налога 8 | число | 1 .. 6 |
228 | Номер налога 9 | число | 1 .. 6 |
229 | Номер налога 10 | число | 1 .. 6 |
230 | Номер налога 11 | число | 1 .. 6 |
231 | Номер налога 12 | число | 1 .. 6 |
232 | Номер налога 13 | число | 1 .. 6 |
233 | Номер налога 14 | число | 1 .. 6 |
234 | Номер налога 15 | число | 1 .. 6 |
235 | Номер налога 16 | число | 1 .. 6 |
239 | Канал обмена с ККТ | число | 4 - USB 5 - Bluetooth 6 - Ethernet 7 - Wi-Fi |
240 | Наименование способа расчета 2 | строка | Максимальная длина: 42 |
240 | Наименование способа расчета 2 | строка | Максимальная длина: 42 |
241 | Наименование способа расчета 3 | строка | Максимальная длина: 42 |
242 | Наименование способа расчета 4 | строка | Максимальная длина: 42 |
243 | Наименование способа расчета 5 | строка | Максимальная длина: 42 |
244 | Наименование способа расчета 6 | строка | Максимальная длина: 42 |
245 | Наименование способа расчета 7 | строка | Максимальная длина: 42 |
246 | Наименование способа расчета 8 | строка | Максимальная длина: 42 |
247 | Наименование способа расчета 9 | строка | Максимальная длина: 42 |
248 | Наименование способа расчета 10 | строка | Максимальная длина: 42 |
249 | Номер формы расчета 2 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
250 | Номер формы расчета 3 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
251 | Номер формы расчета 4 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
252 | Номер формы расчета 5 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
253 | Номер формы расчета 6 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
254 | Номер формы расчета 7 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
255 | Номер формы расчета 8 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
256 | Номер формы расчета 9 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
257 | Номер формы расчета 10 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
265 | Конфигурационная строка | строка | Максимальная длина: 32 |
266 | Имя пользователя | строка | Максимальная длина: 32 |
267 | Пароль | строка | Максимальная длина: 32 |
268 | Режим Wi-Fi | число | 0 - Клиент 1 - Точка доступа |
269 | Имя точки доступа для работы по Wi-Fi | строка | Максимальная длина: 32 |
270 | Пароль доступа к точке доступа | строка | Максимальная длина: 32 |
271 | Номер канала Wi-Fi в режиме точки доступа | число | 0 .. 13 |
272 | Тип шифрования Wi-Fi | число | 0 - Open 1 - WEP 2 - WPA 3 - WPA2 4 - WPA/WPA2 |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
275 | DNS ОФД | строка | Максимальная длина: 15 |
276 | Канал обмена с ОФД | число | 1 - USB (EoU) 2 - Ethernet 3 - Wi-Fi 4 - GSM-модем 5 - EthernetOverTransport |
277 | Адрес сайта ФНС | строка | Максимальная длина: 64 |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
280 | Интервал посылок диагностических сообщений, с. | число | 0 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 1 .. 5 |
282 | Интервал опроса ФН при разрывах (в сек.) | число | 5 .. 120 |
287 | Версия ФФД | число | 0 - Автоматически 100 - ФФД 1.0 |
301 | Печатать на ЧЛ сообщение о полученном IP-адресе | число | 0 - Не печатать 1 - Печатать |
302 | Печатать остатка ФН в отчете | число | 0 - Не печатать 1 - Печатать |
303 | Время перехода в режим энергосбережения | число | 0 .. 99 |
304 | Автоматический вход в режим "Оформления кассовых чеков" | число | 0 - Запрещено 1 - Разрешено с оператором 1 2 - Разрешено с оператором 2 3 - Разрешено с оператором 3 4 - Разрешено с оператором 4 5 - Разрешено с оператором 5 6 - Разрешено с оператором 6 7 - Разрешено с оператором 7 8 - Разрешено с оператором 8 9 - Разрешено с оператором 9 10 - Разрешено с оператором 10 11 - Разрешено с оператором 11 12 - Разрешено с оператором 12 13 - Разрешено с оператором 13 14 - Разрешено с оператором 14 15 - Разрешено с оператором 15 16 - Разрешено с оператором 16 17 - Разрешено с оператором 17 18 - Разрешено с оператором 18 19 - Разрешено с оператором 19 20 - Разрешено с оператором 20 21 - Разрешено с оператором 21 22 - Разрешено с оператором 22 23 - Разрешено с оператором 23 24 - Разрешено с оператором 24 25 - Разрешено с оператором 25 26 - Разрешено с оператором 26 27 - Разрешено с оператором 27 28 - Разрешено с оператором 28 |
305 | Частота обмена с ФН, кбит/с | число | 50 .. 400 |
306 | Передавать необязательные реквизиты в ОФД | число | 0 - Не передавать 1 - Передавать |
307 | Ожидание инициализации ФН после включения, с. | число | 5 .. 255 |
308 | Ожидание обработки команды в ФН, с. | число | 10 .. 255 |
309 | Размер чека в байтах | число | 0 .. 4294967295 |
310 | Печатать пароль доступа к точке Wi-Fi | число | 0 - Не печатать 1 - Печатать |
311 | Блокировать ККТ при переполнении ЭЖ | число | 0 - Не блокировать 1 - Блокировать работу по протоколу 2 - Блокировать работу с ЛК |
312 | Работа со скидками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
313 | Работа со надбавками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
314 | Вести журнал товаров | число | 0 - Не вести 1 - Вести |
315 | Очищать журнал товаров | число | 0 - При закрытии смены 1 - При открытии смены |
316 | Таймаут на выключение подсветки дисплея, мин. | число | 0 .. 60 |
317 | Тип чека по умолчанию | число | 1 - Приход 2 - Расход 3 - Возврат прихода 4 - Возврат расхода |
318 | Запрашивать абонентский номер клиента | число | 0 - Не запрашивать 1 - Запрашивать |
319 | Способ расчета по умолчанию | число | 1 - Способ расчета 1 2 - Способ расчета 2 3 - Способ расчета 3 4 - Способ расчета 4 5 - Способ расчета 5 |
320 | Единица измерения по умолчанию | число | 0 .. 16 |
321 | Поставщик по умолчанию | число | 0 .. 16 |
323 | Работать как ФР | число | 0 - Нет 1 - Да |
325 | Получение IP-адреса от DHCP (Wi-Fi) | число | 0 - Отключено 1 - Включено |
326 | IP-адрес (Wi-Fi) | строка | Максимальная длина: 15 |
327 | Маска подсети (Wi-Fi) | строка | Максимальная длина: 15 |
328 | Шлюз по умолчанию (Wi-Fi) | строка | Максимальная длина: 15 |
330 | Шрифт реквизитов в чеке | число | 1 .. 4 |
331 | Сопряжение по Bluetooth | число | 0 - Запрещено 1 - Разрешено |
332 | Печатать реквизит "Наименование ОФД" | число | 0 - Не печатать 1 - Печатать |
333 | Печатать реквизит "Адрес электронной почты отправителя" | число | 0 - Не печатать 1 - Печатать |
334 | Работа с ЭЖ | число | 0 - Отключена 1 - Включена |
345 | Печатать реквизит "ИНН поставщика" | число | 0 - Не печатать 1 - Печатать |
АТОЛ 92Ф
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
0 | Номер ККТ в магазине | число | 0 .. 255 |
2 | Печатать названия секций | число | 0 - Не печатать 1 - Печатать |
3 | Печатать необнуляемую сумму приходов и расходов | число | 0 - Не печатать 1 - Печатать |
4 | Производить инкассацию | число | 0 - Нет 1 - Да |
5 | Расширенный X-отчет и Z-отчет | число | 0 - Нет 1 - Да |
6 | Печатать информацию о количестве чеков за смену по типам операций | число | 0 - Не печатать 1 - Печатать |
7 | Автоматически печатать отчет по секциям перед X- и Z-отчетом | число | 0 - Не печатать 1 - Печатать |
8 | Яркость печати ЧЛ | число | 1 .. 15 |
9 | Открывать ДЯ при закрытии чека | число | 0 - Нет 1 - Да |
11 | Пароль доступа | строка | Максимальная длина: 4 |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
13 | Шрифт ЧЛ | число | 1 .. 4 |
14 | Количество печатаемых строк после чека на ЧЛ | число | 0 .. 20 |
15 | Печатать разделители в суточных отчетах | число | 0 - Не печатать 1 - Печатать |
16 | Печатать номер секции | число | 0 - Не печатать 1 - Печатать |
17 | Печатать необнуляемый итог на начало смены в Z-отчете | число | 0 - Не печатать 1 - Печатать |
18 | Печатать необнуляемый итог на начало смены в X-отчете | число | 0 - Не печатать 1 - Печатать |
19 | Печатать текст командой «Печать строки» | число | 0 - Не печатать 1 - Печатать |
20 | Режим перехода на летнее/зимнее время | число | 0 - Не переходить 1 - Переходить, не оповещать 2 - Переходить, оповещать кассира 3 - Переходить, оповещать кассира и хост |
21 | Дата перехода на летнее время | число | |
22 | Дата перехода на зимнее время | число | |
23 | Количество символов в строке | число | 24 .. 42 |
24 | Символ для разделителя | строка | Максимальная длина: 1 |
25 | Проверять время | число | 0 .. 99 |
26 | Смещение области печати слева | число | 0 .. 8 |
27 | Печатать налоги в Х- и Z-отчете и при регистрации | число | 0 - Не печатать 1 - Печатать |
28 | Минимальная яркость термокомпенсации на ЧЛ | число | 1 .. 15 |
29 | Печатать на ЧЛ документ готовности к работе | число | 0 - Не печатать 1 - Печатать |
30 | Печатать на ЧЛ клише в служебных сообщениях | число | 0 - Не печатать 1 - Печатать |
31 | Печатать на ЧЛ сообщение о вводе даты-времени | число | 0 - Не печатать 1 - Печатать |
32 | Протокол работы ККТ | число | 0 - АТОЛ 2 1 - АТОЛ 3 |
33 | PIN-код для Bluetooth | строка | Максимальная длина: 8 |
34 | Уровень коррекции ошибок QR-кода | число | 1 .. 4 |
35 | Количество строк заголовка клише | число | 0 - 0 1 - 1 2 - 2 3 - 3 4 - 4 5 - 5 6 - 6 7 - 7 8 - 8 9 - 9 10 - 10 11 - 11 12 - 12 13 - 13 14 - 14 15 - 15 16 - 16 17 - 17 18 - 18 19 - 19 20 - 20 99 - Старый формат печати |
36 | Расстояние от ТПГ до отрывного ножа | число | 0 .. 255 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
38 | Звуковой сигнал при окончании бумаги и открытии крышки | число | 0 - Нет 1 - Да |
39 | Звуковой сигнал при включении | число | 0 - Нет 1 - Да |
40 | Сохранять печатаемый документ в память | число | 0 - Не сохранять 1 - Сохранять только отчеты 2 - Сохранять все |
41 | Печатать нулевые налоги | число | 0 - Не печатать 1 - Печатать |
42 | Печать необнуляемой суммы возвратов приходов | число | 0 - Не печатать 1 - Печатать |
43 | Печать необнуляемой суммы возвратов расходов | число | 0 - Не печатать 1 - Печатать |
44 | Печатать количество отмененных чеков по типам | число | 0 - Не печатать 1 - Печатать |
45 | Не печатать блоки «приходы», «возвраты приходов», «расходы», «возвраты расходов» | число | 0 - Печатать 1 - Не печатать |
46 | Печатать нулевые суммы | число | 0 - Не печатать 1 - Печатать |
47 | Печать номера ККМ в магазине | число | 0 - Не печатать 1 - Печатать |
48 | Печать реквизитов чека на аннулированных чеках | число | 0 - Не печатать 1 - Печатать |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
51 | Шаблон чека | число | 1 - Шаблон 1 2 - Шаблон 2 |
52 | Признак способа расчета по умолчанию | число | 1 - Предоплата 100% 2 - Предоплата 3 - Аванс 4 - Полный расчет 5 - Частичный расчет и кредит 6 - Передача в кредит 7 - Оплата кредита |
53 | Округлять сумму налога | число | 0 - На весь чек 1 - После каждой позиции |
54 | Контроль суммы налогов 10% и 18% (20%) | число | 0 - Отключен 1 - Включен |
55 | Пересчитывать суммы налогов после скидки на итог | число | 0 - Нет 1 - Да |
56 | Учет наличности | число | 0 - Отключен 1 - Включен |
57 | Печатать признак способа расчета | число | 0 - Не печатать 1 - Печатать |
58 | Печатать признак предмета расчета | число | 0 - Не печатать 1 - Печатать полное наименование 2 - Печатать краткое наименование |
59 | Не печатать суточный отчет с гашением при закрытии смены | число | 0 - Печатать 1 - Не печатать |
60 | Печатать необнуляемые суммы по способам расчета прихода и возврата прихода | число | 0 - Не печатать 1 - Печатать |
61 | Печатать необнуляемые суммы по способам расчета расхода и возврата расхода | число | 0 - Не печатать 1 - Печатать |
62 | Не печатать клише автоматически при закрытии чека | число | 0 - Печатать 1 - Не печатать |
63 | Признак предмета расчета по умолчанию | число | 1 - Товар 2 - Подакцизный товар 3 - Работа 4 - Услуга 5 - Ставка азартной игры 6 - Выигрыш азартной игры 7 - Лотерейный билет 8 - Выигрыш лотереи 9 - Предоставление РИД 10 - Платеж 11 - Агентское вознаграждение 12 - Составной предмет расчета 13 - Иной предмет расчета 14 - Имущественное право 15 - Внереализационный доход 16 - Страховые взносы 17 - Торговый сбор 18 - Курортный сбор 19 - Залог |
71 | IP-адрес (Ethernet) | строка | Максимальная длина: 15 |
72 | Маска подсети (Ethernet) | строка | Максимальная длина: 15 |
73 | Шлюз по умолчанию (Ethernet) | строка | Максимальная длина: 15 |
74 | IP-порт (Ethernet) | число | 1 .. 65535 |
76 | Выключение / перезагрузка ККТ | число | 0 - По кнопке 1 - Не используется 2 - По кнопке и по команде |
78 | Работа по кодам товаров | число | 0 - Запрещена 1 - Разрешена |
79 | Разрядность вводимых сумм | число | 1 .. 8 |
94 | Пароль кассира 1 | строка | Максимальная длина: 8 |
95 | Пароль кассира 2 | строка | Максимальная длина: 8 |
96 | Пароль кассира 3 | строка | Максимальная длина: 8 |
97 | Пароль кассира 4 | строка | Максимальная длина: 8 |
98 | Пароль кассира 5 | строка | Максимальная длина: 8 |
99 | Пароль кассира 6 | строка | Максимальная длина: 8 |
100 | Пароль кассира 7 | строка | Максимальная длина: 8 |
101 | Пароль кассира 8 | строка | Максимальная длина: 8 |
102 | Пароль кассира 9 | строка | Максимальная длина: 8 |
103 | Пароль кассира 10 | строка | Максимальная длина: 8 |
104 | Пароль кассира 11 | строка | Максимальная длина: 8 |
105 | Пароль кассира 12 | строка | Максимальная длина: 8 |
106 | Пароль кассира 13 | строка | Максимальная длина: 8 |
107 | Пароль кассира 14 | строка | Максимальная длина: 8 |
108 | Пароль кассира 15 | строка | Максимальная длина: 8 |
109 | Пароль кассира 16 | строка | Максимальная длина: 8 |
110 | Пароль кассира 17 | строка | Максимальная длина: 8 |
111 | Пароль кассира 18 | строка | Максимальная длина: 8 |
112 | Пароль кассира 19 | строка | Максимальная длина: 8 |
113 | Пароль кассира 20 | строка | Максимальная длина: 8 |
114 | Пароль кассира 21 | строка | Максимальная длина: 8 |
115 | Пароль кассира 22 | строка | Максимальная длина: 8 |
116 | Пароль кассира 23 | строка | Максимальная длина: 8 |
117 | Пароль кассира 24 | строка | Максимальная длина: 8 |
118 | Пароль кассира 25 | строка | Максимальная длина: 8 |
119 | Пароль кассира 26 | строка | Максимальная длина: 8 |
120 | Пароль кассира 27 | строка | Максимальная длина: 8 |
121 | Пароль кассира 28 | строка | Максимальная длина: 8 |
122 | Имя кассира 1 | строка | Максимальная длина: 32 |
123 | Имя кассира 2 | строка | Максимальная длина: 32 |
124 | Имя кассира 3 | строка | Максимальная длина: 32 |
125 | Имя кассира 4 | строка | Максимальная длина: 32 |
126 | Имя кассира 5 | строка | Максимальная длина: 32 |
127 | Имя кассира 6 | строка | Максимальная длина: 32 |
128 | Имя кассира 7 | строка | Максимальная длина: 32 |
129 | Имя кассира 8 | строка | Максимальная длина: 32 |
130 | Имя кассира 9 | строка | Максимальная длина: 32 |
131 | Имя кассира 10 | строка | Максимальная длина: 32 |
132 | Имя кассира 11 | строка | Максимальная длина: 32 |
133 | Имя кассира 12 | строка | Максимальная длина: 32 |
134 | Имя кассира 13 | строка | Максимальная длина: 32 |
135 | Имя кассира 14 | строка | Максимальная длина: 32 |
136 | Имя кассира 15 | строка | Максимальная длина: 32 |
137 | Имя кассира 16 | строка | Максимальная длина: 32 |
138 | Имя кассира 17 | строка | Максимальная длина: 32 |
139 | Имя кассира 18 | строка | Максимальная длина: 32 |
140 | Имя кассира 19 | строка | Максимальная длина: 32 |
141 | Имя кассира 20 | строка | Максимальная длина: 32 |
142 | Имя кассира 21 | строка | Максимальная длина: 32 |
143 | Имя кассира 22 | строка | Максимальная длина: 32 |
144 | Имя кассира 23 | строка | Максимальная длина: 32 |
145 | Имя кассира 24 | строка | Максимальная длина: 32 |
146 | Имя кассира 25 | строка | Максимальная длина: 32 |
147 | Имя кассира 26 | строка | Максимальная длина: 32 |
148 | Имя кассира 27 | строка | Максимальная длина: 32 |
149 | Имя кассира 28 | строка | Максимальная длина: 32 |
150 | ИНН кассира 1 | строка | Максимальная длина: 12 |
151 | ИНН кассира 2 | строка | Максимальная длина: 12 |
152 | ИНН кассира 3 | строка | Максимальная длина: 12 |
153 | ИНН кассира 4 | строка | Максимальная длина: 12 |
154 | ИНН кассира 5 | строка | Максимальная длина: 12 |
155 | ИНН кассира 6 | строка | Максимальная длина: 12 |
156 | ИНН кассира 7 | строка | Максимальная длина: 12 |
157 | ИНН кассира 8 | строка | Максимальная длина: 12 |
158 | ИНН кассира 9 | строка | Максимальная длина: 12 |
159 | ИНН кассира 10 | строка | Максимальная длина: 12 |
160 | ИНН кассира 11 | строка | Максимальная длина: 12 |
161 | ИНН кассира 12 | строка | Максимальная длина: 12 |
162 | ИНН кассира 13 | строка | Максимальная длина: 12 |
163 | ИНН кассира 14 | строка | Максимальная длина: 12 |
164 | ИНН кассира 15 | строка | Максимальная длина: 12 |
165 | ИНН кассира 16 | строка | Максимальная длина: 12 |
166 | ИНН кассира 17 | строка | Максимальная длина: 12 |
167 | ИНН кассира 18 | строка | Максимальная длина: 12 |
168 | ИНН кассира 19 | строка | Максимальная длина: 12 |
169 | ИНН кассира 20 | строка | Максимальная длина: 12 |
170 | ИНН кассира 21 | строка | Максимальная длина: 12 |
171 | ИНН кассира 22 | строка | Максимальная длина: 12 |
172 | ИНН кассира 23 | строка | Максимальная длина: 12 |
173 | ИНН кассира 24 | строка | Максимальная длина: 12 |
174 | ИНН кассира 25 | строка | Максимальная длина: 12 |
175 | ИНН кассира 26 | строка | Максимальная длина: 12 |
176 | ИНН кассира 27 | строка | Максимальная длина: 12 |
177 | ИНН кассира 28 | строка | Максимальная длина: 12 |
178 | Пароль администратора | строка | Максимальная длина: 8 |
179 | Имя администратора | строка | Максимальная длина: 32 |
180 | ИНН администратора | строка | Максимальная длина: 12 |
181 | Пароль системного администратора | строка | Максимальная длина: 8 |
182 | Имя системного администратора | строка | Максимальная длина: 32 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
184 | Строка клише 1 | строка | Максимальная длина: 32 |
185 | Строка клише 2 | строка | Максимальная длина: 32 |
186 | Строка клише 3 | строка | Максимальная длина: 32 |
187 | Строка клише 4 | строка | Максимальная длина: 32 |
188 | Строка клише 5 | строка | Максимальная длина: 32 |
189 | Строка клише 6 | строка | Максимальная длина: 32 |
190 | Строка клише 7 | строка | Максимальная длина: 32 |
191 | Строка клише 8 | строка | Максимальная длина: 32 |
192 | Строка клише 9 | строка | Максимальная длина: 32 |
193 | Строка клише 10 | строка | Максимальная длина: 32 |
194 | Строка клише 11 | строка | Максимальная длина: 32 |
195 | Строка клише 12 | строка | Максимальная длина: 32 |
196 | Строка клише 13 | строка | Максимальная длина: 32 |
197 | Строка клише 14 | строка | Максимальная длина: 32 |
198 | Строка клише 15 | строка | Максимальная длина: 32 |
199 | Строка клише 16 | строка | Максимальная длина: 32 |
200 | Строка клише 17 | строка | Максимальная длина: 32 |
201 | Строка клише 18 | строка | Максимальная длина: 32 |
202 | Строка клише 19 | строка | Максимальная длина: 32 |
203 | Строка клише 20 | строка | Максимальная длина: 32 |
204 | Наименование секции 1 | строка | Максимальная длина: 32 |
205 | Наименование секции 2 | строка | Максимальная длина: 32 |
206 | Наименование секции 3 | строка | Максимальная длина: 32 |
207 | Наименование секции 4 | строка | Максимальная длина: 32 |
208 | Наименование секции 5 | строка | Максимальная длина: 32 |
209 | Наименование секции 6 | строка | Максимальная длина: 32 |
210 | Наименование секции 7 | строка | Максимальная длина: 32 |
211 | Наименование секции 8 | строка | Максимальная длина: 32 |
212 | Наименование секции 9 | строка | Максимальная длина: 32 |
213 | Наименование секции 10 | строка | Максимальная длина: 32 |
214 | Наименование секции 11 | строка | Максимальная длина: 32 |
215 | Наименование секции 12 | строка | Максимальная длина: 32 |
216 | Наименование секции 13 | строка | Максимальная длина: 32 |
217 | Наименование секции 14 | строка | Максимальная длина: 32 |
218 | Наименование секции 15 | строка | Максимальная длина: 32 |
219 | Наименование секции 16 | строка | Максимальная длина: 32 |
220 | Номер налога 1 | число | 1 .. 6 |
221 | Номер налога 2 | число | 1 .. 6 |
222 | Номер налога 3 | число | 1 .. 6 |
223 | Номер налога 4 | число | 1 .. 6 |
224 | Номер налога 5 | число | 1 .. 6 |
225 | Номер налога 6 | число | 1 .. 6 |
226 | Номер налога 7 | число | 1 .. 6 |
227 | Номер налога 8 | число | 1 .. 6 |
228 | Номер налога 9 | число | 1 .. 6 |
229 | Номер налога 10 | число | 1 .. 6 |
230 | Номер налога 11 | число | 1 .. 6 |
231 | Номер налога 12 | число | 1 .. 6 |
232 | Номер налога 13 | число | 1 .. 6 |
233 | Номер налога 14 | число | 1 .. 6 |
234 | Номер налога 15 | число | 1 .. 6 |
235 | Номер налога 16 | число | 1 .. 6 |
239 | Канал обмена с ККТ | число | 4 - USB 5 - Bluetooth 6 - Ethernet 7 - Wi-Fi |
240 | Наименование способа расчета 2 | строка | Максимальная длина: 42 |
240 | Наименование способа расчета 2 | строка | Максимальная длина: 42 |
241 | Наименование способа расчета 3 | строка | Максимальная длина: 42 |
242 | Наименование способа расчета 4 | строка | Максимальная длина: 42 |
243 | Наименование способа расчета 5 | строка | Максимальная длина: 42 |
244 | Наименование способа расчета 6 | строка | Максимальная длина: 42 |
245 | Наименование способа расчета 7 | строка | Максимальная длина: 42 |
246 | Наименование способа расчета 8 | строка | Максимальная длина: 42 |
247 | Наименование способа расчета 9 | строка | Максимальная длина: 42 |
248 | Наименование способа расчета 10 | строка | Максимальная длина: 42 |
249 | Номер формы расчета 2 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
250 | Номер формы расчета 3 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
251 | Номер формы расчета 4 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
252 | Номер формы расчета 5 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
253 | Номер формы расчета 6 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
254 | Номер формы расчета 7 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
255 | Номер формы расчета 8 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
256 | Номер формы расчета 9 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
257 | Номер формы расчета 10 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
265 | Конфигурационная строка | строка | Максимальная длина: 32 |
266 | Имя пользователя | строка | Максимальная длина: 32 |
267 | Пароль | строка | Максимальная длина: 32 |
268 | Режим Wi-Fi | число | 0 - Клиент 1 - Точка доступа |
269 | Имя точки доступа для работы по Wi-Fi | строка | Максимальная длина: 32 |
270 | Пароль доступа к точке доступа | строка | Максимальная длина: 32 |
271 | Номер канала Wi-Fi в режиме точки доступа | число | 0 .. 13 |
272 | Тип шифрования Wi-Fi | число | 0 - Open 1 - WEP 2 - WPA 3 - WPA2 4 - WPA/WPA2 |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
275 | DNS ОФД | строка | Максимальная длина: 15 |
276 | Канал обмена с ОФД | число | 1 - USB (EoU) 2 - Ethernet 3 - Wi-Fi 4 - GSM-модем 5 - EthernetOverTransport |
277 | Адрес сайта ФНС | строка | Максимальная длина: 64 |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
280 | Интервал посылок диагностических сообщений, с. | число | 0 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 1 .. 5 |
282 | Интервал опроса ФН при разрывах (в сек.) | число | 5 .. 120 |
287 | Версия ФФД | число | 0 - Автоматически 100 - ФФД 1.0 |
301 | Печатать на ЧЛ сообщение о полученном IP-адресе | число | 0 - Не печатать 1 - Печатать |
302 | Печатать остатка ФН в отчете | число | 0 - Не печатать 1 - Печатать |
303 | Время перехода в режим энергосбережения | число | 0 .. 99 |
304 | Автоматический вход в режим "Оформления кассовых чеков" | число | 0 - Запрещено 1 - Разрешено с оператором 1 2 - Разрешено с оператором 2 3 - Разрешено с оператором 3 4 - Разрешено с оператором 4 5 - Разрешено с оператором 5 6 - Разрешено с оператором 6 7 - Разрешено с оператором 7 8 - Разрешено с оператором 8 9 - Разрешено с оператором 9 10 - Разрешено с оператором 10 11 - Разрешено с оператором 11 12 - Разрешено с оператором 12 13 - Разрешено с оператором 13 14 - Разрешено с оператором 14 15 - Разрешено с оператором 15 16 - Разрешено с оператором 16 17 - Разрешено с оператором 17 18 - Разрешено с оператором 18 19 - Разрешено с оператором 19 20 - Разрешено с оператором 20 21 - Разрешено с оператором 21 22 - Разрешено с оператором 22 23 - Разрешено с оператором 23 24 - Разрешено с оператором 24 25 - Разрешено с оператором 25 26 - Разрешено с оператором 26 27 - Разрешено с оператором 27 28 - Разрешено с оператором 28 |
305 | Частота обмена с ФН, кбит/с | число | 50 .. 400 |
306 | Передавать необязательные реквизиты в ОФД | число | 0 - Не передавать 1 - Передавать |
307 | Ожидание инициализации ФН после включения, с. | число | 5 .. 255 |
308 | Ожидание обработки команды в ФН, с. | число | 10 .. 255 |
309 | Размер чека в байтах | число | 0 .. 4294967295 |
310 | Печатать пароль доступа к точке Wi-Fi | число | 0 - Не печатать 1 - Печатать |
311 | Блокировать ККТ при переполнении ЭЖ | число | 0 - Не блокировать 1 - Блокировать работу по протоколу 2 - Блокировать работу с ЛК |
312 | Работа со скидками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
313 | Работа со надбавками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
314 | Вести журнал товаров | число | 0 - Не вести 1 - Вести |
315 | Очищать журнал товаров | число | 0 - При закрытии смены 1 - При открытии смены |
316 | Таймаут на выключение подсветки дисплея, мин. | число | 0 .. 60 |
317 | Тип чека по умолчанию | число | 1 - Приход 2 - Расход 3 - Возврат прихода 4 - Возврат расхода |
318 | Запрашивать абонентский номер клиента | число | 0 - Не запрашивать 1 - Запрашивать |
319 | Способ расчета по умолчанию | число | 1 - Способ расчета 1 2 - Способ расчета 2 3 - Способ расчета 3 4 - Способ расчета 4 5 - Способ расчета 5 |
320 | Единица измерения по умолчанию | число | 0 .. 16 |
321 | Поставщик по умолчанию | число | 0 .. 16 |
323 | Работать как ФР | число | 0 - Нет 1 - Да |
325 | Получение IP-адреса от DHCP (Wi-Fi) | число | 0 - Отключено 1 - Включено |
326 | IP-адрес (Wi-Fi) | строка | Максимальная длина: 15 |
327 | Маска подсети (Wi-Fi) | строка | Максимальная длина: 15 |
328 | Шлюз по умолчанию (Wi-Fi) | строка | Максимальная длина: 15 |
330 | Шрифт реквизитов в чеке | число | 1 .. 4 |
331 | Сопряжение по Bluetooth | число | 0 - Запрещено 1 - Разрешено |
332 | Печатать реквизит "Наименование ОФД" | число | 0 - Не печатать 1 - Печатать |
333 | Печатать реквизит "Адрес электронной почты отправителя" | число | 0 - Не печатать 1 - Печатать |
334 | Работа с ЭЖ | число | 0 - Отключена 1 - Включена |
345 | Печатать реквизит "ИНН поставщика" | число | 0 - Не печатать 1 - Печатать |
АТОЛ Sigma 10
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
0 | Номер ККТ в магазине | число | 0 .. 255 |
2 | Печатать названия секций | число | 0 - Не печатать 1 - Печатать |
3 | Печатать необнуляемую сумму приходов и расходов | число | 0 - Не печатать 1 - Печатать |
4 | Производить инкассацию | число | 0 - Нет 1 - Да |
5 | Расширенный X-отчет и Z-отчет | число | 0 - Нет 1 - Да |
6 | Печатать информацию о количестве чеков за смену по типам операций | число | 0 - Не печатать 1 - Печатать |
7 | Автоматически печатать отчет по секциям перед X- и Z-отчетом | число | 0 - Не печатать 1 - Печатать |
8 | Яркость печати ЧЛ | число | 1 .. 15 |
9 | Открывать ДЯ при закрытии чека | число | 0 - Нет 1 - Да |
11 | Пароль доступа | строка | Максимальная длина: 4 |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
13 | Шрифт ЧЛ | число | 1 .. 7 |
14 | Количество печатаемых строк после чека на ЧЛ | число | 0 .. 20 |
15 | Печатать разделители в суточных отчетах | число | 0 - Не печатать 1 - Печатать |
16 | Печатать номер секции | число | 0 - Не печатать 1 - Печатать |
17 | Печатать необнуляемый итог на начало смены в Z-отчете | число | 0 - Не печатать 1 - Печатать |
18 | Печатать необнуляемый итог на начало смены в X-отчете | число | 0 - Не печатать 1 - Печатать |
19 | Печатать текст командой «Печать строки» | число | 0 - Не печатать 1 - Печатать |
20 | Режим перехода на летнее/зимнее время | число | 0 - Не переходить 1 - Переходить, не оповещать 2 - Переходить, оповещать кассира 3 - Переходить, оповещать кассира и хост |
21 | Дата перехода на летнее время | число | |
22 | Дата перехода на зимнее время | число | |
23 | Количество символов в строке | число | 24 .. 64 |
24 | Символ для разделителя | строка | Максимальная длина: 1 |
25 | Проверять время | число | 0 .. 99 |
26 | Смещение области печати слева | число | 0 .. 24 |
27 | Печатать налоги в Х- и Z-отчете и при регистрации | число | 0 - Не печатать 1 - Печатать |
28 | Минимальная яркость термокомпенсации на ЧЛ | число | 1 .. 15 |
29 | Печатать на ЧЛ документ готовности к работе | число | 0 - Не печатать 1 - Печатать |
30 | Печатать на ЧЛ клише в служебных сообщениях | число | 0 - Не печатать 1 - Печатать |
31 | Печатать на ЧЛ сообщение о вводе даты-времени | число | 0 - Не печатать 1 - Печатать |
32 | Протокол работы ККТ | число | 0 - АТОЛ 2 1 - АТОЛ 3 |
34 | Уровень коррекции ошибок QR-кода | число | 1 .. 4 |
35 | Количество строк заголовка клише | число | 0 - 0 1 - 1 2 - 2 3 - 3 4 - 4 5 - 5 6 - 6 7 - 7 8 - 8 9 - 9 10 - 10 11 - 11 12 - 12 13 - 13 14 - 14 15 - 15 16 - 16 17 - 17 18 - 18 19 - 19 20 - 20 99 - Старый формат печати |
36 | Расстояние от ТПГ до отрывного ножа | число | 0 .. 255 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
38 | Звуковой сигнал при окончании бумаги и открытии крышки | число | 0 - Нет 1 - Да |
39 | Звуковой сигнал при включении | число | 0 - Нет 1 - Да |
40 | Сохранять печатаемый документ в память | число | 0 - Не сохранять 1 - Сохранять только отчеты 2 - Сохранять все |
41 | Печатать нулевые налоги | число | 0 - Не печатать 1 - Печатать |
42 | Печать необнуляемой суммы возвратов приходов | число | 0 - Не печатать 1 - Печатать |
43 | Печать необнуляемой суммы возвратов расходов | число | 0 - Не печатать 1 - Печатать |
44 | Печатать количество отмененных чеков по типам | число | 0 - Не печатать 1 - Печатать |
45 | Не печатать блоки «приходы», «возвраты приходов», «расходы», «возвраты расходов» | число | 0 - Печатать 1 - Не печатать |
46 | Печатать нулевые суммы | число | 0 - Не печатать 1 - Печатать |
47 | Печать номера ККМ в магазине | число | 0 - Не печатать 1 - Печатать |
48 | Печать реквизитов чека на аннулированных чеках | число | 0 - Не печатать 1 - Печатать |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
51 | Шаблон чека | число | 1 - Шаблон 1 2 - Шаблон 2 |
52 | Признак способа расчета по умолчанию | число | 1 - Предоплата 100% 2 - Предоплата 3 - Аванс 4 - Полный расчет 5 - Частичный расчет и кредит 6 - Передача в кредит 7 - Оплата кредита |
53 | Округлять сумму налога | число | 0 - На весь чек 1 - После каждой позиции |
54 | Контроль суммы налогов 10% и 18% (20%) | число | 0 - Отключен 1 - Включен |
55 | Пересчитывать суммы налогов после скидки на итог | число | 0 - Нет 1 - Да |
56 | Учет наличности | число | 0 - Отключен 1 - Включен |
57 | Печатать признак способа расчета | число | 0 - Не печатать 1 - Печатать |
58 | Печатать признак предмета расчета | число | 0 - Не печатать 1 - Печатать полное наименование 2 - Печатать краткое наименование |
59 | Не печатать суточный отчет с гашением при закрытии смены | число | 0 - Печатать 1 - Не печатать |
60 | Печатать необнуляемые суммы по способам расчета прихода и возврата прихода | число | 0 - Не печатать 1 - Печатать |
61 | Печатать необнуляемые суммы по способам расчета расхода и возврата расхода | число | 0 - Не печатать 1 - Печатать |
62 | Не печатать клише автоматически при закрытии чека | число | 0 - Печатать 1 - Не печатать |
63 | Признак предмета расчета по умолчанию | число | 1 - Товар 2 - Подакцизный товар 3 - Работа 4 - Услуга 5 - Ставка азартной игры 6 - Выигрыш азартной игры 7 - Лотерейный билет 8 - Выигрыш лотереи 9 - Предоставление РИД 10 - Платеж 11 - Агентское вознаграждение 12 - Составной предмет расчета 13 - Иной предмет расчета 14 - Имущественное право 15 - Внереализационный доход 16 - Страховые взносы 17 - Торговый сбор 18 - Курортный сбор 19 - Залог |
65 | Не открывать ДЯ при отсутствии наличного способа расчета в чеке | число | 0 - Открывать 1 - Не открывать |
66 | Отрезать чек после завершения документа | число | 0 - Не отрезать 1 - Не полностью 2 - Полностью |
67 | Запретить отрезку чеков | число | 0 - Нет 1 - Да |
68 | Запретить отрезку отчетов | число | 0 - Нет 1 - Да |
69 | Отрезать ЧЛ после печати клише командой «Печать клише» | число | 0 - Нет 1 - Да |
75 | Расстояние от ножа отрезчика до гребенки | число | 0 .. 255 |
76 | Выключение / перезагрузка ККТ | число | 0 - По кнопке 1 - По команде 2 - По кнопке и по команде |
94 | Пароль кассира 1 | строка | Максимальная длина: 8 |
95 | Пароль кассира 2 | строка | Максимальная длина: 8 |
96 | Пароль кассира 3 | строка | Максимальная длина: 8 |
97 | Пароль кассира 4 | строка | Максимальная длина: 8 |
98 | Пароль кассира 5 | строка | Максимальная длина: 8 |
99 | Пароль кассира 6 | строка | Максимальная длина: 8 |
100 | Пароль кассира 7 | строка | Максимальная длина: 8 |
101 | Пароль кассира 8 | строка | Максимальная длина: 8 |
102 | Пароль кассира 9 | строка | Максимальная длина: 8 |
103 | Пароль кассира 10 | строка | Максимальная длина: 8 |
104 | Пароль кассира 11 | строка | Максимальная длина: 8 |
105 | Пароль кассира 12 | строка | Максимальная длина: 8 |
106 | Пароль кассира 13 | строка | Максимальная длина: 8 |
107 | Пароль кассира 14 | строка | Максимальная длина: 8 |
108 | Пароль кассира 15 | строка | Максимальная длина: 8 |
109 | Пароль кассира 16 | строка | Максимальная длина: 8 |
110 | Пароль кассира 17 | строка | Максимальная длина: 8 |
111 | Пароль кассира 18 | строка | Максимальная длина: 8 |
112 | Пароль кассира 19 | строка | Максимальная длина: 8 |
113 | Пароль кассира 20 | строка | Максимальная длина: 8 |
114 | Пароль кассира 21 | строка | Максимальная длина: 8 |
115 | Пароль кассира 22 | строка | Максимальная длина: 8 |
116 | Пароль кассира 23 | строка | Максимальная длина: 8 |
117 | Пароль кассира 24 | строка | Максимальная длина: 8 |
118 | Пароль кассира 25 | строка | Максимальная длина: 8 |
119 | Пароль кассира 26 | строка | Максимальная длина: 8 |
120 | Пароль кассира 27 | строка | Максимальная длина: 8 |
121 | Пароль кассира 28 | строка | Максимальная длина: 8 |
122 | Имя кассира 1 | строка | Максимальная длина: 48 |
123 | Имя кассира 2 | строка | Максимальная длина: 48 |
124 | Имя кассира 3 | строка | Максимальная длина: 48 |
125 | Имя кассира 4 | строка | Максимальная длина: 48 |
126 | Имя кассира 5 | строка | Максимальная длина: 48 |
127 | Имя кассира 6 | строка | Максимальная длина: 48 |
128 | Имя кассира 7 | строка | Максимальная длина: 48 |
129 | Имя кассира 8 | строка | Максимальная длина: 48 |
130 | Имя кассира 9 | строка | Максимальная длина: 48 |
131 | Имя кассира 10 | строка | Максимальная длина: 48 |
132 | Имя кассира 11 | строка | Максимальная длина: 48 |
133 | Имя кассира 12 | строка | Максимальная длина: 48 |
134 | Имя кассира 13 | строка | Максимальная длина: 48 |
135 | Имя кассира 14 | строка | Максимальная длина: 48 |
136 | Имя кассира 15 | строка | Максимальная длина: 48 |
137 | Имя кассира 16 | строка | Максимальная длина: 48 |
138 | Имя кассира 17 | строка | Максимальная длина: 48 |
139 | Имя кассира 18 | строка | Максимальная длина: 48 |
140 | Имя кассира 19 | строка | Максимальная длина: 48 |
141 | Имя кассира 20 | строка | Максимальная длина: 48 |
142 | Имя кассира 21 | строка | Максимальная длина: 48 |
143 | Имя кассира 22 | строка | Максимальная длина: 48 |
144 | Имя кассира 23 | строка | Максимальная длина: 48 |
145 | Имя кассира 24 | строка | Максимальная длина: 48 |
146 | Имя кассира 25 | строка | Максимальная длина: 48 |
147 | Имя кассира 26 | строка | Максимальная длина: 48 |
148 | Имя кассира 27 | строка | Максимальная длина: 48 |
149 | Имя кассира 28 | строка | Максимальная длина: 48 |
150 | ИНН кассира 1 | строка | Максимальная длина: 12 |
151 | ИНН кассира 2 | строка | Максимальная длина: 12 |
152 | ИНН кассира 3 | строка | Максимальная длина: 12 |
153 | ИНН кассира 4 | строка | Максимальная длина: 12 |
154 | ИНН кассира 5 | строка | Максимальная длина: 12 |
155 | ИНН кассира 6 | строка | Максимальная длина: 12 |
156 | ИНН кассира 7 | строка | Максимальная длина: 12 |
157 | ИНН кассира 8 | строка | Максимальная длина: 12 |
158 | ИНН кассира 9 | строка | Максимальная длина: 12 |
159 | ИНН кассира 10 | строка | Максимальная длина: 12 |
160 | ИНН кассира 11 | строка | Максимальная длина: 12 |
161 | ИНН кассира 12 | строка | Максимальная длина: 12 |
162 | ИНН кассира 13 | строка | Максимальная длина: 12 |
163 | ИНН кассира 14 | строка | Максимальная длина: 12 |
164 | ИНН кассира 15 | строка | Максимальная длина: 12 |
165 | ИНН кассира 16 | строка | Максимальная длина: 12 |
166 | ИНН кассира 17 | строка | Максимальная длина: 12 |
167 | ИНН кассира 18 | строка | Максимальная длина: 12 |
168 | ИНН кассира 19 | строка | Максимальная длина: 12 |
169 | ИНН кассира 20 | строка | Максимальная длина: 12 |
170 | ИНН кассира 21 | строка | Максимальная длина: 12 |
171 | ИНН кассира 22 | строка | Максимальная длина: 12 |
172 | ИНН кассира 23 | строка | Максимальная длина: 12 |
173 | ИНН кассира 24 | строка | Максимальная длина: 12 |
174 | ИНН кассира 25 | строка | Максимальная длина: 12 |
175 | ИНН кассира 26 | строка | Максимальная длина: 12 |
176 | ИНН кассира 27 | строка | Максимальная длина: 12 |
177 | ИНН кассира 28 | строка | Максимальная длина: 12 |
178 | Пароль администратора | строка | Максимальная длина: 8 |
179 | Имя администратора | строка | Максимальная длина: 48 |
180 | ИНН администратора | строка | Максимальная длина: 12 |
181 | Пароль системного администратора | строка | Максимальная длина: 8 |
182 | Имя системного администратора | строка | Максимальная длина: 48 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
184 | Строка клише 1 | строка | Максимальная длина: 48 |
185 | Строка клише 2 | строка | Максимальная длина: 48 |
186 | Строка клише 3 | строка | Максимальная длина: 48 |
187 | Строка клише 4 | строка | Максимальная длина: 48 |
188 | Строка клише 5 | строка | Максимальная длина: 48 |
189 | Строка клише 6 | строка | Максимальная длина: 48 |
190 | Строка клише 7 | строка | Максимальная длина: 48 |
191 | Строка клише 8 | строка | Максимальная длина: 48 |
192 | Строка клише 9 | строка | Максимальная длина: 48 |
193 | Строка клише 10 | строка | Максимальная длина: 48 |
194 | Строка клише 11 | строка | Максимальная длина: 48 |
195 | Строка клише 12 | строка | Максимальная длина: 48 |
196 | Строка клише 13 | строка | Максимальная длина: 48 |
197 | Строка клише 14 | строка | Максимальная длина: 48 |
198 | Строка клише 15 | строка | Максимальная длина: 48 |
199 | Строка клише 16 | строка | Максимальная длина: 48 |
200 | Строка клише 17 | строка | Максимальная длина: 48 |
201 | Строка клише 18 | строка | Максимальная длина: 48 |
202 | Строка клише 19 | строка | Максимальная длина: 48 |
203 | Строка клише 20 | строка | Максимальная длина: 48 |
204 | Наименование секции 1 | строка | Максимальная длина: 48 |
205 | Наименование секции 2 | строка | Максимальная длина: 48 |
206 | Наименование секции 3 | строка | Максимальная длина: 48 |
207 | Наименование секции 4 | строка | Максимальная длина: 48 |
208 | Наименование секции 5 | строка | Максимальная длина: 48 |
209 | Наименование секции 6 | строка | Максимальная длина: 48 |
210 | Наименование секции 7 | строка | Максимальная длина: 48 |
211 | Наименование секции 8 | строка | Максимальная длина: 48 |
212 | Наименование секции 9 | строка | Максимальная длина: 48 |
213 | Наименование секции 10 | строка | Максимальная длина: 48 |
214 | Наименование секции 11 | строка | Максимальная длина: 48 |
215 | Наименование секции 12 | строка | Максимальная длина: 48 |
216 | Наименование секции 13 | строка | Максимальная длина: 48 |
217 | Наименование секции 14 | строка | Максимальная длина: 48 |
218 | Наименование секции 15 | строка | Максимальная длина: 48 |
219 | Наименование секции 16 | строка | Максимальная длина: 48 |
220 | Номер налога 1 | число | 1 .. 6 |
221 | Номер налога 2 | число | 1 .. 6 |
222 | Номер налога 3 | число | 1 .. 6 |
223 | Номер налога 4 | число | 1 .. 6 |
224 | Номер налога 5 | число | 1 .. 6 |
225 | Номер налога 6 | число | 1 .. 6 |
226 | Номер налога 7 | число | 1 .. 6 |
227 | Номер налога 8 | число | 1 .. 6 |
228 | Номер налога 9 | число | 1 .. 6 |
229 | Номер налога 10 | число | 1 .. 6 |
230 | Номер налога 11 | число | 1 .. 6 |
231 | Номер налога 12 | число | 1 .. 6 |
232 | Номер налога 13 | число | 1 .. 6 |
233 | Номер налога 14 | число | 1 .. 6 |
234 | Номер налога 15 | число | 1 .. 6 |
235 | Номер налога 16 | число | 1 .. 6 |
236 | Скорость ККТ | число | 1200 - 1200 бод 2400 - 2400 бод 4800 - 4800 бод 9600 - 9600 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод 230400 - 230400 бод 460800 - 460800 бод 921600 - 921600 бод |
240 | Наименование способа расчета 2 | строка | Максимальная длина: 48 |
241 | Наименование способа расчета 3 | строка | Максимальная длина: 48 |
242 | Наименование способа расчета 4 | строка | Максимальная длина: 48 |
243 | Наименование способа расчета 5 | строка | Максимальная длина: 48 |
244 | Наименование способа расчета 6 | строка | Максимальная длина: 48 |
245 | Наименование способа расчета 7 | строка | Максимальная длина: 48 |
246 | Наименование способа расчета 8 | строка | Максимальная длина: 48 |
247 | Наименование способа расчета 9 | строка | Максимальная длина: 48 |
248 | Наименование способа расчета 10 | строка | Максимальная длина: 48 |
249 | Номер формы расчета 2 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
250 | Номер формы расчета 3 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
251 | Номер формы расчета 4 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
252 | Номер формы расчета 5 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
253 | Номер формы расчета 6 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
254 | Номер формы расчета 7 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
255 | Номер формы расчета 8 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
256 | Номер формы расчета 9 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
257 | Номер формы расчета 10 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
275 | DNS ОФД | строка | Максимальная длина: 15 |
276 | Канал обмена с ОФД | число | 5 - EthernetOverTransport |
277 | Адрес сайта ФНС | строка | Максимальная длина: 64 |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
280 | Интервал посылок диагностических сообщений, с. | число | 0 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 1 .. 5 |
282 | Интервал опроса ФН при разрывах (в сек.) | число | 5 .. 120 |
287 | Версия ФФД | число | 0 - Автоматически 100 - ФФД 1.0 |
305 | Частота обмена с ФН, кбит/с | число | 50 .. 400 |
306 | Передавать необязательные реквизиты в ОФД | число | 0 - Не передавать 1 - Передавать |
307 | Ожидание инициализации ФН после включения, с. | число | 5 .. 255 |
308 | Ожидание обработки команды в ФН, с. | число | 10 .. 255 |
309 | Размер чека в байтах | число | 0 .. 4294967295 |
310 | Печатать пароль доступа к точке Wi-Fi | число | 0 - Не печатать 1 - Печатать |
311 | Блокировать ККТ при переполнении ЭЖ | число | 0 - Не блокировать 1 - Блокировать работу по протоколу 2 - Блокировать работу с ЛК |
312 | Работа со скидками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
313 | Работа со надбавками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
330 | Шрифт реквизитов в чеке | число | 1 .. 7 |
332 | Печатать реквизит "Наименование ОФД" | число | 0 - Не печатать 1 - Печатать |
333 | Печатать реквизит "Адрес электронной почты отправителя" | число | 0 - Не печатать 1 - Печатать |
334 | Работа с ЭЖ | число | 0 - Отключена 1 - Включена |
345 | Печатать реквизит "ИНН поставщика" | число | 0 - Не печатать 1 - Печатать |
АТОЛ Sigma 7Ф
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
8 | Яркость печати ЧЛ | число | 0 .. 100 |
9 | Открывать ДЯ при закрытии чека | число | 0 - Нет 1 - Да |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
39 | Звуковой сигнал при включении | число | 0 - Нет 1 - Да |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
62 | Не печатать клише автоматически при закрытии чека | число | 0 - Печатать 1 - Не печатать |
65 | Не открывать ДЯ при отсутствии наличного способа расчета в чеке | число | 0 - Открывать 1 - Не открывать |
182 | Имя системного администратора | строка | Максимальная длина: 64 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
184 | Строка клише 1 | строка | Максимальная длина: 256 |
185 | Строка клише 2 | строка | Максимальная длина: 256 |
186 | Строка клише 3 | строка | Максимальная длина: 256 |
187 | Строка клише 4 | строка | Максимальная длина: 256 |
188 | Строка клише 5 | строка | Максимальная длина: 256 |
189 | Строка клише 6 | строка | Максимальная длина: 256 |
190 | Строка клише 7 | строка | Максимальная длина: 256 |
191 | Строка клише 8 | строка | Максимальная длина: 256 |
192 | Строка клише 9 | строка | Максимальная длина: 256 |
193 | Строка клише 10 | строка | Максимальная длина: 256 |
236 | Скорость ККТ | число | 4800 - 4800 бод 9600 - 9600 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
244 | Наименование способа расчета 6 | строка | Максимальная длина: 15 |
245 | Наименование способа расчета 7 | строка | Максимальная длина: 15 |
246 | Наименование способа расчета 8 | строка | Максимальная длина: 15 |
247 | Наименование способа расчета 9 | строка | Максимальная длина: 15 |
248 | Наименование способа расчета 10 | строка | Максимальная длина: 15 |
253 | Номер формы расчета 6 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
254 | Номер формы расчета 7 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
255 | Номер формы расчета 8 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
256 | Номер формы расчета 9 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
257 | Номер формы расчета 10 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
276 | Канал обмена с ОФД | число | 5 - EthernetOverTransport |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 0 .. 5 |
286 | Приоритет качества печати перед скоростью | число | 0 - Нет 1 - Да |
292 | Использовать загружаемые скрипты | число | 0 - Нет 1 - Да |
293 | Скорость обмена с ФН | число | 0 .. 7 |
299 | Регистрировать секции | число | 0 - Нет 1 - Да |
АТОЛ Sigma 8Ф
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
8 | Яркость печати ЧЛ | число | 0 .. 100 |
9 | Открывать ДЯ при закрытии чека | число | 0 - Нет 1 - Да |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
39 | Звуковой сигнал при включении | число | 0 - Нет 1 - Да |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
62 | Не печатать клише автоматически при закрытии чека | число | 0 - Печатать 1 - Не печатать |
65 | Не открывать ДЯ при отсутствии наличного способа расчета в чеке | число | 0 - Открывать 1 - Не открывать |
182 | Имя системного администратора | строка | Максимальная длина: 64 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
184 | Строка клише 1 | строка | Максимальная длина: 256 |
185 | Строка клише 2 | строка | Максимальная длина: 256 |
186 | Строка клише 3 | строка | Максимальная длина: 256 |
187 | Строка клише 4 | строка | Максимальная длина: 256 |
188 | Строка клише 5 | строка | Максимальная длина: 256 |
189 | Строка клише 6 | строка | Максимальная длина: 256 |
190 | Строка клише 7 | строка | Максимальная длина: 256 |
191 | Строка клише 8 | строка | Максимальная длина: 256 |
192 | Строка клише 9 | строка | Максимальная длина: 256 |
193 | Строка клише 10 | строка | Максимальная длина: 256 |
236 | Скорость ККТ | число | 4800 - 4800 бод 9600 - 9600 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
244 | Наименование способа расчета 6 | строка | Максимальная длина: 15 |
245 | Наименование способа расчета 7 | строка | Максимальная длина: 15 |
246 | Наименование способа расчета 8 | строка | Максимальная длина: 15 |
247 | Наименование способа расчета 9 | строка | Максимальная длина: 15 |
248 | Наименование способа расчета 10 | строка | Максимальная длина: 15 |
253 | Номер формы расчета 6 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
254 | Номер формы расчета 7 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
255 | Номер формы расчета 8 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
256 | Номер формы расчета 9 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
257 | Номер формы расчета 10 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
276 | Канал обмена с ОФД | число | 5 - EthernetOverTransport |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 0 .. 5 |
286 | Приоритет качества печати перед скоростью | число | 0 - Нет 1 - Да |
292 | Использовать загружаемые скрипты | число | 0 - Нет 1 - Да |
293 | Скорость обмена с ФН | число | 0 .. 7 |
299 | Регистрировать секции | число | 0 - Нет 1 - Да |
300 | Включить отрезчик | число | 0 - Нет 1 - Да |
322 | Отрезать документы полностью | число | 0 - Нет 1 - Да |
ККТ АТОЛ версий 5.X
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
8 | Яркость печати ЧЛ | число | 0 .. 100 |
9 | Открывать ДЯ при закрытии чека | число | 0 - Нет 1 - Да |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
39 | Звуковой сигнал при включении | число | 0 - Нет 1 - Да |
49 | Получение IP-адреса от DHCP (Ethernet) | число | 0 - Отключено 1 - Включено |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
62 | Не печатать клише автоматически при закрытии чека | число | 0 - Печатать 1 - Не печатать |
65 | Не открывать ДЯ при отсутствии наличного способа расчета в чеке | число | 0 - Открывать 1 - Не открывать |
71 | IP-адрес (Ethernet) | строка | Максимальная длина: 15 |
72 | Маска подсети (Ethernet) | строка | Максимальная длина: 15 |
73 | Шлюз по умолчанию (Ethernet) | строка | Максимальная длина: 15 |
74 | IP-порт (Ethernet) | число | 1 .. 65535 |
182 | Имя системного администратора | строка | Максимальная длина: 64 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
184 | Строка клише 1 | строка | Максимальная длина: 256 |
185 | Строка клише 2 | строка | Максимальная длина: 256 |
186 | Строка клише 3 | строка | Максимальная длина: 256 |
187 | Строка клише 4 | строка | Максимальная длина: 256 |
188 | Строка клише 5 | строка | Максимальная длина: 256 |
189 | Строка клише 6 | строка | Максимальная длина: 256 |
190 | Строка клише 7 | строка | Максимальная длина: 256 |
191 | Строка клише 8 | строка | Максимальная длина: 256 |
192 | Строка клише 9 | строка | Максимальная длина: 256 |
193 | Строка клише 10 | строка | Максимальная длина: 256 |
236 | Скорость ККТ | число | 4800 - 4800 бод 9600 - 9600 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
244 | Наименование способа расчета 6 | строка | Максимальная длина: 15 |
245 | Наименование способа расчета 7 | строка | Максимальная длина: 15 |
246 | Наименование способа расчета 8 | строка | Максимальная длина: 15 |
247 | Наименование способа расчета 9 | строка | Максимальная длина: 15 |
248 | Наименование способа расчета 10 | строка | Максимальная длина: 15 |
253 | Номер формы расчета 6 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
254 | Номер формы расчета 7 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
255 | Номер формы расчета 8 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
256 | Номер формы расчета 9 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
257 | Номер формы расчета 10 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
268 | Режим Wi-Fi | число | 0 - Клиент 1 - Точка доступа |
269 | Имя точки доступа для работы по Wi-Fi | строка | Максимальная длина: 64 |
270 | Пароль доступа к точке доступа | строка | Максимальная длина: 64 |
271 | Номер канала Wi-Fi в режиме точки доступа | число | 1 .. 13 |
272 | Тип шифрования Wi-Fi | число | 0 - Open 1 - WEP 2 - WPA 3 - WPA2 4 - WPA/WPA2 |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
276 | Канал обмена с ОФД | число | 2 - Ethernet 3 - Wi-Fi 4 - GSM-модем 5 - EthernetOverTransport |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 0 .. 5 |
283 | Получение адреса DNS | число | 0 - Автоматически 1 - Вручную |
284 | Адрес DNS | строка | Максимальная длина: 15 |
285 | Ширина бумаги | число | 0 - По умолчанию 1 - 80мм 2 - 57мм |
286 | Приоритет качества печати перед скоростью | число | 0 - Нет 1 - Да |
292 | Использовать загружаемые скрипты | число | 0 - Нет 1 - Да |
293 | Скорость обмена с ФН | число | 0 .. 7 |
294 | Использовать RS232 | число | 0 - Нет 1 - Да |
295 | Ожидание получения сетевых настроек по Ethernet, с. (0 - деактивация) | число | 0 .. 255 |
296 | Ожидание подключения по Wi-Fi, с. (0 - деактивация) | число | 0 .. 255 |
297 | Ожидание подключения по GSM, с. (0 - деактивация) | число | 0 .. 255 |
298 | Ожидание подключения по Bluetooth, с. (0 - деактивация) | число | 0 .. 255 |
299 | Регистрировать секции | число | 0 - Нет 1 - Да |
300 | Включить отрезчик | число | 0 - Нет 1 - Да |
322 | Отрезать документы полностью | число | 0 - Нет 1 - Да |
325 | Получение IP-адреса от DHCP (Wi-Fi) | число | 0 - Отключено 1 - Включено |
326 | IP-адрес (Wi-Fi) | строка | Максимальная длина: 15 |
327 | Маска подсети (Wi-Fi) | строка | Максимальная длина: 15 |
328 | Шлюз по умолчанию (Wi-Fi) | строка | Максимальная длина: 15 |
329 | IP-порт (Wi-Fi) | число | 1 .. 65535 |
331 | Сопряжение по Bluetooth | число | 0 - Запрещено 1 - Разрешено |
Казначей ФА
Номер | Описание | Тип | Возможные значения |
---|---|---|---|
0 | Номер ККТ в магазине | число | 0 .. 255 |
2 | Печатать названия секций | число | 0 - Не печатать 1 - Печатать |
3 | Печатать необнуляемую сумму приходов и расходов | число | 0 - Не печатать 1 - Печатать |
4 | Производить инкассацию | число | 0 - Нет 1 - Да |
5 | Расширенный X-отчет и Z-отчет | число | 0 - Нет 1 - Да |
6 | Печатать информацию о количестве чеков за смену по типам операций | число | 0 - Не печатать 1 - Печатать |
7 | Автоматически печатать отчет по секциям перед X- и Z-отчетом | число | 0 - Не печатать 1 - Печатать |
8 | Яркость печати ЧЛ | число | 1 .. 15 |
11 | Пароль доступа | строка | Максимальная длина: 4 |
12 | Межстрочный интервал ЧЛ (в пикселях) | число | 0 .. 15 |
13 | Шрифт ЧЛ | число | 1 .. 7 |
14 | Количество печатаемых строк после чека на ЧЛ | число | 0 .. 20 |
15 | Печатать разделители в суточных отчетах | число | 0 - Не печатать 1 - Печатать |
16 | Печатать номер секции | число | 0 - Не печатать 1 - Печатать |
17 | Печатать необнуляемый итог на начало смены в Z-отчете | число | 0 - Не печатать 1 - Печатать |
18 | Печатать необнуляемый итог на начало смены в X-отчете | число | 0 - Не печатать 1 - Печатать |
19 | Печатать текст командой «Печать строки» | число | 0 - Не печатать 1 - Печатать |
20 | Режим перехода на летнее/зимнее время | число | 0 - Не переходить 1 - Переходить, не оповещать 2 - Переходить, оповещать кассира 3 - Переходить, оповещать кассира и хост |
21 | Дата перехода на летнее время | число | |
22 | Дата перехода на зимнее время | число | |
23 | Количество символов в строке | число | 24 .. 57 |
24 | Символ для разделителя | строка | Максимальная длина: 1 |
25 | Проверять время | число | 0 .. 99 |
26 | Смещение области печати слева | число | 0 .. 24 |
27 | Печатать налоги в Х- и Z-отчете и при регистрации | число | 0 - Не печатать 1 - Печатать |
28 | Минимальная яркость термокомпенсации на ЧЛ | число | 1 .. 15 |
29 | Печатать на ЧЛ документ готовности к работе | число | 0 - Не печатать 1 - Печатать |
30 | Печатать на ЧЛ клише в служебных сообщениях | число | 0 - Не печатать 1 - Печатать |
31 | Печатать на ЧЛ сообщение о вводе даты-времени | число | 0 - Не печатать 1 - Печатать |
32 | Протокол работы ККТ | число | 0 - АТОЛ 2 1 - АТОЛ 3 |
33 | PIN-код для Bluetooth | строка | Максимальная длина: 8 |
34 | Уровень коррекции ошибок QR-кода | число | 1 .. 4 |
35 | Количество строк заголовка клише | число | 0 - 0 1 - 1 2 - 2 3 - 3 4 - 4 5 - 5 6 - 6 7 - 7 8 - 8 9 - 9 10 - 10 11 - 11 12 - 12 13 - 13 14 - 14 15 - 15 16 - 16 17 - 17 18 - 18 19 - 19 20 - 20 99 - Старый формат печати |
36 | Расстояние от ТПГ до отрывного ножа | число | 0 .. 255 |
37 | Звуковой сигнал при ошибке | число | 0 - Нет 1 - Да |
40 | Сохранять печатаемый документ в память | число | 0 - Не сохранять 1 - Сохранять только отчеты 2 - Сохранять все |
41 | Печатать нулевые налоги | число | 0 - Не печатать 1 - Печатать |
42 | Печать необнуляемой суммы возвратов приходов | число | 0 - Не печатать 1 - Печатать |
43 | Печать необнуляемой суммы возвратов расходов | число | 0 - Не печатать 1 - Печатать |
44 | Печатать количество отмененных чеков по типам | число | 0 - Не печатать 1 - Печатать |
45 | Не печатать блоки «приходы», «возвраты приходов», «расходы», «возвраты расходов» | число | 0 - Печатать 1 - Не печатать |
46 | Печатать нулевые суммы | число | 0 - Не печатать 1 - Печатать |
47 | Печать номера ККМ в магазине | число | 0 - Не печатать 1 - Печатать |
48 | Печать реквизитов чека на аннулированных чеках | число | 0 - Не печатать 1 - Печатать |
49 | Получение IP-адреса от DHCP (Ethernet) | число | 0 - Отключено 1 - Включено |
50 | Система налогообложения по умолчанию | число | 0 - Не выбрана 1 - Традиционная СНО 2 - Упрощенная СНО (Доход) 4 - Упрощенная СНО (Доход минус Расход) 8 - Единый налог на вмененный доход 16 - Единый сельскохозяйственный налог 32 - Патентная система налогообложения |
51 | Шаблон чека | число | 1 - Шаблон 1 2 - Шаблон 2 |
52 | Признак способа расчета по умолчанию | число | 1 - Предоплата 100% 2 - Предоплата 3 - Аванс 4 - Полный расчет 5 - Частичный расчет и кредит 6 - Передача в кредит 7 - Оплата кредита |
53 | Округлять сумму налога | число | 0 - На весь чек 1 - После каждой позиции |
54 | Контроль суммы налогов 10% и 18% (20%) | число | 0 - Отключен 1 - Включен |
55 | Пересчитывать суммы налогов после скидки на итог | число | 0 - Нет 1 - Да |
56 | Учет наличности | число | 0 - Отключен 1 - Включен |
57 | Печатать признак способа расчета | число | 0 - Не печатать 1 - Печатать |
58 | Печатать признак предмета расчета | число | 0 - Не печатать 1 - Печатать полное наименование 2 - Печатать краткое наименование |
59 | Не печатать суточный отчет с гашением при закрытии смены | число | 0 - Печатать 1 - Не печатать |
60 | Печатать необнуляемые суммы по способам расчета прихода и возврата прихода | число | 0 - Не печатать 1 - Печатать |
61 | Печатать необнуляемые суммы по способам расчета расхода и возврата расхода | число | 0 - Не печатать 1 - Печатать |
62 | Не печатать клише автоматически при закрытии чека | число | 0 - Печатать 1 - Не печатать |
63 | Признак предмета расчета по умолчанию | число | 1 - Товар 2 - Подакцизный товар 3 - Работа 4 - Услуга 5 - Ставка азартной игры 6 - Выигрыш азартной игры 7 - Лотерейный билет 8 - Выигрыш лотереи 9 - Предоставление РИД 10 - Платеж 11 - Агентское вознаграждение 12 - Составной предмет расчета 13 - Иной предмет расчета 14 - Имущественное право 15 - Внереализационный доход 16 - Страховые взносы 17 - Торговый сбор 18 - Курортный сбор 19 - Залог |
66 | Отрезать чек после завершения документа | число | 0 - Не отрезать 1 - Не полностью 2 - Полностью |
67 | Запретить отрезку чеков | число | 0 - Нет 1 - Да |
68 | Запретить отрезку отчетов | число | 0 - Нет 1 - Да |
69 | Отрезать ЧЛ после печати клише командой «Печать клише» | число | 0 - Нет 1 - Да |
71 | IP-адрес (Ethernet) | строка | Максимальная длина: 15 |
72 | Маска подсети (Ethernet) | строка | Максимальная длина: 15 |
73 | Шлюз по умолчанию (Ethernet) | строка | Максимальная длина: 15 |
74 | IP-порт (Ethernet) | число | 1 .. 65535 |
75 | Расстояние от ножа отрезчика до гребенки | число | 0 .. 255 |
76 | Выключение / перезагрузка ККТ | число | 0 - Отключением кабеля USB 1 - По команде |
94 | Пароль кассира 1 | строка | Максимальная длина: 8 |
95 | Пароль кассира 2 | строка | Максимальная длина: 8 |
96 | Пароль кассира 3 | строка | Максимальная длина: 8 |
97 | Пароль кассира 4 | строка | Максимальная длина: 8 |
98 | Пароль кассира 5 | строка | Максимальная длина: 8 |
99 | Пароль кассира 6 | строка | Максимальная длина: 8 |
100 | Пароль кассира 7 | строка | Максимальная длина: 8 |
101 | Пароль кассира 8 | строка | Максимальная длина: 8 |
102 | Пароль кассира 9 | строка | Максимальная длина: 8 |
103 | Пароль кассира 10 | строка | Максимальная длина: 8 |
104 | Пароль кассира 11 | строка | Максимальная длина: 8 |
105 | Пароль кассира 12 | строка | Максимальная длина: 8 |
106 | Пароль кассира 13 | строка | Максимальная длина: 8 |
107 | Пароль кассира 14 | строка | Максимальная длина: 8 |
108 | Пароль кассира 15 | строка | Максимальная длина: 8 |
109 | Пароль кассира 16 | строка | Максимальная длина: 8 |
110 | Пароль кассира 17 | строка | Максимальная длина: 8 |
111 | Пароль кассира 18 | строка | Максимальная длина: 8 |
112 | Пароль кассира 19 | строка | Максимальная длина: 8 |
113 | Пароль кассира 20 | строка | Максимальная длина: 8 |
114 | Пароль кассира 21 | строка | Максимальная длина: 8 |
115 | Пароль кассира 22 | строка | Максимальная длина: 8 |
116 | Пароль кассира 23 | строка | Максимальная длина: 8 |
117 | Пароль кассира 24 | строка | Максимальная длина: 8 |
118 | Пароль кассира 25 | строка | Максимальная длина: 8 |
119 | Пароль кассира 26 | строка | Максимальная длина: 8 |
120 | Пароль кассира 27 | строка | Максимальная длина: 8 |
121 | Пароль кассира 28 | строка | Максимальная длина: 8 |
122 | Имя кассира 1 | строка | Максимальная длина: 57 |
123 | Имя кассира 2 | строка | Максимальная длина: 57 |
124 | Имя кассира 3 | строка | Максимальная длина: 57 |
125 | Имя кассира 4 | строка | Максимальная длина: 57 |
126 | Имя кассира 5 | строка | Максимальная длина: 57 |
127 | Имя кассира 6 | строка | Максимальная длина: 57 |
128 | Имя кассира 7 | строка | Максимальная длина: 57 |
129 | Имя кассира 8 | строка | Максимальная длина: 57 |
130 | Имя кассира 9 | строка | Максимальная длина: 57 |
131 | Имя кассира 10 | строка | Максимальная длина: 57 |
132 | Имя кассира 11 | строка | Максимальная длина: 57 |
133 | Имя кассира 12 | строка | Максимальная длина: 57 |
134 | Имя кассира 13 | строка | Максимальная длина: 57 |
135 | Имя кассира 14 | строка | Максимальная длина: 57 |
136 | Имя кассира 15 | строка | Максимальная длина: 57 |
137 | Имя кассира 16 | строка | Максимальная длина: 57 |
138 | Имя кассира 17 | строка | Максимальная длина: 57 |
139 | Имя кассира 18 | строка | Максимальная длина: 57 |
140 | Имя кассира 19 | строка | Максимальная длина: 57 |
141 | Имя кассира 20 | строка | Максимальная длина: 57 |
142 | Имя кассира 21 | строка | Максимальная длина: 57 |
143 | Имя кассира 22 | строка | Максимальная длина: 57 |
144 | Имя кассира 23 | строка | Максимальная длина: 57 |
145 | Имя кассира 24 | строка | Максимальная длина: 57 |
146 | Имя кассира 25 | строка | Максимальная длина: 57 |
147 | Имя кассира 26 | строка | Максимальная длина: 57 |
148 | Имя кассира 27 | строка | Максимальная длина: 57 |
149 | Имя кассира 28 | строка | Максимальная длина: 57 |
150 | ИНН кассира 1 | строка | Максимальная длина: 12 |
151 | ИНН кассира 2 | строка | Максимальная длина: 12 |
152 | ИНН кассира 3 | строка | Максимальная длина: 12 |
153 | ИНН кассира 4 | строка | Максимальная длина: 12 |
154 | ИНН кассира 5 | строка | Максимальная длина: 12 |
155 | ИНН кассира 6 | строка | Максимальная длина: 12 |
156 | ИНН кассира 7 | строка | Максимальная длина: 12 |
157 | ИНН кассира 8 | строка | Максимальная длина: 12 |
158 | ИНН кассира 9 | строка | Максимальная длина: 12 |
159 | ИНН кассира 10 | строка | Максимальная длина: 12 |
160 | ИНН кассира 11 | строка | Максимальная длина: 12 |
161 | ИНН кассира 12 | строка | Максимальная длина: 12 |
162 | ИНН кассира 13 | строка | Максимальная длина: 12 |
163 | ИНН кассира 14 | строка | Максимальная длина: 12 |
164 | ИНН кассира 15 | строка | Максимальная длина: 12 |
165 | ИНН кассира 16 | строка | Максимальная длина: 12 |
166 | ИНН кассира 17 | строка | Максимальная длина: 12 |
167 | ИНН кассира 18 | строка | Максимальная длина: 12 |
168 | ИНН кассира 19 | строка | Максимальная длина: 12 |
169 | ИНН кассира 20 | строка | Максимальная длина: 12 |
170 | ИНН кассира 21 | строка | Максимальная длина: 12 |
171 | ИНН кассира 22 | строка | Максимальная длина: 12 |
172 | ИНН кассира 23 | строка | Максимальная длина: 12 |
173 | ИНН кассира 24 | строка | Максимальная длина: 12 |
174 | ИНН кассира 25 | строка | Максимальная длина: 12 |
175 | ИНН кассира 26 | строка | Максимальная длина: 12 |
176 | ИНН кассира 27 | строка | Максимальная длина: 12 |
177 | ИНН кассира 28 | строка | Максимальная длина: 12 |
178 | Пароль администратора | строка | Максимальная длина: 8 |
179 | Имя администратора | строка | Максимальная длина: 57 |
180 | ИНН администратора | строка | Максимальная длина: 12 |
181 | Пароль системного администратора | строка | Максимальная длина: 8 |
182 | Имя системного администратора | строка | Максимальная длина: 57 |
183 | ИНН системного администратора | строка | Максимальная длина: 12 |
184 | Строка клише 1 | строка | Максимальная длина: 57 |
185 | Строка клише 2 | строка | Максимальная длина: 57 |
186 | Строка клише 3 | строка | Максимальная длина: 57 |
187 | Строка клише 4 | строка | Максимальная длина: 57 |
188 | Строка клише 5 | строка | Максимальная длина: 57 |
189 | Строка клише 6 | строка | Максимальная длина: 57 |
190 | Строка клише 7 | строка | Максимальная длина: 57 |
191 | Строка клише 8 | строка | Максимальная длина: 57 |
192 | Строка клише 9 | строка | Максимальная длина: 57 |
193 | Строка клише 10 | строка | Максимальная длина: 57 |
194 | Строка клише 11 | строка | Максимальная длина: 57 |
195 | Строка клише 12 | строка | Максимальная длина: 57 |
196 | Строка клише 13 | строка | Максимальная длина: 57 |
197 | Строка клише 14 | строка | Максимальная длина: 57 |
198 | Строка клише 15 | строка | Максимальная длина: 57 |
199 | Строка клише 16 | строка | Максимальная длина: 57 |
200 | Строка клише 17 | строка | Максимальная длина: 57 |
201 | Строка клише 18 | строка | Максимальная длина: 57 |
202 | Строка клише 19 | строка | Максимальная длина: 57 |
203 | Строка клише 20 | строка | Максимальная длина: 57 |
204 | Наименование секции 1 | строка | Максимальная длина: 57 |
205 | Наименование секции 2 | строка | Максимальная длина: 57 |
206 | Наименование секции 3 | строка | Максимальная длина: 57 |
207 | Наименование секции 4 | строка | Максимальная длина: 57 |
208 | Наименование секции 5 | строка | Максимальная длина: 57 |
209 | Наименование секции 6 | строка | Максимальная длина: 57 |
210 | Наименование секции 7 | строка | Максимальная длина: 57 |
211 | Наименование секции 8 | строка | Максимальная длина: 57 |
212 | Наименование секции 9 | строка | Максимальная длина: 57 |
213 | Наименование секции 10 | строка | Максимальная длина: 57 |
214 | Наименование секции 11 | строка | Максимальная длина: 57 |
215 | Наименование секции 12 | строка | Максимальная длина: 57 |
216 | Наименование секции 13 | строка | Максимальная длина: 57 |
217 | Наименование секции 14 | строка | Максимальная длина: 57 |
218 | Наименование секции 15 | строка | Максимальная длина: 57 |
219 | Наименование секции 16 | строка | Максимальная длина: 57 |
236 | Скорость ККТ | число | 1200 - 1200 бод 2400 - 2400 бод 4800 - 4800 бод 9600 - 9600 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
238 | Скорость подключенного устройства | число | 1200 - 1200 бод 2400 - 2400 бод 4800 - 4800 бод 9600 - 9600 бод 14400 - 14400 бод 19200 - 19200 бод 38400 - 38400 бод 57600 - 57600 бод 115200 - 115200 бод |
239 | Канал обмена с ККТ | число | 0 - RS-232 4 - USB 6 - Ethernet 7 - Wi-Fi |
240 | Наименование способа расчета 2 | строка | Максимальная длина: 57 |
241 | Наименование способа расчета 3 | строка | Максимальная длина: 57 |
242 | Наименование способа расчета 4 | строка | Максимальная длина: 57 |
243 | Наименование способа расчета 5 | строка | Максимальная длина: 57 |
244 | Наименование способа расчета 6 | строка | Максимальная длина: 57 |
245 | Наименование способа расчета 7 | строка | Максимальная длина: 57 |
246 | Наименование способа расчета 8 | строка | Максимальная длина: 57 |
247 | Наименование способа расчета 9 | строка | Максимальная длина: 57 |
248 | Наименование способа расчета 10 | строка | Максимальная длина: 57 |
249 | Номер формы расчета 2 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
250 | Номер формы расчета 3 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
251 | Номер формы расчета 4 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
252 | Номер формы расчета 5 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
253 | Номер формы расчета 6 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
254 | Номер формы расчета 7 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
255 | Номер формы расчета 8 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
256 | Номер формы расчета 9 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
257 | Номер формы расчета 10 | число | 2 - Безналичными 3 - Предварительная оплата (аванс) 4 - Последующая оплата (кредит) 5 - Иная форма оплаты (встречное предоставление) |
265 | Конфигурационная строка | строка | Максимальная длина: 32 |
266 | Имя пользователя | строка | Максимальная длина: 32 |
267 | Пароль | строка | Максимальная длина: 32 |
268 | Режим Wi-Fi | число | 0 - Клиент 1 - Точка доступа |
269 | Имя точки доступа для работы по Wi-Fi | строка | Максимальная длина: 32 |
270 | Пароль доступа к точке доступа | строка | Максимальная длина: 32 |
271 | Номер канала Wi-Fi в режиме точки доступа | число | 0 .. 13 |
272 | Тип шифрования Wi-Fi | число | 0 - Open 1 - WEP 2 - WPA 3 - WPA2 4 - WPA/WPA2 |
273 | Адрес ОФД | строка | Максимальная длина: 64 |
274 | Порт ОФД | число | 1 .. 65535 |
275 | DNS ОФД | строка | Максимальная длина: 15 |
276 | Канал обмена с ОФД | число | 1 - USB (EoU) 2 - Ethernet 3 - Wi-Fi 4 - GSM-модем 5 - EthernetOverTransport |
277 | Адрес сайта ФНС | строка | Максимальная длина: 64 |
278 | Адрес сервера диагностики | строка | Максимальная длина: 64 |
279 | IP-порт сервера диагностики | число | 1 .. 65535 |
280 | Интервал посылок диагностических сообщений, с. | число | 0 .. 65535 |
281 | Интервал ожидания квитанции ОФД (в мин.) | число | 1 .. 5 |
282 | Интервал опроса ФН при разрывах (в сек.) | число | 5 .. 120 |
287 | Версия ФФД | число | 0 - Автоматически 100 - ФФД 1.0 |
305 | Частота обмена с ФН, кбит/с | число | 50 .. 400 |
306 | Передавать необязательные реквизиты в ОФД | число | 0 - Не передавать 1 - Передавать |
307 | Ожидание инициализации ФН после включения, с. | число | 5 .. 255 |
308 | Ожидание обработки команды в ФН, с. | число | 10 .. 255 |
309 | Размер чека в байтах | число | 0 .. 4294967295 |
310 | Печатать пароль доступа к точке Wi-Fi | число | 0 - Не печатать 1 - Печатать |
311 | Блокировать ККТ при переполнении ЭЖ | число | 0 - Не блокировать 1 - Блокировать работу по протоколу 2 - Блокировать работу с ЛК |
312 | Работа со скидками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
313 | Работа со надбавками | число | 0 - Запрещены 1 - Разрешены на весь чек 2 - Разрешены на позицию 3 - Разрешены все |
325 | Получение IP-адреса от DHCP (Wi-Fi) | число | 0 - Отключено 1 - Включено |
326 | IP-адрес (Wi-Fi) | строка | Максимальная длина: 15 |
327 | Маска подсети (Wi-Fi) | строка | Максимальная длина: 15 |
328 | Шлюз по умолчанию (Wi-Fi) | строка | Максимальная длина: 15 |
330 | Шрифт реквизитов в чеке | число | 1 .. 7 |
331 | Сопряжение по Bluetooth | число | 0 - Запрещено 1 - Разрешено |
332 | Печатать реквизит "Наименование ОФД" | число | 0 - Не печатать 1 - Печатать |
333 | Печатать реквизит "Адрес электронной почты отправителя" | число | 0 - Не печатать 1 - Печатать |
334 | Работа с ЭЖ | число | 0 - Отключена 1 - Включена |
335 | Автоматически печатать копию Z-отчета после печати Z-отчета | число | 0 - Не печатать 1 - Печатать |
336 | Выдвигать чек | число | 0 - Нет 10 - На 10 мм 20 - На 20 мм 30 - На 40 мм |
337 | Действия с чеком после отрезки | число | 0 - Проглотить 1 - Выдвинуть на заданное расстояние 2 - Выбросить из принтера |
338 | Действия с предыдущим чеком, если его не забрали | число | 0 - Проглотить 1 - Выбросить |
339 | Чек делает петлю | число | 0 - Нет 1 - Да |
340 | Обнулять счетчик чеков при закрытии смены | число | 0 - Нет 1 - Да |
341 | Перенос строк при печати | число | 0 - Печатать на разных строках 1 - Переносить, если не умещается 2 - Обрезать, если не умещается |
342 | Таймаут на выключение периферии | число | 0 .. 99 |
343 | Модель подключенного принтера | число | 1 - АТОЛ 2 - VKP80 3 - PPU700 4 - CT2000 5 - TG2480 6 - EPSON 7 - MEMORY 8 - VKP80SX 9 - SNBC BT-T080R; 10 - SNBC BK-T680 11 - SNBC BT-UR056 |
344 | Выдвигать суточные отчеты | число | 0 - Нет 1 - Да |
345 | Печатать реквизит "ИНН поставщика" | число | 0 - Не печатать 1 - Печатать |
Android Service
Пример задания
{
"type": "closeShift",
"operator": {
"name": "Иванов",
"vatin": "123654789507"
}
}
Пример ответа
{
"result": {
"error": 0,
"description": "Ошибок нет"
},
"data": {
"fiscalParams" : {
"fiscalDocumentDateTime" : "2017.07.25 13:12:00",
"fiscalDocumentNumber" : 69,
"fiscalDocumentSign" : "1138986989",
"fnNumber" : "9999078900000961",
"registrationNumber" : "0000000001002292",
"shiftNumber" : 11,
"receiptsCount" : 3,
"fnsUrl": "www.nalog.ru"
},
"warnings": {}
}
}
Пример ошибки выполнения
{
"result": {
"error": 73,
"description": "Смена закрыта - операция невозможна"
},
"data": {}
}
Данный сервис позволяет не интегрировать в свое приложение драйвер ККТ, а пользоваться механизмами Android для обмена с ККТ.
Поддерживаются следующие способы обмена с сервисом:
- Intent
- AIDL-сервис
В обоих случая передаваемые и принимаемые данные выглядят одинаково. В передаваемых данных содержится JSON-задание. В ответе на задание содержатся два поля:
- result, в которое записывается ошибка выполнения, если она была
- data, в которое записывается результат операции в случае успешного выполнения (описание результатов приведено в описании каждого JSON-задания)
Использование через Intent
Формирование Intent
Intent intent = new Intent();
intent.setAction("ru.atol.drivers10.service.PROCESS_TASK");
intent.putExtra("PARAM_REQUEST", "{\n" +
" \"type\": \"closeShift\",\n" +
" \"operator\": {\n" +
" \"name\": \"Иванов\",\n" +
" \"vatin\": \"123654789507\"\n" +
" }\n" +
"}");
startActivityForResult(intent, 1);
Для отправки задания в ККТ нужно сформировать Intent и в параметр PARAM_REQUEST записать JSON с заданием.
Прием ответа
@Override
protected void onActivityResult(int requestCode, int resultCode, final Intent data) {
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this,
data.getStringExtra("PARAM_RESULT"),
Toast.LENGTH_LONG).show();
}
});
}
Для приема ответа нужно из данных результата считать параметр PARAM_RESULT.
Использование через AIDL-сервис
Пример вызова сервиса
private IFptrService fptrServiceBinder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = new Intent();
intent.setAction("ru.atol.drivers10.service.SERVICE");
intent.setPackage("ru.atol.drivers10.service");
bindService(intent, serviceConnection, BIND_AUTO_CREATE);
}
private final ServiceConnection serviceConnection = new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
fptrServiceBinder = null;
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
fptrServiceBinder = IFptrService.Stub.asInterface(service);
try {
String result = fptrServiceBinder.processJson("{\n" +
" \"type\": \"closeShift\",\n" +
" \"operator\": {\n" +
" \"name\": \"Иванов\",\n" +
" \"vatin\": \"123654789507\"\n" +
" }\n" +
"}");
Toast.makeText(MainActivity.this,
result,
Toast.LENGTH_LONG).show();
} catch (RemoteException e) {
e.printStackTrace();
}
}
};
Работа с подобными сервисами на Android описана в руководствах Google. Нужно добавить в каталог src/main/aidl/ru/atol/drivers10/service проекта файл с описанием интерфейса сервиса (IFptrService.aidl) и подключиться к сервису через bindService(). Для выполнения JSON-заданий используется метод IFptrService.processJson().
Получение версий
Версия сервиса
private IFptrService fptrServiceBinder;
Log.d("AtolDriver", String.format("Версия \"АТОЛ. Драйвер ККТ\" - %s", fptrServiceBinder.getServiceVersion()));
Версия драйвера
private IFptrService fptrServiceBinder;
Log.d("AtolDriver", String.format("Версия драйвера ККТ - %s", fptrServiceBinder.getDriverVersion()));
Метод getServiceVersion() возвращает версию приложения АТОЛ. Драйвер ККТ.
Метод getDriverVersion() возвращает версию используемого приложением драйвера ККТ.
Оповещения о событиях
BroadcastReceiver
public class DriverEventsReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, intent.getAction(), Toast.LENGTH_LONG).show();
}
}
DriverEventsReceiver receiver = new DriverEventsReceiver();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("ru.atol.drivers10.service.EVENT_SHIFT_OPENED");
intentFilter.addAction("ru.atol.drivers10.service.EVENT_SHIFT_CLOSED");
registerReceiver(receiver, intentFilter);
Сервис оповещает о событиях, происходящих с ККТ, с помощью Broadcast Intent.
На данный момент поддерживаются следующие типы событий:
Intent Action | Описание | Дополнительные параметры |
---|---|---|
ru.atol.drivers10.service.EVENT_SHIFT_OPENED | Смена была открыта. Сервис отслеживает JSON-запросы, проходящие через него, и следит за тем, как они меняют состояние смены. | Нет |
ru.atol.drivers10.service.EVENT_SHIFT_CLOSED | Смена была закрыта. Сервис отслеживает JSON-запросы, проходящие через него, и следит за тем, как они меняют состояние смены. | Нет |
Логирование
Логи приложения хранятся в каталоге /storage/emulated/0/Android/data/ru.atol.drivers10.service/files.
Настройка
Если в главном окне приложения выключить настройку Активировать драйвер, то сервис не будет подключаться к ККТ
Для настройки связи с ККТ нужно зайти в главное окно приложения и нажать на Настройки связи с ККТ.
Для настройки параметров ККТ нужно зайти в главное окно приложения и нажать на Параметры ККТ.
Web-сервер
Web-сервер предназначен для обеспечения доступа к функциям ККТ одному и более Web-клиенту. Он поддерживает весь набор заданий, представленных в разделе JSON-задания и позволяет их группировать. Весь обмен ведется в кодировке UTF-8. Web-сервер хранит задания и их результаты в базе данных в течении месяца.
Для работы Web-сервера требуется установленная Java версии 1.8 и выше.
Алгоритм работы
Для добавления задания в очередь на выполнения необходимо отправить его POST-запросом на адрес http://hostname:16732/requests, указав его уникальный идентификатор. В ответ сервер вернет код результата в виде HTTP-статуса.
Для того, чтобы узнать результат задания, необходимо отправить GET-запрос на адрес
http://hostname:16732/requests/
Для отмены задания, которое еще не начало обрабатываться, необходимо отправить DELETE-запрос на адрес
http://hostname:16732/requests/
Запись задания
Общая структура задания
{
"uuid": "<uuid>",
"request": [
json1,
json2,
...
]
}
Пример задания
{
"uuid": "dcb697cc-3f2a-11e8-9113-0f05fcc9d7aa",
"request": [
{
"type": "closeShift",
"operator": {
"name": "Иванов",
"vatin": "123654789507"
}
},
{
"type": "ofdExchangeStatus"
}
]
}
Тело задания состоит из двух обязательных полей:
- uuid - уникальный идентификатор запроса, сгенерированный пользователем. Рекомендуется использовать формат UUID
- request - одно и более JSON-заданий из раздела JSON-задания, объединенные в массив. В случае, если задание одно, записывать его в массив необязательно.
HTTP запрос
POST http://<hostname>:16732/requests
Заголовки
Для корректной работы требуется передача следующих заголовков:
Content-Type: application/json
Возвращаемые ошибки
В случае успешного добавления задания в очередь сервер вернет статус 201 (Created).
Также могут вернуться следующие ошибки:
- 400 (Bad Request) - ошибка формата запроса (обязательные поля не найдены, больше одной фискальной операции в задании, не удалось разобрать json)
- 409 (Conflict) - задание с таким uuid уже есть в БД
Получение результата задания
Общая структура результата задания
{
"results": [
{
"errorCode": <код ошибки>,
"errorDescription": <текст ошибки>,
"status": <состояние подзадачи>,
"result": <результат подзадачи>
},
...
]
}
Пример результата задания
{
"results": [
{
"status": "ready",
"errorCode": 0,
"errorDescription": "Ошибок нет",
"result": {
"fiscalParams": {
"fiscalDocumentDateTime" : "2018-03-25T13:12:00+03:00",
"fiscalDocumentNumber" : 69,
"fiscalDocumentSign" : "1138986989",
"fnNumber" : "9999078900000961",
"registrationNumber" : "0000000001002292",
"shiftNumber" : 11,
"receiptsCount" : 3,
"fnsUrl": "www.nalog.ru"
},
"warnings": {
"notPrinted": false
}
}
},
{
"status": "ready",
"errorCode": 0,
"errorDescription": "Ошибок нет",
"result" {
"status" : {
"notSentCount" : 69,
"notSentFirstDocDateTime" : "2018-03-24T13:52:00+03:00",
"notSentFirstDocNumber" : 1
}
}
}
]
}
В ответ на запрос результата задания возвращается массив результатов каждого подзадания. Каждый результат включает в себя поля:
status - состояние подзадания. Может принимать значения:
- ready - подзадание выполнено
- error - подзадание завершено с ошибкой
- wait - подзадание ожидает выполнения
- inProgress - подзадание в процессе выполнения
- interrupted - подзадание не выполнялось, т.к. одно из подзаданий ранее завершилось с ошибкой
- blocked - результат подзадания неизвестен, очередь заданий остановлена
- canceled - задание, в состав которого входит подзадание, отменено пользователем
errorCode - код ошибки из списка кодов ошибок
errorDescription - текст ошибки
result - результат подзадания (результаты описаны в разделе JSON-задания)
HTTP запрос
GET http://<hostname>:16732/requests/<uuid>
Возвращаемые ошибки
В случае успешного чтения результата сервер вернет статус 200 (OK) и JSON с результатом.
Также могут вернуться следующие ошибки:
- 404 (Not Found) - задание с заданным uuid не найдено
Обработка статусов
Если все подзадачи имеют статус ready, значит, они все выполнены без ошибок.
Если одна или несколько из подзадач имеют статус wait, значит, задание еще не начинало выполняться или выполняется в данный момент.
Если одна из подзадач имеет статус error, то все подзадачи после неё (в рамках задания) будут иметь статус interrupted и выполняться не будут. Пользователь может устранить проблему, вызвавшую ошибку выполнения подзадания, и провести его еще раз, вместе со всеми прерванными подзаданиями. Для этого нужно составить новое задание.
Статус blocked означает, что результат фискальной операции неизвестен (например, потеряна связь с ККТ). Все подзадачи после текущей (в рамках задания) будут иметь статус interrupted и выполняться не будут. Web-сервер входит в состояние восстановления работоспособности и не будет выполнять другие задания до тех пор, пока не узнает результат последней операции. Поля errorCode и errorDescription будут заполнены, т.е. на них можно ориентироваться при устранении неисправности. Как только Web-сервер узнает у ККТ состояние этой операции, он обновит состояние соответствующего задания на error или ready и выполнение остальных задач продолжится.
Отмена задания
HTTP запрос
DELETE http://<hostname>:16732/requests/<uuid>
Возвращаемые ошибки
В случае успешного чтения результата сервер вернет статус 200 (OK) и JSON с результатом.
Также могут вернуться следующие ошибки:
- 404 (Not Found) - задание с заданным uuid не найдено
- 405 (Method Not Allowed) - задание с заданным uuid нельзя отменить (уже выполнено или выполняется)
Запрос состояния очереди задач
Пример результата запроса
{
"ready_count": 12,
"not_ready_count": 5,
"canceled_count": 3,
"is_blocked": false,
"block_request_uuid": ""
}
Данный запрос позволяет узнать текущее состояние очереди задач.
В ответ на запрос возвращаются следующие данные:
- ready_count - количество завершенных заданий
- not_ready_count - количество незавершенных заданий
- canceled_count - количество отмененных заданий
- is_blocked - флаг блокировки очереди заданий
- block_request_uuid - uuid задания, вызвавшего блокировку
HTTP запрос
GET http://<hostname>:16732/stat/requests
Настройка
Страница настройки располагается по адресу http://<hostname>:16732/settings
.
Информация о сервере
Информацию о Web-сервере можно узнать на странице http://<hostname>:16732/about
.
На данный момент там располагается следующая информация:
- версия Web-сервера
- версия используемого драйвера ККТ
Логирование
Расположение логов Web-сервера зависит от ОС.
На Linux логи сервера располагаются в /var/log/AtolFptrWebServer, а логи используемого им экземпляра драйвера - в /root/.atol/drivers10.
На Windows логи сервера располагаются в %PROGRAMDATA%\ATOL\drivers10\web\logs. Логи драйвера располагаются в C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming\ATOL\drivers10 или C:\Windows\System32\config\systemprofile\AppData\Roaming\ATOL\drivers10 (в зависимости от архитектур драйвера и ОС).