Приветствую Вас ГостьПонедельник, 16.06.2025, 20:19

Каталог статей


Разные формы откытия объекта

У документа есть несколько форм. Надо для для пользователя с определенной ролью открыть нужную форму.

Нашел несколько вариантов решения:

1. В модуле менеджера документа в событии ОбработкаПолученияФормы() добавить код:

Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка) 
    
    Если ВидФормы <> "ФормаДокумента" И ВидФормы <> "ФормаОбъекта" Тогда
        Возврат;
    КонецЕсли;
    
    // #Если НЕ ТолстыйКлиентОбычноеПриложение Тогда
    Если РольДоступна("РольКладовщик") Тогда
        СтандартнаяОбработка = Ложь;
        ВыбраннаяФорма = "Документ.ПоступлениеТоваровУслуг.Форма.ФормаДокумента_Кладовщик";
    КонецЕСли;
    //#КонецЕсли
    
КонецПроцедуры 

2. В форме списка обработка выбора: (не проверял, надо прверять)

Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    Если Не ВыбраннаяСтрока = Неопределено Тогда 
        Форма = ВыбраннаяСтрока.ПолучитьФорму("Документ.ПоступлениеТоваровУслуг.Форма.ФормаДокумента_Кладовщик");
        Форма.Открыть();
    КонецЕсли;
    
КонецПроцедуры 

3. В основной форме документа (тоже не проверял)

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    Если РольДоступна("РольКладовщик") Тогда 
        Форма = ПолучитьФорму("Документ.ПоступлениеТоваровУслуг.Форма.ФормаДокумента_Кладовщик", );
        Форма.Открыть(); 
        Отказ = Истина;
    КонецЕсли; 
КонецПроцедуры
Категория: Формы | Добавил: leshic (28.10.2024)
Просмотров: 47 | Рейтинг: 0.0/0
Всего комментариев: 0
Вход на сайт
Поиск
Категории раздела
СКД [51]
Регистры [7]
Формы [47]
Администрирование [46]
Запросы [11]
Объекты конфигурации и типы данных [20]
Взаимодействие с другими базами, приложениями и источниками данных [16]
Программирование [46]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0