Релиз ревью:
В рамках релиза полностью переработан Web-сервер ККТ. Теперь он не требует установленной Java, поддерживает работу с несколькими ККТ и имеет более подробную документацию. Документация по нему вынесена на отдельный ресурс и распространяется в формате openapi 3.0, ссылка на него приведена в документации, а также Новый Web-сервер имеет новое API для работы с ККТ, а также поддерживает старое. Также были учтены пожелания к старому серверу:
настройка соединения с ККТ через API
более гибкая настройка драйвера
настройка времени хранения запросов и.т.п.
Помимо этого добавлена возможность разделения логов от разных объектов драйвера, упрощена настройка канала связи с ОФД на стороне драйвера, а также проведены другие улучшения.
Внесённые изменения:
Драйвер ККТ
Добавлен новый конструктор драйвера, которому можно передать идентификатор объекта для разделения логов по разным файлам.
Метод логирования logWrite() адаптирован под разделение логов.
Исправлена проблема, когда открытие окна настроек драйвера через вызов метода showProperties() завершалось с неизвестной ошибкой.
Настройка драйвера «Канал до ОФД» (LIBFPTR_SETTING_OFD_CHANNEL) теперь имеет значения «Нет» (LIBFPTR_OFD_CHANNEL_NONE) и «Автоматически» (LIBFPTR_OFD_CHANNEL_AUTO). При выборе значения Автоматически драйвер сам определит своё поведение по настройкам ККТ. При использовании значения LIBFPTR_OFD_CHANNEL_PROTO драйвер будет переключаться на LIBFPTR_OFD_CHANNEL_AUTO. Также изменено значение по умолчанию — теперь это LIBFPTR_OFD_CHANNEL_AUTO.
Метод checkDocumentClosed() теперь не ограничен жизнью объекта драйвера и может использоваться даже после перезапуска ПО или ПК.
Внесены следующие изменения в основной API:
добавлен запрос LIBFPTR_DT_FONT_INFO для метода queryData() для запроса параметров шрифта (только ККТ версий 5.X).
добавлен отчёт LIBFPTR_RT_CLOSE_SHIFT_REPORTS для метода report() для печати нераспечатанных отчётов о закрытии смены (только ККТ версий 5.X).
для метода execDriverScript() добавлен параметр LIBFPTR_PARAM_REMOTE_CALL для управления выполнением скриптов (локально или удалённо на Sigma).
добавлен метод validateJson() для валидации json-задания без его выполнения.
для метода utilFormTlv() добавлен параметр LIBFPTR_PARAM_IGNORE_EMPTY для управления поведением при передаче пустых реквизитов.
для метода execDriverScript() добавлен параметр LIBFPTR_PARAM_SCRIPT_PARAMS для передачи параметров в скрипт.
Внесены следующие изменения в JSON API:
добавлена возможность передачи номера автомата в чеках коррекции
Внесены следующие изменения в поддержку настроек ККТ:
для ККТ версий 5.X изменены названия настроек 182 и 183 — убрано упоминание системного администратора, добавлено упоминание кассира по умолчанию.
настройка 55 — Пересчитывать суммы налогов после скидки на итог — теперь актуальна и для ККТ версий 5.X.
Добавлен скрипт getFiscalDocumentResult для получения данных о документе по номеру в формате, аналогичному результатам json-заданий.
Для языковых обёрток добавлена возможность загрузки драйвера по пути.
В окно настроек драйвера добавлен поиск ККТ по TCP/IP.
C++-обёртка переделана на header-only с возможностью кастомизации пространств имён и названия класса драйвера.
Добавлено окно «О драйвере» в окне настроек драйвера.
Исправлен порядок загрузки драйвером дополнительных библиотек — теперь в первую очередь поиск производится по пути, указанном в LIBFPTR_SETTING_LIBRARY_PATH.
Примеры скриптов драйвера модифицированы так, чтобы не зависеть от внутренних скриптов драйвера.
Добавлена возможность управлять пользовательскими настройками ККТ версий 5.X, о которых драйвер не знает, через скрипт settings.js.
В скриптовый движок добавлена возможность приостановить процесс выполнения с помощью метода sleep().
В состав включен OPOS-драйвер версии 1.14.4.
В состав включен JPOS-драйвер версии 1.14.13.
Тестовое приложение
На страницу регистрации ККТ добавлена кнопка для расчёта РНМ.
Добавлена возможность выгрузить сервисную информацию о драйвере и ККТ.
Убрана возможность регистрации ККТ под ФФД 1.0.
Добавлено окно «О программе».
Web-сервер
Первый выпуск нового Web-сервера, поддерживающего подключение к нескольким ККТ.
Исправленные ошибки:
Драйвер ККТ
Исправлено зависание драйвера при записи некорректных лицензий и слишком длинного клише при работе с ККТ версий 5.X.
Исправлена ошибка потери связи при непредсказуемо долгом долгом выполнении команд на ККТ версий 5.X.
Json-задания регистрации, перерегистрации и замены ФН больше не будут завершаться с ошибкой, если не удалось записать настройки связи с ОФД в автономном режиме.
Для ККТ версий 5.X добавлена очистка картинок, хранящихся локально, при техобнулении.
Исправлен возврат некорректных ошибок при выполнении json-задания регистрации под ФФД 1.1.
В python-обёртке исправлена передача в setParam() параметра типа bool и добавлена обработка типа bytes.
Исправлено некорректное поведение драйвера при перенастройки его с помощью метода setSettings(), когда соединение уже установлено. В документации уточнены нюансы поведения драйвера в этой ситуации.