Как организовать работу нескольких настроек РМК на одном компьютере в 1С:Розница 2.3

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

В практической деятельности автоматизации розничной торговли часто возникает ситуация, когда на одном физическом компьютере необходимо использовать разные настройки рабочего места кассира (РМК). Это может быть актуально для посменной работы разных организаций на одной кассе, при использовании одного терминального сервера несколькими сотрудниками или при необходимости быстрого переключения между наборами оборудования. Рассмотрим подробнее, как устроена система идентификации рабочих мест в 1С и какие существуют способы обойти ограничение «один компьютер — одна настройка».

Механизм идентификации рабочего места в 1С

Прежде чем переходить к решениям, проанализируем ситуацию и выясним причину, по которой 1С жестко привязывает настройки к «компьютеру». В программе 1С:Розница 2.3 существует справочник РабочиеМеста. Каждая запись в этом справочнике имеет уникальный идентификатор (GUID). При запуске программы система считывает локальный файл настроек пользователя и пытается сопоставить текущий сеанс с конкретным рабочим местом.

Основным фактором привязки является комбинация Сетевое имя компьютера + Имя пользователя операционной системы. Эти данные хранятся в специальном файле 1cv8u.pfl, который располагается в профиле пользователя Windows по пути: C:\Users\<Имя_Пользователя>\AppData\Local\1C\1Cv8\1cv8u.pfl.

Разберем по шагам, какие методы позволяют нам использовать несколько различных настроек РМК на одном физическом ПК.

Способ 1. Использование терминального доступа (RDP)

Если ваши пользователи работают удаленно или заходят на один сервер под разными учетными записями Windows, проблема решается автоматически. Рассмотрим, почему это происходит: для 1С каждый новый сеанс пользователя Windows — это отдельная среда со своим путем к папке AppData. Следовательно, у каждого пользователя будет свой файл 1cv8u.pfl с уникальным идентификатором рабочего места.

Алгоритм действий:

  1. Создаем в операционной системе Windows несколько учетных записей (например, «Кассир1» и «Кассир2»).
  2. Заходим в 1С под первой учетной записью ОС, создаем настройки РМК.
  3. Повторяем операцию под второй учетной записью ОС.

В этом случае в регистре «Настройка РМК на компьютере» вы сможете зафиксировать разные настройки для каждой учетной записи, так как идентификаторы рабочих мест будут отличаться.

Способ 2. Использование параметра запуска /Z

Если создание разных пользователей в Windows неудобно, проанализируем техническую возможность разделения настроек внутри одной учетной записи. Для этого воспользуемся малоизвестным, но эффективным параметром командной строки /Z.

Этот ключ позволяет переопределить путь к каталогу, где 1С хранит свои временные файлы и файлы настроек (включая тот самый 1cv8u.pfl). Мы можем создать несколько ярлыков для запуска 1С на рабочем столе.

Пример настройки ярлыка:

В поле «Объект» свойств ярлыка прописываем путь к платформе и добавляем ключ:

"C:\Program Files\1cv8\common\1cestart.exe" /Z "C:\1C_Settings\Cashier_Place_1"

При запуске через такой ярлык программа создаст отдельный файл идентификации в указанной папке. Повторив процедуру с другим путем (например, /Z "C:\1C_Settings\Cashier_Place_2"), мы получим второе независимое рабочее место на том же компьютере и под тем же пользователем Windows.

Способ 3. Программное изменение идентификатора через расширение

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

В общем модуле МенеджерОборудованияКлиентПереопределяемый найдем процедуру ПриОпределенииИдентификатораРабочегоМеста. С помощью расширения мы можем подменить стандартный идентификатор на свой собственный.

Пример кода в расширении:


&Вместо("ПриОпределенииИдентификатораРабочегоМеста")
Процедура Ист_ПриОпределенииИдентификатораРабочегоМеста(ИдентификаторРабочегоМеста)
    // Текст примера: переопределяем ID в зависимости от имени пользователя 1С
    ИмяПользователя1С = ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
    
    Если ИмяПользователя1С = "Кассир_Смена_1" Тогда
        // Подставляем конкретный GUID из справочника РабочиеМеста
        ИдентификаторРабочегоМеста = Новый УникальныйИдентификатор("550e8400-e29b-41d4-a716-446655440000");
    ИначеЕсли ИмяПользователя1С = "Кассир_Смена_2" Тогда
        ИдентификаторРабочегоМеста = Новый УникальныйИдентификатор("661f9511-f30c-52e5-b827-557766551111");
    КонецЕсли;
КонецПроцедуры

Этот метод позволяет полностью игнорировать привязку к физическому железу и управлять настройками гибко внутри кода.

Способ 4. Выбор настройки внутри интерфейса РМК

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

Важно помнить: чтобы этот пункт имел смысл, в справочнике НастройкиРМК должно быть несколько элементов, не имеющих жесткой привязки к единственному рабочему месту в регистре сведений, либо логика работы формы должна быть модифицирована для возможности ручного выбора.

Важные замечания по оборудованию

При реализации любого из вышеперечисленных методов мы можем столкнуться с проблемой монопольного захвата портов. Проанализируем этот риск: если вы запускаете два разных рабочих места (через /Z или разные сессии) одновременно, и оба они пытаются подключиться к одному и тому же фискальному регистратору через COM-порт, второе подключение завершится ошибкой «Порт занят».

Рекомендации для стабильной работы:

Таким образом, несмотря на кажущееся ограничение платформы, существует как минимум четыре способа организовать гибкую работу с настройками РМК, выбрав наиболее подходящий под ваши бизнес-задачи.

← На главную