Имя: Пароль:
1C
1С v8
Проверить наличие параметров макета для заполнения.
, , ,
0 mzelensky
 
11.07.12
10:44
Доброго всем!
Есть стандартный макет с кучей параметров + у пользователя есть возможность подгрузить этот макет и подправить его, затем сохранить и использовать для печати. В связи с этим "изменить" появляется вероятность того, что пользователь уберет какой-то параметр, а программа при формировании печатной формы попытается к нему обратиться и вуаля - страшная ОШИБКА!

Покапался в СП...для параметров макета не нашел метод "НАЙТИ" (как, например в ТЧ). Следовально - как быть в данной ситуации? Как проверять наличие параметра?
1 mzelensky
 
11.07.12
10:45
(0) можно конечно заполнение каждого параметра посадить на попытку, но это пипец...там параметров в макете десятка 3-4.
2 Jaap Vduul
 
11.07.12
10:50
Сделай через метод Заполнить()
3 mzelensky
 
11.07.12
10:54
(2) тоже не вариант. часть случаем конечно можно отработать, но есть много ситуаций, где не получится....либо нужно делать промежуточную переменную под "имя" параметра.
4 Jaap Vduul
 
11.07.12
10:58
>> есть много ситуаций, где не получится
Например?
5 mzelensky
 
11.07.12
11:03
(4) например где заполнение параметра идет из фкнкции!
Ну типа

Область.Параметр.Парм1=ОбщийМодуль.КакаяТоФункция();

А т.к. функция универсальная, то ИМЯ возвращаемого значения тоже однотипное.
6 Jaap Vduul
 
11.07.12
11:07
>> А т.к. функция универсальная, то ИМЯ возвращаемого значения тоже однотипное.
Чего?

СтруктураСоЗначениямиПараметров.Парм1 = ОбщийМодуль.КакаяТоФункция();
Область.Параметры.Заполнить(СтруктураСоЗначениямиПараметров);
7 ЛЮС
 
11.07.12
11:08
(4) А в чем сложность?

СтуктураПараметров.Вставить("Парм1", ОбщийМодуль.КакаяТоФункция());
Область.Параметры.Заполнить(СтуктураПараметров);

И заполняй их как хочешь.
8 mzelensky
 
11.07.12
11:32
А можно как-то получить имена параметров области?

Пробовал :

для каждого Парам из Область.Параметры цикл

но так он параметры обходит, но ИМЕНА их не дает.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn