Имя: Пароль:
1C
1С v8
Расширения и открытие форм
0 Звездец
 
04.09.17
09:01
Пытаюсь разбираться с расширениями. Задача такая, в зависимости от пользователя, открыть (подменить) стандартную форму другой. Если действовать как раньше, то все как бы понятно в ПриОткрытии() СтандартнаяОбработка = Ложь; и дальше открываем что нужно. Но в расширении Перед("ПриОткрытии) не отрабатывает. Где затупил?
1 Мимохожий Однако
 
04.09.17
09:07
ЗУП2.5?
2 Звездец
 
04.09.17
09:09
(1) нет, УФ, конфигурация в данном случае не важна, интересует как отрабатывает механизм платформы
3 Мимохожий Однако
 
04.09.17
09:20
В каком месте поставил флажок отладчика?
4 Звездец
 
04.09.17
09:21
в процедуре в расширении
5 Мимохожий Однако
 
04.09.17
09:24
(4) еще есть процедура ПриСозданииНаСервере()
6 Мимохожий Однако
 
04.09.17
09:25
..ПередОткрытием()
7 Звездец
 
04.09.17
09:26
(6) &Перед("ПередОткрытием")

(5) при создании на сервере наверное совсем не то. Как мне там задать какую форму открывать
8 Звездец
 
04.09.17
09:31
сделал в перед приоткрытии

&НаСервере
   Процедура Расш1_ПриОткрытииПередНаСервере()
      СтандартнаяОбработка = Ложь;
       Документы.ПриходнаяНакладная.ПолучитьФорму("Расш1_ФормаЗапрет").Открыть();
       Сообщить("123");

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

&НаКлиенте
   Процедура Расш1_ПриОткрытииПеред(Отказ)
       Расш1_ПриОткрытииПередНаСервере();
   КонецПроцедуры

Ругается на Документы.ПриходнаяНакладная.ПолучитьФорму("Расш1_ФормаЗапрет").Открыть();

Неверный параметр 1
9 Звездец
 
04.09.17
10:51
Ну что, никто не подменял формы в расширениях?
10 igorPetrov
 
04.09.17
10:55
(9) Платформа тоже не важна?
11 Звездец
 
04.09.17
11:07
8.3.10
12 Звездец
 
04.09.17
11:08
в общем свою задачу решил по другому, но данный метод интересен
13 AlvlSpb
 
04.09.17
11:26
(12) Принципиально неверный подход. Если это заимствованная форма, то вообще ничего не надо прописывать, откроется форма из расширения, если это созданная форма в расширении, просто установить ее как основную. Ну и если принципиально использовать ПриОткрытии, то почему Перед? Сначала вы в Перед открываете нужную форму, а потом отрабатывает стандартный обработчик конфигурации, открывающий форму из конфигурации. Если уж ПриОткрытии, то &После
Ошибка? Это не ошибка, это системная функция.