При интеграции кассовых аппаратов нового поколения (платформы 2.5 / 5.0), переведенных в режим печати документов (АСПД/ЕНВД без фискального накопителя), с конфигурацией 1С:Управление торговлей 10.3 разработчики часто сталкиваются с ошибками печати: Возможны расхождения ленты ФР и ИБ! Неверное количество!, после чего касса печатает Чек аннулирован. Разберем по шагам, почему возникает эта проблема и как правильно настроить оборудование.
Прежде чем выполнять настройки внутри 1С, необходимо исключить аппаратные и системные сбои на уровне самого кассового оборудования. Проанализируем алгоритм проверки:
Если из теста драйвера чек пробивается корректно и без ошибок, значит, физическое подключение, прошивка и драйвер работают штатно. Проблема кроется в настройках торгового оборудования или коде обработок внутри 1С.
Основная ошибка при подключении современных аппаратов (даже работающих без ФН как принтеры чеков) заключается в неверном выборе типа оборудования. В классической 1С:Управление торговлей 10.3 предусмотрено два типа подключаемых устройств:
При попытке запустить кассу АТОЛ 55Ф как фискальный регистратор по протоколу 2.4 обработка обслуживания передает команды регистрации позиций в старом формате. Если передаются пустые параметры или текстовые строки через метод регистрации, прошивка кассы фиксирует неверные параметры, возвращает ошибку неверного количества и аннулирует чек.
В нетиповых или доработанных конфигурациях Управление торговлей 10.3 логика работы с торговым оборудованием может содержать жесткую фильтрацию по типу устройства. Рассмотрим пример того, как в коде может быть ограничена выборка касс:
// В типовых доработках часто встречается фильтрация только по типу ФР:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТО.Ссылка КАК Устройство
|ИЗ
| Справочник.ТорговоеОборудование КАК ТО
|ГДЕ
| ТО.Вид = ЗНАЧЕНИЕ(Перечисление.ВидыТорговогоОборудования.ФискальныйРегистратор)
| И ТО.ПометкаУдаления = ЛОЖЬ";
Если касса зарегистрирована в справочнике торгового оборудования как ККТ с передачей данных, приведенный выше запрос вернет пустой результат. В результате модуль печати чека не сможет инициализировать объект драйвера и выдаст ошибку расхождения данных ленты и информационной базы.
Для исправления ситуации необходимо расширить условие выборки в модулях документов (например, ЧекККМ или ОтчетОРозничныхПродажах), добавив поддержку типа ККТ с передачей данных:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ТО.Ссылка КАК Устройство
|ИЗ
| Справочник.ТорговоеОборудование КАК ТО
|ГДЕ
| (ТО.Вид = ЗНАЧЕНИЕ(Перечисление.ВидыТорговогоОборудования.ФискальныйРегистратор)
| ИЛИ ТО.Вид = ЗНАЧЕНИЕ(Перечисление.ВидыТорговогоОборудования.ККТСПередачейДанных))
| И ТО.ПометкаУдаления = ЛОЖЬ";
При печати чеков на кассе без ФН нередко возникает ситуация, когда в чеке принудительно печатается ставка НДС (18% или 20%), несмотря на отсутствие налога в 1С. Разберем, как это устранить:
Выполнив правильное подключение через категорию ККТ с передачей данных и откорректировав доработанные модули обращения к торговому оборудованию, мы получаем стабильно работающую печать чеков в 1С:УТ 10.3.