здравствуйте. хотела спросить, как проверить, что параметр макета существует? ОбластьМакета.Параметры.Номер = ... Если параметра Номер нету, то выдается ошибка, нужна какая-то проверка. Могу найти, перебирая все параметры макета. Нет ли варианта попроще?
например, можно проигнорировать ошибку: Попытка ОбластьМакета.Параметры.Номер = 2131231; Исключение КонецПопытки;
Код: Если ОбластьМакета.Параметры.Свойство("Номер") Тогда ОбластьМакета.Параметры.Номер = КонецЕсли; Хотя. Не пробовал, надо посмотреть. Там же не структура.
не работает метод обЪекта на обнаружен.. чета не знаю другой способ. даже не знаю как получить имя параметра, чтобы в процессе перебора всех параметров сравнивать имя параметра с искомым..
ага А для чего такое? Чтобы не заполнять каждый параметр используйте ОбластьМакета.Параметры.Заполнить() например.
ну вот хочется человеку узнать есть ли в табличном документе параметр с заданым именем.. вроде простое желание, а решения нет..
Где-то я видел код перебора параметров макета. Сейчас уже не помню... Но что-то типа такого: Код: Для Каждого Параметр Из ОбластьМакета.Параметры Цикл Если Параметр.Имя = ... .... КонецЦикла; Или как-то похоже...Попробуйте, может, получится, отладчик примените))
Либо перебирать все параметры и сверять есть такие по имени или нет, либо бросить затею, разработчики 1С не считают подобную задачу актуальной, т.к. разработка универсальных печатных форм, как минимум, задача не адекватная.
да ничего такого особого не делаю. просто есть 2 макета. в одном одни параметры, в другом немного другие. а процедура печати одна. заполнить() не подходит. там вычисляемое значение присваивается. да и не мной уже сделано, я вношу доработки. и если заполняются параметры нового макета, для печати старого документа - то ошибки летят. могу по дате документа отслеживать.
дак раз у вас 2 разных макета, то собственно определить по ним разве нельзя??? если заполняете один макет - то такие параметры, а если заполняете второй макет - то такие-то параметры заполняются. Разве так не проще?