Имя: Пароль:
1C
1С v8
Передача значения на форму
0 Sergio447
 
06.07.23
18:47
Доброго всем дня!
Подскажите пожалуйста, как возможно передать значение реквизита с формы документа на форму обработки?
Допустим есть документ Материалы. В нем есть реквизит Склад и в нем же имеется кнопка Настройки, по нажатию которой запускается встроенная обработка Параметры материалов, в которой также есть на форме реквизит Склад. Соответственно он должен передаваться из формы документа на форму обработки. Версия платформы 8.3, обычное приложение.
1 azernot
 
06.07.23
19:04
ОткрытьФорму (OpenForm)
Вариант синтаксиса: По имени
Синтаксис:
ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>)

<Параметры> (необязательный)
Тип: Структура.
Параметры формы. Ключ структуры - имя параметра, а значение - значение параметра формы. Имя элемента должно совпадать с именем параметра структуры.

В форме документа, создаёте структуру, заполняете своими реквизитами и передаёте в эти самые Параметры.
В форме своей обработки, при создании на серевере вы сможете поймать эти самые Параметры и заполнить из них любые свои реквизиты.
2 Sergio447
 
06.07.23
20:18
Сделал так, но почему то не сохраняет, хотя в отладчике все передается.

Обработка = Обработки.ПараметрыМатериалов.Создать();
Обработка.ЭтотОбъект.Склад = Склад;
Форма = Обработка.ПолучитьФорму("Форма",ЭтаФорма);
Форма.Открыть();
3 Franchiser
 
06.07.23
20:29
(2) параметры - тип структура
4 Sergio447
 
06.07.23
21:29
(3) тоже самое ничего не сохраняет.

Обработка = Обработки.ПараметрыМатериалов.Создать();
Парам = Новый Структура;
Парам.Вставить("Склад",Склад);
Форма = Обработка.ПолучитьФорму("Форма",ЭтаФорма, Парам);
Форма.Открыть();
5 Мультук
 
06.07.23
21:35
(4)

Обработка = Обработки.ПараметрыМатериалов.Создать();
Форма = Обработка.ПолучитьФорму("Форма",ЭтаФорма);
Форма.Склад = Склад;
Форма.Открыть();
6 mikecool
 
06.07.23
21:36
в обычных получил форму - установил ее реквизиты
7 Sergio447
 
06.07.23
22:10
(5) так тоже не сохраняет
8 azernot
 
06.07.23
22:59
В документе:

Парам = Новый Структура;
Парам.Вставить("Склад",Склад);
Открытьформу("Обработки.ПараметрыМатериалов.Форма.Форма", Парам);

В форме обрааботки:

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

Склад = Параметры.Склад;
Программист всегда исправляет последнюю ошибку.