При работе в многопользовательских средах, особенно на терминальных (RDP) серверах, пользователи 1С часто сталкиваются со специфической ошибкой идентификации. Проблема проявляется при входе в систему: программа выдает сообщение вида «Для текущего пользователя Сотр1 не совпадает идентификатор клиента на текущем рабочем месте СОТР2. Возможно, поменялись характеристики сервера RDP». Примечательно, что ошибка может возникать даже в тех случаях, когда в базе не используется торговое оборудование, а перезагрузки сервера и манипуляции с аутентификацией ОС не приносят результата.
В этой статье мы подробно разберем причины возникновения этой ситуации, проанализируем механизм работы подсистемы подключаемого оборудования и рассмотрим пошаговые инструкции по устранению данной проблемы в конфигурациях на базе 1С:Управление торговлей 11, ERP и Комплексная автоматизация.
Для начала проанализируем ситуацию: почему система требует идентификации рабочего места, даже если вы не подключаете кассы или сканеры штрихкодов? В современных конфигурациях на базе БСП (Библиотеки стандартных подсистем) справочник РабочиеМеста используется не только для связи с оборудованием, но и для хранения персональных настроек сессии, параметров печати и уникальных идентификаторов клиента.
Рассмотрим основные факторы, влияющие на возникновение конфликта:
AppData\Roaming\1C\1cv8\).CLIENTNAME. Если пользователь заходит с разных физических устройств или имя его локального ПК изменилось, 1С воспринимает это как подмену рабочего места.МенеджерОборудованияКлиент в процедуре ПроверитьРабочееМестоКлиента. Система сравнивает вычисленный «здесь и сейчас» ID с тем, который уже закреплен за этим сеансом Windows в справочнике. Если под этой учетной записью ОС ранее успешно заходил другой пользователь 1С («Сотр2»), возникает конфликт идентификаторов.Как показывает практика и обсуждения специалистов, наиболее эффективным и быстрым решением является полная очистка записей в справочнике рабочих мест. Разберем этот процесс по шагам:
Особое внимание стоит уделить настройкам внутри карточки рабочего места. Проанализируем ситуацию: если ваша работа организована через терминальный сервер, 1С должна четко понимать, как идентифицировать клиента.
В справочнике Рабочие места откроем созданную запись и проверим состояние флага «Используется удаленное подключение к компьютеру (RDP)»:
Важно: Как отмечают разработчики, если без включенной галочки ошибка не воспроизводится, но вам требуется работа с периферией, рекомендуется выполнить тестирование принтера чеков через различные версии БПО, чтобы убедиться в стабильности связи после смены настроек идентификации.
Иногда простого удаления записи в базе недостаточно, так как старый некорректный идентификатор «прилипает» к профилю пользователя Windows. В этом случае выполним следующие действия:
%AppData%\1C\1cv8\.1cv8.info (в некоторых версиях данные могут храниться в подпапках с именами GUID баз в файле comptscfg.xml).Local\1C\1cv8 и Roaming\1C\1cv8, чтобы исключить влияние старых временных данных.Если проблема носит массовый характер, стоит проверить настройки терминального сервера. Выясним причину через настройки групповых политик (GPO). В некоторых случаях администраторы настраивают подключение по RDP из 1С с автоматическим вводом пароля, что может влиять на то, как система определяет параметры сессии. Если на сервере отключена опция «Ограничить каждого пользователя одним сеансом», один и тот же человек может создавать несколько сессий, что приводит к конфликту GUID.
Для тех, кто готов к программным изменениям, можно использовать расширение для привязки рабочего места к имени компьютера, которое решает проблему на корню, заменяя стандартный механизм идентификации БСП более предсказуемым. Пример логики, которую можно внедрить самостоятельно (псевдокод):
Функция ПолучитьИмяРабочегоМеста() Экспорт
// Если работаем через RDP, фиксируем имя по шаблону
ИмяКомпа = ПолучитьПеременнуюОкружения("CLIENTNAME");
Если ЗначениеЗаполнено(ИмяКомпа) Тогда
Возврат "RDP_" + ИмяПользователя() + "_" + ИмяКомпа;
КонецЕсли;
Возврат СтандартнаяОбработка;
КонецФункции
Подводя итог, отметим, что в 90% случаев решение кроется в удалении старых записей из справочника «Рабочие места» и внимательной проверке настройки RDP-подключения в карточке оборудования. Это позволяет системе заново инициализировать связь между пользователем ОС, пользователем 1С и уникальный ID клиентского места.