Почему сбрасываются настройки ККМ АТОЛ 55Ф в 1С 7.7 и как их сохранить

Системный администратор 1С v7.7 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При интеграции фискальных регистраторов АТОЛ (в частности, популярных моделей АТОЛ 55Ф или АТОЛ 30Ф) с платформой 1С 7.7 (конфигурация «Торговля и Склад») специалисты часто сталкиваются со специфической ситуацией: внешняя компонента подключена, касса успешно пробивает чеки, однако после перезапуска 1С 7.7 связь с ККМ теряется, а параметры подключения не сохраняются. Кроме того, в меню Сервис — Параметры привычная вкладка настройки ККМ может менять свое название или вовсе отсутствовать.

Рассмотрим подробнее причины возникновения этой проблемы и разберем по шагам порядок действий для её устранения.

Причина 1. Ограничение прав доступа при создании служебных файлов

Выясним, как платформа 1С 7.7 и драйверы ККМ хранят настройки торгового оборудования. При первичной инициализации внешняя компонента драйвера пытается создать конфигурационные файлы торгового оборудования (в частности, файл 1stRozn.txt) в системном каталоге Windows (C:\Windows\) или в рабочей папке пользователя информационной базы.

Если сеанс 1С запущен под учетной записью Windows без прав администратора или в системе включен механизм UAC (User Account Control), ОС блокирует прямую запись в системные папки. В результате Windows перенаправляет запись в каталог виртуализации VirtualStore (C:\Users\<Имя_пользователя>\AppData\Local\VirtualStore), из-за чего при повторном входе 1С 7.7 не может прочитать сохраненные параметры.

Для решения этой проблемы выполним следующие шаги:

  1. Первый запуск 1С 7.7 после настройки торгового оборудования выполним от имени администратора (нажав правой кнопкой мыши на ярлык и выбрав пункт «Запуск от имени администратора»).
  2. Предоставим пользователям Windows полные права на чтение и запись для папки с информационной базой 1С и каталога установки платформы.
  3. Проверим, что у каждого пользователя в Конфигураторе 1С 7.7 в меню Администрирование — Пользователи задан персональный каталог пользователя, и права на запись в эту папку доступны.

Причина 2. Особенности регистрации DLL в 64-битных операционных системах

Платформа 1С 7.7 является 32-разрядным (x86) приложением. В 64-битных операционных системах Windows запуск утилиты regsvr32 из командной строки по умолчанию активирует 64-битную версию системного регистратора. Библиотека драйвера FprnM1C.dll, зарегистрированная таким способом, оказывается недоступной для 32-битного процесса 1С.

Проанализируем правильный порядок регистрации внешней компоненты:

  1. Откроем командную строку от имени администратора.
  2. Зарегистрируем внешнюю компоненту через 32-битный интерпретатор SysWOW64, выполнив команду:

C:\Windows\SysWOW64\regsvr32.exe "C:\PathToDll\FprnM1C.dll"

Причина 3. Изменение наименования вкладки и вызов окна свойств из кода

В новых версиях драйверов АТОЛ (серии ДТО 8) название закладки в меню Сервис — Параметры может измениться с «ККМ» на «Свойство» или «Драйвер ККТ». Это штатное поведение внешних компонент. Если визуальная страница настроек не отображается или работает некорректно, вызвать окно настройки свойств фискального регистратора можно программно из обработки обслуживания (например, fr_comm.ert).

Посмотрим на пример вызова страницы свойств драйвера ККТ из кода 1С 7.7:


// Создание объекта драйвера
ОбъектККМ = СоздатьОбъект("AddIn.FPrnM45");

// Вызов визуальной страницы свойств драйвера
ОбъектККМ.ShowProperties();
// Или используем русскоязычный аналог метода:
// ОбъектККМ.ПоказатьСтраницуСвойств();

Причина 4. Блокировка COM-порта тестовой утилитой драйвера

Разберем еще одну частую причину, почему при запуске 1С 7.7 сбрасывается подключение ККМ. Если перед запуском 1С открывалась сервисная утилита «Тест драйвера ККТ» и в ней остался установлен флаг «Устройство включено», утилита монопольно захватывает COM-порт (физический или виртуальный USB-COM).

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

Рекомендации по настройке обработки fr_comm.ert

Если в вашей конфигурации используется доработанная обработка обслуживания кассы fr_comm.ert, убедимся в правильности инициализации программного идентификатора (ProgID) при вызове метода СоздатьОбъект():


Процедура ПриОткрытии()
    Если ЗагрузитьВнешнююКомпоненту("FprnM1C.dll") = 0 Тогда
        Сообщить("Не удалось загрузить внешнюю компоненту FprnM1C.dll!");
        Возврат;
    КонецЕсли;
    
    Попытка
        ЗагруженнаяКасса = СоздатьОбъект("AddIn.FPrnM45");
    Исключение
        Сообщить("Ошибка создания COM-объекта драйвера ККМ!");
    КонецПопытки;
КонецПроцедуры

Соблюдение правил регистрации 32-битных библиотек, обеспечение прав доступа к персональным каталогам пользователей и корректное закрытие сторонних утилит тестирования позволяют полностью решить проблему со сбросом настроек АТОЛ 55Ф в 1С 7.7.

← На главную