Как обновить и подключить драйвер ККТ в 1С:Управление торговлей 10.3?

Программист 1С v8.3 (Обычные формы) 1С:Управление торговлей Торговля и дистрибуция
← На главную

Коллеги, сегодня мы с вами подробно разберем, как обновить и правильно подключить драйвер контрольно-кассовой техники (ККТ) в одной из наиболее долгоживущих, но уже устаревших конфигураций – 1С:Управление торговлей 10.3 (УТ 10.3). Эта задача может оказаться довольно нетривиальной из-за прекращения официальной поддержки, а также из-за необходимости обеспечить соответствие системы современным требованиям 54-ФЗ и форматам фискальных данных (ФФД). Мы выясним, откуда берется нужный драйвер, как его «запихнуть» в обработку обслуживания, какие изменения внести в код и как решить типичные проблемы, связанные с версиями и совместимостью.

Часто возникает ситуация, когда после покупки нового фискального регистратора или изменения законодательства необходимо обновить драйвер ККТ. Попытка просто подменить файл .dll, такой как fptr10_1c_win32_10_10_5_0.dll, может не дать ожидаемого результата, поскольку 1С ожидает интеграционную компоненту определенного формата. В таких случаях часто приходится использовать обновленную обработку обслуживания для АТОЛ 10.х, которая корректно взаимодействует с библиотеками и поддерживает актуальные налоговые ставки.

1. Поиск и подготовка интеграционной компоненты драйвера ККТ

Первым шагом в обновлении драйвера ККТ является получение правильной интеграционной компоненты. Мы рассмотрем, где её искать и как подготовить.

Источники драйверов ККТ:

  1. Официальные драйверы ККТ, например, от компании АТОЛ, обычно доступны для скачивания на их официальных сайтах. Вам потребуется найти раздел «Программное обеспечение» -> «ДТО» (Драйверы Торгового Оборудования) -> «10.х».
  2. Крайне важно выбрать и скачать установочный файл драйвера, который соответствует разрядности вашей операционной системы (32-бит или 64-бит). Для УТ 10.3 и большинства старых реализаций 1С, как правило, требуются 32-битные версии драйверов. Если вы используете альтернативное оборудование, вам может потребоваться драйвер ККТ Посцентр с поддержкой ФФД 1.2 и ставки 22%.

Установка драйвера и извлечение компоненты:

  1. Запускаем установочный файл скачанного драйвера. Во время установки критически важно обратить внимание на опции. Обязательно установите флаг «Драйвер 1С» или «Интеграционный компонент для 1С». Без этого компонента корректное взаимодействие с 1С будет невозможно.
  2. После установки драйвера, интеграционная компонента (обычно в виде ZIP-архива) будет расположена в директории установки драйверов. Как правило, это путь вида \Drivers10\KKT\1Cv83. Именно этот ZIP-файл содержит то, что нам нужно для обновления макета обработки.
  3. Иногда компонента может быть не в ZIP, а в виде отдельного DLL-файла, но для работы с макетом обработки обслуживания 1С обычно требуется именно архив.

2. Обновление обработки обслуживания 1С

Теперь, когда у нас есть нужный ZIP-файл с компонентой, мы перейдем к его интеграции в обработку обслуживания 1С. Процесс включает несколько важных шагов:

«Запихивание» компоненты в макет:

  1. Откроем конфигурацию 1С:Управление торговлей 10.3 в режиме «Конфигуратор».
  2. Найдем существующую обработку обслуживания ККТ. Обычно это внешняя обработка. Если её нет, можно скачать типовую обработку обслуживания и адаптировать её под свои нужды. Стоит учесть, что для стабильной работы с маркировкой часто требуется специальная обработка обслуживания ККТ Атол для УТ 10.3 с ФФД 1.2, исправляющая ошибки пробития чеков.
  3. Внутри обработки обслуживания нас интересует макет с именем «ИнтеграционнаяКомпонента». Именно сюда мы должны поместить наш ZIP-файл.
  4. Правой кнопкой мыши по макету, выберем «Загрузить макет из файла» и укажем путь к нашему ZIP-файлу из папки драйвера.

Изменение имени компоненты в модуле обработки:

После загрузки ZIP-файла необходимо убедиться, что код обработки пытается подключить компоненту с правильным именем. Чтобы выяснить актуальное имя, загляните внутрь ZIP-архива в файл INFO.XML или manifest.xml. Там вы найдете строку с идентификатором (например, ATOL_KKT_1C83_V10).

Далее в модуле объекта обработки ищем блок подключения:


Попытка
    Макет = ПолучитьМакет("ИнтеграционнаяКомпонента");
    Адрес = ПоместитьВоВременноеХранилище(Макет);
    ПодключитьВнешнююКомпоненту(Адрес, "ИнтеграционнаяКомпонента", ТипВнешнейКомпоненты.Native);
    // Вот здесь мы меняем имя компоненты!
    Драйвер = Новый("AddIn.ИнтеграционнаяКомпонента.АТУАЛЬНОЕ_ИМЯ_КОМПОНЕНТЫ");
Исключение
    Инфо = ИнформацияОбОшибке;
    Результат = мОшибкаЗагрузкиДрайвера;
    ОписаниеОшибки = "Невозможно подключить внешнюю компоненту.";
КонецПопытки;

Замените АТУАЛЬНОЕ_ИМЯ_КОМПОНЕНТЫ на имя из манифеста (например, ATOL_KKT_1C83_V10). После этого сохраните изменения и обновите обработку в базе.

3. Совместимость версий 1С и драйверов ККТ

Вопрос совместимости является ключевым. Не всегда новый драйвер будет работать со старой версией 1С без обновления самой конфигурации.

Версия УТ 10.3 и драйверы:

  1. Для корректной работы с современными драйверами (АТОЛ 10.10.х и выше) может потребоваться УТ 10.3.56.1 или более поздняя версия. На старых релизах часто возникают ошибки загрузки, требующие доработки механизмов работы с маркировкой и ФФД 1.2.
  2. Это связано с тем, что в новых релизах 1С меняет механизмы работы с подключаемым оборудованием. Если вы используете ДТО 10.10.8.0, вам может пригодиться обработка обслуживания АТОЛ с исправлением ошибки tax.type для НДС 22%.

«Новый стандарт драйверов» и ФФД:

  1. Новые версии драйверов поддерживают актуальные ставки НДС и требования к маркировке. В УТ 10.3 без специальных правок могут возникнуть проблемы с передачей данных в ОФД.

4. Альтернативный подход: Подключение через COM-объект

Если интеграция через макеты не удается, существует более стабильный для «старичков» метод — прямое взаимодействие через COM.

Принцип работы с COM-объектом:

  1. Драйвер устанавливается в ОС, а 1С обращается к нему напрямую. Этот способ позволяет реализовать стабильное подключение ККТ через COM-объект, обходя ограничения интеграционных компонент 1С.
  2. Метод особенно хорош для терминальных серверов. Для тестирования взаимодействия и отладки разрешительного режима можно использовать эмулятор ККТ ФФД 1.2, работающий на обычных формах.

Попытка
    // Пример для драйвера АТОЛ
    ДрайверККТ = Новый COMОбъект("AddIn.FprnM10"); 
    // Дальнейшая работа с объектом ДрайверККТ
Исключение
    ОписаниеОшибки = "Не удалось создать COM-объект драйвера ККТ.";
КонецПопытки;

Различные способы подключения ККМ:

Заключение

Подключение и обновление драйвера ККТ для 1С:Управление торговлей 10.3 требует внимательности к деталям. Мы рассмотрем, как интегрировать компоненту в макет и как настроить связь через COM. Следуя этим рекомендациям и используя проверенные решения для 54-ФЗ, вы сможете обеспечить стабильную работу кассового оборудования даже в условиях прекращения основной поддержки конфигурации — для этого есть обработка для работы онлайн-касс по 54-ФЗ и ФФД 1.2.

← На главную