При автоматизации небольших торговых точек часто возникает классическая дилемма: имеется стабильно работающая, но давно не обновлявшаяся конфигурация УТ 10.3 (например, старый релиз 10.3.20.2), и появляется необходимость подключить современную онлайн-кассу, отвечающую требованиям 54-ФЗ — в нашем случае, популярный фискальный регистратор Атол 11Ф.
Давайте подробно разберем, с какими техническими трудностями придется столкнуться, почему штатные механизмы старых релизов 1С не заработают «из коробки», и какие практические варианты решения существуют на сегодняшний день.
В конфигурации УТ 10.3.20.2 встроенного функционала для работы с онлайн-кассами (передачи данных оператору фискальных данных — ОФД) нет вообще. Официальная интеграция ККТ с передачей данных появилась в решениях 1С только в начале 2017 года, начиная с релиза 10.3.40.1. Более того, ранние версии обновлений поддерживали устаревший ныне драйвер АТОЛ версии 8.х. Современные фискальные накопители (ФН-М), требования форматов фискальных данных ФФД 1.05 и особенно ФФД 1.2 (для маркированных товаров) стабильно работают исключительно на 10-й версии драйвера — ДТО 10 (Драйвер торгового оборудования).
Рассмотрим детально три основных пути решения этой задачи, взвесим их плюсы и минусы, а также изучим процесс практической настройки оборудования.
Это самый очевидный и правильный с точки зрения методологии 1С путь. Если мы обновим конфигурацию УТ 10.3 до актуального состояния, мы автоматически получим поддержку библиотеки подключаемого оборудования (БПО), которая умеет штатно взаимодействовать с драйверами ДТО 10.
Как выполнить этот процесс правильно:
УТ 10.3.20.2 поставщика.ATOLkkt.epf (или встроенную обработку БПО в последних релизах), предварительно установив на ПК ДТО 10 актуальной версии.Минусы сценария: Если конфигурация переписана очень сильно, процесс обновления может затянуться на недели работы программиста и стоить весьма дорого, что нецелесообразно для маленького магазина.
Если конфигурацию обновлять нельзя или экономически невыгодно, мы можем интегрировать кассу Атол 11Ф напрямую в старый релиз при помощи специализированных внешних обработок. На профессиональных ресурсах программистов существуют готовые качественные решения (как платные с закрытым кодом, так и абсолютно открытые бесплатные проекты).
Внешняя обработка обслуживания заменяет стандартную обработку работы с ТО. Она берет на себя формирование XML-пакета чека в формате, который понимает драйвер ДТО 10, инициализирует COM-объект драйвера и отправляет команду на печать физического чека.
Важный нюанс с платформой 1С: Несмотря на то, что саму конфигурацию УТ 10.3 мы не обновляем, нам, скорее всего, придется обновить технологическую платформу 1С:Предприятие. Современные компоненты интеграции ДТО 10 требуют для стабильной работы платформу не ниже версии 8.3.13. Старые платформы линейки 8.2 или ранние 8.3 не смогут корректно загрузить внешнюю внешнюю компоненту драйвера.
Выясним причину, почему этот способ считается одним из самых надежных в среде интеграторов. В составе современного драйвера ДТО 10 поставляется встроенная служба — Веб-сервер АТОЛ.
При такой схеме касса подключается к компьютеру, на котором запускается веб-служба. Веб-сервер ожидает входящие запросы по локальной сети или локальному хосту (обычно порт 16732). Из любой старой версии 1С мы можем сформировать обычный текстовый JSON-запрос и отправить его на кассу посредством стандартного протокола HTTP.
Посмотрим на пример реализации отправки JSON-запроса из кода 1С:
// Создаем структуру для отправки чека на веб-сервер
ПараметрыСоединения = Новый HTTPСоединение("127.0.0.1", 16732);
ЗапросHTTP = Новый HTTPЗапрос("/api/v1/tasks");
ЗапросHTTP.УстановитьИмяЯщика("Content-Type", "application/json");
// Формируем JSON-пакет чека
ТекстJSON = "{
| ""uuid"": """ + Строка(Новый УникальныйИдентификатор()) + """,
| ""request"": [
| {
| ""type"": ""sell"",
| ""taxationType"": ""usnIncome"",
| ""operator"": {""name"": ""Иванов И.И.""},
| ""items"": [
| {
| ""type"": ""position"",
| ""name"": ""Товар тестовый"",
| ""price"": 100.00,
| ""quantity"": 1,
| ""amount"": 100.00,
| ""department"": 1,
| ""tax"": {""type"": ""none""}
| }
| ],
| ""payments"": [
| {
| ""type"": ""cash"",
| ""amount"": 100.00
| }
| ]
| }
| ]
|}";
ЗапросHTTP.УстановитьТелоИзСтроки(ТекстJSON, КодировкаТекста.UTF8);
Ответ = ПараметрыСоединения.ОтправитьДляОбработки(ЗапросHTTP);
Если Ответ.КодСостояния = 201 Тогда
// Запрос успешно принят в очередь печати
Иначе
ВызватьИсключение "Ошибка отправки чека на ККМ!";
КонецЕсли;
Этот способ полностью решает проблему совместимости разрядностей 1С и драйверов, исключает проблемы с «падением» платформы из-за некорректной работы dll-библиотек и позволяет печатать чеки на одной кассе даже с нескольких разных компьютеров в локальной сети.
Если мы настраиваем прямое подключение ККТ к 1С через внешнюю обработку и интеграционную компоненту, разберем по шагам ключевые моменты настройки, на которых чаще всего спотыкаются специалисты.
Шаг 1. Контроль разрядности (Bitness)
Это критически важный момент. База УТ 10.3 работает под управлением 32-битного клиента платформы 1С:Предприятие (даже если у вас установлена 64-разрядная операционная система Windows). Следовательно, подключаемая внешняя компонента 1С должна обращаться к 32-битной версии библиотек Атол. При скачивании дистрибутива ДТО 10 обязательно устанавливайте 32-битную (x86) версию драйвера.
Шаг 2. Настройка службы передачи данных EoU (Ethernet Over USB)
Для того чтобы касса Атол 11Ф отправляла пробитые чеки вашему оператору фискальных данных (ОФД), ей необходим доступ в интернет. Самый простой способ обеспечить его через один USB-кабель — настроить службу EoU, которая устанавливается вместе с драйверами АТОЛ.
Проанализируем порядок действий:
C:\Program Files (x86)\ATOL\Drivers10\KKT\Tools\EoU) и открываем конфигурационный файл settings.xml.Шаг 3. Сопоставление систем налогообложения (СНО)
При первой попытке печати чека из старой 1С пользователи часто получают ошибку кассы: «Некорректная СНО» или «Ошибка ФН 321». Причина кроется в несовпадении настроек организации в 1С и параметров регистрации фискального накопителя.
В настройках торгового оборудования или в кодовой части внешней обработки обязательно проверьте передаваемый параметр системы налогообложения. Он должен строго соответствовать СНО, которая была указана при фискализации ККТ Атол 11Ф в налоговой инспекции.
Мы подробно рассмотрели все возможные варианты подключения онлайн-кассы к устаревшей информационной базе. Для небольшого магазина оптимальным решением без серьезных финансовых вложений будет использование сторонней качественной внешней обработки, поддерживающей современные драйверы ДТО 10, либо интеграция ККТ через Веб-сервер АТОЛ, что полностью обезопасит систему от сбоев платформы при будущих обновлениях ОС.