При переходе на требования 54-ФЗ и подключении контрольно-кассовой техники (ККТ) с передачей данных в конфигурациях на обычных формах (таких как 1С:Управление торговлей 10.3, 1С:Комплексная автоматизация 1.1 или 1С:Управление производственным предприятием 1.3) разработчики и администраторы часто сталкиваются с рядом специфических проблем. Разберем основные ошибки при работе с универсальным драйвером торгового оборудования, выясним причины их возникновения и рассмотрим проверенные способы устранения.
Проанализируем ситуацию: при попытке открыть форму настройки торгового оборудования или универсального драйвера система выдает исключение Поле объекта не обнаружено (ПерейтиНаСайтПроизводителя). Данная ошибка возникает из-за того, что логика обработки универсального драйвера была частично перенесена из управляемых форм, где присутствовал соответствующий элемент управления интерфейсом, однако на обычной форме этот реквизит отсутствует.
Посмотрим на проблемный участок программного кода формы настройки драйвера:
Если ИнтеграционныйКомпонент И НЕ ОсновнойДрайверУстановлен Тогда
// ОсновнойДрайверУстановлен оказался ЛОЖЬ
ДрайверУстановлен = НСтр("ru='Установлен интеграционный компонент'");
ВерсияДрайвера = НСтр("ru='Не определена'");
Элементы.ДрайверНаименования.Видимость = НЕ ПустаяСтрока(НаименованиеДрайвера);
Элементы.ДрайверНаименования.Заголовок = СтрЗаменить(Элементы.ДрайверНаименования.Заголовок, "%Наименование%", НаименованиеДрайвера);
Элементы.СтатусДрайвера.ТекущаяСтраница = Элементы.ДрайверИнтеграционныйКомпонент;
Элементы.ПерейтиНаСайтПроизводителя.Видимость = НЕ ПустаяСтрока(АдресЗагрузкиДрайвера); // Ошибка возникает здесь
Иначе
Элементы.СтатусДрайвера.ТекущаяСтраница = Элементы.ДрайверУстановлен;
Элементы.ДрайверИВерсия.Доступность = Истина;
КонецЕсли;
Выясним причину: управление передается в ветку с ошибкой только в том случае, когда интеграционная компонента 1С загружена, но базовый драйвер производителя (например, библиотека FprnM1C.dll от АТОЛ) не зарегистрирован в операционной системе или не обнаружен платформой.
Для исправления проблемы разберем по шагам правильный порядок действий:
regsvr32.ПерейтиНаСайтПроизводителя либо оберните обращение в конструкцию Попытка ... Исключение. Однако помните: если основной драйвер не установлен корректно, само устройство работать в 1С не сможет.Рассмотрим распространенную проблему подключения ККТ (например, АТОЛ 22-ПТК) по сетевому интерфейсу TCP/IP. Часто при проверке связи из утилиты «Тест драйвера ККМ» устройство отвечает штатно, однако при вызове из 1С система зависает на несколько минут, выдает ошибку «нет связи», а сам кассовый аппарат перестает отвечать на команды до перезагрузки по питанию.
Проанализируем технические причины такого поведения:
Для стабильной работы ККТ по сети рекомендуется:
Разберем вопросы, возникающие при адаптации типовых алгоритмов под требования онлайн-касс:
ФискализироватьЧек вернет ошибку блокировки ККТ. В типовых конфигурациях открытие смены выполняется через отдельный документ Кассовая смена или специальную команду на панели кассира.Таким образом, для корректной работы онлайн-ККТ на обычных формах необходимо обеспечить соответствие разрядности драйверов платформе 1С, настроить монопольный доступ к сетевым портам кассы и перевести типовые документы на работу с объектами кассовых смен.