При подключении и настройке онлайн-касс АТОЛ (например, АТОЛ 30Ф, 22ПТК, 77Ф и др.) в конфигурации 1С:Управление торговлей 10.3 пользователи часто сталкиваются с ситуацией, когда кассовая смена открывается и закрывается без замечаний, тест драйвера проходит успешно, однако в момент непосредственной фискализации чека возникает ошибка: 'none' is not a valid integer value.
Разберем детально техническую природу этой неполадки, выясним причины ее возникновения и пошагово рассмотрим способы ее полного устранения.
Текст ошибки 'none' is not a valid integer value представляет собой системное исключение EConvertError, генерируемое внутри внешней компоненты драйвера ККТ (библиотеки FprnM1C.dll / FprnM1C82_54FZ.dll). Ошибка происходит в момент разбора XML-пакета чека или вызова метода передачи позиций.
Проанализируем механизм передачи данных:
none в соответствии с обновленным форматом требований к подключаемому оборудованию."none" в целое число с помощью функции StrToInt."none" не является числом, драйвер прерывает выполнение операции и выбрасывает критическую ошибку, блокируя печать чека.Таким образом, проблема заключается в рассинхронизации формата передачи данных: обновленный релиз конфигурации 1С уже формирует пакет чека по новому стандарту, а используемая обработка обслуживания или библиотека драйвера кассы еще не поддерживают обработку строкового литерала none.
Наиболее простой и быстрый способ решения проблемы — обновление используемой обработки обслуживания торгового оборудования непосредственно из информационной базы через портал 1С.
Выполним следующие шаги:
atolkkt.epf обновится с устаревших версий (например, 1.30) до актуальной версии (1.50 и выше).После обновления версии обработки перезапустим сеанс 1С и повторим попытку пробития чека.
Если на рабочем месте кассира отсутствует прямой доступ к интернету или автоматическое обновление не изменило версию компоненты, выполним обновление вручную.
Для корректной работы фискализации чеков должны одновременно выполняться два обязательных условия:
ATOLKKT.epf с версией внешней компоненты, поддерживающей строковую передачу ставок НДС.Рассмотрим пошаговый алгоритм ручного обновления:
ATOLKKT.epf (версии 1.50 или выше) из каталога поставки шаблонов конфигураций TradeWareEpf или из дистрибутива релиза 1С..epf через кнопку выбора файла.В некоторых случаях после загрузки обновленной обработки 1С продолжает использовать старую библиотеку, сохраненную во временных каталогах операционной системы. Разберем, как принудительно очистить кэшированные файлы:
%TEMP% и %APPDATA%\1C) и удалим временные файлы и папки кэша конфигураций.FprnM1C.dll с помощью утилиты regsvr32.Если возможность быстрого обновления драйвера или обработки отсутствует, а работу торговой точки необходимо восстановить немедленно, проанализируем модуль обработки обслуживания ККТ. В процедуре подготовки данных чека найдем блок, отвечающий за заполнение ставки налога позиции, и добавим перехват значения "none":
// Пример корректировки передачи ставки НДС в модуле обработки обслуживания
Если ВРег(СокрЛП(СтавкаНДС)) = "NONE" Или ВРег(СокрЛП(СтавкаНДС)) = "БЕЗ НДС" Тогда
// Если используемая версия DLL требует числового идентификатора ставки
ТаблицаЧека.СтавкаНДС = 0;
Иначе
ТаблицаЧека.СтавкаНДС = СтавкаНДС;
КонецЕсли;
Такая доработка позволит обойти несовместимость типов данных в момент вызова методов устаревшей библиотеки драйвера до проведения штатного обновления всего программно-аппаратного комплекса.