При переходе с платформы 1С:Предприятие 7.7 на современные релизы 1С:Управление торговлей 11.5 системные администраторы часто сталкиваются с трудностями при настройке торгового оборудования в среде удаленных рабочих столов (RDP). Основная сложность заключается в том, что современная платформа использует сложную систему идентификации Рабочих мест, которая в терминальном режиме может давать сбои, приводя к конфликтам оборудования или невозможности разделения потоков печати чеков на разные физические устройства. Разберем подробно, как правильно организовать работу двух и более касс Атол, подключенных по протоколу TCP/IP, чтобы избежать ошибок «Смена закрыта» или подмены одного фискального регистратора другим.
Для начала проанализируем, как 1С понимает, с какого именно компьютера зашел пользователь. В отличие от старых версий, где настройки часто хранились в реестре или локальных ini-файлах, в УТ 11.5 используется справочник Рабочие места. Каждому сеансу программа пытается сопоставить запись в этом справочнике. Идентификация происходит по уникальному идентификатору (GUID), который генерируется при первом запуске 1С на конкретной машине и кэшируется в файле 1cv8.info в профиле пользователя ОС.
Рассмотрим проблему RDP: когда несколько пользователей подключаются к одному серверу, для системы они часто выглядят как одно и то же физическое устройство (одинаковое имя сервера, один MAC-адрес). Если не настроить разделение, 1С будет назначать им одно и то же Рабочее место из справочника, а значит, и общую кассу. Если один бухгалтер откроет смену, а второй попытается пробить чек на свою кассу, система выдаст ошибку, так как для данного «рабочего места» состояние смены будет противоречивым.
Для корректной работы двух касс нам необходимо заставить 1С видеть каждого терминального пользователя как отдельное рабочее место. Проанализируем шаги, которые для этого требуются:
Важный технический момент: при включении этого флага 1С начинает добавлять к идентификатору рабочую переменную окружения Windows CLIENTNAME (имя локального ПК, с которого запущен RDP-клиент). Это позволяет системе различать сессии. Однако, если ваши пользователи заходят с разных компьютеров под одной и той же учетной записью 1С, у них каждый раз будет создаваться новое рабочее место, и настройки кассы придется привязывать заново. Чтобы этого избежать, рекомендуется закрепить за каждым сотрудником статичное имя его локального компьютера или использовать индивидуальные учетные записи Windows на сервере.
Поскольку наши кассы подключены не через USB (с пробросом портов), а напрямую в сеть по TCP/IP, нам не нужно настраивать проброс COM-портов в настройках RDP-клиента. Это значительно повышает стабильность связи. Выполним настройку подключения по шагам:
Ethernet (или TCP/IP в зависимости от версии драйвера).192.168.1.100 и 192.168.1.101) и порт (по умолчанию 5555).Частая ошибка новичков — настроить оборудование, но забыть про логическую структуру 1С. Выясним причину, по которой может возникать ошибка «Смена закрыта или истек срок». Это происходит из-за путаницы в справочнике Кассы ККМ.
В 1С:УТ существует иерархия: Рабочее место -> Касса ККМ -> Подключаемое оборудование. Разберем, как правильно их связать:
Теперь, когда пользователь Петров заходит в РМК (Рабочее место кассира), система автоматически определяет его рабочее место по имени его ПК, находит связанную с ним «Кассу ККМ» и обращается к конкретному IP-адресу кассы Атол. Конфликта с кассой Иванова не возникнет.
Если после всех настроек 1С продолжает «видеть» только одну кассу или путать их, необходимо очистить кэш идентификаторов на сервере. Рассмотрим, как это сделать:
%AppData%\1C\1cv8.1cv8.info и переименуем его (например, в 1cv8.info.old).В особо сложных случаях, когда стандартный флаг RDP не помогает (например, при использовании тонкого клиента через веб-сервер или специфических настройках терминальной фермы), можно применить «силовой» метод разделения сессий. Проанализируем использование параметра /ID.
Для этого в ярлыке запуска 1С (или в дополнительных параметрах запуска в списке баз) добавим следующую строку:
/ID "User_Kassa_1"
Этот параметр принудительно устанавливает уникальный идентификатор для рабочего места текущего сеанса. Для второго пользователя укажем соответственно /ID "User_Kassa_2". Это гарантирует, что 1С создаст два абсолютно разных элемента в справочнике рабочих мест, исключая любую возможность пересечения настроек оборудования.
Посмотрим на ситуацию со стороны драйвера. Протокол TCP/IP в кассах Атол является монопольным. Это означает, что в один момент времени только один программный процесс может удерживать соединение с кассой. Если вы пытаетесь настроить одну кассу на двух пользователей одновременно, вы неизбежно получите ошибку «Порт занят».
Если ваша задача — бить чеки с разных терминальных сессий на ОДНУ физическую кассу Атол по TCP/IP, то прямое подключение в настройках оборудования 1С не подходит. В этом случае необходимо использовать Сервер удаленного подключения Атол (входит в комплект ДККТ 10). Рассмотрим схему работы:
Эта прослойка позволяет драйверу корректно ставить чеки в очередь от разных пользователей RDP, предотвращая блокировку порта.
Мы подробно разобрали принципы работы торгового оборудования в среде RDP. Подведем итоги: залог успеха — это уникальность связки «Пользователь ОС — Рабочее место 1С — Экземпляр оборудования». Всегда проверяйте заполнение флага удаленного подключения и следите за тем, чтобы в справочнике рабочих мест не плодились дубликаты. Правильная настройка по TCP/IP позволяет избежать многих проблем с USB-пробросом, которые были характерны для эпохи 1С 7.7, и обеспечивает более высокую скорость и надежность обмена данными с фискальным регистратором.