Значение не является значением объектного типа (ПолучитьОбласть)
☑
0
dft2014
09.06.18
✎
18:27
При формировании отчета выходит ошибка:
Значение не является значением объектного типа (ПолучитьОбласть)
Подскажите, как это побороть? Ниже кусочек кода:
&НаСервере
Процедура ПросмотретьНаСервере()
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("День");
ТЗ.Колонки.Добавить("Месяц");
ТекДат = НачалоДня(Отчет.Дата1);
Пока ТекДат <= НачалоДня(Отчет.Дата2) Цикл
НовСтр = ТЗ.Добавить();
НовСтр.День = ТекДат;
НовСтр.Месяц = Месяц(ТекДат);
ТекДат = ТекДат+86400;
КонецЦикла;
НовТабДок = Новый ТабличныйДокумент;
Макет = Отчет.РеквизитМакет;
Шапка = Макет.ПолучитьОбласть("Шапка");
НовТабДок.Вывести(Шапка);
Для Каждого СтрокаТЗ Из ТЗ Цикл
СтрокаТЧ = Макет.ПолучитьОбласть("СтрокаТЧ");
СтрокаТЧ.Параметры.День = ТЗ.День;
НовТабДок.Вывести(СтрокаТЧ);
КонецЦикла;
КонецПроцедуры
1
mehfk
09.06.18
✎
19:15
>> Подскажите, как это побороть?
Ты программист или как?
2
dft2014
09.06.18
✎
19:18
(1) начинается...
Да, я программистка
3
hhhh
09.06.18
✎
19:20
(0) вот это очень странное выражение
Макет = Отчет.РеквизитМакет;
присмотритесь к нему. Похоже вы в Макет какую-то фигню грузите.
4
mehfk
09.06.18
✎
19:25
(2) Проверяй тип в отладчике Отчет.РеквизитМакет
5
dft2014
11.06.18
✎
19:24
(3), (4) Отчет.РеквизитМакет в отладчике Неопределенно почему-то?!
6
dft2014
11.06.18
✎
19:39
Разобралась! Надо было написать:
НовТабДок = Новый ТабличныйДокумент;
Макет = РеквизитФормыВЗначение("Отчет").ПолучитьМакет("Макет");
Шапка = Макет.ПолучитьОбласть("Шапка");
НовТабДок.Вывести(Шапка);
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший