Имя: Пароль:
1C
 
Как программно сделать группировку колонок в СКД?
0 ssalikoff
 
18.10.23
09:12
Для существующего отчета программно добавил несколько полей.
В процедуре «ПриКомпоновкеРезультата» программно изменил запрос, а также определил новые поля СКД.
Однако группировка колонок (объединение колонок в одну папку) не работает.
Что я делаю не так?
Ниже приведён код для описания одного из полей:

        Поле = СхемаКомпоновкиДанных.НаборыДанных.ПрайсЛист.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));        
        Поле.Заголовок      = "Штрихкод единицы";
        Поле.ПутьКДанным    = "Штрихкоды.ШтрихкодЕдиницы";
        Поле.Поле           = "ШтрихкодЕдиницы";
        Поле.ТипЗначения    = Новый ОписаниеТипов("Строка",Новый КвалификаторыЧисла(13));      

        ПолеШтрихкодЕдиницы = Этотобъект.КомпоновщикНастроек.Настройки.Структура[1].Строки[0].Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));  
        ПолеШтрихкодЕдиницы.Заголовок = "Штрихкод единицы";
        ПолеШтрихкодЕдиницы.Использование = Истина;
        ПолеШтрихкодЕдиницы.Поле = Новый ПолеКомпоновкиДанных("Штрихкоды.ШтрихкодЕдиницы");
        ПолеШтрихкодЕдиницы.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ;
        
        ПолеГруппировкиПоШтрихкодуЕдиницы = Этотобъект.КомпоновщикНастроек.Настройки.Структура[1].Строки[0].ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
        ПолеГруппировкиПоШтрихкодуЕдиницы.Использование = Истина;
        ПолеГруппировкиПоШтрихкодуЕдиницы.Поле = Новый ПолеКомпоновкиДанных("Штрихкоды.ШтрихкодЕдиницы");
        ПолеГруппировкиПоШтрихкодуЕдиницы.ТипГруппировки = ТипГруппировкиКомпоновкиДанных.Элементы;
        ПолеГруппировкиПоШтрихкодуЕдиницы.ТипДополнения = ТипДополненияПериодаКомпоновкиДанных.БезДополнения;
                        
        ПолеШтрихкодНастрПоУм = СхемаКомпоновкиДанных.НастройкиПоУмолчанию.Структура[1].Строки[0].Структура[0].Структура[0].Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
        ЗаполнитьЗначенияСвойств(ПолеШтрихкодНастрПоУм, ПолеШтрихкодЕдиницы);
        ПолеГруппировкиПоШтрихкодуНастрПоУм = СхемаКомпоновкиДанных.НастройкиПоУмолчанию.Структура[1].Строки[0].Структура[0].Структура[0].ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
        ЗаполнитьЗначенияСвойств(ПолеГруппировкиПоШтрихкодуНастрПоУм, ПолеГруппировкиПоШтрихкодуЕдиницы);
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс