Программное заполнение СКД. Поле ... не может быть использовано в группировке ...
Подозреваю, потому что его нет в ресурсах, а как добавить? или не поэтому?
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
ТекстЗапроса="";
ТекНастройкиКомпоновщика =КомпоновщикНастроек.Настройки;
ТекНастройкиКомпоновщика.Структура.Очистить();
СхемаКомпоновкиДанных.НаборыДанных.Очистить();
Объединение=СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхОбъединениеСхемыКомпоновкиДанных"));
Объединение.Имя="Объединение";
Для Каждого РН Из Метаданные.РегистрыНакопления Цикл
ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных.Добавить();
ИсточникДанных.Имя =РН.Имя;
ИсточникДанных.ТипИсточникаДанных = "Local";
НаборДанных=СхемаКомпоновкиДанных.НаборыДанных[0].Элементы.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных"));
НаборДанных.Имя=РН.Имя;
НаборДанных.ИсточникДанных=ИсточникДанных.Имя;
Группировка = ТекНастройкиКомпоновщика.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
Группировка.Имя = РН.Имя;
Группировка.Использование = Истина;
ТекстЗапроса=ТекстЗапроса+"ВЫБРАТЬ ";
Для Каждого Измерение Из РН.Измерения Цикл
ТекстЗапроса=ТекстЗапроса+ РН.Имя+"."+Измерение.Имя+" КАК "+Измерение.Имя+",";
ПолеГруппировки = Группировка.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
ПолеГруппировки.Использование = Истина;
ПолеГруппировки.Поле = Новый ПолеКомпоновкиДанных(Измерение.Имя);
ПолеГруппировки.ТипГруппировки = ТипГруппировкиКомпоновкиДанных.Элементы;
ПолеГруппировки.ТипДополнения = ТипДополненияПериодаКомпоновкиДанных.БезДополнения;
КонецЦикла;
Для Каждого Ресурс Из РН.Ресурсы Цикл
ТекстЗапроса=ТекстЗапроса+ РН.Имя+"."+Ресурс.Имя+?(РН.ВидРегистра=Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки,"Остаток","Оборот")+",";
Поле = Группировка.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
Поле.Поле = Новый ПолеКомпоновкиДанных(Ресурс.Имя+?(РН.ВидРегистра=Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки,"Остаток","Оборот"));
Поле.Использование=Истина;
КонецЦикла;
ТекстЗапроса=Лев(ТекстЗапроса,СтрДлина(ТекстЗапроса)-1);
ТекстЗапроса=ТекстЗапроса+"
|ИЗ РегистрНакопления."+РН.Имя+?(РН.ВидРегистра=Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки,".Остатки(, )",".Обороты(, , , )")+" КАК "+РН.Имя;
ТекстЗапроса=ТекстЗапроса+"
|;
|";
НаборДанных.Запрос=ТекстЗапроса;
Прервать;
КонецЦикла;
КонецПроцедуры
ПоказатьПо теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) спасибо, получилось
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
ТекстЗапроса="";
ТекНастройкиКомпоновщика =КомпоновщикНастроек.Настройки;
ТекНастройкиКомпоновщика.Структура.Очистить();
СхемаКомпоновкиДанных.НаборыДанных.Очистить();
Объединение=СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхОбъединениеСхемыКомпоновкиДанных"));
Объединение.Имя="Объединение";
Для Каждого РН Из Метаданные.РегистрыНакопления Цикл
ИсточникДанных = СхемаКомпоновкиДанных.ИсточникиДанных.Добавить();
ИсточникДанных.Имя =РН.Имя;
ИсточникДанных.ТипИсточникаДанных = "Local";
НаборДанных=СхемаКомпоновкиДанных.НаборыДанных[0].Элементы.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных"));
НаборДанных.Имя=РН.Имя;
НаборДанных.ИсточникДанных=ИсточникДанных.Имя;
Группировка = ТекНастройкиКомпоновщика.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
Группировка.Имя = РН.Имя;
Группировка.Использование = Истина;
Поле = Группировка.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
Поле.Использование=Истина;
ТекстЗапроса=ТекстЗапроса+"ВЫБРАТЬ ";
Для Каждого Измерение Из РН.Измерения Цикл
ТекстЗапроса=ТекстЗапроса+ РН.Имя+"."+Измерение.Имя+" КАК "+Измерение.Имя+",";
ПолеГруппировки = Группировка.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
ПолеГруппировки.Использование = Истина;
ПолеГруппировки.Поле = Новый ПолеКомпоновкиДанных(Измерение.Имя);
ПолеГруппировки.ТипГруппировки = ТипГруппировкиКомпоновкиДанных.Элементы;
ПолеГруппировки.ТипДополнения = ТипДополненияПериодаКомпоновкиДанных.БезДополнения;
КонецЦикла;
Для Каждого Ресурс Из РН.Ресурсы Цикл
ТекстЗапроса=ТекстЗапроса+ РН.Имя+"."+Ресурс.Имя+?(РН.ВидРегистра=Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки,"Остаток","Оборот")+",";
Поле = Группировка.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
Поле.Поле = Новый ПолеКомпоновкиДанных(Ресурс.Имя+?(РН.ВидРегистра=Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки,"Остаток","Оборот"));
Поле.Использование=Истина;
НовыйРесурс = СхемаКомпоновкиДанных.ПоляИтога.Добавить();
НовыйРесурс.ПутьКДанным =""+Поле.Поле;
НовыйРесурс.Выражение =""+Поле.Поле;
КонецЦикла;
ТекстЗапроса=Лев(ТекстЗапроса,СтрДлина(ТекстЗапроса)-1);
ТекстЗапроса=ТекстЗапроса+"
|ИЗ РегистрНакопления."+РН.Имя+?(РН.ВидРегистра=Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки,".Остатки(, )",".Обороты(, , , )")+" КАК "+РН.Имя;
ТекстЗапроса=ТекстЗапроса+"
|;
|";
НаборДанных.Запрос=ТекстЗапроса;
КонецЦикла;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот