NAV Navbar
C/C++ Python Java Android (Java) Objective-C

Общая информация

Драйвер контрольно-кассовой техники v.10 (дККТ10) - интеграционный компонент, предоставляющий удобный API (программный интерфейс) для работы с контрольно-кассовой техникой (ККТ) для самых популярных программных и аппаратных платформ и языков программирования. В их числе операционные системы Linux, Windows, Android и iOS, архитектуры i386, amd64 и arm.

За счет того, что драйвер разработан на языках C/С++ и имеет C-API, его подключение к любым официально неподдерживаемым языкам программирования осуществляется очень просто.

Для интеграции, помимо драйвера ККТ, можно использовать основанные на нем приложения:

Настройки логирования

Состав файла 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

При первом запуске драйвер создает файл с настройками логирования в рабочем каталоге драйвера:

Для логирования используется библиотека log4cpp, описание файла настроек можно прочитать на ее сайте (http://log4cpp.sourceforge.net/). Здесь будет приведено короткое описание настройки, а также список тегов (категорий логов), по которым драйвер производит логирование.

С помощью log4cpp, драйвер позволяет логировать информацию следующим образом:

Для каждой категории можно настроить подробность логирования. На данный момент поддерживаются следующие:

В случае с категориями 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/C++, нужно добавить в зависимости к нему библиотеку fptr10.dll (libfptr10.so) соответствующей архитектуры и подключить заголовочный файл libfptr10.h.

Для использования драйвера из python-проекта, необходимо подключить модуль libfptr10.py. Модуль может сам обнаружить установленный через инсталлятор драйвер.

Для подключения драйвера к Java-проекту необходимо подключить библиотеку libfptr10.jar, а также обеспечить нахождение нативных компонентов (libfptr10.so / fptr10.dll и их зависимостей) в java.library.path. Библиотека может сама обнаружить установленный через инсталлятор драйвер.

Для подключения драйвера к Android-проекту необходимо импортировать в проект библиотеку libfptr10.aar. В данной библиотеке (Android Archive, AAR) содержатся нативные библиотеки под все аппаратные платформы Android, а также набор Activity для настройки драйвера.

Для подключения драйвера к iOS-проекту необходимо добавить в проект фреймворк fptr10.framework и использовать заголовочный файл libfptr10_objc.h.

Инициализация драйвера

Инициализация драйвера

  #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];

В начале работы необходимо инициализировать рабочий экземпляр драйвера.

Все дальнейшие операции производятся именно над этим экземпляром.

Деинициализация драйвера

Деинициализация драйвера

  libfptr_destroy(&fptr);
  del fptr
  fptr.destroy();
  fptr.destroy();
  [fptr release];

Когда работа с ККТ более не требуется, можно уничтожить рабочий экземпляр. При этом автоматически разорвется соединение с ККТ. После выполнения метода дальнейшая работа с данным экземпляром драйвера невозможна.

Настройка драйвера

Настройка драйвера, способ первый

  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];

Настройка драйвера, способ второй

  libfptr_set_single_setting(LIBFPTR_SETTING_MODEL, std::to_wstring(LIBFPTR_MODEL_ATOL_AUTO).c_str());
  libfptr_set_single_setting(LIBFPTR_SETTING_PORT, std::to_wstring(LIBFPTR_PORT_COM).c_str());
  libfptr_set_single_setting(LIBFPTR_SETTING_COM_FILE, L"COM5");
  libfptr_set_single_setting(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];

Настройка через вызов окна настройки

  // Не поддерживается
  # Не поддерживается
  // Не поддерживается
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));
    }
  }
}
  // Не поддерживается

Для того, чтобы начать работу с ККТ, требуется настроить соединение с устройством. Есть несколько способов передать в драйвер настройки.

Первый способ - передача всех настроек в виде json. Способ удобен тем, что настройки в таком виде можно запросить у драйвера, сохранить, и при следующей работе с ККТ передать их в драйвер заново как есть. При передаче настроек драйвер разорвет связь с ККТ, если она установлена, изменит настройки и подключится заново.

Второй способ - передача настроек по одной с их применением в конце. Результат будет идентичен первому способу.

Выгрузка настроек

Выгрузка настроек, способ первый

std::vector<wchar_t> settings(1024);
int size = libfptr_get_settings(fptr, &settings[0], settings.size());
if (size > settings.length())
{
    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];

Выгрузка настроек, способ второй (на примере получения 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.length())
{
    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.length())
{
    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];

Выгрузить настройки также можно двумя способами.

Первый позволяет получить все настройки разом в виде json.

Используя второй способ, можно получить отдельно значение каждой настройки.

Список настроек

Все настройки можно поделить на две категории.

К первой относятся общие настройки драйвера, которые отвечают непосредственно за его поведение.

Это следующие настройки:

Ко второй относятся настройки связи с ККТ.

Методы и параметры драйвера

Установка целочисленного параметра

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];

Установка дробного параметра

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];

Установка логического параметра

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];

Установка строкового параметра

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:@"Товар"];

Установка параметра дата / время

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]];

Установка массива байтов

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)]];

Получение целочисленного параметра

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];

Получение дробного параметра

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 lineLength = [fptr getParamDouble:LIBFPTR_PARAM_SUM];

Получение логического параметра

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];

Получение строкового параметра

std::vector<wchar_t> unitVersion(64);
int size = libfptr_get_param_str(fptr, LIBFPTR_PARAM_UNIT_VERSION, 
                                 &answerStr[0], unitVersion.size());
if (size > unitVersion.length())
{
    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];

Получение параметра дата / время

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];

Получение массива байтов

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];

Работа с ККТ производится с помощью методов и их параметров.

Каждый метод, в зависимости от своих параметров, выполняет определенные операции с устройством. Параметры бывают входные и выходные. Входные параметры влияют на выполняемую операцию, а выходные - это её результат.

Список входных параметров очищается сразу после выполнения метода. Список выходных - перед выполнением следующего.

Параметры бывают следующих типов:

Описания параметров представлены в описании каждого метода.

Обработка ошибок

Вызов метода

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.length())
    {
        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]);
}

Каждый метод драйвера возвращает индикатор результата выполнения. Этот индикатор может принимать значения 0 и -1.

В случае, если индикатор не равен 0, выполнение метода завершилось с ошибкой и есть возможность получить подробности о ней. Для этого у драйвера можно запросить код последней ошибки (метод errorCode()) и её текстовое описание (метод errorDescription()).

Список кодов ошибок приведен в приложении Список кодов ошибок.

Соединение с ККТ

Установка соединения с ККТ

libfptr_open(fptr);
fptr.open()
fptr.open();
fptr.open();
[fptr open];

Проверка состояния логического соединения

bool isOpened = (libfptr_is_opened(fptr) != 0);
isOpened = fptr.isOpened()
boolean isOpened = fptr.isOpened();
boolean isOpened = fptr.isOpened();
bool isOpened = [fptr isOpened];

Завершение соединения с ККТ

libfptr_close(fptr);
fptr.close()
fptr.close();
fptr.close();
[fptr close];

После настройки рабочего экземпляра можно подключиться к ККТ. Для этого требуется вызвать метод 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 shiftState         = 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.length())
{
    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.length())
{
    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.length())
{
    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)
shiftState      = 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 shiftState      = 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 shiftState      = 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 shiftState      = [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];

Для запроса общей информации и статуса необходимо вызвать метод 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_PARAM_RECEIPT_TYPE):

Возможные значения для номера модели (LIBFPTR_PARAM_MODEL) представлены в разделе Список настроек.

Сумма наличных в денежном ящике

Запрос суммы наличных в денежном ящике

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];

Для запроса суммы наличности в денежном ящике необходимо вызвать метод 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.length())
{
    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];

Запрос версии конфигурации

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.length())
{
    str.resize(size);
    libfptr_get_param_str(fptr, LIBFPTR_PARAM_UNIT_VERSION, &str[0], str.size());
}
std::wstring configurationVersion = 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)
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);
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);
[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];

Запрос версии движка шаблонов

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.length())
{
    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];

Запрос версии блока управления

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.length())
{
    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];

Запрос версии загрузчика

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.length())
{
    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];

Для запроса версии модуля необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_UNIT_VERSION и указать один из модулей в параметре LIBFPTR_PARAM_UNIT_TYPE:

Результатом этого запроса будет следующая информация:

Параметр Описание Тип
LIBFPTR_PARAM_UNIT_VERSION Версия модуля string

Параметры изображения в памяти

Запрос параметров изображения в памяти ККТ

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];

Для запроса параметров изображения из памяти ККТ необходимо вызвать метод 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];

Для запроса состояни кода защиты необходимо вызвать метод 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];

Запрос количества регистраций в чеках расхода (покупки)

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 sum = [fptr getParamDouble:LIBFPTR_PARAM_COUNT];

Для запроса суммы регистраций необходимо вызвать метод 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_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];

Для запроса суммы платежей необходимо вызвать метод 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_PARAM_PAYMENT_TYPE) может принимать следующие значения:

Счетчики внесений и выплат

Запрос суммы внесений

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];

Запрос суммы выплат

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];

Запрос количества внесений

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];

Запрос количества выплат

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];

Для запроса суммы внесений или выплат необходимо вызвать метод 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];

Для запроса суммы выручки необходимо вызвать метод 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];

Для запроса текущих даты и времени в ККТ необходимо вызвать метод 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];

Для запроса состояния смены необходимо вызвать метод 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_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];

Для запроса состояния чека необходимо вызвать метод 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_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.length())
{
    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];

Для запроса заводского номера ККТ необходимо вызвать метод 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.length())
{
    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.length())
{
    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 charLineLength = [fptr getParamInt:LIBFPTR_PARAM_MODEL];
NSString *charLineLength = [fptr getParamString:LIBFPTR_PARAM_MODEL_NAME];
NSString *pixLineLength = [fptr getParamString:LIBFPTR_PARAM_UNIT_VERSION];

Для запроса информации о модели ККТ необходимо вызвать метод 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];

Для запроса ширины чековой ленты необходимо вызвать метод 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];

Запрос сбрасываемого ресурса отрезчика

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];

Для запроса ресурса отрезчика необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_CUTTER_RESOURCE и указать тип счетчика LIBFPTR_PARAM_COUNTER_TYPE.

Тип счетчика (LIBFPTR_PARAM_COUNTER_TYPE) может принимать следующие значения:

Результатом этого запроса будет следующая информация:

Параметр Описание Тип
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];

Запрос постоянного ресурса ШД для шагов вперед

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];

Запрос сбрасываемого ресурса ШД для всех шагов

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];

Запрос сбрасываемого ресурса ШД для шагов вперед

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];

Для запроса ресурса шагового двигателя необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_STEP_RESOURCE и указать тип счетчика LIBFPTR_PARAM_COUNTER_TYPE и тип счетчика шагов LIBFPTR_PARAM_STEP_COUNTER_TYPE.

Тип счетчика (LIBFPTR_PARAM_COUNTER_TYPE) может принимать следующие значения:

Тип счетчика шагов (LIBFPTR_PARAM_STEP_COUNTER_TYPE) может принимать следующие значения:

Результатом этого запроса будет следующая информация:

Параметр Описание Тип
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];

Запрос сбрасываемого ресурса ТПГ

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];

Для запроса ресурса ТПГ необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_TERMAL_RESOURCE и указать тип счетчика LIBFPTR_PARAM_COUNTER_TYPE.

Тип счетчика (LIBFPTR_PARAM_COUNTER_TYPE) может принимать следующие значения:

Результатом этого запроса будет следующая информация:

Параметр Описание Тип
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];

Для запроса суммы налога за смену необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_SHIFT_TAX_SUM и указать тип чека LIBFPTR_PARAM_RECEIPT_TYPE и тип налога LIBFPTR_PARAM_TAX_TYPE.

Тип чека (LIBFPTR_PARAM_RECEIPT_TYPE) может принимать следующие значения:

Тип налога (LIBFPTR_PARAM_TAX_TYPE) может принимать следующие значения:

Результатом этого запроса будет следующая информация:

Параметр Описание Тип
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];

Для запроса суммы налога за чек необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_RECEIPT_TAX_SUM и указать тип налога LIBFPTR_PARAM_TAX_TYPE.

Тип налога (LIBFPTR_PARAM_TAX_TYPE) может принимать следующие значения:

Результатом этого запроса будет следующая информация:

Параметр Описание Тип
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];

Запрос необнуляемой суммы по чекам прихода по оплатам наличными

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];

Для запроса необнуляемой суммы необходимо вызвать метод 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_PARAM_PAYMENT_TYPE) может принимать следующие значения:

Результатом этого запроса будет следующая информация:

Параметр Описание Тип
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];

Для запроса количества чеков необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_RECEIPT_COUNT и указать тип чека LIBFPTR_PARAM_RECEIPT_TYPE.

Тип чека (LIBFPTR_PARAM_RECEIPT_TYPE) может принимать следующие значения:

Результатом этого запроса будет следующая информация:

Параметр Описание Тип
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];

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

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];

Для запроса количества отмененных чеков с заданным типом необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_CANCELLATION_COUNT и указать тип чека LIBFPTR_PARAM_RECEIPT_TYPE.

Тип чека (LIBFPTR_PARAM_RECEIPT_TYPE) может принимать следующие значения:

Для запроса общего количества отмененных чеков необходимо вызвать метод 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];

Запрос общей суммы отмененных чеков

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];

Для запроса суммы отмененных чеков с заданным типом необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_CANCELLATION_SUM и указать тип чека LIBFPTR_PARAM_RECEIPT_TYPE.

Тип чека (LIBFPTR_PARAM_RECEIPT_TYPE) может принимать следующие значения:

Для запроса общей суммы отмененных чеков необходимо вызвать метод 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];

Для запроса состояния источника питания необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_POWER_SOURCE_STATE и указать тип источника LIBFPTR_PARAM_POWER_SOURCE_TYPE.

Тип источника (LIBFPTR_PARAM_POWER_SOURCE_TYPE) может принимать следующие значения:

Результатом этого запроса будет следующая информация:

Параметр Описание Тип
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];

Для запроса температуры ТПГ необходимо вызвать метод 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];

Для запроса фатальных ошибок необходимо вызвать метод 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.length())
{
    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 *uptime = [fptr getParamString: LIBFPTR_PARAM_MAC_ADDRESS];

Для запроса 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);

int 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];

Для запроса времени работы ККТ необходимо вызвать метод 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];

Для сумм скидок и надбавок за смену необходимо вызвать метод 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.length())
{
    str.resize(size);
    libfptr_get_param_str(fptr, LIBFPTR_PARAM_LK_USER_CODE, &str[0], str.size());
}
std::wstring mac = std::wstring(&str[0]);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_LK_USER_CODE)
fptr.queryData()

mac = fptr.getParamString(IFptr.LIBFPTR_PARAM_LK_USER_CODE)
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_LK_USER_CODE);
fptr.queryData();

String mac = fptr.getParamString(IFptr.LIBFPTR_PARAM_LK_USER_CODE);
fptr.setParam(IFptr.LIBFPTR_PARAM_DATA_TYPE, IFptr.LIBFPTR_DT_LK_USER_CODE);
fptr.queryData();

String mac = fptr.getParamString(IFptr.LIBFPTR_PARAM_LK_USER_CODE);
[fptr setParam:LIBFPTR_PARAM_DATA_TYPE, intParam:LIBFPTR_DT_LK_USER_CODE];
[fptr queryData];

NSString *uptime = [fptr getParamString: LIBFPTR_PARAM_LK_USER_CODE];

Для запроса кода привязки ККТ к ЛК необходимо вызвать метод 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];

Для запроса даты и времени последнего успешного обмена с ОФД необходимо вызвать метод queryData() с типом запроса LIBFPTR_PARAM_DATA_TYPE равным LIBFPTR_DT_LAST_SENT_OFD_DOCUMENT_DATE_TIME.

Результатом этого запроса будет следующая информация:

Параметр Описание Тип
LIBFPTR_PARAM_DATE_TIME Дата и время последнего успешного обмена с ОФД datetime

Регистрация кассира

Регистрация кассира

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];

Для регистрации кассира необходимо вызвать метод 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];
// ...

Для открытия смены необходимо вызвать метод 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];
// ...

Для закрытия смены требуется вызвать метод report() с типом отчета LIBFPTR_PARAM_REPORT_TYPE равным LIBFPTR_RT_CLOSE_SHIFT Автоматически может напечататься так же и Z-отчет.

Операции с чеком

Открыть чек

Открытие печатного чека

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 queryData];

[fptr setParam:LIBFPTR_PARAM_RECEIPT_TYPE, intParam:LIBFPTR_RT_SELL];
[fptr openReceipt]

Открытие электронного чека

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]

Открытие чека коррекции прихода

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, 1174, 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];

Для открытия чека требуется вызвать метод openReceipt() с указанием типа чека (параметр LIBFPTR_PARAM_RECEIPT_TYPE).

Тип чека (LIBFPTR_PARAM_RECEIPT_TYPE) может принимать следующие значения:

Чтобы чек не печатался (электронный чек), нужно установить параметру LIBFPTR_PARAM_RECEIPT_ELECTRONICALLY значение true и передать реквизит 1008 (электронный адрес или телефон получателя).

Также в данном методе можно передать следующие реквизиты (для всех чеков, кроме чеков коррекции):

Реквизит Описание Тип
1008 Электронный адрес / телефон получателя string
1117 Электронный адрес отправителя чека string
1055 Применяемая система налогообложения (СНО) int
1187 Место расчета string
1060 Адрес сайта ФНС string
1057 Признак агента int
1044 Операция платежного агента string
1073 Телефон платежного агента (может повторяться несколько раз) string
1005 Адрес оператора перевода string
1016 ИНН оператора перевода string
1026 Наименование оператора перевода string
1075 Телефон оператора перевода (может повторяться несколько раз) string
1074 Телефон оператора по приему платежей (может повторяться несколько раз) string
1084 Дополнительный реквизит пользователя bytearray
1192 Дополнительный реквизит чека (БСО) string

Реквизит 1084 составной и состоит из следующих реквизитов:

Реквизит Описание Тип
1085 Наименование дополнительного реквизита пользователя string
1086 Значение дополнительного реквизита пользователя string

Реквизит 1055 может принимать следующие значения:

Реквизит 1057 может принимать следующие значения:

Для чеков коррекций допустимы следующие реквизиты:

Реквизит Описание Тип
1055 Применяемая система налогообложения int
1173 Тип коррекции int
1174 Основание для коррекции bytearray

Реквизит 1174 составной и состоит из следующих реквизитов:

Реквизит Описание Тип
1177 Наименование основания для коррекции string
1178 Дата документа основания коррекции datetime
1179 Номер документа основания коррекции string

Отменить чек

Отмена чека

libfptr_cancel_receipt(fptr);
fptr.cancelReceipt()
fptr.cancelReceipt();
fptr.cancelReceipt();
[fptr cancelReceipt]

Для отмены чека требуется вызвать метод 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]

Регистрация позиции с указанием суммы налога

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]

Регистрация позиции без расчета суммы налога

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, 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, 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, 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 registration]

Регистрация позиции с агентом и поставщиком

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]

Для регистрации позиции требуется вызвать метод registration().

Обязательными входными параметрами для метода являются:

Тип налога (LIBFPTR_PARAM_TAX_TYPE) может принимать следующие значения:

При передаче только этих параметров будет произведена регистрация товара с расчетом полной суммы позиции и суммы налога на стороне ККТ.

Ниже представлен список дополнительных параметров позиции (могут не поддерживаться в ККТ - в этом случае будет выдана ошибка):

Также в данном методе можно передать следущие реквизиты ФН:

Реквизит Описание Тип
1162 Код товарной номенклатуры bytearray
1222 Признак агента по предмету расчета int
1223 Данные агента bytearray
1224 Данные поставщика bytearray
1226 ИНН поставщика string
1197 Единицы измерения предмета расчета string
1212 Признак предмета расчета int
1214 Признак способа расчета int

Реквизит 1222 может принимать следующие значения:

Реквизит 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]

Для регистрации оплаты чека требуется вызвать метод payment(), передав тип оплаты в параметре LIBFPTR_PARAM_PAYMENT_TYPE и сумму оплаты в параметре LIBFPTR_PARAM_PAYMENT_SUM.

Тип оплаты (LIBFPTR_PARAM_PAYMENT_TYPE) может принимать следующие значения:

Результатом этого запроса будет следующая информация:

Параметр Описание Тип
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]

Для регистрации налога на чек требуется вызвать метод receiptTax(), передав тип налога в параметре LIBFPTR_PARAM_TAX_TYPE и сумму налога в параметре LIBFPTR_PARAM_TAX_SUM.

Тип налога (LIBFPTR_PARAM_TAX_TYPE) может принимать следующие значения:

Зарегистрировать итог

Регистрация итога чека

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]

Для регистрации итога чека требуется вызвать метод 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, LIBFPTR_PT_ELECTRONICALLY)
fptr.closeReceipt()
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_TYPE, LIBFPTR_PT_ELECTRONICALLY);
fptr.closeReceipt();
fptr.setParam(IFptr.LIBFPTR_PARAM_PAYMENT_TYPE, LIBFPTR_PT_ELECTRONICALLY);
fptr.closeReceipt();
[fptr setParam:LIBFPTR_PARAM_PAYMENT_TYPE, intParam:LIBFPTR_PT_ELECTRONICALLY];
[fptr closeReceipt]

Закрытие полностью оплаченного чека

libfptr_close_receipt(fptr);
fptr.closeReceipt()
fptr.closeReceipt();
fptr.closeReceipt();
[fptr closeReceipt]

Для закрытия чека требуется вызвать метод 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.length()) {
        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;
    }
}

В ряде ситуаций (окончание бумаги, потеря связи с ККТ в момент регистрации документа) состояние документа остается неизвестным. Он может закрыться в ФН (что является необратимой операцией), но не напечататься на чековой ленте. Данный метод сверяет счетчики ККТ с сохраненными до закрытия документа копиями и вычисляет, закрылся ли он, а также проверяет состояние печати документа. Объект драйвера не должен разрушаться, создаваться заново и перенастраиваться между вызовами методов закрытия / формирования документа и checkDocumentClosed() для корректной работы метода.

Метод применим для: - чеков; - отчетов закрытия и открытия смены; - отчетов регистрации, перерегистрации ККТ, закрытия архива ФН; - отчета о состоянии расчетов.

Результатом этого запроса будет следующая информация:

Параметр Описание Тип
LIBFPTR_PARAM_DOCUMENT_CLOSED Документ закрылся bool
LIBFPTR_PARAM_DOCUMENT_PRINTED Документ допечатался bool

Допечатать документ

Допечатывание документа

libfptr_continue_print(fptr);
fptr.continuePrint()
fptr.continuePrint();
fptr.continuePrint();
[fptr continuePrint];

Для допечатывания фискального документа требуется вызвать метод 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];

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

Выплата

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];

Для регистрации выплаты требуется вызвать метод cashOutcome() и указать сумму выплаты в параметре LIBFPTR_PARAM_SUM.

Печать отчетов

Для печати отчета необходим заполнить тип отчета (параметр 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];

Для печати 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];

Для печати копии последнего документа требуется вызвать метод 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];

Для печати отчета о состоянии расчетов требуется вызвать метод 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];

Для демо-печати требуется вызвать метод 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];

Для печати информации о ККТ требуется вызвать метод 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];

Для печати лиагностики соединения с ОФД требуется вызвать метод 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];

Для печати документа из архива фискальног накопителя требуется вызвать метод 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];

Для печати отчета количеств требуется вызвать метод 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];

Для печати отчета по секциям требуется вызвать метод 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];

Для печати отчета по кассирам требуется вызвать метод 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];

Для печати отчета по часам требуется вызвать метод 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];

Для печати итогов регистрации/перерегистрации требуется вызвать метод 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];

Для печати счетчиков итогов смены требуется вызвать метод 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];

Для печати счетчиков итогов ФН требуется вызвать метод 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];

Для печати счетчиков по непереданным документам требуется вызвать метод 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];

Для печати отчета по товарам по СНО требуется вызвать метод 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];

Для печати отчета по товарам по отделам требуется вызвать метод 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];

Для печати отчета по товарам по суммам требуется вызвать метод 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];

Для начала формирования служебного отчета требуется вызвать метод 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.length())
{
    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]

Для запроса одного из реквизитов регистрации требуется вызвать метод 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.length()) {
        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];

Результатом этого запроса будет следующая информация:

Параметр Описание Тип
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 (системы налогообложения) - битовое поле, значениями которого являются одно или несколько из следующих значений:

Значение реквизита 1057 (признак агента) - битовое поле, значениями которого являются одно или несколько из следующих значений:

Реквизит 1209 (версия ФФД) может принимать следующие значения:

Статус информационного обмена

Запрос статуса информационного обмена

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];

Для запроса cтатуса информационного обмена с ОФД необходимо вызвать метод fnQueryData() с типом запроса LIBFPTR_PARAM_FN_DATA_TYPE равным LIBFPTR_FNDT_OFD_EXCHANGE_STATUS.

Результатом этого запроса будет следующая информация:

Параметр Описание Тип
LIBFPTR_PARAM_OFD_EXCHANGE_STATUS Статус информационного обмена int
Битовое поле:
  • бит 0 - транспортное соединение установлено
  • бит 1 – есть сообщение для передачи в ОФД
  • бит 2 – ожидание ответного сообщения (квитанции) от ОФД
  • бит 3 – есть команда от ОФД
  • бит 4 – изменились настройки соединения с ОФД
  • бит 5 – ожидание ответа на команду от ОФД
LIBFPTR_PARAM_DOCUMENTS_COUNT Количество неотправленных документов int
LIBFPTR_PARAM_DOCUMENT_NUMBER Номер первого неотправленного документа int
LIBFPTR_PARAM_DATE_TIME Дата и время первого неотправленного документа int
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.length())
{
    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.length())
{
    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 fnNeedReplacement   = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_FN_NEED_REPLACEMENT) != 0);
int fnExhausted         = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_FN_RESOURCE_EXHAUSTED) != 0);
int fnMemoryOverflow    = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_FN_MEMORY_OVERFLOW) != 0);
int fnOfdTimeout        = (libfptr_get_param_bool(fptr, LIBFPTR_PARAM_FN_OFD_TIMEOUT) != 0);
int 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)

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);

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);

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];

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];

Для запроса информации и статуса ФН необходимо вызвать метод 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_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_PARAM_FN_STATE) может принимать следующие значения:

Информация о последней регистрации / перерегистрации

Запрос информации о последней регистрации / перерегистрации

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];

Для запроса информации о последней регистрации / перерегистрации необходимо вызвать метод 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.length())
{
    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];

Для запроса информации о последнем чеке в ФН необходимо вызвать метод 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_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.length())
{
    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];

Для запроса информации о последнем чеке в ФН необходимо вызвать метод 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];

Для запроса информации о смене в ФН необходимо вызвать метод 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];

Для запроса количества фискальных документов за смену необходимо вызвать метод 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];

Для запроса информации о версиях ФФД необходимо вызвать метод 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_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];

Для запроса срока действия ФН необходимо вызвать метод 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.length())
{
    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.length())
{
    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.length())
{
    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];

Для запроса ошибок обмена с ОФД необходимо вызвать метод 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];

Для запроса квитанции ОФД необходимо вызвать метод 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 documentNumber  = libfptr_get_param_int(fptr, LIBFPTR_PARAM_DOCUMENT_NUMBER);
bool hasOfdTicket   = (libfptr_get_param_bool(fptr, LIBFPT**R_PARAM_HAS_OF**D_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.length())
{
    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()

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)
ofdFiscalSign       = 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 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 ofdFiscalSign     = 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 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 ofdFiscalSign     = 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 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 *ofdFiscalSign     = [fptr getParamString:LIBFPTR_PARAM_FISCAL_SIGN];

Для запроса информациио фискальном документе необходимо вызвать метод fnQueryData() с типом запроса LIBFPTR_PARAM_FN_DATA_TYPE равным LIBFPTR_FNDT_DOCUMENT_BY_NUMBER и указать номер документа в параметре LIBFPTR_PARAM_DOCUMENT_NUMBER.

Результатом этого запроса будет следующая информация:

Параметр Описание Тип
LIBFPTR_PARAM_DATE_TIME Дата и время документа datetime
LIBFPTR_PARAM_DOCUMENT_NUMBER Номер ФД int
LIBFPTR_PARAM_HAS_OFD_TICKET Флаг наличия подтверждения ОФД bool
LIBFPTR_PARAM_FISCAL_SIGN Фискальный признак string

Регистрация ККТ

Регистрация ККТ

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];

Для регистрации ККТ необходимо вызвать метод 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 (системы налогообложения) - битовое поле, значениями которого являются одно или несколько из следующих значений:

Значение реквизита 1057 (признак агента) - битовое поле, значениями которого являются одно или несколько из следующих значений:

Реквизит 1209 (версия ФФД) может принимать следующие значения:

Перерегистрация ККТ

Для перерегистрации ККТ необходимо вызвать метод fnOperation() с типом операции LIBFPTR_PARAM_FN_OPERATION_TYPE равным LIBFPTR_FNOP_CHANGE_PARAMETERS. Список параметров перерегистрации приведен в разделе Регистрация ККТ.

В случае работы по ФФД 1.0 и 1.05 требуется указать причину перерегистрации в реквизите 1101, который может принимать следующие значения:

Замена ФН

Для регистрации замены ФН необходимо вызвать метод fnOperation() с типом операции LIBFPTR_PARAM_FN_OPERATION_TYPE равным LIBFPTR_FNOP_CHANGE_FN. Список параметров перерегистрации приведен в разделе Регистрация ККТ.

Закрытие архива ФН

Закрытие архива ФН

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];

Для закрытия архива ФН необходимо вызвать метод fnOperation() с типом операции LIBFPTR_PARAM_FN_OPERATION_TYPE равным LIBFPTR_FNOP_CLOSE_ARCHIVE.

Нефискальная печать

Печать клише

Печать клише

libfptr_print_cliche(fptr);
fptr.printCliche()
fptr.printCliche();
fptr.printCliche();
[fptr printCliche];

Для печати запрограммированного в ККТ клише необходимо вызвать метод printCliche().

Клише автоматически печатается при закрытии всех документов (и фискальных, и нефискальных).

Открытие нефискального документа

Открытие нефискального документа

libfptr_begin_nonfiscal_document(fptr);
fptr.beginNonfiscalDocument()
fptr.beginNonfiscalDocument();
fptr.beginNonfiscalDocument();
[fptr beginNonfiscalDocument];

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

Закрытие нефискального документа

Закрытие нефискального документа

libfptr_end_nonfiscal_document(fptr);
fptr.endNonfiscalDocument()
fptr.endNonfiscalDocument();
fptr.endNonfiscalDocument();
[fptr endNonfiscalDocument];

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

Печать текста

Печать строки

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];

Печать строки с выравниванием по центру

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];

Печать строки с форматированием

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];

Промотка чековой ленты на одну строку (пустую)

libfptr_print_text(fptr);
fptr.printText()
fptr.printText();
fptr.printText();
[fptr printText];

Для печати строки необходимо вызвать метод 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_ALIGNMENT может принимать следующие значения:

Перенос 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];

Для печати штрихкода необходимо вызвать метод printBarcode() и задать следующие обязательные параметры:

Параметр Описание Тип
LIBFPTR_PARAM_BARCODE Данные штрихкода string
LIBFPTR_PARAM_BARCODE_TYPE Тип штрихкода int

Тип штрихкода LIBFPTR_PARAM_BARCODE_TYPE может принимать следующие значения:

По умолчанию штрихкод печатается по центру без увеличения.

Также можно изменить параметры печати штрихкода с помощью следующих параметров:

Параметр Описание Тип
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_PARAM_BARCODE_CORRECTION может принимать следующие значения:

Печать картинки

Печать картинки

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, "С:\\picture.png");
fptr.printPicture();
[fptr setParam:LIBFPTR_PARAM_FILENAME, NSStringParam:@"С:\\picture.png"];
[fptr printPicture];

Для печати картинки необходимо вызвать метод printPicture() и задать путь к файлу картинки в параметре LIBFPTR_PARAM_FILENAME. Поддерживаются картинки в форматах bmp и png без прозрачности.

Дополнительно можно передать следующие параметры печати:

Параметр Описание Тип
LIBFPTR_PARAM_ALIGNMENT Выравнивание картинки int
LIBFPTR_PARAM_SCALE_PERCENT Масштаб, в процентах int
LIBFPTR_PARAM_LEFT_MARGIN Дополнительный отступ слева int

Выравнивание LIBFPTR_PARAM_ALIGNMENT может принимать следующие значения:

Печать картинки из памяти

Печать картинки из памяти

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];

Для печати картинки из памяти ККТ необходимо вызвать метод printPictureByNumber() и задать номер картинки в параметре LIBFPTR_PARAM_PICTURE_NUMBER.

Дополнительно можно передать следующие параметры печати:

Параметр Описание Тип
LIBFPTR_PARAM_ALIGNMENT Выравнивание картинки int
LIBFPTR_PARAM_LEFT_MARGIN Дополнительный отступ слева int

Выравнивание LIBFPTR_PARAM_ALIGNMENT может принимать следующие значения:

Служебные операции

Выключение ККТ

Выключение ККТ

libfptr_device_poweroff(fptr);
fptr.devicePoweroff()
fptr.devicePoweroff();
fptr.devicePoweroff();
[fptr devicePoweroff];

Для выключения ККТ необходимо вызвать метод devicePoweroff().

Перезагрузка ККТ

Перезагрузка ККТ

libfptr_device_reboot(fptr);
fptr.deviceReboot()
fptr.deviceReboot();
fptr.deviceReboot();
[fptr deviceReboot];

Для перезагрузки ККТ необходимо вызвать метод deviceReboot().

Общее гашение

Общее гашение

libfptr_reset_summary(fptr);
fptr.resetSummary()
fptr.resetSummary();
fptr.resetSummary();
[fptr resetSummary];

Для выполнения общего гашения необходимо вызвать метод 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];

Для выполнения начальной инициализации необходимо вызвать метод 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];

Для выполнения технологического обнуления необходимо вызвать метод 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];

Для ввода даты и времени необходимо вызвать метод 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];

Для записи лицензии (кода защиты) в ККТ необходимо вызвать метод 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];

Для выполнения произвольной команды ККТ необходимо вызвать метод 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];

Для отрезки чековой ленты необходимо вызвать метод cut(). Дополнительно можно указать тип отрезки в параметре LIBFPTR_PARAM_CUT_TYPE. Если параметр не указан, драйвер сам определит способ отрезки.

Выравнивание LIBFPTR_PARAM_CUT_TYPE может принимать следующие значения:

Звуковой сигнал

Звуковой сигнал

libfptr_beep(fptr);
fptr.beep()
fptr.beep();
fptr.beep();
[fptr beep];

Для подачи звукового сигнала необходимо вызвать метод beep().

Дополнительно можно передать следующие параметры для настройки звукового сигнала:

Параметр Описание Тип
LIBFPTR_PARAM_FREQUENCY Частота, Гц. int
LIBFPTR_PARAM_DURATION Длительность, мс. int

Открытие ДЯ

Открытие денежного ящика

libfptr_open_drawer(fptr);
fptr.openDrawer()
fptr.openDrawer();
fptr.openDrawer();
[fptr openDrawer];

Для открытия денежного ящика, подключенного к ККТ, необходимо вызвать метод 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];

Для формирования составного реквизита ФН необходимо вызвать метод 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.length())
{
    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(LIBFPTR_PARAM_MAPPING_VALUE)
fptr.setParam(IFptr.LIBFPTR_PARAM_MAPPING_KEY, IFptr.LIBFPTR_SETTING_MODEL);
fptr.utilMapping();

String models = fptr.getParamString(LIBFPTR_PARAM_MAPPING_VALUE);
fptr.setParam(IFptr.LIBFPTR_PARAM_MAPPING_KEY, IFptr.LIBFPTR_SETTING_MODEL);
fptr.utilMapping();

String models = fptr.getParamString(LIBFPTR_PARAM_MAPPING_VALUE);
[fptr setParam:LIBFPTR_PARAM_MAPPING_KEY, NSStringParam:LIBFPTR_SETTING_MODEL];
[fptr utilMapping];

NSString *models = [fptr getParamString:LIBFPTR_PARAM_MAPPING_VALUE];

Значением параметра LIBFPTR_PARAM_MAPPING_VALUE является Json следующего вида:

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

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

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

Запись в лог

Запись в лог произвольного сообщения

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, @"Мое отладочное сообщение"];

Для записи сообщения в лог драйвера необходимо вызвать метод logWrite() и указать в параметрах:

Уровень сообщения может принимать следующие значения:

Программирование ККТ

Инициализация системных таблиц

Инициализация системных таблиц

libfptr_init_settings(fptr);
fptr.initSettings()
fptr.initSettings();
fptr.initSettings();
[fptr initSettings];

Для инициализации таблиц ККТ необходимо вызвать метод 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];

Запись числовой настройки (на примере порта ОФД)

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];

Для записи настройки в ККТ необходимо вызвать метод 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.length())
{
    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];

Чтение числовой настройки (на примере порта ОФД)

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];

Для чтения настройки из ККТ необходимо вызвать метод readDeviceSetting(), указав номер настройки в параметре LIBFPTR_PARAM_SETTING_ID

Сохранение настроек

Сохранение настроек в память ККТ

libfptr_commit_settings(fptr);
fptr.commitSettings()
fptr.commitSettings();
fptr.commitSettings();
[fptr commitSettings];

Для сохранения параметров в постоянную память ККТ необходимо вызвать метод 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, "С:\\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:@"С:\\picture.png"];
[fptr setParam:LIBFPTR_PARAM_SCALE_PERCENT, doubleParam:50.0];
[fptr uploadPictureFromFile];

uint pictureNumber = [fptr getParamInt:LIBFPTR_PARAM_PICTURE_NUMBER];

Для записи картинки в память ККТ необходимо вызвать метод uploadPictureFromFile(), указав путь к файлу картинки в параметре LIBFPTR_PARAM_FILENAME. Дополнительно можно указать масштаб в параметре LIBFPTR_PARAM_SCALE_PERCENT. После выполнения метода номер картинки в памяти ККТ будет записан в параметр LIBFPTR_PARAM_PICTURE_NUMBER.

Метод подходит для загрузки статичных, часто используемых изображений, для ускорения их печати. Номер картинки, полученный в результате вызова метода, в дальнейшем может быть использован для печати картинки из памяти ККТ (printPictureByNumber()). Некоторые ККТ позволяют печатать картинку, загруженную таким образом, в клише.

Очистка картинок

Очистка картинок в памяти ККТ

libfptr_clear_pictures(fptr);
fptr.clearPictures()
fptr.clearPictures();
fptr.clearPictures();
[fptr clearPictures];

Для очистки картинок в памяти ККТ необходимо вызвать метод 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.length())
{
    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];

Для выполнения 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
+
sum Сумма налога number по умолчанию - расчитывается автоматически

Информация о покупателе

Информация о покупателе / клиенте

{
    "emailOrPhone": "+79161234567"
}
Данные покупателя
Параметр Описание Тип Возможные значения Обязательность
emailOrPhone E-mail или номер телефона получателя электронной формы чека string по умолчанию - не используется

Информация о продавце

Информация о продавце

{
    "email": "info@mail.ru"
}
Данные продавца
Параметр Описание Тип Возможные значения Обязательность
email 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
email 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"
}

Значение маркировки может быть передано как строкой, так и объектом.

Строка должна содержать base64 значение реквизита 1162.

Описание объектов представлено ниже:

Параметр Описание Тип Возможные значения Обязательность
type Тип маркировки string furs - меховые изделия
medicines - лекарства
tobacco - табачная продукция
+
Дополнительные параметры для меховых изделий (furs)
gtin Идентификатор продукта GTIN string +
serial Серийный номер string +
Дополнительные параметры для лекарств (medicines)
gtin Идентификатор продукта GTIN string +
serial Контрольный (идентификационный) знак (КиЗ) string +
Дополнительные параметры для табачной продукции (tobacco)
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 Тип элемента string position - товар
text - текстовая строка
barcode - штрихкод
+
Текст
text Строка. Переносится посимвольно. string по умолчанию - пустая строка (промотка ленты)
alignment Выравнивание number left - по левому краю
center - по центру
right - по правому краю
по умолчанию - left
font Шрифт number Зависит от модели ККТ по умолчанию - 0
doubleWidth Двойная ширина bool по умолчанию - false
doubleHeight Двойная высота bool по умолчанию - false
Штрихкод
barcode Данные ШК string в зависимости от barcodeType
barcodeType Тип ШК string EAN8
EAN13
CODE39
QR
AZTEC
+
alignment Выравнивание number left - по левому краю
center - по центру
right - по правому краю
по умолчанию - center
scale Коэффициент увеличения number по умолчанию - 1
printText Печатать значение ШК (только для одномерных ШК) bool по умолчанию - false
Товарная позиция
name Наименование товара string +
price Цена number +
quantity Количество number +
amount Сумма number +
infoDiscountAmount Информационная скидка number по умолчанию - 0.0
department Отдел number по умолчанию - 1 (по возможности, без печати на чековой ленте)
measurementUnit Единицы измерения кол-ва товара string по умолчанию - не передаются
paymentMethod Признак способа рaсчета string fullPrepayment - предоплата 100%
prepayment - предоплата
advance - аванс
fullPayment - полный расчет
partialPayment - частичный расчет и кредит
credit - передача в кредит
creditPayment - оплата кредита
по умолчанию - fullPrepayment
paymentObject Признак предмета расчета string commodity - товар
excise - подакцизный товар
job - работа
service - услуга
gamblingBet - ставка азартной игры
gamblingPrize - выигрыш азартной игры
lottery - лотерейный билет
lotteryPrize - выигрыш лотереи
intellectualActivity - предоставление результатов интерелектуальной деятельности
payment - платеж
agentCommission - агентское вознаграждение
composite - составной предмет расчета
another - иной предмет расчета
по умолчанию - commodity
nomenclatureCode Код товарной номенкулатуры (маркировка) string / object
tax Налог object
agentInfo Данные агента object
supplierInfo Данные поставщика object

Допечатать документ

Допечатать документ

{
    "type": "continuePrint"
}

С помощью этого задания можно допечатать документ, который закрылся в фискальном накопителе, но не допечатался на чековой ленте. Задание не вернет ошибку, если нет документа для допечатывания.

Описание задания
Параметр Описание Тип Возможные значения Обязательность
type Тип задания string continuePrint - допечатать документ +

Данные результата отсутствуют.

Открытие смены

Открытие смены

{
    "type": "openShift",

    "operator": {
       "name": "Иванов",
       "vatin": "123654789507"
    }
}
Описание задания
Параметр Описание Тип Возможные значения Обязательность
type Тип задания string openShift - открытие смены +
operator Оператор (кассир) object

Ответ на открытие смены

{
  "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)
total Итог number
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

Ответ на закрытие смены

{
    "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)
total Итог number
fiscalDocumentNumber Номер ФД отчета number
fiscalDocumentSign ФПД отчета string
fiscalDocumentDateTime Дата и время отчета string
shiftNumber Номер смены number
fnNumber Номер ФН string
registrationNumber РНМ string
receiptsCount Количество чеков за смену number
fnsUrl Адрес сайта ФНС string
Флаги предупреждений (warnings)
notPrinted Документ закрыт, но не допечатан.
Рекомендуется вывести пользователю сообщение о сбое печати и попросить устранить неисправность (самый стандартный случай - закончилась бумага).
После устранения неисправности требуется продолжить печать
bool

Фискальные чеки

Пример чека прихода (с печатью на чековой ленте)

{
   "type": "sell",
   "taxationType": "osn",

   "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": 64.25,
           "quantity": 2.0,
           "amount": 128.50,
           "infoDiscountAmount": 6.0,
           "department": 1,
           "measurementUnit": "шт.",
           "paymentMethod": "fullPrepayment",
           "paymentObject": "commodity",
           "tax": {
               "type": "vat10"
           }
       },
       {
           "type": "text",
           "text": "--------------------------------",
           "alignment": "left",
           "font": 0,
           "doubleWidth": false,
           "doubleHeight": false
       },
       {
           "type": "position",
           "name": "Батон нарезной",
           "price": 38.15,
           "quantity": 1.0,
           "amount": 38.15,
           "department": 1,
           "measurementUnit": "шт.",
           "paymentMethod": "fullPrepayment",
           "paymentObject": "commodity",
           "tax": {
               "type": "10"
           }
       },
       {
           "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",
           "tax": {
               "type": "vat0"
           }
       },
       {
           "type": "barcode",
           "barcode": "123456789012",
           "barcodeType": "EAN13",
           "scale": 2
       }
   ],
   "payments": [
       {
           "type": "cash",
           "sum": 2000.00
       }
   ],
   "total": 390.7
}

Пример чека прихода (без печати на чековой ленте)

{
   "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"
           }
       },
       {
           "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 sell - чек прихода
buy - чек расхода
sellReturn - чек возврата прихода
buyReturn - чек возврата расхода
+
electronically Электронный чек bool true - электронный чек (требуется установка clientInfo.emailOrPhone)
false - печатный чек
по умолчанию - 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 Может отличаться от суммы позиций на значение, равное копейкам чека.
Если не задан - высчитывается автоматически из суммы всех позиций

Пример ответа на чек

{
  "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

Чеки коррекции

Пример чека коррекции

{
    "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
        }
    ]
}
Описание задания
Параметр Описание Тип Возможные значения Обязательность
type Тип задания string sellCorrection - чек коррекции прихода
buyCorrection - чек коррекции расхода
+
operator Оператор (кассир) object
correctionType Тип коррекции string self - самостоятельно
instruction - по предписанию
correctionBaseName Описание коррекции string
correctionBaseDate Дата документа основания для коррекции string Формат - dd.mm.yyyy
correctionBaseNumberНомер документа основания для коррекции string
payments Оплаты object[] +
taxes Налоги object[] +

Пример ответа на чек коррекции

{
  "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
+

Данные результата задания отсутствуют.

X-отчет

Пример X-отчета

{
    "type": "reportX",

    "operator": {
        "name": "Иванов",
        "vatin": "123654789507"
    }
}
Описание задания
Параметр Описание Тип Возможные значения Обязательность
type Тип задания string reportX - X-отчет +
operator Оператор (кассир) object

Данные результата задания отсутствуют.

Внесения и выплаты

Пример внесения

{
    "type": "cashIn",

    "cashSum": 1150.0
}
Описание задания
Параметр Описание Тип Возможные значения Обязательность
type Тип задания string cashIn - внесение
cashOut - выплата
+
cashSum Сумма number +

Пример ответа на внесение

{
    "counters" : {
        "cashSum" : 1345.0
    }
}
Результат задания
Параметр Описание Тип
Состояние счетчиков наличности после операции (counters)
cashSum Сумма в денежном ящике double

Отчет о состоянии расчетов

Пример вызова отчета о состоянии расчетов

{
   "type": "reportOfdExchangeStatus",

   "operator": {
      "name": "Иванов",
      "vatin": "123654789507"
   }
}
Описание задания
Параметр Описание Тип Возможные значения Обязательность
type Тип задания string reportOfdExchangeStatus - отчет о состоянии расчетов +
operator Оператор (кассир) object

Пример ответа на формирование отчета о состоянии расчетов

{
  "fiscalParams" : {
     "fiscalDocumentDateTime" : "2018-03-06T13:52:00+03:00",
     "fiscalDocumentNumber" : 157,
     "fiscalDocumentSign" : "1230933772",
     "fnNumber" : "9999078900000961",
     "fnsUrl" : "nalog.ru",
     "receiptsCount" : 0,
     "registrationNumber" : "0000000001035160",
     "shiftNumber" : 28
  },
  "status" : {
     "notSentCount" : 46,
     "notSentFirstDocDateTime" : "2018-02-04T11:24:00+03:00",
     "notSentFirstDocNumber" : 111
  },
  "warnings": {
     "notPrinted": true
  }
}
Результат задания
Параметр Описание Тип
Фискальные параметры отчета (fiscalParams)
total Итог number
fiscalDocumentNumber Номер ФД отчета number
fiscalDocumentSign ФПД отчета string
fiscalDocumentDateTime Дата и время отчета string
shiftNumber Номер смены number
fnNumber Номер ФН string
registrationNumber РНМ string
fnsUrl Адрес сайта ФНС string
Состояние (status)
notSentCount Количество неотправленных ФД number
notSentFirstDocNumber Номер первого неотправленного ФД number
notSentFirstDocDateTime Дата и время первого неотправленного ФД string
Флаги предупреждений (warnings)
notPrinted Документ закрыт, но не допечатан.
Рекомендуется вывести пользователю сообщение о сбое печати и попросить устранить неисправность (самый стандартный случай - закончилась бумага).
После устранения неисправности требуется продолжить печать.
bool

Запрос параметров регистрации ККТ

Пример запроса параметров регистрации ККТ

{
   "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 Причина перерегистрации string fnChange - замена ФН
ofdChange - смена ОФД
attributesChange - изменение реквизитов
settingsChange - изменение настроек ККТ
Игнорируется при начальной регистрации
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)
total Итог number
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)
total Итог number
fiscalDocumentNumber Номер ФД отчета number
fiscalDocumentSign ФПД отчета string
fiscalDocumentDateTime Дата и время отчета string
shiftNumber Номер смены number
fnNumber Номер ФН string
registrationNumber РНМ string
fnsUrl Адрес сайта ФНС string
Флаги предупреждений (warnings)
notPrinted Документ закрыт, но не допечатан.
Рекомендуется вывести пользователю сообщение о сбое печати и попросить устранить неисправность (самый стандартный случай - закончилась бумага).
После устранения неисправности требуется продолжить печать.
bool

Запрос информации о ККТ

Пример запроса информации о ККТ

{
   "type": "getDeviceInfo"
}
Описание задания
Параметр Описание Тип Возможные значения Обязательность
type Тип задания string getDeviceInfo - запрос информации о ККТ +

Пример ответа на запрос информации о ККТ

{
  "deviceInfo" : {
     "firmwareVersion" : "1245",
     "model" : 69,
     "modelName" : "АТОЛ 77Ф",
     "receiptLineLength" : 48,
     "receiptLineLengthPix" : 576,
     "serial" : "00106900000014"
  }
}
Результат задания
Параметр Описание Тип
Информация о ККТ (deviceInfo)
model Код модели number
modelName Наименование модели string
serial Заводской номер ККТ string
firmwareVersion Версия прошивки string
receiptLineLength Ширина чековой ленты в символах number
receiptLineLengthPix Ширина чековой ленты в пикселях number

Запрос состояния ККТ

Пример запроса состояния ККТ

{
   "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,
     "shift" : "closed"
  }
}
Результат задания
Параметр Описание Тип
Состояние ККТ (deviceStatus)
currentDateTime Текущие дата и время ККТ string
shift Состояние смены.
Принимает значения:
closed - закрыта
opened - открыта
expired - истекла
string
blocked ККТ заблокирована bool
coverOpened Крышка открыта bool
paperPresentНаличие чековой ленты bool
fiscal ККТ фискализирована bool
fnFiscal ФН фискализирован bool
fnPresent ФН обнаружен bool

Запрос состояния смены

Пример запроса состояния смены

{
   "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" : {
     "numberOfRegistrations" : 1,
     "registrationsRemaining" : 29,
     "serial" : "9999078900008855",
     "validityDate" : "2019-04-15T21:00:00+03:00",
     "warnings" : {
        "criticalError" : false,
        "memoryOverflow" : false,
        "needReplacement" : false,
        "ofdTimeout" : false,
        "resourceExhausted" : false
     }
  }
}
Результат задания
Параметр Описание Тип
Информация об ФН (fnInfo)
serial Заводской номер ФН string
numberOfRegistrations Количество проведенных регистраций number
registrationsRemaining Количество оставшихся регистраций number
validityDate Срок действия ФН string
Предупреждения ФН (fnInfo.warnings)
memoryOverflow Память ФН переполнена bool
needReplacement Требуется срочная замена ФН bool
ofdTimeout Превышено время ожидания ответа от ОФД bool
resourceExhausted Исчерпан ресурс ФН bool
criticalError Критическая ошибка ФН bool

Запрос состояния обмена с ОФД

Пример запроса состояния обмена с ОФД

{
   "type": "ofdExchangeStatus"
}
Описание задания
Параметр Описание Тип Возможные значения Обязательность
type Тип задания string ofdExchangeStatus - запрос состояния обмена с ОФД +

Пример ответа на запрос состояния обмена с ОФД

{
   "status" : {
      "notSentCount" : 69,
      "notSentFirstDocDateTime" : "2018-03-06T13:52:00+03:00",
      "notSentFirstDocNumber" : 1
   }
}
Результат задания
Параметр Описание Тип
Состояние (status)
notSentCount Количество неотправленных ФД number
notSentFirstDocNumber Номер первого неотправленного ФД number
notSentFirstDocDateTime Дата и время первого неотправленного ФД 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_FIRMWARE_EXPIRED - Нет подходящей лицензии

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 - Данный канал Интернет отсутствует в ККТ

501 - LIBFPTR_ERROR_RECEIPT_PARSE_ERROR - Ошибка парсинга чека / запроса

502 - LIBFPTR_ERROR_INTERRUPTED_BY_PREVIOUS_ERRORS - Выполнение прервано из-за предыдущих ошибок

Используемые сторонние библиотеки

Название Версия Лицензия Где используется
Qt 4.8.7, 5.6.2 LGPL Тестовое приложение
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 Работа с логами
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.length()) {
        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(LIBFPTR_SETTING_PORT, std::to_wstring(LIBFPTR_PORT_USB).c_str())
    libfptr_apply_single_settings()

    // Соединение с ККТ
    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_bool(fptr, LIBFPTR_PARAM_RECEIPT_ELECTRONICALLY, true);
    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;
}

Пример полного цикла работы с драйвером, состоящий из этапов:

Настройки ККТ

АТОЛ 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
33PIN-код для 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число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%число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 - Иной предмет расчета
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число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
250Номер фискального типа оплаты 3число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
251Номер фискального типа оплаты 4число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
252Номер фискального типа оплаты 5число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
253Номер фискального типа оплаты 6число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
254Номер фискального типа оплаты 7число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
255Номер фискального типа оплаты 8число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
256Номер фискального типа оплаты 9число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
257Номер фискального типа оплаты 10число1 - Наличными
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
275DNS ОФДстрокаМаксимальная длина: 15
276Канал обмена с ОФДчисло1 - EthernetOverUsb
3 - Wi-Fi
4 - GSM модем
5 - EthernetOverTransport
277Адрес сайта ФНСстрокаМаксимальная длина: 64
278Адрес сервера диагностикистрокаМаксимальная длина: 64
279IP-порт сервера диагностикичисло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 - Разрешены все

АТОЛ 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
33PIN-код для 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число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%число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 - Иной предмет расчета
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число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
250Номер фискального типа оплаты 3число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
251Номер фискального типа оплаты 4число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
252Номер фискального типа оплаты 5число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
253Номер фискального типа оплаты 6число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
254Номер фискального типа оплаты 7число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
255Номер фискального типа оплаты 8число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
256Номер фискального типа оплаты 9число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
257Номер фискального типа оплаты 10число1 - Наличными
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
275DNS ОФДстрокаМаксимальная длина: 15
276Канал обмена с ОФДчисло1 - USB (EoU)
3 - Wi-Fi
277Адрес сайта ФНСстрокаМаксимальная длина: 64
278Адрес сервера диагностикистрокаМаксимальная длина: 64
279IP-порт сервера диагностикичисло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 - Разрешены все

АТОЛ 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
33PIN-код для 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число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%число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 - Иной предмет расчета
65Не открывать ДЯ при отсутствии наличных оплат в чекечисло0 - Открывать
1 - Не открывать
66Отрезать чек после завершения документачисло0 - Не отрезать
1 - Не полностью
2 - Полностью
67Запретить отрезку чековчисло0 - Нет
1 - Да
68Запретить отрезку отчетовчисло0 - Нет
1 - Да
69Отрезать ЧЛ после печати клише командой «Печать клише»число0 - Нет
1 - Да
71IP-адресстрокаМаксимальная длина: 15
72Маска подсетистрокаМаксимальная длина: 15
73Шлюз по умолчаниюстрокаМаксимальная длина: 15
74IP-портчисло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число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
250Номер фискального типа оплаты 3число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
251Номер фискального типа оплаты 4число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
252Номер фискального типа оплаты 5число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
253Номер фискального типа оплаты 6число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
254Номер фискального типа оплаты 7число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
255Номер фискального типа оплаты 8число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
256Номер фискального типа оплаты 9число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
257Номер фискального типа оплаты 10число1 - Наличными
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
275DNS ОФДстрокаМаксимальная длина: 15
276Канал обмена с ОФДчисло1 - USB (EoU)
2 - Ethernet
3 - Wi-Fi
4 - GSM модем
5 - EthernetOverTransport
277Адрес сайта ФНСстрокаМаксимальная длина: 64
278Адрес сервера диагностикистрокаМаксимальная длина: 64
279IP-порт сервера диагностикичисло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 - Разрешены все

АТОЛ 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
33PIN-код для 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число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%число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 - Иной предмет расчета
65Не открывать ДЯ при отсутствии наличных оплат в чекечисло0 - Открывать
1 - Не открывать
66Отрезать чек после завершения документачисло0 - Не отрезать
1 - Не полностью
2 - Полностью
67Запретить отрезку чековчисло0 - Нет
1 - Да
68Запретить отрезку отчетовчисло0 - Нет
1 - Да
69Отрезать ЧЛ после печати клише командой «Печать клише»число0 - Нет
1 - Да
71IP-адресстрокаМаксимальная длина: 15
72Маска подсетистрокаМаксимальная длина: 15
73Шлюз по умолчаниюстрокаМаксимальная длина: 15
74IP-портчисло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число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
250Номер фискального типа оплаты 3число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
251Номер фискального типа оплаты 4число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
252Номер фискального типа оплаты 5число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
253Номер фискального типа оплаты 6число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
254Номер фискального типа оплаты 7число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
255Номер фискального типа оплаты 8число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
256Номер фискального типа оплаты 9число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
257Номер фискального типа оплаты 10число1 - Наличными
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
275DNS ОФДстрокаМаксимальная длина: 15
276Канал обмена с ОФДчисло1 - USB (EoU)
2 - Ethernet
3 - Wi-Fi
4 - GSM модем
5 - EthernetOverTransport
277Адрес сайта ФНСстрокаМаксимальная длина: 64
278Адрес сервера диагностикистрокаМаксимальная длина: 64
279IP-порт сервера диагностикичисло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 - Разрешены все

АТОЛ 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
33PIN-код для 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число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%число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 - Иной предмет расчета
65Не открывать ДЯ при отсутствии наличных оплат в чекечисло0 - Открывать
1 - Не открывать
66Отрезать чек после завершения документачисло0 - Не отрезать
1 - Не полностью
2 - Полностью
67Запретить отрезку чековчисло0 - Нет
1 - Да
68Запретить отрезку отчетовчисло0 - Нет
1 - Да
69Отрезать ЧЛ после печати клише командой «Печать клише»число0 - Нет
1 - Да
71IP-адресстрокаМаксимальная длина: 15
72Маска подсетистрокаМаксимальная длина: 15
73Шлюз по умолчаниюстрокаМаксимальная длина: 15
74IP-портчисло1 .. 65535
75Расстояние от ножа отрезчика до гребенкичисло0 .. 255
76Выключение ККТчисло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строкаМаксимальная длина: 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число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
250Номер фискального типа оплаты 3число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
251Номер фискального типа оплаты 4число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
252Номер фискального типа оплаты 5число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
253Номер фискального типа оплаты 6число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
254Номер фискального типа оплаты 7число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
255Номер фискального типа оплаты 8число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
256Номер фискального типа оплаты 9число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
257Номер фискального типа оплаты 10число1 - Наличными
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
275DNS ОФДстрокаМаксимальная длина: 15
276Канал обмена с ОФДчисло1 - USB (EoU)
2 - Ethernet
3 - Wi-Fi
4 - GSM модем
5 - EthernetOverTransport
277Адрес сайта ФНСстрокаМаксимальная длина: 64
278Адрес сервера диагностикистрокаМаксимальная длина: 64
279IP-порт сервера диагностикичисло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 - Разрешены все

АТОЛ 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
33PIN-код для 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число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%число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 - Иной предмет расчета
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число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
250Номер фискального типа оплаты 3число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
251Номер фискального типа оплаты 4число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
252Номер фискального типа оплаты 5число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
253Номер фискального типа оплаты 6число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
254Номер фискального типа оплаты 7число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
255Номер фискального типа оплаты 8число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
256Номер фискального типа оплаты 9число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
257Номер фискального типа оплаты 10число1 - Наличными
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
275DNS ОФДстрокаМаксимальная длина: 15
276Канал обмена с ОФДчисло1 - USB (EoU)
3 - Wi-Fi
4 - GSM модем
277Адрес сайта ФНСстрокаМаксимальная длина: 64
278Адрес сервера диагностикистрокаМаксимальная длина: 64
279IP-порт сервера диагностикичисло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 - Разрешены все

АТОЛ 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число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%число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 - Иной предмет расчета
71IP-адресстрокаМаксимальная длина: 15
72Маска подсетистрокаМаксимальная длина: 15
73Шлюз по умолчаниюстрокаМаксимальная длина: 15
74IP-портчисло1 .. 65535
76Выключение ККТчисло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строкаМаксимальная длина: 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число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
250Номер фискального типа оплаты 3число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
251Номер фискального типа оплаты 4число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
252Номер фискального типа оплаты 5число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
253Номер фискального типа оплаты 6число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
254Номер фискального типа оплаты 7число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
255Номер фискального типа оплаты 8число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
256Номер фискального типа оплаты 9число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
257Номер фискального типа оплаты 10число1 - Наличными
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
275DNS ОФДстрокаМаксимальная длина: 15
276Канал обмена с ОФДчисло1 - USB (EoU)
2 - Ethernet
3 - Wi-Fi
4 - GSM модем
277Адрес сайта ФНСстрокаМаксимальная длина: 64
278Адрес сервера диагностикистрокаМаксимальная длина: 64
279IP-порт сервера диагностикичисло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 - Разрешены все

АТОЛ 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
33PIN-код для 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число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%число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 - Иной предмет расчета
65Не открывать ДЯ при отсутствии наличных оплат в чекечисло0 - Открывать
1 - Не открывать
66Отрезать чек после завершения документачисло0 - Не отрезать
1 - Не полностью
2 - Полностью
67Запретить отрезку чековчисло0 - Нет
1 - Да
68Запретить отрезку отчетовчисло0 - Нет
1 - Да
69Отрезать ЧЛ после печати клише командой «Печать клише»число0 - Нет
1 - Да
71IP-адресстрокаМаксимальная длина: 15
72Маска подсетистрокаМаксимальная длина: 15
73Шлюз по умолчаниюстрокаМаксимальная длина: 15
74IP-портчисло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число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
250Номер фискального типа оплаты 3число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
251Номер фискального типа оплаты 4число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
252Номер фискального типа оплаты 5число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
253Номер фискального типа оплаты 6число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
254Номер фискального типа оплаты 7число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
255Номер фискального типа оплаты 8число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
256Номер фискального типа оплаты 9число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
257Номер фискального типа оплаты 10число1 - Наличными
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
275DNS ОФДстрокаМаксимальная длина: 15
276Канал обмена с ОФДчисло1 - USB (EoU)
2 - Ethernet
3 - Wi-Fi
4 - GSM модем
5 - EthernetOverTransport
277Адрес сайта ФНСстрокаМаксимальная длина: 64
278Адрес сервера диагностикистрокаМаксимальная длина: 64
279IP-порт сервера диагностикичисло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 - Разрешены все

АТОЛ 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
33PIN-код для 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число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%число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 - Иной предмет расчета
65Не открывать ДЯ при отсутствии наличных оплат в чекечисло0 - Открывать
1 - Не открывать
66Отрезать чек после завершения документачисло0 - Не отрезать
1 - Не полностью
2 - Полностью
67Запретить отрезку чековчисло0 - Нет
1 - Да
68Запретить отрезку отчетовчисло0 - Нет
1 - Да
69Отрезать ЧЛ после печати клише командой «Печать клише»число0 - Нет
1 - Да
71IP-адресстрокаМаксимальная длина: 15
72Маска подсетистрокаМаксимальная длина: 15
73Шлюз по умолчаниюстрокаМаксимальная длина: 15
74IP-портчисло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число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
250Номер фискального типа оплаты 3число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
251Номер фискального типа оплаты 4число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
252Номер фискального типа оплаты 5число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
253Номер фискального типа оплаты 6число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
254Номер фискального типа оплаты 7число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
255Номер фискального типа оплаты 8число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
256Номер фискального типа оплаты 9число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
257Номер фискального типа оплаты 10число1 - Наличными
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
275DNS ОФДстрокаМаксимальная длина: 15
276Канал обмена с ОФДчисло1 - USB (EoU)
2 - Ethernet
3 - Wi-Fi
4 - GSM модем
5 - EthernetOverTransport
277Адрес сайта ФНСстрокаМаксимальная длина: 64
278Адрес сервера диагностикистрокаМаксимальная длина: 64
279IP-порт сервера диагностикичисло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 - Разрешены все

АТОЛ 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
33PIN-код для 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число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%число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 - Иной предмет расчета
65Не открывать ДЯ при отсутствии наличных оплат в чекечисло0 - Открывать
1 - Не открывать
66Отрезать чек после завершения документачисло0 - Не отрезать
1 - Не полностью
2 - Полностью
67Запретить отрезку чековчисло0 - Нет
1 - Да
68Запретить отрезку отчетовчисло0 - Нет
1 - Да
69Отрезать ЧЛ после печати клише командой «Печать клише»число0 - Нет
1 - Да
71IP-адресстрокаМаксимальная длина: 15
72Маска подсетистрокаМаксимальная длина: 15
73Шлюз по умолчаниюстрокаМаксимальная длина: 15
74IP-портчисло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число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
250Номер фискального типа оплаты 3число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
251Номер фискального типа оплаты 4число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
252Номер фискального типа оплаты 5число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
253Номер фискального типа оплаты 6число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
254Номер фискального типа оплаты 7число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
255Номер фискального типа оплаты 8число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
256Номер фискального типа оплаты 9число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
257Номер фискального типа оплаты 10число1 - Наличными
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
275DNS ОФДстрокаМаксимальная длина: 15
276Канал обмена с ОФДчисло1 - USB (EoU)
2 - Ethernet
3 - Wi-Fi
4 - GSM модем
5 - EthernetOverTransport
277Адрес сайта ФНСстрокаМаксимальная длина: 64
278Адрес сервера диагностикистрокаМаксимальная длина: 64
279IP-порт сервера диагностикичисло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 - Разрешены все

АТОЛ 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
33PIN-код для 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число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%число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 - Иной предмет расчета
64Таймаут на выключение ККТ (минуты)число0 .. 990
76Выключение ККТчисло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число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
250Номер фискального типа оплаты 3число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
251Номер фискального типа оплаты 4число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
252Номер фискального типа оплаты 5число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
253Номер фискального типа оплаты 6число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
254Номер фискального типа оплаты 7число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
255Номер фискального типа оплаты 8число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
256Номер фискального типа оплаты 9число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
257Номер фискального типа оплаты 10число1 - Наличными
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
275DNS ОФДстрокаМаксимальная длина: 15
276Канал обмена с ОФДчисло1 - USB (EoU)
3 - Wi-Fi
4 - GSM модем
277Адрес сайта ФНСстрокаМаксимальная длина: 64
278Адрес сервера диагностикистрокаМаксимальная длина: 64
279IP-порт сервера диагностикичисло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 - Разрешены все

АТОЛ 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
33PIN-код для 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число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%число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 - Иной предмет расчета
65Не открывать ДЯ при отсутствии наличных оплат в чекечисло0 - Открывать
1 - Не открывать
66Отрезать чек после завершения документачисло0 - Не отрезать
1 - Не полностью
2 - Полностью
67Запретить отрезку чековчисло0 - Нет
1 - Да
68Запретить отрезку отчетовчисло0 - Нет
1 - Да
69Отрезать ЧЛ после печати клише командой «Печать клише»число0 - Нет
1 - Да
71IP-адресстрокаМаксимальная длина: 15
72Маска подсетистрокаМаксимальная длина: 15
73Шлюз по умолчаниюстрокаМаксимальная длина: 15
74IP-портчисло1 .. 65535
75Расстояние от ножа отрезчика до гребенкичисло0 .. 255
76Выключение ККТчисло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строкаМаксимальная длина: 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число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
250Номер фискального типа оплаты 3число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
251Номер фискального типа оплаты 4число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
252Номер фискального типа оплаты 5число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
253Номер фискального типа оплаты 6число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
254Номер фискального типа оплаты 7число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
255Номер фискального типа оплаты 8число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
256Номер фискального типа оплаты 9число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
257Номер фискального типа оплаты 10число1 - Наличными
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
275DNS ОФДстрокаМаксимальная длина: 15
276Канал обмена с ОФДчисло1 - USB (EoU)
2 - Ethernet
3 - Wi-Fi
4 - GSM модем
5 - EthernetOverTransport
277Адрес сайта ФНСстрокаМаксимальная длина: 64
278Адрес сервера диагностикистрокаМаксимальная длина: 64
279IP-порт сервера диагностикичисло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 - Разрешены все

АТОЛ 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
275DNS ОФДстрокаМаксимальная длина: 15
276Канал обмена с ОФДчисло1 - USB (EoU)
3 - Wi-Fi
4 - GSM модем
277Адрес сайта ФНСстрокаМаксимальная длина: 64
278Адрес сервера диагностикистрокаМаксимальная длина: 64
279IP-порт сервера диагностикичисло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 - Разрешены все

АТОЛ 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
33PIN-код для 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%число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 - Иной предмет расчета
71IP-адресстрокаМаксимальная длина: 15
72Маска подсетистрокаМаксимальная длина: 15
73Шлюз по умолчаниюстрокаМаксимальная длина: 15
74IP-портчисло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число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
250Номер фискального типа оплаты 3число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
251Номер фискального типа оплаты 4число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
252Номер фискального типа оплаты 5число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
253Номер фискального типа оплаты 6число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
254Номер фискального типа оплаты 7число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
255Номер фискального типа оплаты 8число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
256Номер фискального типа оплаты 9число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
257Номер фискального типа оплаты 10число1 - Наличными
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
275DNS ОФДстрокаМаксимальная длина: 15
276Канал обмена с ОФДчисло1 - USB (EoU)
2 - Ethernet
3 - Wi-Fi
4 - GSM модем
5 - EthernetOverTransport
277Адрес сайта ФНСстрокаМаксимальная длина: 64
278Адрес сервера диагностикистрокаМаксимальная длина: 64
279IP-порт сервера диагностикичисло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 - Да

АТОЛ 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
33PIN-код для 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%число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 - Иной предмет расчета
71IP-адресстрокаМаксимальная длина: 15
72Маска подсетистрокаМаксимальная длина: 15
73Шлюз по умолчаниюстрокаМаксимальная длина: 15
74IP-портчисло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число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
250Номер фискального типа оплаты 3число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
251Номер фискального типа оплаты 4число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
252Номер фискального типа оплаты 5число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
253Номер фискального типа оплаты 6число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
254Номер фискального типа оплаты 7число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
255Номер фискального типа оплаты 8число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
256Номер фискального типа оплаты 9число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
257Номер фискального типа оплаты 10число1 - Наличными
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
275DNS ОФДстрокаМаксимальная длина: 15
276Канал обмена с ОФДчисло1 - USB (EoU)
2 - Ethernet
3 - Wi-Fi
4 - GSM модем
5 - EthernetOverTransport
277Адрес сайта ФНСстрокаМаксимальная длина: 64
278Адрес сервера диагностикистрокаМаксимальная длина: 64
279IP-порт сервера диагностикичисло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 - Да

АТОЛ 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%число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 - Иной предмет расчета
65Не открывать ДЯ при отсутствии наличных оплат в чекечисло0 - Открывать
1 - Не открывать
66Отрезать чек после завершения документачисло0 - Не отрезать
1 - Не полностью
2 - Полностью
67Запретить отрезку чековчисло0 - Нет
1 - Да
68Запретить отрезку отчетовчисло0 - Нет
1 - Да
69Отрезать ЧЛ после печати клише командой «Печать клише»число0 - Нет
1 - Да
75Расстояние от ножа отрезчика до гребенкичисло0 .. 255
76Выключение ККТчисло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строкаМаксимальная длина: 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 бод
115200 - 460800 бод
115200 - 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число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
250Номер фискального типа оплаты 3число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
251Номер фискального типа оплаты 4число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
252Номер фискального типа оплаты 5число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
253Номер фискального типа оплаты 6число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
254Номер фискального типа оплаты 7число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
255Номер фискального типа оплаты 8число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
256Номер фискального типа оплаты 9число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
257Номер фискального типа оплаты 10число1 - Наличными
2 - Электронными
3 - Предварительная оплата (аванс)
4 - Последующая оплата (кредит)
5 - Иная форма оплаты (встречное предоставление)
273Адрес ОФДстрокаМаксимальная длина: 64
274Порт ОФДчисло1 .. 65535
275DNS ОФДстрокаМаксимальная длина: 15
276Канал обмена с ОФДчисло5 - EthernetOverTransport
277Адрес сайта ФНСстрокаМаксимальная длина: 64
278Адрес сервера диагностикистрокаМаксимальная длина: 64
279IP-порт сервера диагностикичисло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 - Разрешены все

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) для обмена с ККТ. В Intent передаются JSON-задания, возможности которых представлены в разделе JSON-задания. Отличается только формат ответа. Если напрямую через драйвер требуется самому получить результат выполнения JSON-задания с помощью методов errorCode() и errorDescription(), то при взаимодействии с сервисом информация об ошибке также придет в ответном JSON.

Формирование 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.

Логирование

Логи приложения хранятся в каталоге /storage/emulated/0/Android/data/ru.atol.drivers10.service/files.

Настройка

Если в главном окне приложения выключить настройку Активировать драйвер, то сервис не будет подключаться к ККТ

Для настройки связи с ККТ нужно зайти в главное окно приложения и нажать на Настройки связи с ККТ.

Web-сервер

Web-сервер предназначен для обеспечения доступа к функциям ККТ одному и более Web-клиенту. Он поддерживает весь набор заданий, представленных в разделе JSON-задания и позволяет их группировать. Web-сервер хранит задания и их результаты в базе данных в течении месяца.

Для работы Web-сервера требуется установленная Java версии 1.8 и выше.

Алгоритм работы

Для добавления задания в очередь на выполнения необходимо отправить его POST-запросом на адрес http://hostname:16732/requests, указав его уникальный идентификатор. В ответ сервер вернет код результата в виде HTTP-статуса.

Для того, чтобы узнать результат задания, необходимо отправить GET-запрос на адрес http://hostname:16732/requests/. В ответ вернется JSON, содержащий в себе статусы задания и его результаты.

Запись задания

Общая структура задания

{
    "uuid": "<uuid>",
    "request": [
        json1,
        json2,
        ...
    ]
}

Пример задания

{
    "uuid": "dcb697cc-3f2a-11e8-9113-0f05fcc9d7aa",
    "request": [
        {
            "type": "closeShift",

            "operator": {
                "name": "Иванов",
                "vatin": "123654789507"
            }
        },
        {
           "type": "ofdExchangeStatus"
        }
    ]
}

Тело задания состоит из двух обязательных полей:

HTTP запрос

POST http://<hostname>:16732/requests

Заголовки

Для корректной работы требуется передача следующих заголовков:

Content-Type: application/json

Возвращаемые ошибки

В случае успешного добавления задания в очередь сервер вернет статус 201 (Created).

Также могут вернуться следующие ошибки:

Получение результата задания

Общая структура результата задания

{
    "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
                }
            }
        }
    ]
}

В ответ на запрос результата задания возвращается массив результатов каждого подзадания. Каждый результат включает в себя поля:

HTTP запрос

GET http://<hostname>:16732/requests/<id>

Возвращаемые ошибки

В случае успешного чтения результата сервер вернет статус 200 (OK) и JSON с результатом.

Также могут вернуться следующие ошибки:

Обработка статусов

Если все подзадачи имеют статус ready, значит, они все выполнены без ошибок.

Если одна или несколько из подзадач имеют статус wait, значит, задание еще не начинало выполняться или выполняется в данный момент.

Если одна из подзадач имеет статус error, то все подзадачи после неё (в рамках задания) будут иметь статус interrupted и выполняться не будут. Пользователь может устранить проблему, вызвавшую ошибку выполнения подзадания, и провести его еще раз, вместе со всеми прерванными подзаданиями. Для этого нужно составить новое задание.

Статус blocked означает, что результат фискальной операции неизвестен (например, потеряна связь с ККТ). Все подзадачи после текущей (в рамках задания) будут иметь статус interrupted и выполняться не будут. Web-сервер входит в состояние восстановления работоспособности и не будет выполнять другие задания до тех пор, пока не узнает результат последней операции. Поля errorCode и errorDescription будут заполнены, т.е. на них можно ориентироваться при устранении неисправности. Как только Web-сервер узнает у ККТ состояние этой операции, он обновит состояние соответствующего задания на error или ready и выполнение остальных задач продолжится.

Настройка

Страница настройки располагается по адресу http://<hostname>:16732/settings.

Информация о сервере

Информацию о Web-сервере можно узнать на странице http://<hostname>:16732/about. На данный момент там располагается следующая информация:

Логирование

Расположение логов 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 (в зависимости от архитектур драйвера и ОС).