Почему в УТ 10.3 параметры ККТ пишут старую версию драйвера и как это исправить?

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

При работе с торговым оборудованием в старых конфигурациях, таких как 1С:Управление торговлей 10.3, специалисты часто сталкиваются с парадоксальной ситуацией. В операционной системе установлена актуальная версия драйвера (например, АТОЛ 9.12.3), но при нажатии кнопки «Параметры» в справочнике торгового оборудования 1С настойчиво рапортует об использовании старой версии (например, 9.12.0). Рассмотрим подробно, почему так происходит, и разберем по шагам, как привести систему к единому знаменателю.

Разберем причину расхождения версий

Для начала проанализируем архитектуру взаимодействия 1С с контрольно-кассовой техникой (ККТ). В «обычных формах» (УТ 10.3) 1С работает с кассой не напрямую, а через промежуточное звено — обработку обслуживания (файл с расширением .epf). Внутри этой обработки находится так называемая интеграционная компонента — это библиотека (DLL), которая зашита в макет обработки в виде двоичных данных.

Когда вы открываете окно параметров оборудования, программа обращается не к тем файлам, которые лежат в C:\Program Files\ATOL, а к той самой библиотеке, которую она извлекла из макета обработки во временную папку. Таким образом, даже если вы обновили основной драйвер в Windows, 1С продолжает «видеть» и использовать старую версию компоненты, упакованную внутри обработки обслуживания.

Шаг 1: Подготовка необходимых файлов

Выясним, где взять актуальную компоненту. При установке драйверов АТОЛ (в данном случае 9-й версии) инсталлятор копирует файлы для интеграции с 1С в отдельный каталог. Обычно он находится по пути:

C:\Program Files (x86)\ATOL\Drivers9\KKT\1Cv83\

В этой папке нам нужно найти ZIP-архив или напрямую DLL-файл. В рассматриваемом случае это файл fptrwin32_fz54_9_12_3_6332.dll. Именно этот файл мы будем «внедрять» в нашу конфигурацию.

Шаг 2: Обновление макета в обработке обслуживания

Теперь рассмотрим, как заменить устаревшую компоненту на новую. Этот процесс требует использования режима Конфигуратор. Выполним следующие действия:

  1. Откроем Конфигуратор вашей базы 1С.
  2. Если вы используете внешнюю обработку обслуживания (она подключена в справочнике «Обработки обслуживания»), откройте её через меню Файл -> Открыть. Если обработка встроена в конфигурацию, найдите её в дереве объектов (обычно это Обработки -> ТОСервер или аналогичные).
  3. В дереве обработки перейдем в раздел Макеты.
  4. Найдем макет, который содержит интеграционную компоненту. Обычно он называется ИнтеграционнаяКомпонента или Драйвер.
  5. Нажмем правой кнопкой мыши на макете и выберем пункт «Загрузить из файла...».
  6. Выберем подготовленный ранее файл fptrwin32_fz54_9_12_3_6332.dll (или соответствующий ZIP-архив из дистрибутива драйвера).

Шаг 3: Корректировка программного кода версии

Проанализируем ситуацию: иногда после замены DLL в параметрах всё равно отображается старый номер версии. Это происходит потому, что номер версии может быть жестко прописан в модуле обработки текстом. Разберем, что нужно поправить:

  1. В окне редактирования обработки нажмем кнопку «Действия» -> «Открыть модуль объекта».
  2. Воспользуемся поиском (Ctrl+F) и найдем строку, где упоминается старая версия (например, "9.12.0").
  3. Если такая строка найдена в функциях типа ПолучитьПараметрыНастройки или ВерсияДрайвера, вручную заменим её на актуальную.

Пример возможного участка кода в модуле:


Функция ПолучитьВерсиюДрайвера(ОбъектДрайвера) Экспорт
    // Если версия определяется программно через объект, код менять не нужно.
    // Если же она задана константой, исправляем:
    Версия = "9.12.3.6332"; 
    Возврат Версия;
КонецФункции

Шаг 4: Очистка временных файлов (Кэша)

Выясним важный нюанс: 1С имеет свойство кэшировать внешние компоненты. Даже после обновления обработки программа может продолжать использовать старую DLL, сохраненную в профиле пользователя. Чтобы изменения вступили в силу, проделаем следующее:

  1. Закроем 1С:Предприятие.
  2. Перейдем в папку временных файлов текущего пользователя Windows. Обычно это путь: %AppData%\Local\1C\1Cv8\ExtCompT.
  3. Удалим всё содержимое этой папки. Не беспокойтесь, 1С заново создаст нужные файлы при следующем обращении к оборудованию, но уже из обновленной обработки.
  4. Также полезно очистить папку %AppData%\Roaming\1C\1Cv8\ (папки с длинными буквенно-цифровыми именами кэша метаданных).

Шаг 5: Повторное подключение оборудования

После проведенных манипуляций возвращаемся в режим «Предприятие»:

  1. Зайдем в меню Сервис -> Торговое оборудование -> Подключение и настройка торгового оборудования.
  2. Удалим текущую настройку ККТ (предварительно сохранив параметры связи: COM-порт, скорость).
  3. Загрузим обновленную обработку обслуживания в справочник «Обработки обслуживания», если вы используете внешние файлы.
  4. Создадим новую запись для ККТ и выберем обновленную обработку.
  5. Нажмем кнопку «Параметры». Теперь версия должна соответствовать установленной в системе — 9.12.3.6332.

Важное замечание о 9-й версии драйверов АТОЛ

Проанализируем текущее состояние технологий. Драйверы АТОЛ серии 9.х на данный момент официально признаны устаревшими. Они создавались как переходный вариант между 8-й и 10-й версиями. Если ваша организация планирует работать с маркированным товаром (Честный Знак, ФФД 1.2), возможностей 9-й версии драйвера будет недостаточно. Она может некорректно передавать теги маркировки в ОФД.

Рекомендуется рассмотреть переход на 10-ю версию драйверов (DTO 10). Для УТ 10.3 существуют как типовые обработки от компании 1С, поддерживающие 10-й драйвер, так и качественные сторонние разработки. Переход на 10-й драйвер избавит вас от необходимости ручной регистрации библиотек через regsvr32, так как он работает по технологии Native API, которая более стабильна и современна.

Таким образом, мы выяснили, что корень проблемы кроется в «упаковке» драйвера внутрь обработки 1С, и научились обновлять это внутреннее содержимое вручную. Это позволяет поддерживать работоспособность системы даже при использовании старых конфигураций на базе обычных форм.

← На главную