При обслуживании серверной инфраструктуры системные администраторы часто сталкиваются с ситуацией, когда после переустановки операционной системы или простого изменения имени сервера (HostName) в учетной системе 1С перестает работать торговое оборудование. В конфигурации 1С:Управление торговлей 10.3 (УТ 10.3) это проявляется невозможностью выбрать склад при закрытии смены или появлением ошибки "За кассовую смену не продано ни одного товара по выбранной кассе ККМ". В данной статье мы подробно разберем, почему это происходит и как восстановить работоспособность системы по шагам.
В архитектуре 1С:Предприятие 8 на обычных формах (к которым относится УТ 10.3) настройки торгового оборудования жестко привязаны к конкретному рабочему месту. Программа идентифицирует рабочее место с помощью системной функции ИмяКомпьютера(). Рассмотрим ситуацию: если ранее сервер назывался SERVER, а после переустановки Windows ему присвоили имя SERV1C, то для платформы 1С это абсолютно новый компьютер.
Все записи в Регистре сведений «Торговое оборудование» остаются привязанными к старому имени SERVER. Когда пользователь открывает обработку «Закрытие кассовой смены», программа делает запрос к этому регистру, передавая текущее имя компьютера. Не находя совпадений, 1С считает, что к данному рабочему месту не подключено ни одно устройство, и блокирует поле выбора склада или выдает сообщение об отсутствии продаж.
Для того чтобы исправить ситуацию, нам необходимо убедиться, что записи в базе данных соответствуют актуальному сетевому имени сервера. Проделаем следующие действия:
Вы можете либо переименовать сервер в ОС обратно, как сделал автор темы, либо (что более правильно с точки зрения администрирования) обновить записи в 1С. Для этого в режиме 1С:Предприятие нужно зайти в справочник торгового оборудования и перевыбрать устройство для текущего рабочего места.
Если ваши кассы работают в режиме Offline (когда данные о продажах загружаются из текстовых файлов, например, из папок на Яндекс.Диске), проблема часто кроется в «слетевших» путях обмена. Разберем по шагам, как проверить эти настройки:
Перейдем в справочник Кассы ККМ и найдем ту, по которой не удается закрыть смену. Откроем настройки подключенного оборудования. Нам важна кнопка «Параметры». Именно там прописываются пути к файлам выгрузки (например, goods.txt) и файлам отчетов (report.txt).
Обратите внимание на следующие моменты:
C:\Users\... могли измениться. Проверьте, что у пользователя, под которым запущена 1С, есть права на чтение и удаление файлов в этих папках.Эта ошибка в УТ 10.3 часто является следствием того, что 1С не может найти файл отчета в указанной директории. Рассмотрим алгоритм работы обработки закрытия смены:
ИмяКомпьютера().Важный нюанс: Если прошло более 24 часов с момента открытия смены на фискальном регистраторе, сама касса может блокировать операции. Однако для режима Offline «смена» в 1С — это просто порция данных. Если физически Z-отчет на кассе снят, но в 1С он не попал, проверьте наличие файла отчета в папке обмена вручную.
Для программистов и системных администраторов полезно знать, какой код отвечает за проверку оборудования. В типовой УТ 10.3 часто используется вызов функции из общего модуля ТорговоеОборудованиеОффлайн. Посмотрим на пример логики, которую можно использовать для диагностики:
// Пример логики поиска оборудования
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ТорговоеОборудование.Ссылка
|ИЗ
| РегистрСведений.ТорговоеОборудование КАК ТорговоеОборудование
|ГДЕ
| ТорговоеОборудование.Компьютер = &ИмяКомпьютера";
Запрос.УстановитьПараметр("ИмяКомпьютера", ИмяКомпьютера());
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
Сообщить("Оборудование не привязано к данному серверу!");
КонецЕсли;
Если этот запрос не возвращает данных, никакие манипуляции с файлами не помогут, пока вы не актуализируете имя компьютера в регистре.
При переустановке сервера с Windows Server 2012 на 2016 или повторной установке 2012 R2, не забудьте про регистрацию библиотек драйверов. Даже если вы установили драйверы АТОЛ той же версии, COM-объекты могут быть не зарегистрированы в системе. Рекомендуется выполнить регистрацию вручную под правами администратора через командную строку:
regsvr32 "C:\Program Files (x86)\ATOL\Drivers8\Bin\FPrnM1C.dll" (путь может отличаться в зависимости от версии драйвера).
Также проверьте, что в терминальной сессии пробрасываются нужные порты, если касса подключена локально к клиенту, а не по сети. Но в случае с Offline-обменом через облачные диски (Яндекс.Диск), ключевым фактором остается доступность файловой системы и корректность путей в настройках «Параметры» ККМ в интерфейсе 1С.
Подводя итог, если у вас перестала закрываться смена после манипуляций с сервером, пройдите по этому списку:
report.txt.Выполнение этих шагов в 99% случаев решает проблему "невидимости" оборудования и позволяет успешно провести закрытие кассовой смены и формирование документов «Отчет о розничных продажах».