Задать точное поле группировки вместо автоматического

Учебные задачи

Явная группировка нужна, когда результат должен группироваться по определённому полю, а не зависеть от автоматического состава выбора.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Работайте в учебной базе на платформе 8.5.1.1343.

  2. Фрагмент вставьте внутрь серверной процедуры учебной обработки; объекты конфигурации и внешние файлы не нужны.

  3. Поставьте точку останова после создания настроек и посмотрите их дерево в отладчике.

Настройки = Новый НастройкиКомпоновкиДанных;
Группировка = Настройки.Структура.Добавить(
    Тип("ГруппировкаКомпоновкиДанных"));
Группировка.Имя = "ПоКатегориям";
Группировка.Использование = Истина;
ПолеГруппировки = Группировка.ПоляГруппировки.Элементы.Добавить(
    Тип("ПолеГруппировкиКомпоновкиДанных"));
ПолеГруппировки.Поле = Новый ПолеКомпоновкиДанных("Категория");
ПолеГруппировки.ТипГруппировки = ТипГруппировкиКомпоновкиДанных.Элементы;
ПолеГруппировки.Использование = Истина;
Сообщить(Группировка.Имя);
Сообщить(ПолеГруппировки.Поле);
Сообщить(Группировка.Родитель = Настройки);

Разбор по шагам

  1. Создаём элемент структуры и задаём его имя для удобства отладки.

  2. В ПоляГруппировки добавляем явное поле, не АвтоПолеГруппировки.

  3. Указываем Категория и группировку по элементам.

  4. Родитель самого элемента структуры указывает на корневые настройки.

Как проверить результат

  1. Вывод: ПоКатегориям; Категория; Истина.

  2. В отладчике в полях группировки ровно один элемент типа ПолеГруппировкиКомпоновкиДанных.

Ожидаемый результат

Настройки содержат включённую группировку по полю Категория.

На что обратить внимание

  1. Для отчёта потребуется соответствующее доступное поле в схеме.

  2. Для группировки только по иерархии требуется подходящий тип данных и другие настройки; не меняйте тип вслепую.

  3. Имя элемента структуры не является именем поля данных.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.