|
Помогите, пожалуйста, разобраться с параметрами формы. УТ 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
|
ЛокальныеПараметры = Новый Структура("ИсходнаяТабличнаяЧасть, ТабличнаяЧасть", Параметры.ИсходнаяТабличнаяЧасть, Параметры.ТабличнаяЧасть);
Работает. Спасибо.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший