Как отключить оплату подарочными сертификатами в 1С:Розница 2.2?

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

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

Анализ типового поведения системы

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


Элементы.КомандаСертификат.Доступность = (ВидОперации = Перечисления.ВидыОперацийЧекККМ.Продажа) 
И НЕ ОперацияСДенежнымиСредствами;

Так как элемент КомандаСертификат является предопределенным, простое удаление его из справочника или формы приведет к возникновению ошибок при обновлении конфигурации или сбоям при выполнении кода, который обращается к этому объекту. Попытки скрыть кнопку через индивидуальные настройки пользователя также не являются эффективными, так как это не масштабируемо и требует ручной настройки для каждого нового сотрудника.

Решение задачи с использованием расширений конфигурации

Наиболее корректным и безопасным способом изменения логики работы типовой конфигурации в 1С:Рознице 2.2 является использование Расширений. Это позволяет сохранить типовую конфигурацию на поддержке и гарантировать корректное обновление системы в будущем. Давайте рассмотрим процесс реализации по шагам.

  1. Откройте Конфигуратор и создайте новое расширение конфигурации.
  2. Добавьте в расширение форму РМК, на которой расположена кнопка КомандаСертификат.
  3. Используйте механизм заимствования метода УправлениеВидимостьюИДоступностью для переопределения визуального отображения кнопки.
  4. Реализуйте программный код, который принудительно устанавливает свойство Видимость в значение Ложь.

Для реализации этой задачи воспользуйтесь конструкцией с аннотацией &После. Это позволит дополнить существующую типовую логику, не затрагивая основной код системы напрямую.

Пример программного кода

Ниже представлен пример кода, который необходимо разместить в модуле формы расширения. Данный код принудительно скрывает саму кнопку и панель, в которой она находится, сразу после того, как отработает стандартная процедура настройки видимости:


&НаСервере
&После("УправлениеВидимостьюИДоступностью")
Процедура дор_УправлениеВидимостьюИДоступностью()
    Элементы.КомандаСертификат.Видимость = Ложь;
    Элементы.КомандаСертификатПанель.Видимость = Ложь;
КонецПроцедуры

Почему не стоит удалять элементы напрямую?

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

Поэтому использование расширения является единственным профессиональным методом, который обеспечивает стабильность системы и позволяет при необходимости быстро вернуть функционал оплаты сертификатами, просто отключив или удалив расширение.

Рекомендации для новых версий

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

← На главную