Имя: Пароль:
1C
1С v8
Добавить в отчет на СКД поля набора данных программно
0 Oleg87
 
25.09.15
12:25
Добрый день.

Нужно программно добавить в отчет на СКД поля набора данных. Причем, чтобы они были доступны в списке полей при изменении варианта отчета пользователем.

В модуле объекта отчета нет подходящего обработчика, чтобы при запуске отчета заполнить список полей набора данных (скриншот https://yadi.sk/i/b_VER8w8jJyNx). Если в разделе основной программы модуля объекта отчета написать следующий код:

ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных.Добавить();
ИсточникДанных.Имя = "Ист1";
ИсточникДанных.ТипИсточникаДанных = "Local";

НаборДанныхОбъект = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхОбъектСхемыКомпоновкиДанных"));
НаборДанныхОбъект.ИмяОбъекта = "Табл";
НаборДанныхОбъект.Имя = "Набор1";
НаборДанныхОбъект.ИсточникДанных = "Ист1";

Поле = НаборДанныхОбъект.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
Поле.Поле = "Поле1";
Поле.ПутьКДанным = "Поле1";

Поле = НаборДанныхОбъект.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
Поле.Поле = "Поле2";
Поле.ПутьКДанным = "Поле2";

То, в пользовательском режиме в списке полей при настройке варианта отчета, появляются поле1 и поле2 (скриншот https://yadi.sk/i/ALAnUMMsjJyBm)

Нужно разместить данный код в ПриСозданииНаСервере формы, чтобы он отрабатывал лишь единожды при старте отчета.
Для этого в процедуре ПриСозданииНаСервере я сначала преобразую основной реквизит формы в объект (с помощью РеквизитФормыВЗначение), затем добавляю в этот отчет-объект необходимые поля набора данных и делаю обратное преобразование отчет-объект в ДанныеФормыСтруктура (с помощью метода ЗначениеВДанныеФормы). Однако при старте такой формы, при изменении варианта отчета в пользовательском режиме, созданные поля набора данных не отображаются.
(см скрин1 https://yadi.sk/i/pAqqX8vijK2fc
скрин 2 https://yadi.sk/i/zZVdVrGvjK2sG)

Что я делаю не верно?
1 Timon1405
 
25.09.15
12:29
2 Oleg87
 
25.09.15
12:29
Скрин, на котором видно что после добавления кода в МО отчета, в пользовательском режиме появляются необходимые поля  https://yadi.sk/i/ALAnUMMsjJyBm
(в предыдущем сообщении почему то не открывается)
3 aleks_default
 
25.09.15
12:31
Главный вопрос - ЗАЧЕМ?