Имя: Пароль:
1C
1С v8
СКД вывод результата в тз.
0 zladenuw
 
14.03.13
16:31
Делаю так
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   СхемаКомпоновкиДанныхА = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных1");
   
   КомпоновщикНастроекА = Новый КомпоновщикНастроекКомпоновкиДанных;
   КомпоновщикНастроекА.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанныхА));
   
   КомпоновщикНастроекА.Настройки.ПараметрыДанных.Элементы.Найти("Подразделение").Значение = ЭлементыФормы.Подразделение.Значение;
   КомпоновщикНастроекА.Настройки.ПараметрыДанных.Элементы.Найти("Подразделение").Использование = Истина;
   КомпоновщикНастроекА.Настройки.ПараметрыДанных.Элементы.Найти("МесяцН").Значение = ЭлементыФормы.МесяцН.Значение;
   КомпоновщикНастроекА.Настройки.ПараметрыДанных.Элементы.Найти("МесяцН").Использование = Истина;
   КомпоновщикНастроекА.Настройки.ПараметрыДанных.Элементы.Найти("МесяцК").Значение = ЭлементыФормы.МесяцК.Значение;
   КомпоновщикНастроекА.Настройки.ПараметрыДанных.Элементы.Найти("МесяцК").Использование = Истина;
   КомпоновщикНастроекА.Настройки.ПараметрыДанных.Элементы.Найти("Год").Значение = ЭлементыФормы.Год.Значение;
   КомпоновщикНастроекА.Настройки.ПараметрыДанных.Элементы.Найти("Год").Использование = Истина;

   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанныхА,
       КомпоновщикНастроекА.Настройки,
       ДанныеРасшифровки,,
       Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
   
   тз = новый ТаблицаЗначений;
   ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки,Истина);
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
   ПроцессорВывода.ОтображатьПроцентВывода = Истина;
   тз = ПроцессорВывода.Вывести(ПроцессорКомпоновки);
Но тз пустое.
Если выбираю эту схему по умолчанию и формирую запрос. данные есть. что не так ?
1 zladenuw
 
14.03.13
16:43
где ошибся? кто подскажет ?
2 pessok
 
14.03.13
16:53
(0) и формируешь с теми же параметрами?
3 zladenuw
 
14.03.13
16:54
(2) да
4 pessok
 
14.03.13
16:55
а вообще

тз = ПроцессорВывода.Вывести(ПроцессорКомпоновки).Скопировать();

по идее
5 pessok
 
14.03.13
16:56
ПроцессорВывода.Вывести(ПроцессорКомпоновки).ВыбратьСтроку();

пустое тоже?
6 zladenuw
 
14.03.13
16:57
(4) да в отладчике смотрю ПроцессорВывода.Вывести(ПроцессорКомпоновки) , пусто.

поменял на табличный документ. так же вывод пустой. не пойму, что ему надо..
7 zladenuw
 
14.03.13
17:01
(5) Даааа.
8 GANR
 
14.03.13
17:02
9 zladenuw
 
14.03.13
17:05
(8) и что. все как там.
ПроцессорВывода.УстановитьОбъект. можно и не устанавливать. результат по умолчанию будет помещен в таблицу значений.

в настройках этой схемы только 1 группировка.
10 pessok
 
14.03.13
17:07
а не работает даже как по ссылке...
11 zladenuw
 
14.03.13
17:10
12 pessok
 
14.03.13
17:16
(11) у меня даже явно сам запрос не выполняется...
13 lxndr
 
14.03.13
17:22
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   СхемаКомпоновкиДанныхА = ПолучитьМакет("Макет");
   
   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанныхА,
       СхемаКомпоновкиДанныхА.НастройкиПоУмолчанию,
       ,,
       Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
   
   тз = новый ТаблицаЗначений;
   ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,,,Истина);
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
   ПроцессорВывода.ОтображатьПроцентВывода = Истина;
   тз = ПроцессорВывода.Вывести(ПроцессорКомпоновки);    
   тз.ВыбратьСтроку();
14 lxndr
 
14.03.13
17:22
не применяешь настройки по умолчанию
15 zladenuw
 
14.03.13
17:24
(14) нет. если меняю СхемаКомпоновкиДанныхА.НастройкиПоУмолчанию. то вывалиевает что пустые параметры.
16 GANR
 
14.03.13
17:25
ТабИсточника = Новый ТаблицаЗначений;
   
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВывода.УстановитьОбъект(ТабИсточника);
ТабИсточника = ПроцессорВывода.Вывести(ПроцессорКомпоновки);
17 GANR
 
14.03.13
17:26
ПроцессорВывода.УстановитьОбъект(ТабИсточника) - в (0) пропущена эта строчка
18 zladenuw
 
14.03.13
17:26
(17) ты вообще читаешь пост. можно не устанавливать. да похер. сейчас так. все равно пустое тз
КомпоновщикМакетаА = Новый КомпоновщикМакетаКомпоновкиДанных;
   СхемаКомпоновкиДанныхА = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных1");
   
   КомпоновщикНастроекА = Новый КомпоновщикНастроекКомпоновкиДанных;
   КомпоновщикНастроекА.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанныхА));
   ДанныеРасшифровкиА = Новый ДанныеРасшифровкиКомпоновкиДанных;
   КомпоновщикНастроекА.Настройки.ПараметрыДанных.Элементы.Найти("Подразделение").Значение = ЭлементыФормы.Подразделение.Значение;
   КомпоновщикНастроекА.Настройки.ПараметрыДанных.Элементы.Найти("Подразделение").Использование = Истина;
   КомпоновщикНастроекА.Настройки.ПараметрыДанных.Элементы.Найти("МесяцН").Значение = ЭлементыФормы.МесяцН.Значение;
   КомпоновщикНастроекА.Настройки.ПараметрыДанных.Элементы.Найти("МесяцН").Использование = Истина;
   КомпоновщикНастроекА.Настройки.ПараметрыДанных.Элементы.Найти("МесяцК").Значение = ЭлементыФормы.МесяцК.Значение;
   КомпоновщикНастроекА.Настройки.ПараметрыДанных.Элементы.Найти("МесяцК").Использование = Истина;
   КомпоновщикНастроекА.Настройки.ПараметрыДанных.Элементы.Найти("Год").Значение = ЭлементыФормы.Год.Значение;
   КомпоновщикНастроекА.Настройки.ПараметрыДанных.Элементы.Найти("Год").Использование = Истина;

   МакетКомпоновки = КомпоновщикМакетаА.Выполнить(СхемаКомпоновкиДанныхА,СхемаКомпоновкиДанныхА.НастройкиПоУмолчанию,ДанныеРасшифровкиА,,
   Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));    
       
   тз = новый ТаблицаЗначений;
   ПроцессорКомпоновкиА = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновкиА.Инициализировать(МакетКомпоновки,,ДанныеРасшифровкиА);
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
   //ПроцессорВывода.ОтображатьПроцентВывода = Истина;
   ПроцессорВывода.УстановитьОбъект(тз);
   ПроцессорВывода.Вывести(ПроцессорКомпоновкиА);
19 lxndr
 
14.03.13
17:28
(15) тогда дополни:

КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   СхемаКомпоновкиДанныхА = ПолучитьМакет("Макет");
   
   КомпоновщикНастроекА = Новый КомпоновщикНастроекКомпоновкиДанных;
   КомпоновщикНастроекА.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанныхА));
   КомпоновщикНастроекА.ЗагрузитьНастройки(СхемаКомпоновкиДанныхА.НастройкиПоУмолчанию);
   
   КомпоновщикНастроекА.Настройки.ПараметрыДанных.Элементы.Найти("Параметр").Значение = "Параметр";
   
   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанныхА,
       КомпоновщикНастроекА.Настройки,
       ,,
       Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
   
   тз = новый ТаблицаЗначений;
   ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,,,Истина);
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
   ПроцессорВывода.ОтображатьПроцентВывода = Истина;
   тз = ПроцессорВывода.Вывести(ПроцессорКомпоновки);
20 zladenuw
 
14.03.13
17:31
(19)
я же пишу что СхемаКомпоновкиДанныхА.НастройкиПоУмолчанию в  пусто.
21 pessok
 
14.03.13
17:32
(19) так все равно нихт арбайтен...
22 GANR
 
14.03.13
17:32
А в ТабличныйДокумент выводится что-нибудь с аналогичными настройками компоновки?
23 lxndr
 
14.03.13
17:34
24 zladenuw
 
14.03.13
17:34
(22) нет пусто. показывает только отбор :)
а если схему по умолчанию то все вывод.

(21) да не хочет. сразу матюкается что не установлены параметры.
25 lxndr
 
14.03.13
17:35
(24) > сразу матюкается что не установлены параметры.
Установи их!
26 GANR
 
14.03.13
17:36
(24) Значит дело в настройках - хорошо-бы добиться, чтоб не пусто было. КомпоновщикНастроек.Настройки.Структура, вероятно, пусто.
27 zladenuw
 
14.03.13
17:40
(25,26)
КомпоновщикНастроекА = Новый КомпоновщикНастроекКомпоновкиДанных;
   КомпоновщикНастроекА.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанныхА));

Вот тут получаю с схемы параметры и настройки. дальше параметры заполняю. и передаю этот компоновщикнастроек как настройки по умолчанию.
Чего ему еще надо.
Забыл добавить это 8.1 :)
28 lxndr
 
14.03.13
17:44
(27) тут настройки нифига не заполняются.
Добавь:
КомпоновщикНастроекА.ЗагрузитьНастройки(СхемаКомпоновкиДанныхА.НастройкиПоУмолчанию);
29 zladenuw
 
14.03.13
17:45
(28) если я так делаю параметры очищаются и в списке они пустые
30 GANR
 
14.03.13
17:46
(29) В (0)(28) нету - вот и пусто всё
31 lxndr
 
14.03.13
17:46
(29) добавь это перед заполнением параметров
32 zladenuw
 
14.03.13
17:47
(28)
а почему тогда в сп написано так

Инициализировать(<Источник доступных настроек>)
Параметры:
<Источник доступных настроек> (обязательный)
Тип: ИсточникДоступныхНастроекКомпоновкиДанных, Неопределено. Схема компоновки данных, из которой будут получаться доступные настройки для настройки системы компоновки данных.
33 GANR
 
14.03.13
17:48
(32) Это инициализация доступных настроек для пользователя. Это, кстати, можно из кода выкинуть.
34 lxndr
 
14.03.13
17:48
(32) этим вызовом инициализируются доступные настройки. Дальше тебе надо их заполнить: или загрузить, или формировать структуру кодом
35 zladenuw
 
14.03.13
17:51
(34) ясно. спасибо.