Имя: Пароль:
1C
1С v8
Как подменить форму элемента по умолчанию?
0 Михаил Анянов
 
27.09.11
18:07
В зависимости от условия чтобы открывалась не ФормаЭлемента (установленная для элемента справочника по умолчанию), а например ФормаЭлементаНовая - которая сделана нами?

Для обычных пользователей просто необходимо открывать форму по умолчанию, а для отдельной группы людей специальную упрощенную форму, при этом переработанную кардинально.
1 Михаил Анянов
 
27.09.11
18:10
В настройках справочника есть формы основные и дополнительные, как между ними переключаться то? :-/
2 Живой Ископаемый
 
27.09.11
18:11
почему думаешь что можно?
3 Михаил Анянов
 
27.09.11
18:12
Делать что-то вроде ПриОткрытии формы по умолчанию если условие выполняется, Отказ = Истина и ФормаЭлементаНовая.Открыть()?
4 Михаил Анянов
 
27.09.11
18:13
(2) А почему бы и нет?
5 Михаил Анянов
 
27.09.11
18:20
(3) - работает, проверил ))
6 Михаил Анянов
 
27.09.11
18:22
В модуле процедуры ПередОткрытием формы элемента пишем что-то вроде такого:

   Если НЕ РольДоступна("Бухгалтер") Тогда
       Отказ = Истина;
       СправочникОбъект.ПолучитьФорму("ФормаЭлементаНовая").Открыть();
   КонецЕсли;
7 acsent
 
27.09.11
18:24
в 8.2 есть событие на эту тему
8 Живой Ископаемый
 
27.09.11
18:28
2(5) да, 3 - работает
9 MM
 
27.09.11
18:31
(6) В общем случае, надо ещё скопировать параметры переданные форме, такие как, владелец, родитель; отборы, текущий элемент в форме выбора и тд.
10 apokrit
 
27.09.11
18:48
(0) Начиная с 14го релиза ОбработкаПолученияФормы в модуле менеджера.

Вариант 6 в web клиенте нормально работать не будет.
11 Михаил Анянов
 
27.09.11
19:18
Пока что 8.1 (:
(9) спасибо за примечание
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший