|
Проверить наличие параметров макета для заполнения.
| ☑ |
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
|
А можно как-то получить имена параметров области?
Пробовал :
для каждого Парам из Область.Параметры цикл
но так он параметры обходит, но ИМЕНА их не дает.
|
|