|
0
Momus
02.03.20
✎
11:05
|
Есть отчет, содержащий определенный набор полей: Организация, КОнтрагент, Период, какие-то ресурсы.
Есть ТЗ, которую мне нужно связать с отчетом со следующими полями: Организация, КОнтрагент, Период, Количество. Для каждой колонки тз указал тип.
В СКД создал внешний набор данных: задал поля, указал для них тип, обозначил роли.
Связь между наборами идет по Организация, КОнтрагент, Период. При формировании отчета ошибка: "Не найден внешний набор данных ТЗ". Попробовал выводить только период (одно поле во внешнем наборе и по нему же связь) - рабоает, стоит к нему добавить поле-Количество - сразу ошибка: не найдено поле замены Количество. Такой примитивный пример, а какой-то затык, который никак не могу найти. Для СКД также отключил автозаполнение.
Что нужно еще проверить?
|
|
|
1
Momus
02.03.20
✎
11:08
|
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ВывестиСКДВТабличныйДокумент(СхемаКомпоновкиДанных, ДокументРезультат, КомпоновщикНастроек);
...
Процедура ВывестиСКДВТабличныйДокумент(МакетСКД, ТабличныйДокумент, КомпоновщикНастроек = Неопределено)
Если КомпоновщикНастроек = Неопределено Тогда
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроек.ЗагрузитьНастройки(МакетСКД.НастройкиПоУмолчанию);
КонецЕсли;
Настройки = КомпоновщикНастроек.ПолучитьНастройки();
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(МакетСКД, Настройки);
пПериод = Настройки.ПараметрыДанных.Элементы.Найти("Период");
Если пПериод <> Неопределено Тогда
ТабКолУб = ПолучитьТЗКолУбыли(пПериод.Значение);
ВнешнийНаборДанных = Новый Структура("ТабКолУб", ТабКолУб);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешнийНаборДанных);
Иначе
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
КонецЕсли;
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабличныйДокумент);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
|
|