94 lines
6.1 KiB
Plaintext
94 lines
6.1 KiB
Plaintext
|
|
&НаСервере
|
|
Процедура СформироватьОтчетНаСервере(ТаблДок)
|
|
|
|
//ОбъектОтчет = РеквизитФормыВЗначение("Отчет");
|
|
|
|
ОСКД = ПолучитьОбщийМакет(ИмяМакета);
|
|
НастройкиОСКД = ОСКД.НастройкиПоУмолчанию;
|
|
ЭлементыОтбора = Отбор[0].ОтборКомпоновкиДанных.Элементы;
|
|
Для й=0 По ЭлементыОтбора.Количество()-1 Цикл
|
|
|
|
Попытка
|
|
ЭлементСКД = НастройкиОСКД.Отбор.Элементы[й];
|
|
Исключение
|
|
ЭлементСКД = НастройкиОСКД.Отбор.Элементы.Добавить();
|
|
КонецПопытки;
|
|
|
|
ЭлементСКД.Использование = ЭлементыОтбора[й].Использование;
|
|
ЭлементСКД.ЛевоеЗначение = ЭлементыОтбора[й].ЛевоеЗначение;
|
|
ЭлементСКД.ВидСравнения = ЭлементыОтбора[й].ВидСравнения;
|
|
ЭлементСКД.ПравоеЗначение = ЭлементыОтбора[й].ПравоеЗначение;
|
|
КонецЦикла;
|
|
//НастройкиОСКД.Отбор = Отбор;
|
|
//Если Отбор.Количество() > 0 Тогда
|
|
// Для й=0 По Отбор.Количество()-1 Цикл
|
|
// НастройкиОСКД.Отбор.Элементы[й].Использование = Отбор[й].Использование;
|
|
// НастройкиОСКД.Отбор.Элементы[й].ЛевоеЗначение = Отбор[й].ЛевоеЗначение;
|
|
// НастройкиОСКД.Отбор.Элементы[й].ВидСравнения = Отбор[й].ВидСравнения;
|
|
// НастройкиОСКД.Отбор.Элементы[й].ПравоеЗначение = Отбор[й].ПравоеЗначение;
|
|
// КонецЦикла;
|
|
//КонецЕсли;
|
|
//НастройкиОСКД = КомпоновщикНастроек.ПолучитьНастройкиОСКД();
|
|
|
|
ПараметрыДанныхОСКД = НастройкиОСКД.ПараметрыДанных.Элементы;
|
|
|
|
ЭлементНачалоПериода = ПараметрыДанныхОСКД.Найти("Период");
|
|
ЭлементНачалоПериода.Использование = Истина;
|
|
ЭлементНачалоПериода.Значение = Период;
|
|
|
|
//ЭлементКонецПериода = ПараметрыДанныхОСКД.Найти("КонецПериода");
|
|
//ЭлементКонецПериода.Использование = Истина;
|
|
//ЭлементКонецПериода.Значение = КонецПериода;
|
|
|
|
//ЭлементСчет = ПараметрыДанныхОСКД.Найти("Счет");
|
|
//ЭлементСчет.Использование = Истина;
|
|
//ЭлементСчет.Значение = ПланыСчетов.Хозрасчетный.ТоварыНаСкладах;
|
|
|
|
//КомпоновщикНастроекДанных = Новый КомпоновщикНастроекКомпоновкиДанных;
|
|
//КомпоновщикНастроекДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(ОСКД));
|
|
//КомпоновщикНастроекДанных.ЗагрузитьНастройкиОСКД(ОСКД.НастройкиОСКДПоУмолчанию);
|
|
//КомпоновщикНастроекДанных.ЗагрузитьПользовательскиеНастройкиОСКД(Отчет.КомпоновщикНастроек.ПользовательскиеНастройкиОСКД);
|
|
|
|
КомпоновщикМакетаОСКД = Новый КомпоновщикМакетаКомпоновкиДанных;
|
|
//Макет = КомпоновщикМакетаОСКД.Выполнить(ОСКД, КомпоновщикНастроекДанных.ПолучитьНастройкиОСКД());
|
|
Макет = КомпоновщикМакетаОСКД.Выполнить(ОСКД, НастройкиОСКД);
|
|
|
|
ПроцессорКомпоновкиОСКД = Новый ПроцессорКомпоновкиДанных;
|
|
ПроцессорКомпоновкиОСКД.Инициализировать(Макет);
|
|
|
|
ТаблДок.Очистить();
|
|
|
|
ПроцессорВыводаОСКД = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
|
|
ПроцессорВыводаОСКД.УстановитьДокумент(ТаблДок);
|
|
ПроцессорВыводаОСКД.Вывести(ПроцессорКомпоновкиОСКД);
|
|
|
|
КонецПроцедуры
|
|
|
|
&НаКлиенте
|
|
Процедура Сформировать(Команда)
|
|
|
|
СформироватьОтчетНаСервере(Резутьтат);
|
|
//Масштаб = 50;
|
|
Резутьтат.Рисунки[0].Ширина = 70;
|
|
Резутьтат.Рисунки[0].Высота = 60;
|
|
Резутьтат.ПоказатьУровеньГруппировокСтрок(1);
|
|
Резутьтат.ПоказатьУровеньГруппировокСтрок(0);
|
|
|
|
КонецПроцедуры
|
|
|
|
&НаСервере
|
|
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
|
|
|
ИмяМакета = Параметры.ИмяМакета;
|
|
ОСКД = ПолучитьОбщийМакет(ИмяМакета);
|
|
ОтборСКД = ОСКД.НастройкиПоУмолчанию.Отбор;
|
|
|
|
ДобавитьОтбор = Отбор.Добавить();
|
|
ДобавитьОтбор.ОтборКомпоновкиДанных = ОтборСКД;
|
|
|
|
Период.ДатаНачала = НачалоМесяца(ТекущаяДата());
|
|
Период.ДатаОкончания = КонецМесяца(ТекущаяДата());
|
|
|
|
КонецПроцедуры
|