Имя: Пароль:
1C
1С v8
Как передать параметр из документа в обработку и получить результат?
0 prazdnik4334
 
02.01.13
15:49
1С.8.2. Подскажите пожалуйста, как передать параметр в обработку и получить результат? И ещё, желательно, чтоб передаваемый в обработку параметр можно было использовать в процедуре ПриСозданииНаСервере() для выполнения запроса?
1 ДенисЧ
 
02.01.13
15:52
в обработке создай реквизит и в него задавай.
2 prazdnik4334
 
02.01.13
15:58
(1) Как это сделать?
3 prazdnik4334
 
02.01.13
15:59
(1). Так?
Парам=Новый Структура;
Парам.Вставить("Склад", Объект.Склад);
ФормаОбработки=ОткрытьФорму("Обработка.ПодборНоменклатуры.Форма.Форма", Парам, ЭтаФорма);
4 ДенисЧ
 
02.01.13
16:01
нет. В обрабтке реквизит создай.
потом
обр = Обработки.Твоя.Создать();
обр.Реквизит = значение;
обр.ОткрытьМодально();
результат = обр.Реквизит;
5 prazdnik4334
 
02.01.13
16:10
С первой частью я разобрался. Передаю параметр, как указал в (3). Потом в процедуре ПриСозданииНаСервере() достаю его так: ЭтаФорма.Параметры.Склад. Вторая часть: Как вернуть результат из обработки в документ?
6 prazdnik4334
 
02.01.13
16:11
(4). Это для обычного приложения?
7 ДенисЧ
 
02.01.13
16:14
(6) а пофиг
8 prazdnik4334
 
02.01.13
16:24
(4). Проверил. Это для обычного приложения. А как сделать для управляемого?
9 prazdnik4334
 
02.01.13
16:25
Как можно вернуть результат из формы обработки в форму документа?
10 ДенисЧ
 
02.01.13
16:27
(8) точно так же. С учётом разницы вызовок клиент-сервер. (9) читай значение из реквизита объекта обработки
11 prazdnik4334
 
02.01.13
16:59
(4). Делаю так:

&НаСервереБезКонтекста
Функция ОбработкаОбработки(Склад)
   
   Обр=Обработки.ПодборНоменклатуры.Создать();
   Обр.Склад=Склад;
   Обр.ОткрытьМодально();
   Возврат Обр.Результат;
КонецФункции

Выдаёт ошибку: Метод объекта не обнаружен (ОткрытьМодально())
Что такое?
12 GROOVY
 
02.01.13
17:04
(3) Все правильно делал.
13 GROOVY
 
02.01.13
17:05
+12 только можно не открывать форму без надобности, в просто ПолучитьФорму()
14 ДенисЧ
 
02.01.13
17:08
(11) Ты НаСервере пытаешься открыть форму....
15 prazdnik4334
 
02.01.13
17:15
(14). Дык, я на клиенте не могу создать обработку.
16 prazdnik4334
 
02.01.13
17:16
(13). А мне же надо в форме произвести выбор.
17 prazdnik4334
 
02.01.13
17:16
Может, надо получить форму, а потом её открыть?
18 GROOVY
 
02.01.13
17:31
Получи форму, укажи владельца формы (форму документа)
Открой ее.
При выборе в форме обработки вызови любую экспортную процедуру формы владельца и скинь туда выбранное значение.
19 prazdnik4334
 
02.01.13
18:27
(18). Спасибо. Работает. Открыл форму, как в (3). Перед этим создал экспорт. Процедуру в форме-владельце, в которой присвоил её параметр (результат выбора в обработке) переменной. И вызвал эту процедуру из формы обработки. Всё работает, тут любопытство, можно ли это сделать через параметры форм?
20 DirecTwiX
 
02.01.13
19:31
А зачем понадобилось открывать форму на сервере?