Имя: Пароль:
1C
1С v8
Как правильно определить наличие параметра в области макета
0 bvb
 
24.01.12
13:31
При использовании разных макетов при одном алгоритме заполнения возникает проблема :
что в одном макете параметр есть и его надо заполнять, а в другом нет и если его пытаться заполнить будет ошибка.
Как правильно (не через попытку) оапределить наличие параметра в макете.
1 Wobland
 
24.01.12
13:31
почему через попытку неправильно?
2 Feanor
 
24.01.12
13:32
ЗаплонитьЗначенияСвойств
3 Wobland
 
24.01.12
13:32
да и вообще, Параметры.Заполнить()
4 Рэйв
 
24.01.12
13:33
ТабличныйДокумент (SpreadsheetDocument)
Параметры (Parameters)
Использование:
Только чтение.
Описание:
Тип: ПараметрыМакетаТабличногоДокумента. Содержит коллекцию параметров макета табличного документа.
См. также:
ПараметрыМакетаТабличногоДокумента

(С)СП
Ключевое слово - КОЛЛЕКЦИЮ
5 Поpyчик-4
 
24.01.12
14:02
(0) Вот так правильно

// Функция определяет существует ли реквизит у какого-либо объекта.
//
Функция ЕстьРеквизитОбъекта(Объект, ИмяРеквизита) Экспорт
   
   КлючУникальности   = Новый УникальныйИдентификатор;

   СтруктураРеквизита = Новый Структура(ИмяРеквизита, КлючУникальности);

   ЗаполнитьЗначенияСвойств(СтруктураРеквизита, Объект);
   
   Возврат СтруктураРеквизита[ИмяРеквизита] <> КлючУникальности;
   
КонецФункции // ЕстьРеквизитОбъекта()

Пример использования

               Для каждого ПараметрШаблона Из СтруктураШаблона.ПараметрыШаблона Цикл
                   Если ЕстьРеквизитОбъекта(Область.Параметры, ПараметрШаблона.Значение) Тогда
                       НаименованиеКолонки = СтруктураРезультата.СоответствиеПолейСКДКолонкамТаблицыТоваров.Получить(Справочники.ШаблоныЭтикетокИЦенников.ПолучитьИмяПоляВШаблоне(ПараметрШаблона.Ключ));
                       Если НаименованиеКолонки <> Неопределено Тогда
                           Область.Параметры[ПараметрШаблона.Значение] = СтрокаТовары[НаименованиеКолонки];
                       КонецЕсли;
                   КонецЕсли;
               КонецЦикла;
6 bvb
 
24.01.12
16:00
(5) Спасибо.
прссто отличная функция
7 Поpyчик-4
 
24.01.12
17:54
(6) Это штатная. Выдернута из обработки печать ценников и этикеток в УТ 11. В Рознице 2 она тоже есть.