Имя: Пароль:
1C
1С v8
Подмена формы при открытии документа
0 daringer
 
21.05.12
09:32
Здравствуйте! Необходимо при открытии формы документа отказаться от стандартного открытии и открыть форму обработки, заполнив ее данными документа. В обычном приложении все просто, но в управляемом я не могу понять как это сделать.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   Отказ = Истина;
   Форма = Обработки.РегистрацияКомплекта.ПолучитьФорму("Форма");// тут ошибка Интерактивные операции недоступны
   //Параметр = Новый Структура;
   //Параметр.Вставить("ДокументРегистрации",Объект.Ссылка);
   //ОткрытьФормуОбработки(Параметр);
   
КонецПроцедуры
1 mikecool
 
21.05.12
09:34
в присозданиинасервере обработки получай ссылку на документ и заполняй
2 daringer
 
21.05.12
09:37
Когда пользователь открывает список документов и выбирает документ, нужно чтоб форма подменялась, да при вызове формы дока из любого места программы должна появляться форма обработки. Т.е. нужно ведь присозданиинасервере документа  не обработки вызывать форму обработки
3 mikecool
 
21.05.12
09:38
(2) вызови создание обработки, а не формы
4 daringer
 
21.05.12
09:42
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   СтандартнаяОбработка = Ложь;
   Отказ = Истина;
   ОбъектОбработка = Обработки.РегистрацияКомплекта.Создать();    
   ОткрытьФормуОбработки(ОбъектОбработка);    
КонецПроцедуры

&НаСервере
Процедура    ОткрытьФормуОбработки(ОбъектОбработка)
   Форма = ОбъектОбработка.ПолучитьФорму("Форма");// тут ошибка Интерактивные операции недоступны
   
КонецПроцедуры

а если наКлиенте то сервер не видит эту процедуру
5 daringer
 
21.05.12
09:52
Получилось сделать, используя процедуру ПриОткрытии, а не ПриСозданииНаСервере, но что то мне подсказывает, что правильно было бы сделать ПриСозданииНаСервере
6 PiVa123
 
21.05.12
10:00
(5) Правильнее сделать вообще через "ОбработкуПолученияФормы" менеджера документа.
7 daringer
 
21.05.12
10:04
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ВыбраннаяФорма = ПолучитьФорму();//что здесь написать?


КонецПроцедуры
8 PiVa123
 
21.05.12
10:08
ВыбраннаяФорма = "Обработки.МояОбработка.Форма.МояФорма"
9 daringer
 
21.05.12
10:10
Опачки, получилось! Спасибо большое! Блин, 2 года программирую в обычном приложении, но на управляемом ниче сделать не могу(((
10 daringer
 
21.05.12
10:11
Если у кого будет такой же вопрос нужно не "ОбработкИ.МояОбработка.Форма.МояФорма" а "Обработка.МояОбработка.Форма.МояФорма"
11 PiVa123
 
21.05.12
10:11
(9) "на управляемом ниче сделать не могу(((" - Вышли БП 3.0 - БГУ 2.0 - на очереди ЗУП и ЗБУ на УФ - может ну его это программирование ?
12 daringer
 
21.05.12
10:13
Вот как раз по этой причине изучаю потихоньку. А как в модуле менеджера передать в форму обработки ссылку на документ из которого открывается форма обработки?
13 daringer
 
21.05.12
10:14
ух е, надо Радченко почитать
14 daringer
 
21.05.12
10:35
Все таки ОбработкаПолученияФормы не подходит, потому что при выборе моего документа открывается не список документов а форма обработки, а мне нужно чтоб открылся список документов и при выборе определенного документа открылась форма обработки(
15 daringer
 
21.05.12
10:40
Плюч в форму обработки передать ссылку на открываемый документ
16 daringer
 
21.05.12
10:41
Люди, помогите пжлста!
17 PiVa123
 
21.05.12
10:49
(16) Ссылка в Ключе - Ключ в параметрах вызываемой формы :)
А уж какую ты форму откроешь, обработки, списка или еще чего - тут уже сам хозяин барин - куда форму отправил - туда и дойдет
18 daringer
 
21.05.12
11:04
Ладно, буду разбираться, спасибо
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс