Установка рабочего места по умолчанию при старте системы (УНФ, Розница, расширение)
Расширение для 1С:Управление нашей фирмой и 1С:Розница, которое при запуске программы автоматически устанавливает всем пользователям заранее выбранное рабочее место из справочника «Рабочие места». Без снятия конфигурации с поддержки, без изменения типовых объектов — устанавливается за пару минут.
Какую проблему решает
Типовой механизм подсистемы подключаемого оборудования (БПО) определяет рабочее место сеанса поиском по идентификатору клиента, имени компьютера и MAC-адресам, а при неудаче — создаёт новое рабочее место. На практике это приводит к проблемам:
- на терминальных серверах и при работе через RDP плодятся дубли рабочих мест;
- при замене компьютера, сетевой карты или переустановке системы привязка теряется;
- вместе с привязкой «слетают» настройки РМК и подключаемого оборудования (ККТ, сканеры, эквайринг), и кассиру приходится ждать, пока их настроят заново.
Если в вашей базе фактически одна касса (или несколько сеансов должны работать с одним и тем же набором оборудования) — вся эта «магия поиска» только мешает.
Как работает расширение
В программу добавляется константа «Рабочее место по умолчанию» (ссылка на справочник «Рабочие места»):
- Константа заполнена — при первом определении рабочего места в сеансе (при запуске программы) рабочим местом становится значение константы. Одинаково для всех пользователей и компьютеров. Типовой поиск и автосоздание дублей не выполняются.
- Константа пуста — расширение полностью прозрачно: работает типовой механизм, поведение программы не меняется.
- Если в константе битая ссылка или элемент помечен на удаление — расширение также отдаёт управление типовому механизму (защита от «дурака»).
Ручная смена рабочего места через форму подключаемого оборудования при этом продолжает работать до конца сеанса — расширение её не блокирует.
Техническая реализация
Расширение минимальное — всего три объекта:
| Объект | Назначение |
|---|---|
| Константа МК_РабочееМестоПоУмолчанию | Хранит выбранное рабочее место (собственный объект расширения) |
| Справочник РабочиеМеста | Заимствован минимально, без изменений — только для типа константы |
| Общий модуль МенеджерОборудованияВызовСервера | Перехват &Вместо("ОбновитьРабочееМестоКлиента") — единственная точка типовой конфигурации, через которую проходит определение рабочего места сеанса (и установка параметра сеанса, и клиентский запуск подсистемы оборудования) |
Код перехвата — около 40 строк, полностью открыт, снабжён комментариями. Чтение константы выполняется в привилегированном режиме, поэтому дополнительных прав пользователям выдавать не нужно.
Установка и настройка
- Конфигуратор → Конфигурация → Расширения конфигурации → добавить расширение из файла МК_УстановкаРабочегоМеста.cfe.
- Снять флажок «Безопасный режим» у расширения (обязательно — иначе платформа запрещает перехват модулей).
- Перезапустить сеанс, в режиме предприятия заполнить константу «Рабочее место по умолчанию» нужным элементом справочника «Рабочие места» (Все функции → Константы, либо добавить на форму настроек).
Удаление — штатное удаление расширения из списка, никаких следов в конфигурации не остаётся.
Совместимость
- Конфигурация: 1С:Управление нашей фирмой 3.0 (проверено на 3.0.14.108).
- Платформа: 1С:Предприятие 8.5 (проверено на 8.5.1.1343), режим совместимости расширения — 8.5.1.
- Перехватываемая функция стабильна между релизами УНФ; при обновлении конфигурации расширение продолжает работать без доработок.
- Подойдёт и для других конфигураций с БСП/БПО (Розница, УТ) после пересборки под соответствующую конфигурацию.
Гарантии безопасности
- Типовая конфигурация не изменяется, с поддержки не снимается.
- Расширение не обращается к интернету, не собирает данные, не содержит обфусцированного кода.
- При пустой константе поведение программы полностью типовое.
Проверено на следующих конфигурациях и релизах:
- Управление нашей фирмой, редакция 3.0, релизы 3.0.14.115
- Розница, редакция 3.0, релизы 3.0.14.115
Вступайте в нашу телеграмм-группу Инфостарт