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

Содержание:

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

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

 

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


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

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

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

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


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


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

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

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

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

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

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

        Тогда

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

    Иначе

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

    КонецЕсли;

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

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

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

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

Пример:

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

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

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

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

   

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

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

    Иначе

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

    КонецЕсли; 

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

 

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


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

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

 

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

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

Наши проекты

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

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

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

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

Внедрение блоков в 1С:Комплексная автоматизация 8
ООО «Больцен Рус»

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

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

- Оперативный учет...

АО "Нижегородский водоканал"
АО "Нижегородский водоканал"

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

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

-Кадровый учет
-Расчет зарплаты
-Регламентированная отчетность
-Подбор ...

Внедрение ПП "1С:Бухгалтерия 8 ПРОФ" в ООО "ДЕКОР"
ООО «ДЕКОР»

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

Внедренное типовое решение:
1С:Бухгалтерия 8 ПРОФ

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

ЗАО «Инвестгеосервис»
ЗАО «Инвестгеосервис»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Объемно-календарное планирование производства Автоматизация бизнес-проце...

Автоматизации учета затрат и расчета себестоимости с использованием конфигурации «Koderline: Управление проектами строительства скважин»
ООО «Буровая сервисная компания «ГРАНД»

Отрасль:
Нефтесервис

Внедренное типовое решение:
«Koderline: Управление проектами строительства скважин»

Учет и планирование:
- собственную разработку компании «Кодерлайн» – конф...

ООО "АСК ИНЖИНИРИНГ"
ООО "АСК ИНЖИНИРИНГ"

Отрасль:
Машиностроение, приборостроение

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

Делопроизводство
Учет и хранение документов
Ведение номенклатуры дел
...

ООО "СЖД"
ООО "СЖД"

Отрасль:
Торговля, склад, логистика, транспорт

Внедренное типовое решение:
1С:Бухгалтерия 8 ПРОФ

Расчет зарплаты
Подбор кадров
Кадровый учет
Анализ кадрового состава...

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

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

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

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

Филиал ГлавУпДК при МИД России фирма «Инпредкадры»
Филиал ГлавУпДК при МИД России фирма «Инпредкадры»

Отрасль:
Государственное управление

Внедренное типовое решение:
1С:Бухгалтерия

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

ООО «ДАФ Тракс Рус» (DAF Trucks Rus)
ООО «ДАФ Тракс Рус» (DAF Trucks Rus)

Отрасль:
Машиностроение

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

- Осуществлена разработка матрицы прав и ролей для финансового подразделени...

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

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

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

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

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

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

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

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