|
СКД, не удается связать с внешним набором данных | ☑ | ||
---|---|---|---|---|
0
Momus
02.03.20
✎
11:05
|
Есть отчет, содержащий определенный набор полей: Организация, КОнтрагент, Период, какие-то ресурсы.
Есть ТЗ, которую мне нужно связать с отчетом со следующими полями: Организация, КОнтрагент, Период, Количество. Для каждой колонки тз указал тип. В СКД создал внешний набор данных: задал поля, указал для них тип, обозначил роли. Связь между наборами идет по Организация, КОнтрагент, Период. При формировании отчета ошибка: "Не найден внешний набор данных ТЗ". Попробовал выводить только период (одно поле во внешнем наборе и по нему же связь) - рабоает, стоит к нему добавить поле-Количество - сразу ошибка: не найдено поле замены Количество. Такой примитивный пример, а какой-то затык, который никак не могу найти. Для СКД также отключил автозаполнение. Что нужно еще проверить? |
|||
1
Momus
02.03.20
✎
11:08
|
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь; ВывестиСКДВТабличныйДокумент(СхемаКомпоновкиДанных, ДокументРезультат, КомпоновщикНастроек); ... Процедура ВывестиСКДВТабличныйДокумент(МакетСКД, ТабличныйДокумент, КомпоновщикНастроек = Неопределено) Если КомпоновщикНастроек = Неопределено Тогда КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; КомпоновщикНастроек.ЗагрузитьНастройки(МакетСКД.НастройкиПоУмолчанию); КонецЕсли; Настройки = КомпоновщикНастроек.ПолучитьНастройки(); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(МакетСКД, Настройки); пПериод = Настройки.ПараметрыДанных.Элементы.Найти("Период"); Если пПериод <> Неопределено Тогда ТабКолУб = ПолучитьТЗКолУбыли(пПериод.Значение); ВнешнийНаборДанных = Новый Структура("ТабКолУб", ТабКолУб); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешнийНаборДанных); Иначе ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки); КонецЕсли; ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ТабличныйДокумент); ПроцессорВывода.Вывести(ПроцессорКомпоновки); |
|||
2
toypaul
гуру
02.03.20
✎
11:13
|
(1) надо включить мозги и проанализировать свой код. это не сложно :) ошибка очевидна
|
|||
3
Momus
02.03.20
✎
11:14
|
(2) не включаются. Прошу подсказку... Ошибка в ВывестиСКДВТабличныйДокумент?
|
|||
4
toypaul
гуру
02.03.20
✎
11:15
|
(3) да
|
|||
5
Ц_У
02.03.20
✎
11:17
|
(1) набор внешний то где?
|
|||
6
DmitriyDI
02.03.20
✎
11:26
|
(0)
второй раз зачем написано: ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки); ? |
|||
7
Momus
02.03.20
✎
11:30
|
(6) это я криво скопировал, сорри. Но ошибка не в этом
|
|||
8
Momus
02.03.20
✎
12:02
|
В общем ошибки никакой не было, она шла дальше по коду (в том моменте, когда я пытаюсь выгрузить результат отчета в таблицу значений).
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |