Работа с торговым оборудованием в терминальном режиме (через удаленный рабочий стол — RDP) часто вызывает сложности у администраторов и пользователей 1С. Основная проблема заключается в том, что система должна однозначно определять, к какому физическому устройству (кассе) отправлять команду на печать чека, исходя из того, за каким компьютером в данный момент находится кассир. Рассмотрим подробнее, как решить задачу подключения двух ККМ для разных рабочих мест в 1С:Управление торговлей 11.4.
Разберем ситуацию: кассир подключается к серверу 1С по RDP. Программа 1С идентифицирует оборудование через справочник Рабочие места. По умолчанию идентификатор формируется как связка ИмяКомпьютера + ИмяПользователя. В среде RDP 1С часто видит имя сервера вместо имени локального ПК, что приводит к тому, что все пользователи «слипаются» в одно рабочее место.
Для корректной работы нам необходимо добиться того, чтобы для каждого физического компьютера, с которого заходит кассир, в 1С создавалось отдельное Рабочее место. Проанализируем способы реализации этого механизма.
Современные версии БПО (Библиотеки подключаемого оборудования) в 1С умеют использовать переменную окружения %CLIENTNAME%, которую передает RDP-клиент. Выясним, как это настроить:
CLIENTNAME (имя физического ПК пользователя).
СистемнаяИнфо = Новый СистемнаяИнформация;
ИмяКлиента = СистемнаяИнфо.ИмяКомпьютера; // В RDP это может быть имя сервера
// Чтобы получить имя удаленного ПК, используйте:
ИмяУдаленногоПК = ВводДоступен() ? СистемнаяИнфо.ИмяКомпьютера : "";
Важный момент: Если кассиры используют одни и те же учетные записи Windows, но разные компьютеры, убедитесь, что в настройках RDP-сервера разрешено создание нескольких сессий для одного пользователя, иначе одна сессия будет выбивать другую.
Проброс COM-портов через RDP — это устаревший и нестабильный метод. Если вы используете современные кассы, такие как Атол 22, рекомендуем перевести их на работу по протоколу TCP/IP. Рассмотрим, почему это эффективнее:
Чтобы настроить Атол 22 по сети, подключите кассу кабелем Ethernet или настройте службу EthernetOverUSB (EoU). После этого в 1С в настройках драйвера укажите Способ подключения: Сетевое соединение и введите IP-адрес устройства.
Чтобы кассир сразу попадал на «свою» кассу без лишних вопросов от системы, выполним следующие действия в 1С:
Теперь, когда кассир заходит с компьютера "PC-Kassa1", программа видит идентификатор рабочего места, подтягивает связанную с ним Настройку РМК, в которой прописана только одна касса, и открывает интерфейс без выбора оборудования.
Как отмечалось в обсуждении, использование RDP для работы с торговым оборудованием — это создание лишних сущностей. Рассмотрим альтернативный подход:
http://имя_сервера/имя_базы.В этом случае 1С работает непосредственно на локальном компьютере кассира в части взаимодействия с оборудованием. Проблема идентификации рабочих мест исчезает полностью, так как 1С всегда видит реальное имя локального ПК и локальные порты. Это наиболее стабильный и современный метод работы.
Если кассиры часто меняются местами, но должны работать в одной базе, можно включить механизм авторизации. Посмотрим, как это упрощает жизнь:
В справочнике Настройка РМК включим опцию Использовать авторизацию. Теперь кассиру не нужно заходить в Windows под разными именами. Программа предложит считать карту (штрихкод) сотрудника. 1С переключит текущего пользователя в рамках одной открытой сессии, сохранив при этом привязку к физическому оборудованию рабочего места.
Резюмируем: Для стабильной работы двух ККМ в УТ 11.4 через RDP необходимо либо четко разграничить Рабочие места по имени клиента (через CLIENTNAME), либо уйти от проброса портов в сторону TCP/IP-подключения касс, либо (что предпочтительнее) использовать Тонкий клиент вместо терминального доступа.