Имя: Пароль:
1C
1С v8
УТ 11.5, после обновления ошибка в отчете
0 saradip
 
19.10.22
19:36
Здравствуйте, ошибка при формировании отчета на 11.5, хотя на 11.4 работало исправно, прошу помочь!
Текст ошибки: Не найден внешний набор данных "Таблица"
Вот процедура:

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    ПользовательскиеНастройкиМодифицированы = Ложь;
    
    УстановитьОбязательныеНастройки(ПользовательскиеНастройкиМодифицированы);
    
    // Сформируем отчет
    НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
    
    ТекстЗапроса = ТекстЗапросаТаблица(); // получим запрос

    ТекстЗапроса = СтрЗаменить(
        ТекстЗапроса,
        "&ТекстЗапросаВесНоменклатуры1",
        Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаВесУпаковки("Таблица.Номенклатура.ЕдиницаИзмерения", "Таблица.Номенклатура"));
        
    ТекстЗапроса = СтрЗаменить(
        ТекстЗапроса,
        "&ТекстЗапросаОбъемНоменклатуры1",     
    Справочники.УпаковкиЕдиницыИзмерения.ТекстЗапросаОбъемУпаковки("Таблица.Номенклатура.ЕдиницаИзмерения", "Таблица.Номенклатура"));
    
    //
    //СхемаКомпоновкиДанных.НаборыДанных.ВыручкаИСебестоимостьПродаж.Запрос = ТекстЗапроса;      
    
    Запрос = Новый Запрос(ТекстЗапроса);
    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    
    Для Каждого ЭлементПараметра Из НастройкиОтчета.ПараметрыДанных.Элементы Цикл
         Запрос.УстановитьПараметр(Строка(ЭлементПараметра.Параметр), ЭлементПараметра.Значение);
    КонецЦикла;
    Запрос.Параметры.НачалоПериода = Запрос.Параметры.Период.ДатаНачала;
    Запрос.Параметры.ОкончаниеПериода = Запрос.Параметры.Период.ДатаОкончания;
    Запрос.Параметры.ТекущаяДата = ТекущаяДата();
    Запрос.Параметры.ИспользуетсяОтборПоСегментуНоменклатуры = Ложь;
    Запрос.Параметры.ИспользуетсяОтборПоСегментуПартнеров = Ложь;
    
    Результат = Запрос.Выполнить();
    
    ВнешниеНаборыДанных = Новый Структура("Таблица", Результат.Выгрузить());
    //
    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки);
    
    КомпоновкаДанныхСервер.УстановитьЗаголовкиМакетаКомпоновки(ПараметризуемыеЗаголовкиПолей(), МакетКомпоновки);
    
    // Проверим, что хотя бы одна группировка отчета включена
    Если МакетКомпоновки.НаборыДанных.Количество() = 0 Тогда
        ВызватьИсключение НСтр("ru= 'Отчет не сформирован. Включите хотя бы одну группировку в ""Элементы оформления и группировки"".'") ;
    КонецЕсли;
    
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);

    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    
    ПроверяемыеПоля = Новый Массив;
    ПроверяемыеПоля.Добавить("Поставщик");
    РасчетСебестоимостиПрикладныеАлгоритмы.ДобавитьПредупреждениеОбОсобенностяхФормированияОтчета(ДокументРезультат, КомпоновщикНастроек, ПроверяемыеПоля);
    РасчетСебестоимостиПрикладныеАлгоритмы.ДобавитьПредупреждениеОПредварительномЗакрытииМесяца(ДокументРезультат, КомпоновщикНастроек);
    
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
    
    КомпоновкаДанныхСервер.ОформитьДиаграммыОтчета(КомпоновщикНастроек, ДокументРезультат);
    КомпоновкаДанныхСервер.СкрытьВспомогательныеПараметрыОтчета(СхемаКомпоновкиДанных, КомпоновщикНастроек, ДокументРезультат, ВспомогательныеПараметрыОтчета());
    
    // Сообщим форме отчета, что настройки модифицированы
    Если ПользовательскиеНастройкиМодифицированы Тогда
        КомпоновщикНастроек.ПользовательскиеНастройки.ДополнительныеСвойства.Вставить("ПользовательскиеНастройкиМодифицированы", Истина);
    КонецЕсли;
1 Vostochnick
 
19.10.22
19:41
Да
2 saradip
 
19.10.22
22:01
Ошибка ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);

Нужно было исправить:
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки, Истина);
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс