Имя: Пароль:
1C
1С v8
Вопрос по СКД
0 pavelul73
 
24.03.14
13:12
Добрый день.
Пытаюсь программно сформировать отчет на скд и вывести его на форму обработки. На форме размещен элемент "Результат" - тип Табличный документ.
Код:

ОСВ = Отчеты.ОборотноСальдоваяВедомость.Создать();

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

Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;

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

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

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

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

Результат.Очистить();

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

ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

Но Результат не заполняется, поле на форме обработки - пустое.
Подскажите, в чем может быть ошибка?
1 Cube
 
24.03.14
13:14
(0) Думаю, что элемент формы не связан с переменной "Результат"...
2 Cube
 
24.03.14
13:15
+(1) Либо, СКД возвращает пустой результат. Установи заголовок отчета в СКД для проверки.
3 pavelul73
 
24.03.14
13:20
СКД возвращает пустой результат, но вот почему - не могу понять
4 pavelul73
 
24.03.14
13:22
как установить заголовок отчета?
5 pavelul73
 
24.03.14
13:39
Заголовок выводится, но результат СКД пустой. Никто не сталкивался?
6 Fram
 
24.03.14
13:41
(5) Настройка пустая, скорее всего
7 pavelul73
 
24.03.14
13:44
(6) не подскажете, как заполнить настройку?
было бы здорово, если бы был пример заполнения настройки
8 vicof
 
24.03.14
13:44
(7) Для начала можно пройти бесплатный курс по СКД
9 AlexITGround
 
24.03.14
14:03
(0) период установи
10 pavelul73
 
24.03.14
14:46
(9)
Сделал так:
ОСВ = Отчеты.ОборотноСальдоваяВедомость.Создать();
СхемаКомпоновкиДанных = ОСВ.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
Компоновщик = Новый КомпоновщикНастроекКомпоновкиДанных;
//Компоновщик.Настройки.ПараметрыДанных.Элементы[0].Значение
Компоновщик.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
Компоновщик.ЗагрузитьФиксированныеНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
Компоновщик.Настройки.ПараметрыДанных.Элементы[0].Значение = Объект.КонецПериода;//конец периода
Компоновщик.Настройки.ПараметрыДанных.Элементы[1].Значение = Объект.НачалоПериода;//начало периода

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

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

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

ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

Но все равно не выводит
11 pavelul73
 
24.03.14
16:21
Подскажите, пожалуйста:
Получился вот такой код:
ОСВ = Отчеты.ОборотноСальдоваяВедомость.Создать();
СКД = ОСВ.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
Компоновщик = Новый КомпоновщикНастроекКомпоновкиДанных;
Компоновщик.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД));
Компоновщик.ЗагрузитьНастройки(Компоновщик.ПолучитьНастройки());
ПарамНачПериода = Компоновщик.Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода") ;
Если ПарамНачПериода <> Неопределено Тогда
ПарамНачПериода.Использование = Истина;
ПарамНачПериода.Значение = Объект.НачалоПериода;
КонецЕсли;

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

ОтборОрганизация=Компоновщик.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ОтборОрганизация.Использование=Истина;
ОтборОрганизация.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно;
ОтборОрганизация.ЛевоеЗначение=Новый ПолеКомпоновкиДанных("Организация");
ОтборОрганизация.ПравоеЗначение=Объект.Организация;

ПолеКомпоновки = Компоновщик.Настройки.Отбор.Элементы.Добавить(Тип("ПолеКомпоновкиДанных"));
ПолеКомпоновки.Использование=Истина;
ПолеКомпоновки.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ПолеКомпоновки.ЛевоеЗначение = Новый полеКомпоновкиДанных("ПоказательБУ");
ПолеКомпоновки.ПравоеЗначение = Истина;

Компоновщик.Настройки.ПараметрыВывода.Элементы.Найти("Title").Использование = истина;
Компоновщик.Настройки.ПараметрыВывода.Элементы.Найти("Title").Значение = "Мой заголовок отчета";


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

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

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

ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

но в табличный документ выводит только заголовок отчета и параметры отбора. Почему сам отчет не выводит?
12 France
 
24.03.14
16:25
Мне в аналогичной ситуации очень помогла Хрусталева
13 pavelul73
 
24.03.14
16:35
(12)Нет под рукой этой книги, не подскажете, в чем же проблема?
14 Пеппи
 
24.03.14
16:48
А в ТЗ выводит данные из запроса?
15 Пеппи
 
24.03.14
16:52
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений

    ТаблицаЗначений =  Новый ТаблицаЗначений;
    
    ПроцессорВывода.УстановитьОбъект(ТаблицаЗначений);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
16 pavelul73
 
24.03.14
17:48
Дело в том, что в схеме СКД ОСВ не задана структура отчета, поэтому и выводит пусто. Нужно свою структуру создавать
17 pavelul73
 
24.03.14
18:30
Может кто сталкивался с подобным?
Как правильно создать структуру отчета программным способом?