28.02.2025 Степан Радченко 4498
Программная настройка видимости контекстного ...

Содержание:

1.     Подходы к настройке видимости контекстного меню в системе автоматизации 1С

2.     Практические советы по работе с видимостью контекстного меню в учетной программе 1С

 

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


Общие сведения о контекстном меню:

Контекстное меню формы списка — это набор команд, которые появляются при щелчке правой кнопкой мыши на элементе списка. В платформе 1С контекстное меню формируется автоматически на основании:

  • Реквизитов и табличных частей формы.
  • Реквизитов объекта.
  • Команд интерфейса.  

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


1.     Подходы к настройке видимости контекстного меню в системе автоматизации 1С


Настройка видимости пунктов контекстного меню в форме списка выполняется несколькими способами:

  1. Через модуль формы: управление свойством видимости команды.
  2. Использование события ПриОткрытииКонтекстногоМеню.
  3. Использование ролей и дополнительных условий доступа.

Настройка через модуль формы:

Если пункт меню привязан к определенной команде, его видимость можно настроить через модуль формы, изменив свойство Команда.Видимость.

Пример:
Допустим, у вас есть команда Удалить, которая должна быть доступна только для пользователей с определенной ролью.
Процедура СписокПриАктивизацииСтроки(Отказ, СтандартнаяОбработка)

    Если НЕ РольДоступна("Администратор") Тогда

        Тогда

        Элементы.СписокКонтекстноеМенюУдалить.Видимость = Ложь;

    Иначе

        Элементы.СписокКонтекстноеМенюУдалить.Видимость = Истина

    КонецЕсли;

КонецПроцедуры

  • РольДоступна — это вспомогательная функция, проверяющая права пользователя.

Использование события СписокПриАктивизацииСтроки:

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

Пример:

Скрываем пункт меню для строк, где реквизит "Статус" равен "Завершено":

Процедура ПриОткрытииКонтекстногоМеню(Элемент, СтандартнаяОбработка)

    // Получаем текущую строку

    ТекущаяСтрока = ЭлементыФормы.Список.ТекущиеДанные;

   

    Если ТекущаяСтрока.Статус = "Завершено" Тогда

       Элементы.СписокКонтекстноеМенюУдалить.Видимость = Ложь;

    Иначе

                Элементы.СписокКонтекстноеМенюУдалить.Видимость = Истина;

    КонецЕсли; 

КонецПроцедуры

 

2.     Практические советы по работе с видимостью контекстного меню в учетной программе 1С


  1. Минимизируйте дублирование кода:
    • Создавайте вспомогательные функции для проверки условий (например, доступ к роли, статус строки).
  2. Скрывайте пункты вместо их отключения:
    • Если пункт меню не должен быть доступен пользователю, лучше скрыть его (установить Видимость = Ложь), чем просто отключить (Доступность = Ложь). Это делает интерфейс более понятным.
  3. Тестируйте разные сценарии:
    • Убедитесь, что все пункты меню отображаются корректно для разных пользователей и ролей.

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

 

Специалист компании ООО "Кодерлайн"

Степан Радченко

Наши проекты

Внедрение ПП "1С:Управление небольшой фирмой 8 ПРОФ" в ООО «Шокостайл»
ООО «Шокостайл»

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

Управление продажами, логистикой и транспортом (SFM, WMS, TMS):
- Планирование п...

Госкорпорация «Ростех»
Госкорпорация «Ростех»

Отрасль:
Производство, ТЭК >> Машиностроение, приборостроение

Внедренное типовое решение:
1С:Управление холдингом 1.3.

Специалисты «Кодерлайн» помогли разработать и внедрить автоматизированную...

ООО «Иви.ру»
ООО «Иви.ру»

Отрасль:
Медиаиндустрия

Внедренное типовое решение:
1С:Управление корпоративными финансами

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

ООО «Вистеон Автоприбор Электроникс»
ООО «Вистеон Автоприбор Электроникс»

Отрасль:

Внедренное типовое решение:
1C:Управление производственным предприятием

- Управленческий учет; - Расчет зарплаты; - Логистика адресного склада; - Учет ...

1с-РАРУС МСК
1с-РАРУС МСК

Отрасль:
Разработка компьютерного программного обеспечения

Внедренное типовое решение:
1С:Управление корпоративными финансами

- Финансово-бухгалтерский блок
- Казначейство ...

ООО «ТейблТок»
ООО «ТейблТок»

Отрасль:
Общественное питание и рестораны

Внедренное типовое решение:
1С:Управление торговлей

Оформление заказов поставщикам Оформление заказов покупателей Управление ...

Фирма 1С
Фирма 1С

Отрасль:

Внедренное типовое решение:
1С:Документооборот

- Подготовка функциональной модели прикладного решения «1С:Документооборот...

ФГОУ ВПО «Горский государственный аграрный университет»
ФГОУ ВПО «Горский государственный аграрный университет»

Отрасль:
Образование

Внедренное типовое решение:
1С:Колледж ПРОФ

- Управление персоналом и кадровый учет (HRM):
Кадровый учет
Управление об...

Внедрение блока бухгалтерского учета «1С:Управление производственным предприятием»
ОАО «Издательство «Просвещение»

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление производственным предприятием

Бухгалтерский учет:
- Завершение периода;
- Регламентированная отчетнос...

ООО "НЦКТ"
ООО "НЦКТ"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:Управление нашей фирмой 8 ПРОФ

Взаиморасчеты с покупателями
Автоматизация бизнес-процессов...

Автоматизация учета на базе ПП "1С:Комплексная автоматизация 8" в ЗАО "Крюгер-Гранд"
ЗАО «Крюгер-Гранд»

Отрасль:
Производство

Внедренное типовое решение:
1С:Комплексная автоматизация

- Создание интерфейсов и наборов прав пользователей;
- Отражению временных ...

Автоматизация торгового учета на базе "1С:Управление торговлей"
ООО «ТЕЛЕВЕС РУСС»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

- Управление складскими запасами;
- Оформление заказов покупателей;
- Пла...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение