|
Открытие Управляемой формы обработки. | ☑ | ||
---|---|---|---|---|
0
Rosi4
09.08.13
✎
11:28
|
Всем привет. Столкнулся с такой ситуацией: При открытии упр. формы документа необходимо открыть модально форму обработки перед этим передав туда реквизит.
Реализовал это так: &НаСервере Функция ПолучитьОбработкуНаСервере() Обработка = Обработки.СозданиеИмуществаНаОснованииДокумента.Создать(); Обработка.ДокументОснование = ДокОснование; //передал в обработку реквизит возврат Обработка; КонецФункции Процедура ПриОткрытии() ОбработкаИмущества = ПолучитьОбработкуНаСервере(); ОткрытьФормуМодально("Обработка.СозданиеИмуществаНаОснованииДокумента.Форма"); ....... При открытии реквизит пуст. Как правильно открыть форму именно созданной обработки? |
|||
1
ИсчадиеADO
09.08.13
✎
11:31
|
на сервере обработку не получай
передавай в параметры формы (2ой реквизит метода открыть форму). Дальше из параметров доставай уже при создании формы на сервере |
|||
2
Rosi4
09.08.13
✎
11:38
|
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ..... КонецПроцедуры как мне тут инициализировать переданные мною параметры? Открыл форму так: СтруктураОтбора = Новый Структура; СтруктураОтбора.Вставить("ДокументОснование",ДокОснование); ОткрытьФормуМодально("Обработка.СозданиеИмуществаНаОснованииДокумента.Форма",СтруктураОтбора,ЭтаФорма); |
|||
3
ИсчадиеADO
09.08.13
✎
11:40
|
В ПриСозданииНаСервере обращаешься к Параметры. только проверь, существует ли такой параметр, если он не ключевой
|
|||
4
Rosi4
09.08.13
✎
11:53
|
А ты прав братишка. Спасибо большое.
|
|||
5
Rosi4
09.08.13
✎
11:56
|
А как потом при закрытии формы я смогу получить данные из обработки?
СтруктураОтбора = Новый Структура; СтруктураОтбора.Вставить("ДокументОснование",ДокОснование); ОткрытьФормуМодально("Обработка.СозданиеИмуществаНаОснованииДокумента.Форма",СтруктураОтбора,ЭтаФорма); //обработка закрылась , откуда читать данные формы, ведь мы же ее никуда не положили... |
|||
6
ИсчадиеADO
09.08.13
✎
11:59
|
УправляемаяФорма (ManagedForm)
ОткрытьМодально (DoModal) Синтаксис: ОткрытьМодально(<Таймаут>) Параметры: <Таймаут> (необязательный) Тип: Число. Время показа формы в секундах, по истечении которого форма будет закрыта с параметром закрытия. Если значение параметра не задано, время показа не ограничено. Значение по умолчанию: 0. Возвращаемое значение: Тип: Произвольный. Команда закрытия формы. Если форма открывалась для выбора, возвращает выбранное значение (или массив значений, в случае разрешенного множественного выделения в открываемой форме). Если значение не выбрано, возвращается Неопределено. Возвращаемое значение: Тип: Произвольный |
|||
7
Rosi4
09.08.13
✎
12:02
|
У меня обработка формирует табличную часть, которую я хочу получить. Не совсем понял из описания метода как это сделать и возможно ли?
|
|||
8
ИсчадиеADO
09.08.13
✎
12:03
|
&НаКлиенте
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка) СтандартнаяОбработка = ложь; ЭтаФорма.Закрыть(Объект.ВозвращаемоеЗначение); КонецПроцедуры |
|||
9
ИсчадиеADO
09.08.13
✎
12:05
|
Хотя ты возвращаешь Таблицу значений?
|
|||
10
Rosi4
09.08.13
✎
12:06
|
Да, таблицу значений.
|
|||
11
ИсчадиеADO
09.08.13
✎
12:06
|
ее можно в массив структур преобразовать
|
|||
12
ИсчадиеADO
09.08.13
✎
12:06
|
т.к. возвращаешь на клиент, а там типа данных ТЗ нет
|
|||
13
Rosi4
09.08.13
✎
12:11
|
А если нам перед тем как открыть форму снаала получить ее.
как то так примерно: Форма = ПолучитьФорму("Обработка.СозданиеИмуществаНаОснованииДокумента.Форма"); ОткрытьФормуМодально(Форма ,СтруктураОтбора,ЭтаФорма); |
|||
14
ИсчадиеADO
09.08.13
✎
12:26
|
Тогда передавай владельца формы, если вызываешь из др.формы с ТЧ
это 3ий параметр ПолучитьФорму |
|||
15
olegves
09.08.13
✎
12:42
|
(5) Результат = ОткрытьФормуМодально("Обработка.СозданиеИмуществаНаОснованииДокумента.Форма",СтруктураОтбора,ЭтаФорма);
В переменной Результат будет возвращаемое формой значение |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |