Имя: Пароль:
1C
1С v8
Не найден внешний набор данных
, , ,
0 Nzzzz
 
09.12.21
15:42
Добрый день. При построении отчета скд пишет "Не найден внешний набор данных".

Почему он не найден? Что сделано не так? Код модуля отчета ниже:


Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    
    
    СтандартнаяОбработка = Ложь;
    
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    МедицинскийДокументДиагнозыПоМКБ10.Ссылка КАК ДокументМД,
    |    МедицинскийДокументДиагнозыПоМКБ10.МКБ10 КАК Диагноз
    |ИЗ
    |    Документ.МедицинскийДокумент.ДиагнозыПоМКБ10 КАК МедицинскийДокументДиагнозыПоМКБ10";
    
    Таб = Запрос.Выполнить().Выгрузить();
    
    СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
    
    //Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;  
    // - Если сделать так, как показано выше(рекомендуют на некоторых ресурсах), то при изменении настроек в режиме клиента
    // этих изменений Вы не увидите, потому что настройки всегда будут по умолчанию. Как правильно - вариант ниже
    //Настройки = КомпоновщикНастроек.ПолучитьНастройки();
    
    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;    
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);    
    
    ВнешнийНаборДанных = Новый Структура("ТабличкаМоя", Таб);
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешнийНаборДанных, ДанныеРасшифровки);
    
    ДокументРезультат.Очистить();
    
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
    
КонецПроцедуры
1 Гипервизор
 
09.12.21
15:45
Ключ структуры соответствует имени внешнего набора данных?
2 ДенисЧ
 
09.12.21
15:46
ПроцессорКомпоновкиДанных.Инициализировать
Четвёртый параметр, смотри в СП.
3 Nzzzz
 
09.12.21
15:47
4 Nzzzz
 
09.12.21
15:50
(2) ВнешнийНаборДанных = Новый Структура("ТабличкаМоя", Таб);
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешнийНаборДанных, ДанныеРасшифровки, Истина);
такая же ошибка с таким кодом
5 Nzzzz
 
09.12.21
15:55
На копии базы эта ошибка не возникает.
Отчет формируется, но пустой!
6 Гипервизор
 
09.12.21
15:56
Попробуйте тип значения в наборе указать.
7 dubolom
 
09.12.21
15:56
А зачем вообще добавлять этот набор данных программно, а не в самой СКД?
8 Nzzzz
 
09.12.21
15:59
(6) Не помогло, отчет пустой.
9 Гипервизор
 
09.12.21
15:59
(6) Стоп, а имя набора-объект данных у вас тоже должно быть ТабличкаМоя.
10 Nzzzz
 
09.12.21
16:04
(6) Ничего не поменялось(
11 Nzzzz
 
09.12.21
16:04
(7) Так нужно, по другому никак..
12 Nzzzz
 
09.12.21
16:05
(9) Переименовали, теперь и на копии ошибка "Не найден внешний набор данных"
13 Nzzzz
 
09.12.21
16:08
(7) Нужно сложить строки, а я умею делать только в ТЗ такое. Вот и хочу в "ТабличкаМоя" обработать строки кодом сложить их и готовую табличку загрузить к моему отчету в скд с помощью внешнего набора данных
14 dubolom
 
09.12.21
16:14
(13) СоединитьСтроки() или своя функция из общего модуля.
15 Nzzzz
 
09.12.21
16:17
(14) Не работает СоединитьСтроки, нужна группировка - а у меня её нет и не надо.
Функцией из общего модуля это как? В скд то..
16 dubolom
 
09.12.21
16:18
17 Гипервизор
 
09.12.21
16:35
(12) (12) Интересное поведение в разных базах. Может у вас сохранённые настройки для отчёта были? Попробуйте создать новый отчёт, перекинуть туда схему и перенести код.
18 Nzzzz
 
09.12.21
16:38
(17) Да, каждый раз меняю имя отчете. иначе изменения не сохраняются
19 Nzzzz
 
09.12.21
16:38
Сейчас проблема в том, что отчет пустой..Хотя формирую наборы по отдельности - они заполнены
20 Гипервизор
 
09.12.21
16:43
(18) Это как так? Чудеса.
21 Vadim_37
 
09.12.21
16:45
(20) 146% что внешний, есть там такое
22 Nzzzz
 
09.12.21
16:47
(21) Да, внешний
23 Nzzzz
 
09.12.21
16:49
Весь день с этим отчетом сижу и не могу соединить строки(((
24 Vadim_37
 
09.12.21
16:50
и все-таки воспользуйся общим модулем https://www.koderline.ru/expert/instruktsii/article-yazyk-vyrazheniy-skd/#jakor3 намного удобнее
25 Гипервизор
 
09.12.21
16:59
(24) Согласен, использование внешнего набора для данной задачи лишнее. Но хотелось бы разобраться в причине ошибки.
26 Гипервизор
 
09.12.21
17:00
(23) Можете показать ваш отчёт?
Выложить файл, например?