Имя: Пароль:
1C
1С v8
В МакетКомпоновкиДанных не попадают НаборыДанных из СхемаКомпоновкиДанных
0 FadeevaElena
 
28.03.12
11:39
Извините, где-то сильно туплю.
СКД в обработке, управляемая форма, тонкий клиент

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


В окне Отладки:
СхемаКомпоновкиДанных.НаборыДанных.Количество() = 1
МакетКомпоновкиДанных.НаборыДанных.Количество() = 0


Что я пишу не так?
1 Киборг
 
28.03.12
11:53
так вроде Внешние наборы прикручивает ПроцессорКомпоновкиДанных, который инициализируется позже


КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки);
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных);
2 FadeevaElena
 
28.03.12
12:27
а причем тут Внешние наборы?
3 Киборг
 
28.03.12
14:22
гм... обознатушки

возможно из-за использования КомпоновщикНастроекКомпоновкиДанных

если вместо этого
   КомпоновщикНастроекКомпоновкиДанных = Новый КомпоновщикНастроекКомпоновкиДанных;
   КомпоновщикНастроекКомпоновкиДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
   КомпоновщикНастроекКомпоновкиДанных.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);    
   НастройкиКомпоновки = КомпоновщикНастроекКомпоновкиДанных.ПолучитьНастройки();
   
как-нибудь установить НастройкиКомпоновки, то наборы будут?
4 Kashemir
 
28.03.12
14:37
Макет генерится с учетом настроек. Очевидно имеющиеся настройки вообще не предполагают обращения к имеющимся наборам данных.
5 Киборг
 
28.03.12
14:47
кстати, вставил вместо

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

такой код:

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

и стал получать ошибку на последней команде
6 Kashemir
 
28.03.12
14:56
(5) Не смущает что компоновщик настроек инициализирован одной схемой, а компоновка осуществляется по другой ?
7 FadeevaElena
 
28.03.12
15:02
Kashemir прав. Кривой Макет. Буду бороться с макетом. Спасибо!
8 Kashemir
 
28.03.12
15:03
(7) Я такого не говорил ;-) Проблема как раз в настройках
9 Киборг
 
28.03.12
15:22
(6) а, блин,
исправил
ошибки нет
наборы на месте

может и правда макет "протух" :) бывает такое...
10 nimasu
 
29.03.12
08:53
Буквально сейчас столкнулась с такой же проблемой.. Причину нашла: в схеме компоновки данных, пока не заполнила все настройки (выбранные поля, настроила саму структуру отчета и т.д. и т.п.). После этого все заработало.