0
Григорополисец
01.06.22
✎
22:26
|
Здравствуйте, уважаемые форумчане!
Сегодня, при написании кода отчёта в управляемой форме, столкнулся с непонятной проблемой.
Метод макета табличного документа .ПолучитьОбласть() не хочет возвращать часть табличного документа, как написано в справке 1С. Вместо этого тип возвращаемого значения "Строка".
Сам кусок кода ниже.
--------------
ОбъектДляМакета = РеквизитФормыВЗначение("Отчет");
РМ = ОбъектДляМакета.ПолучитьМакет("ОсновнойМакетФР");
Заголовок = РМ.ПолучитьОбласть("Заголовок|МагазиныСтолбец"); // Вот тут в переменную и заливается объект с типом "Строка", а не с типом "Табличный документ". Соответственно, всё, что ниже, уже начинает ругаться.
Заголовок.Параметры.Заполнить(Новый Структура("ДатаНачала, ДатаОкончания", ЭтаФорма.ДатаНачала, ЭтаФорма.ДатаОкончания));
ЭтаФорма.ПолеВыводаФР.Вывести(Заголовок);
--------------
Причём, у меня эта проблема плавающая. То строка возвращается, то нормальный табличный документ, который потом прекрасно добавляется методами .Вывести() или .Присоединить().
Знаю, что сейчас в моде отчёты СКД. Но в таблице Excel мне такое нарисовали, что легче сделать через получение классического макета.
Заранее благодарен хотя бы и за внимание!
|
|
2
Григорополисец
01.06.22
✎
23:36
|
(1) Да, Вы совершенно правы! Ещё одна тонкость от 1С!
На будущее, надо будет приучить себя проверять имена придумываемых переменных на предмет их зарезервированности системой.
Благодарен!
|
|