Имя: Пароль:
1C
1С v8
Помогите, пожалуйста, разобраться с параметрами формы. УТ 11
0 vse_serjezno
 
09.06.14
13:19
Здравствуйте!

При вызове формы в нее передаются параметры - структура:

Рез = ОткрытьФормуМодально("Обработка.ПодборТоваров.Форма.Форма",СтруктуруСписания);


В ПриСозданииНаСервере() эти параметры доступны:
Объект.Склад = Параметры.Склад;
Рез = ПолучитьИзВременногоХранилища(Параметры.ИсходнаяТабличнаяЧасть);
и так далее.

Далее форма открывается пользователю.

Как мне снова получить эти параметры, если после процедуры ПриСозданииНаСервере() в ЭтаФорма.Параметры их нет, там пустая строка.
1 jsmith82
 
09.06.14
13:21
Создай реквизит формы произвольного типа
Например, ЛокальныеПараметры
В при создании на сервере пиши
ЛокальныеПараметры = Параметры
И обращайся затем к ЛокальныеПараметры
2 vse_serjezno
 
09.06.14
13:32
Делаю так
ЛокальныеПараметры = ДанныеФормыВЗначение(Параметры, Тип("Структура"));

Ругается..
3 jsmith82
 
09.06.14
13:40
(2) я тебе код написал
что за самодеятельность
4 Segate
 
09.06.14
13:43
(2) Тыж это все на клиенте делаешь, зачем тебе этот метод?
5 vse_serjezno
 
09.06.14
13:44
(4) Почему на клиенте? ПриСозданииНаСервере() - директива &НаСервере
6 vse_serjezno
 
09.06.14
13:46
(3) то, что вы написали выдает такую ошибку.
Ошибка при установке значения атрибута контекста (ЛокальныеПараметры)
    ЛокальныеПараметры = Параметры;
по причине:
Тип "ДанныеФормыСтруктура" не может использоваться в данных формы
7 vse_serjezno
 
09.06.14
13:46
(3) Реквизит формы я создала произвольного типа.
8 DexterMorgan
 
09.06.14
13:47
(1) Ваще та никто так не делает, зачем ВСЕ параметры запоминать? Запоминать нужно некторые, которые потом будут обрабатываться
9 jsmith82
 
09.06.14
13:51
(7)

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ЛокальныеПараметры = Параметры;
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
Объект.Склад = ЛокальныеПараметры.Склад;
КонецПроцедуры
10 vse_serjezno
 
09.06.14
13:52
(9) уже на строке ЛокальныеПараметры = Параметры; отладка вылетает с ошибкой
11 jsmith82
 
09.06.14
13:53
(10) ошибка какая?
12 jsmith82
 
09.06.14
13:54
Тогда создай реквизиты формы типа элементов структуры Параметры
Реквизит Склад
Реквизит АдресВоВременномХранилище

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ЭтаФорма.Склад = Параметры.Склад;
...
КонецПроцедуры
13 jsmith82
 
09.06.14
13:55
Параметры живут только при создании на сервере, если явно не указаны элементы структуры на закладке Параметры формы
Тоже вариант
14 vse_serjezno
 
09.06.14
13:55
ЛокальныеПараметры = Новый Структура("ИсходнаяТабличнаяЧасть, ТабличнаяЧасть", Параметры.ИсходнаяТабличнаяЧасть, Параметры.ТабличнаяЧасть);


Работает. Спасибо.