Почему 1С:Управление торговлей теряет связь с кассой Штрих-М при перезапуске и как решить эту проблему

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

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

Особенно часто с этой проблемой сталкиваются пользователи классических конфигураций на обычных формах, таких как «Управление торговлей», редакция 10.2 и 10.3, работающих на платформе 1С:Предприятие 8.2 или 8.3 в режиме совместимости. В этой статье мы подробно разберем технические причины этого сбоя и разработаем пошаговый план действий для его окончательного устранения.

В чем кроется причина сброса настроек кассы?

Для того чтобы эффективно решить проблему, нам необходимо понять физику процесса взаимодействия платформы 1С, драйвера торгового оборудования и операционной системы Windows. Рассмотрим основные причины, по которым настройки COM-порта могут «слетать» при перезапуске сеанса.

1. Наличие дубликатов динамической библиотеки драйвера (DrvFR.dll) в системе

Это самая распространенная причина, с которой сталкиваются ИТ-специалисты. Драйвер ККТ «Штрих-М» представляет собой внешнюю компоненту, физически реализованную в виде файла библиотеки DrvFR.dll. При установке официального программного обеспечения от производителя библиотека регистрируется в системе и располагается в каталоге программы (например, C:\Program Files (x86)\SHTRIH-M\Drivers\).

Однако часто при ручной настройке или переносе базы данных администраторы копируют файлы DrvFR.dll и DrvFR.lic непосредственно в каталог платформы 1С (папка bin), в каталог шаблонов или даже в папку самой базы данных. При запуске 1С обращается к реестру Windows для инициализации COM-объекта. Если в системе зарегистрировано несколько разных версий этой библиотеки, возникает конфликт: настройка оборудования происходит с использованием одной библиотеки, а при старте нового сеанса 1С инициализирует совершенно другую копию (например, из папки bin платформы), у которой в параметрах прописан дефолтный порт (обычно COM1). Именно поэтому настройки, сохраненные в рамках одного сеанса, бесследно исчезают при следующем запуске.

2. Ограничение прав доступа пользователя в операционной системе Windows (UAC)

Параметры подключения торгового оборудования драйвер «Штрих-М» сохраняет не только во внутренней структуре базы данных 1С, но и в системном реестре Windows. Путь хранения настроек по умолчанию для текущего пользователя выглядит следующим образом: HKEY_CURRENT_USER\Software\SHTRIH-M\DrvFR\. Если операционная система работает с включенной службой контроля учетных записей (UAC), а пользователь Windows, под которым запущена 1С, не обладает правами локального администратора, операционная система блокирует или виртуализирует запись в эту ветку реестра.

В результате в процессе работы 1С параметры временно удерживаются в оперативной памяти или виртуальном кэше реестра, но при закрытии процесса 1С операционная система уничтожает эти временные данные. При повторном запуске драйвер считывает незаполненную ветку реестра и сбрасывает настройки на первоначальные.

3. Специфика работы виртуальных COM-портов при подключении по USB

Современные фискальные регистраторы подключаются к компьютерам через USB-интерфейс. Для того чтобы старая программа (такая как УТ 10.2) смогла взаимодействовать с кассой, в операционной системе устанавливается специальный VCOM-драйвер (Virtual COM Port), который эмулирует стандартный последовательный порт. Здесь кроются две проблемы:

4. Использование терминального режима работы (RDP)

Если база данных 1С:Управление торговлей развернута на сервере терминалов, а пользователи работают через удаленные рабочие столы (RDP), возникает конфликт идентификации рабочих мест. В старых конфигурациях 1С настройки торгового оборудования в регистре сведений привязываются к **имени компьютера** (имени рабочей станции). На сервере терминалов все сессии пользователей могут определяться под одним и тем же системным именем сервера. В результате настройки оборудования одного пользователя начинают перезаписывать параметры другого пользователя при каждом новом входе в систему.

---

Пошаговая инструкция по решению проблемы

Проанализировав все возможные причины сбоя, перейдем к практическим шагам по устранению неполадки. Выполним эти шаги последовательно, чтобы гарантированно локализовать и устранить источник проблемы.

Шаг 1: Полная очистка операционной системы от дубликатов драйверов

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

  1. Закроем все запущенные сеансы 1С:Предприятия на данном компьютере.
  2. Зайдем в панель управления Windows -> «Программы и компоненты» и полностью удалим все установленные версии драйверов «Штрих-М» (Драйвер ФР).
  3. Откроем проводник Windows и запустим глобальный поиск по всем локальным дискам файла с именем DrvFR.dll.
  4. Внимательно проанализируем результаты поиска. Нам необходимо удалить абсолютно все найденные файлы DrvFR.dll и файлы лицензий DrvFR.lic (если они есть) изо всех директорий, за исключением дистрибутивов. Особое внимание уделим следующим папкам:
    • Каталоги установки платформы 1С: C:\Program Files (x86)\1cv8\8.X.X.X\bin\
    • Системные папки Windows: C:\Windows\System32\ и C:\Windows\SysWOW64\
    • Временные папки пользователей и папки кэша 1С.

Шаг 2: Чистая установка и ручная регистрация компоненты

После того как система полностью очищена от старых библиотек, выполним чистую установку драйвера ККТ.

  1. Скачаем актуальную стабильную версию драйвера «Штрих-М» (рекомендуется использовать проверенные версии, например, линейки 4.14 или 4.15) с официального сайта производителя.
  2. Запустим файл установщика от имени Администратора (правой кнопкой мыши -> «Запуск от имени администратора»).
  3. Выполним стандартную процедуру установки в каталог по умолчанию (например, C:\Program Files (x86)\SHTRIH-M\Drivers\).
  4. Зарегистрируем библиотеку в реестре Windows вручную через командную строку. Для этого откроем командную строку от имени администратора и выполним следующую команду:

regsvr32 "C:\Program Files (x86)\SHTRIH-M\Drivers\DrvFR.dll"

При успешном выполнении команды система должна выдать информационное сообщение о том, что регистрация прошла успешно. Это гарантирует, что при обращении 1С к COM-объекту операционная система будет вызывать именно эту, единственную и актуальную версию библиотеки.

Шаг 3: Настройка прав доступа к реестру Windows

Чтобы операционная система не блокировала сохранение настроек порта, предоставим пользователю Windows полные права на соответствующую ветку реестра.

  1. Нажмем комбинацию клавиш Win + R, введем команду regedit и нажмем Enter для запуска редактора реестра.
  2. Перейдем по пути: HKEY_CURRENT_USER\Software\SHTRIH-M\ (для 32-битных систем) или дополнительно проверим ветку HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\SHTRIH-M\ (для 64-битных систем).
  3. Нажмем правой кнопкой мыши на раздел SHTRIH-M (или вложенный раздел DrvFR) и выберем пункт «Разрешения...».
  4. В открывшемся окне выберем пользователя (или группу «Пользователи»), под которым осуществляется работа в 1С, и установим галочку в столбце «Разрешить» напротив пункта «Полный доступ».
  5. Нажмем кнопку «Применить» и закроем редактор реестра.

Шаг 4: Фиксация параметров виртуального COM-порта в Windows

Для предотвращения изменения номеров портов операционной системой и обеспечения стабильного подключения кассы по USB выполним следующие настройки в диспетчере устройств.

  1. Подключим кассу к компьютеру и включим ее питание.
  2. Откроем «Диспетчер устройств» Windows (команда devmgmt.msc в строке «Выполнить»).
  3. Раскроем ветку «Порты (COM и LPT)». Найдем наш виртуальный порт ККТ (он может называться «Штрих-М USB устройства» или «USB-SERIAL CH340» в зависимости от используемой микросхемы).
  4. Нажмем на устройство правой кнопкой мыши и выберем «Свойства».
  5. Перейдем на вкладку «Параметры порта» и нажмем кнопку «Дополнительно».
  6. В поле «Номер COM-порта» принудительно выберем свободный номер в диапазоне от **COM1 до COM9** (например, COM3). Старые драйверы Штриха могут некорректно работать с портами, номера которых двузначные (COM10 и выше).
  7. Перейдем на вкладку «Управление электропитанием» (если она присутствует) и обязательно снимем галочку с пункта **«Разрешить отключение этого устройства для экономии энергии»**. Это предотвратит засыпание USB-порта и потерю связи с кассой в моменты простоя торговой точки.
  8. Сохраним изменения, нажав кнопку «ОК».

Шаг 5: Первичная настройка торгового оборудования в 1С

Теперь проведем финальную настройку оборудования непосредственно в информационной базе 1С:Управление торговлей.

  1. Запустим 1С под учетной записью пользователя с административными правами.
  2. Перейдем в меню «Сервис» -> «Торговое оборудование» -> «Подключение и настройка торгового оборудования».
  3. В появившемся окне выберем закладку «Фискальные регистраторы» и откроем свойства текущего настроенного устройства.
  4. Нажмем кнопку «Параметры...». В открывшемся окне драйвера «Штрих-М» выберем порт (тот самый COM-порт, который мы зафиксировали в диспетчере устройств, например, COM3) и установим корректную скорость работы (рекомендуется выставить скорость, совпадающую со скоростью в самой кассе, обычно это 115200 или 19200 бод).
  5. Нажмем кнопку **«Проверка связи»**. Если все сделано верно, в строке состояния отобразится модель вашей кассы и ее заводской номер.
  6. Нажмем «Применить» и закроем все диалоговые окна настроек.

Для надежности выполним тестовый перезапуск программы. Закроем 1С:Управление торговлей, подождем несколько секунд и откроем программу заново. Попробуем выполнить любую операцию с кассой (например, снять X-отчет). Связь должна установиться мгновенно, без повторного запроса настроек COM-порта.

---

Что делать, если настройки продолжают слетать?

Если после выполнения всех вышеописанных шагов параметры порта все равно сбрасываются при перезапуске, проанализируем нестандартные сценарии.

Конфликт в терминальном режиме (RDP): Если работа ведется на сервере терминалов, убедимся, что в карточке торгового оборудования в 1С не включена общая настройка для всех рабочих мест. В УТ 10.2/10.3 каждое рабочее место должно иметь уникальный идентификатор. Рекомендуется настроить подключение кассы локально на каждом ПК, а на сервере использовать проброс COM-портов через RDP-клиент (в параметрах подключения RDP на вкладке «Локальные ресурсы» должна стоять галочка «Порты»).

Скрипты очистки кэша: Обратимся к системному администратору компании и выясним, не настроена ли на рабочем компьютере автоматическая очистка кэша 1С при входе пользователя в систему (например, через бат-файлы или политики GPO). При жестком удалении папок в каталогах AppData\Local\1C и AppData\Roaming\1C стираются также локальные файлы настроек пользователя, что неизбежно приводит к обнулению привязок оборудования.

Используя предложенный нами комплексный подход, мы сможем гарантировать стабильную и бесперебойную работу ККТ «Штрих-М» в конфигурации 1С:Управление торговлей без раздражающих сбросов параметров подключения.

← На главную