В процессе эксплуатации конфигурации 1С:Розница версии 2.2 многие пользователи сталкиваются с необходимостью настройки интерфейса Рабочего места кассира (РМК). Одной из частых задач является ограничение доступности определенных видов оплаты. В частности, если ваша торговая точка не использует подарочные сертификаты, кнопка их оплаты на панели РМК становится излишней. Разберем, почему штатных средств для отключения этой кнопки может быть недостаточно и как решить эту задачу с помощью механизмов платформы.
При изучении конфигурации становится понятно, что кнопка КомандаСертификат в РМК имеет жестко заданные условия доступности. В типовом коде системы проверка доступности кнопки выглядит примерно следующим образом:
Элементы.КомандаСертификат.Доступность = (ВидОперации = Перечисления.ВидыОперацийЧекККМ.Продажа)
И НЕ ОперацияСДенежнымиСредствами;
Так как элемент КомандаСертификат является предопределенным, простое удаление его из справочника или формы приведет к возникновению ошибок при обновлении конфигурации или сбоям при выполнении кода, который обращается к этому объекту. Попытки скрыть кнопку через индивидуальные настройки пользователя также не являются эффективными, так как это не масштабируемо и требует ручной настройки для каждого нового сотрудника.
Наиболее корректным и безопасным способом изменения логики работы типовой конфигурации в 1С:Рознице 2.2 является использование Расширений. Это позволяет сохранить типовую конфигурацию на поддержке и гарантировать корректное обновление системы в будущем. Давайте рассмотрим процесс реализации по шагам.
КомандаСертификат.УправлениеВидимостьюИДоступностью для переопределения визуального отображения кнопки.Видимость в значение Ложь.Для реализации этой задачи воспользуйтесь конструкцией с аннотацией &После. Это позволит дополнить существующую типовую логику, не затрагивая основной код системы напрямую.
Ниже представлен пример кода, который необходимо разместить в модуле формы расширения. Данный код принудительно скрывает саму кнопку и панель, в которой она находится, сразу после того, как отработает стандартная процедура настройки видимости:
&НаСервере
&После("УправлениеВидимостьюИДоступностью")
Процедура дор_УправлениеВидимостьюИДоступностью()
Элементы.КомандаСертификат.Видимость = Ложь;
Элементы.КомандаСертификатПанель.Видимость = Ложь;
КонецПроцедуры
Важно помнить, что Подарочный сертификат — это предопределенный элемент справочника ВидыОплат. Система 1С:Розница глубоко интегрирует работу с сертификатами в механизмы проведения чеков и формирования отчетности. Прямое вмешательство в предопределенные данные справочников может привести к:
Поэтому использование расширения является единственным профессиональным методом, который обеспечивает стабильность системы и позволяет при необходимости быстро вернуть функционал оплаты сертификатами, просто отключив или удалив расширение.
Если вы планируете переход на более новые редакции системы (например, 2.3 и выше), обратите внимание, что разработчики 1С значительно расширили возможности управления интерфейсом РМК в пользовательском режиме. В последних версиях часто достаточно зайти в справочник Настройки РМК и с помощью встроенного редактора панелей скрыть ненужные кнопки. Всегда проверяйте актуальные возможности типового функционала перед тем, как приступать к доработке кода, чтобы минимизировать объем поддерживаемых расширений.