Имя: Пароль:
1C
 
Как получить список имён параметров ТабличногоДокумента?
0 AMas
 
18.05.06
18:29
Всем привет,
Уже не в первый раз возникает такая дурацкая проблема:
Есть ТабличныйДокумент, у него есть Параметры. Очень хочется получить список имён этих параметров.
ТабличныйДокумент.Параметры - это, как известно, коллекция типа "ПараметрыМакетаТабличногоДокумента", с которой можно делать всё что угодно кроме самого интересного - "огласить весь список".
Зачем это нужно? Как всегда, избавление от тормозов. Делается серия печатных форм, часть параметров в которых логично заполнять автоматически (примеры: ИНН, Руководитель, ДолжностьИсполнителя). Каждый раз рассчитывать ВСЕ параметры и подсовывать их через процедуру Заполнить - расточительно. Хочется считать только то, что действительно нужно.
-----
Может быть, кто-то знает чудодейственный способ добраться до ИМЁН параметров?
1 Поток сознания
 
18.05.06
18:49
Имхо никак.
Если коллекцию параметров посмотреть в отладчике, то там нет Имени. Только индекс, значение и тип.
2 AMas
 
18.05.06
18:53
В отладчике, кстати, эта собака показывает имена параметров! Кнопочка [+] значения МакетОтчета.Параметры разворачивает веточку, где (sic!) видны имена параметров! Как говорится, видит око, да зуб неймёт...
3 Поток сознания
 
18.05.06
18:55
(2) Это да, но если посмотреть коллекцию Макет.Параметры по кнопке "Показать в отдельном окне", то нет там Имён.
В общем, у меня не получилось.
4 AMas
 
18.05.06
19:22
(3) Фигня какая-то. Типа "здесь помню, здесь не помню".
Короче, свою личную локальную проблему я решил вот таким извращенческим способом:
-------
Рассчитываемые = Новый Массив;
Для каждого ИмяПарам из ВсеПараметрыКоторыеУмеюСчитать Цикл
   Надо = Ложь;
   Попытка
       trash = МакетОтчета.Параметры[ИмяПарам];
       Надо = Истина;
   Исключение
   КонецПопытки;
   Если Надо Тогда
       Рассчитываемые.Добавить(ИмяПарам);
   КонецЕсли;
КонецЦикла;
-------
Однако неприятный осадок на душе остался. Надо как-то попросить разработчиков платформы открыть доступ к списку имён параметров. Пусть для агрегатного типа ПараметрыМакетаТабличногоДокумента сделают метод ПолучитьИмена, возвращающий массив.