ВПФ из отчета с СКД.

1. Jokemas 192 30.11.18 15:16 Сейчас в теме
Добрый день, коллеги. Возник вопрос.

Начал знакомиться с ЗУП 3.1 и уткнулся в их отчеты. Возник вопрос, а как программно, корректно описать вот такую конструкцию?

Это отчет Унифицированная форма Т2. Так-то понятно, как сделать внешнюю печатную форму, но хочется сделать полностью автономную печатную форму, со своей СКД и т.д. Да и просто интересно, как корректно вот эта вещь описывается руками, если хочется толкнуть по коду дальше свои данные.

	ДокументРезультат = Новый ТабличныйДокумент;
	ДокументРезультат.АвтоМасштаб = Истина;
	НомерСтрокиНачало = ДокументРезультат.ВысотаТаблицы + 1;
	
	ОтчетТ2 = Отчеты.УнифицированнаяФормаТ2.Создать();
	ОтчетТ2.ИнициализироватьОтчет();
	ОтчетТ2.КомпоновщикНастроек.ЗагрузитьНастройки(ОтчетТ2.СхемаКомпоновкиДанных.ВариантыНастроек.Т2.Настройки);
	
	Отбор = ОтчетТ2.КомпоновщикНастроек.Настройки.Отбор;
	
	Отбор.Элементы.Очистить();
	ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(Отбор, "РабочееМесто.Сотрудник", ВидСравненияКомпоновкиДанных.ВСписке, МассивОбъектов);
	
	ОтчетТ2.КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("ОбъектыПечати", ОбъектыПечати);
Показать

Я пытаюсь описать этот "финт" ушами вот так, но не выходит каменный цветок. Не формирует ничего. Если же использовать стандартный механизм, то все работает.
	ДокументРезультат = Новый ТабличныйДокумент;
	ДокументРезультат.АвтоМасштаб = Истина;
	НомерСтрокиНачало = ДокументРезультат.ВысотаТаблицы + 1;
	
	СхемаКомпоновкиДанных = ПолучитьМакет("УнифицированнаяФормаТ2Расширенная");
	КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
	
	//КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); // для обычных форм
	АдресСхемы = ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных);                                				// Для управляемых форм
	КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы));				// Для управляемых форм
	
	КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.ВариантыНастроек.Т2.Настройки);
	КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("ОбъектыПечати", ОбъектыПечати);
	КомпоновщикНастроек.Настройки.Отбор.Элементы.Очистить();
	
	СписокОтбора = Новый СписокЗначений;
	СписокОтбора.ЗагрузитьЗначения(МассивОбъектов);
	ПолеОтбора = Новый ПолеКомпоновкиДанных("РабочееМесто.Сотрудник");
	ТипОтбора = Тип("ЭлементОтбораКомпоновкиДанных");
		
	ЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(ТипОтбора);
	ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
	ЭлементОтбора.ЛевоеЗначение = КомпоновщикНастроек.Настройки.ДоступныеПоляОтбора.НайтиПоле(ПолеОтбора).Поле;
	ЭлементОтбора.ПравоеЗначение = СписокОтбора;
	ЭлементОтбора.Использование = Истина;
Показать
По теме из базы знаний
Найденные решения
4. Jokemas 192 03.12.18 21:03 Сейчас в теме
Поскольку задача была описать весь процесс собственным кодом, без использования всяких "представлений", пришлось все жа разбираться самому. В целом сложного ничего нет, когда разберешься =). Главное иметь цель. Всякие книжки Хрусталевой и Радченко - вообще не помогли в процессе. Вдумчивое изучение синтаксис помощника и интернетов - залог успеха. Тему можно закрывать.

Кстати, все эти книжки больше путают, чем помогают. Там везде описаны какие-то сферические кони в вакууме, которых в реальной жизни не объездить. Эти "примеры" всего лишь примеры =)).
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. VmvLer 30.11.18 17:37 Сейчас в теме
ключевые понятия для просветления

1. ИнициализироватьОтчет()

2. "механизм представлений" В ЗУП

без тщательного понимания, что такое 1 и 2 вещать можно долго, но это будет разговор сплепого
с глухим.

эти механизмы вкрапляют уже и в более легкие конфы, посему овладеть предметом обязательно.
3. Jokemas 192 30.11.18 17:58 Сейчас в теме
(2)Ок, спасибо за целеуказание. Ценю правильные советы. Я не стремлюсь получить готовый код, я хочу именно разобраться. Т.е. эта впф всего лишь повод, чтобы начать разбираться -)
4. Jokemas 192 03.12.18 21:03 Сейчас в теме
Поскольку задача была описать весь процесс собственным кодом, без использования всяких "представлений", пришлось все жа разбираться самому. В целом сложного ничего нет, когда разберешься =). Главное иметь цель. Всякие книжки Хрусталевой и Радченко - вообще не помогли в процессе. Вдумчивое изучение синтаксис помощника и интернетов - залог успеха. Тему можно закрывать.

Кстати, все эти книжки больше путают, чем помогают. Там везде описаны какие-то сферические кони в вакууме, которых в реальной жизни не объездить. Эти "примеры" всего лишь примеры =)).
5. Matveev_VS 162 18.10.19 13:10 Сейчас в теме
(4) Подскажи, и как ты сделал ВНФ?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот