Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 02:01

Все Реквизиты отчета

Автор ferrari314, 08 июл 2015, 12:37

0 Пользователей и 1 гость просматривают эту тему.

ferrari314

Необходимо пройтись по всем реквизитам отчета циклом.
для этого нужна конструкция вроде:
Для каждого Реквизит из ЭтотОбъект.метаданные() Цикл...
Однако в отчете, ни у этого объекта, ни у отчета ни у объекта - метода метаданные нет. Кто знает как обратиться?

ls600


Kironten

Цитата: ferrari314 от 08 июл 2015, 12:37
Необходимо пройтись по всем реквизитам отчета циклом.
для этого нужна конструкция вроде:
Для каждого Реквизит из ЭтотОбъект.метаданные() Цикл...
Однако в отчете, ни у этого объекта, ни у отчета ни у объекта - метода метаданные нет. Кто знает как обратиться?
С трудом верится.
ЭтотОбъект для отчета или внешнего отчета получает Объект, а у них есть этот метод.
Кроме того, если Вам нужно перебрать реквизиты, то это будет:
Для Каждого Реквизит из ЭтотОбъект.Метаданные().Реквизиты
Добавлено: 08 июл 2015, 13:34


Единственное что. Если у Вас управляемые формы, то Вы получите уже не объект, а управляемуюформу. А вот уже у неё естественно метода метаданные() нет.
Поэтому получаете сначала ОтчетОбъект, а затем перебор реквизитов.

ferrari314

Скрин - картинка 250 Кб
Вопрос тот же - как получить метаданные.
И да я пробовал делать не только при создании но и при формировании.
Отчет не имеет метода Метаданные();
ОтчетОбъект - вообще не существует.

Kironten

Цитата: ferrari314 от 09 июл 2015, 11:02
Скрин - картинка 250 Кб
Вопрос тот же - как получить метаданные.
И да я пробовал делать не только при создании но и при формировании.
Отчет не имеет метода Метаданные();
ОтчетОбъект - вообще не существует.

Вы читали, то что я написал про управляемые формы?
Еще раз:
ЭтотОбъект в данном случае Вам возвращает УправляемаяФорма. У неё нет этого метода, этот метод есть у объекта. Вам надо получить объект, чтобы воспользоваться этим методом.
Переводя вышесказанное в код, примерно так:

&НаСервере
Процедура ПереборРеквизитов()
ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
МетаданныеОтчета = ОтчетОбъект.Метаданные();
КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ПереборРеквизитов();
КонецПроцедуры

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск