четверг, 27 сентября 2018 г.

Простой вывод таблицы значений в табличный документ (построитель отчета)

ТекстЗапроса = "ВЫБРАТЬ * ИЗ Справочник.Пользователи";                         
ЗапросаДанных = Новый Запрос(ТекстЗапроса);
РезЗапроса = ЗапросаДанных.Выполнить().Выгрузить();
     
ТабДокумент = Новый ТабличныйДокумент;
Построитель = Новый ПостроительОтчета;
Построитель.ИсточникДанных=Новый ОписаниеИсточникаДанных(РезЗапроса);       
Построитель.Вывести(ТабДокумент);
ТабДокумент.Показать("ИмяДокумента");  

https://helpf.pro/faq/view/1373.html

вторник, 20 февраля 2018 г.

Программная смена схемы СКД

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь;

СхемаКомпоновкиДанных = ПолучитьМакет(?(Свернутый, "ОсновнаяСхемаКомпоновкиДанныхСвернутая", "ОсновнаяСхемаКомпоновкиДанных"));

КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
Настройки = КомпоновщикНастроек.ПолучитьНастройки();

УстановитьПараметрСКД(Настройки, "НачалоПериода", ДатаНач);
УстановитьПараметрСКД(Настройки, "КонецПериода", ДатаКон);
УстановитьПараметрСКД(Настройки, "Организация", Организация);
УстановитьПараметрСКД(Настройки, "Статус", ВидЗадолженности);
УстановитьПараметрСКД(Настройки, "Менеджер", Менеджер);
УстановитьПараметрСКД(Настройки, "ТекущаяДата", ТекущаяДата());

ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);

ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);

ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);

КонецПроцедуры

Процедура УстановитьПараметрСКД(Настройки, ИмяПараметра, Значение)

Параметр = Настройки.ПараметрыДанных.Элементы.Найти(ИмяПараметра);
Если Параметр <> Неопределено Тогда
Параметр.Значение = Значение;
Параметр.Использование = Истина;
КонецЕсли;

КонецПроцедуры