При работе с устаревшими или сильно кастомизированными конфигурациями 1С часто возникает дилемма: как внедрить требования законодательства (например, подключить онлайн-кассу с передачей данных) и при этом избежать сложного, дорогостоящего и рискованного обновления всей информационной базы. Типичным примером является конфигурация 1С:Управление торговлей ред. 10.3 (например, релиз 10.3.18.3 на обычных формах).
В этой статье мы подробно разберем, как решить задачу подключения ККТ (на примере оборудования АТОЛ) к старой версии УТ 10.3 с помощью внешних обработок обслуживания, а также проанализируем современные технические и законодательные нюансы, которые необходимо учесть для корректной работы оборудования.
Разработчики платформы 1С изначально заложили механизм внешних обработок обслуживания торгового оборудования. Это позволяет не внедрять код интеграции с кассой непосредственно в саму конфигурацию, а использовать внешние файлы с расширением .epf.
Для подключения ККТ к старой УТ 10.3 нам понадобятся:
Рассмотрим по шагам ключевые аспекты и сложности, с которыми мы неизбежно столкнемся при реализации этой схемы на практике.
Во времена создания старых релизов УТ 10.3 основным стандартом взаимодействия был драйвер АТОЛ версии 9 (ДТО 9) и более ранний ДТО 8. На сегодняшний день поддержка этих драйверов производителем полностью прекращена. Современные кассовые аппараты и их прошивки физически не способны работать со старым программным обеспечением.
Для успешной интеграции нам потребуется использовать актуальный Драйвер АТОЛ 10.х (DTO 10). Старые обработки обслуживания, поставляемые с УТ 10.3.18.3, его не поддерживают. Нам необходимо найти или адаптировать внешнюю обработку (например, современную версию ATOLkkt.epf), написанную под стандарт NativeAPI для работы с 10-й версией драйвера.
Проанализируем пример кода, который инициализирует подключение к ККТ через ДТО 10 в среде 1С:
// Пример инициализации драйвера АТОЛ 10 через NativeAPI
Попытка
ПодключитьВнешнююКомпоненту("ОбщийМакет.ДрайверАтолККТ10", "AtolDrivers10", ТипВнешнейКомпоненты.Native);
ДрайверККТ = Новый ("AddIn.AtolDrivers10.Fptr10");
Исключение
Предупреждение("Не удалось загрузить внешнюю компоненту драйвера АТОЛ 10!");
Возврат;
КонецПопытки;
Если в вашей конфигурации нет общего макета с новым драйвером (а в релизе 10.3.18.3 его точно нет), внешняя обработка должна уметь загружать библиотеку из внешнего файла (например, fptr10.dll), зарегистрированного в операционной системе, либо поставлять интеграционную компоненту внутри себя.
Если на предприятии планируется продажа маркированного товара (обувь, одежда, табак, парфюмерия, молочная продукция и т.д.), задача существенно усложняется. Согласно законодательству, продажа таких товаров должна осуществляться по формату фискальных данных ФФД 1.2.
Выясним причину, почему простая внешняя обработка здесь не решит проблему «из коробки»:
Тег 2108 (мера количества предмета расчета), без которого касса под ФФД 1.2 просто откажется печатать чек.Как решить проблему маркировки без обновления конфигурации?
Для этого придется внедрить локальные изменения в конфигурацию (или воспользоваться платными специализированными расширениями/модулями интеграции от сторонних разработчиков). Эти решения работают следующим образом: они перехватывают табличную часть документа продажи, запрашивают сканирование кодов маркировки через кастомные формы ввода, самостоятельно формируют XML-пакет для драйвера АТОЛ 10 в соответствии с требованиями ФФД 1.2 и передают его на ККТ.
На старых форумах можно встретить утверждения, что внешние обработки для ККТ совместимы с платформами 8.1 и 8.2. В современных реалиях это не так.
Для работы современных версий NativeAPI-компонент драйверов АТОЛ 10 требуется актуальная платформа 1С:Предприятие 8.3. Если ваша база УТ 10.3 все еще запускается под управлением старых версий платформы (8.1 или 8.2), вам потребуется в обязательном порядке перевести работу базы на платформу 8.3 (при этом сама конфигурация УТ 10.3 может оставаться неизменной и работать в режиме совместимости).
Разберем по шагам, как подготовить базу к переходу на платформу 8.3:
1Cv8.1CD!).Часто база 1С:Управление торговлей развернута на удаленном сервере, а кассовый аппарат физически подключен к локальному компьютеру кассира по USB. Передача сигналов COM-порта через стандартный проброс портов в RDP-клиенте часто работает крайне нестабильно, приводя к зависаниям печати чека на 10–20 секунд.
Рассмотрим более современное и стабильное решение, которое предоставляет драйвер АТОЛ 10:
6220).При такой схеме пакеты данных чека передаются напрямую по сетевому протоколу, что гарантирует моментальный отклик и мгновенное пробитие чека без задержек.
Подключение современной онлайн-кассы к старой конфигурации «1С:Управление торговлей 10.3» без глобального обновления конфигурации вполне реально. Для этого потребуется перевести базу на платформу 1С 8.3, использовать драйвер АТОЛ 10-й версии и найти адаптированную под данный драйвер внешнюю обработку обслуживания. Однако, если ваша деятельность связана с продажей подконтрольных и маркированных товаров, вам все же придется внедрить локальные изменения в код конфигурации или приобрести готовый интеграционный модуль для поддержки стандартов ФФД 1.2.