В процессе автоматизации розничной торговли часто возникает задача максимально упростить интерфейс для кассира. Идеальный сценарий работы выглядит так: пользователь запускает программу, вводит логин и пароль, после чего сразу попадает в специализированное Рабочее место кассира (РМК) (поможет вывод информации об остатках товаров в РМК). При этом все лишние элементы управления — панель разделов, панель функций, меню по подсистемам — должны быть скрыты, чтобы не отвлекать персонал и предотвратить случайный переход в другие модули системы.
В этой статье мы подробно разберем, как реализовать такой механизм в типовых конфигурациях «1С:Розница», «1С:Управление торговлей» и «1С:УНФ», а также рассмотрим возможности платформы 1С:Предприятие 8.3 для тонкой настройки интерфейса.
Разберем самый простой и штатный способ, предусмотренный разработчиками в конфигурации «1С:Розница». Если нам необходимо, чтобы форма РМК открывалась автоматически, выполним следующие шаги:
Проанализируем ситуацию в «1С:Управление торговлей» (УТ 11). В этой конфигурации логика работы несколько отличается. Здесь автозапуск РМК часто привязан к правам доступа. Если пользователю назначена только роль Кассир, система может автоматически предлагать упрощенный интерфейс. Однако стоит учитывать, что в УТ для работы РМК должна быть предварительно настроена Касса ККМ с типом «Фискальный регистратор».
Если штатных галочек в настройках недостаточно или вы разрабатываете собственное решение на управляемых формах, необходимо обратиться к свойствам самой конфигурации. Выясним причину, по которой панель разделов остается видимой даже при открытии РМК.
В палитре свойств объекта Конфигурация существует важный параметр — Режим основного окна (Main window mode). Рассмотрим доступные варианты:
Важно помнить, что изменение этого свойства в конфигураторе повлияет на всех пользователей системы. Если вам нужно скрыть панели только для кассиров, лучше использовать программный метод.
Разберем, как программно скрыть панели для конкретного круга лиц. Для этого нам понадобится модуль управляемого приложения и использование коллекции СоставИнтерфейсаКлиентскогоПриложения. Посмотрим на пример реализации кода:
Процедура ПриНачалеРаботыСистемы()
// Проверяем роль текущего пользователя
Если РольДоступна("Кассир") Тогда
// Скрываем все лишние панели интерфейса
ПанелиИнтерфейса = КлиентскоеПриложение.УстановитьСоставИнтерфейса();
ПанелиИнтерфейса.ПанельРазделов.Видимость = Ложь;
ПанелиИнтерфейса.ПанельФункцийТекущегоРаздела.Видимость = Ложь;
ПанелиИнтерфейса.ПанельИнструментов.Видимость = Ложь;
// Открываем форму РМК программно
ОткрытьФорму("Обработка.РМК.Форма.ФормаУправляемая");
КонецЕсли;
КонецПроцедуры
Используя объект КлиентскоеПриложение, мы можем гибко управлять видимостью элементов для каждой группы пользователей. Это особенно полезно в конфигурациях типа УТ 11 или ERP, где один и тот же интерфейс используют и менеджеры, и кассиры.
Проанализируем ситуацию, когда настройки выставлены, но РМК не открывается. В современных версиях программ (начиная с «Розницы 3.0» и «УНФ 3.0») настройки привязаны к справочнику Рабочие места. Идентификация компьютера в системе происходит по сетевому имени или уникальному идентификатору (ID).
Рассмотрим по шагам проверку настроек оборудования:
Рабочие места создана запись для текущего компьютера.В УТ 11 существует нюанс с открытием кассовой смены. Часто смена открывается автоматически при пробитии первого чека. Однако, если политика компании требует открытия смены строго в начале дня, кассиру придется сначала зайти в меню Управление фискальным устройством. В «Рознице» этот процесс обычно интегрирован непосредственно в интерфейс РМК.
Для продвинутых сценариев безопасности можно использовать запуск 1С в режиме Киоска через параметры командной строки. Это позволяет подавить системные сообщения Windows и заблокировать возможность переключения между окнами (Alt+Tab), что критично для специализированных кассовых терминалов.
Таким образом, комбинируя штатные настройки конфигурации («При запуске запускать РМК»), свойства платформы (Режим основного окна) и программный код для управления видимостью панелей, мы можем создать надежный и удобный интерфейс для кассира, минимизирующий количество ошибок и ускоряющий обслуживание клиентов.