Функция ПолучитьСиноним(ДокументМетаданные)
Результат=?(ЗначениеЗаполнено(ДокументМетаданные.Синоним),ДокументМетаданные.Синоним,ДокументМетаданные.Имя);
Результат=СтрЗаменить(Результат,"""","");
Возврат Результат;
КонецФункции
Функция ПолучитьТекстЗапроса()
ТекстЗапроса = "";
Для Каждого Документ из Метаданные.Документы Цикл
ТекстЗапроса = ТекстЗапроса+?(ЗначениеЗаполнено(ТекстЗапроса),Символы.ПС+" ОБЪЕДИНИТЬ ВСЕ "+ Символы.ПС,"")+"
|ВЫБРАТЬ
| """+ПолучитьСиноним(Документ)+""" как ВидДокумента,
| д.Ссылка как Ссылка,
| д.Дата как Дата,
| "+?(Документ.ДлинаНомера=0,"""""","д.Номер")+ " как Номер,
| "+?(Документ.Реквизиты.Найти("Ответственный")<>Неопределено," д.Ответственный ","""""")+" как Ответственный
|ИЗ
| Документ."+Документ.Имя+" как д
|{ГДЕ (д.Дата>&НачалоПериода или &НачалоПериода=ДАТАВРЕМЯ(1,1,1)),(д.Дата<&КонецПериода или &КонецПериода=ДАТАВРЕМЯ(1,1,1))}
|"
КонецЦикла;
Возврат ТекстЗапроса;
КонецФункции
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Схема = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Схема.НаборыДанных.Очистить();
НовыйНаборДанных = Схема.НаборыДанных.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных"));
НовыйНаборДанных.Имя = "НаборДанных";
НовыйНаборДанных.Запрос = ПолучитьТекстЗапроса();
НовыйНаборДанных.ИсточникДанных = "ИсточникДанных";
Схема.ИсточникиДанных.Очистить();
НовыйИсточникДанных = Схема.ИсточникиДанных.Добавить();
НовыйИсточникДанных.Имя = "ИсточникДанных";
НовыйИсточникДанных.ТипИсточникаДанных = "local";
Настройки = КомпоновщикНастроек.ПолучитьНастройки();
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки, ДанныеРасшифровки);
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
ДокументРезультат.Очистить();
ПроцессорВывода = Новый
ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
КонецПроцедуры