1с скд сгруппировать строки
Система компоновки данных – весьма удобная система создания отчётов без написания программного кода. Однако для того чтобы научиться в ней работать, необходимо иметь хотя бы элементарные представления о встроенных в систему функциях.
Что такое ресурсы и группировки в СКД
При создании отчёта в СКД из набора данных извлекаются записи. Эти детальные записи, которые возвращает сам запрос, обычно представляют собой набор элементов, связанных между собой иерархическими связями. Поэтому, для удобочитаемости отчёта его данные можно сгруппировать. Группировка отчёта в СКД – это операция размещения данных по группам, однородных по какому-либо признаку.
После того, как записи будут сгруппированы, СКД добавляет их в итоговый отчёт. Это такие данные, которых нет в готовом виде в базе, и создаются они только путём обработки детальных записей. Итоговые наборы данных, полученные путём группировки, называют ресурсами СКД.
Настройка ресурсов, группировка и сортировка данных
Чтобы выполнить настройки СКД и наглядно показать процесс группировки, сортировки и выведение итоговых ресурсов, рассмотрим создание внешнего отчёта. Отчёт будет результатом решения задачи, в которой будет рассчитываться расстояние между двумя остановками выбранного маршрута.
Создаём внешний отчёт в СКД. Для этого заходим в Меню, выбираем Файл ? Новый, находим вкладку «Внешний отчёт», даём ему имя «Расстояние между остановками». Далее, жмём кнопку «Открыть схему компоновки данных»:
В появившемся конструкторе СКД находим команду «Добавить набор данных – запрос»:
Так как наш отчёт рассчитывает расстояние между двумя, выбранными пользователем, остановками, то на вкладке «Наборы данных» формируем запрос. Требуемый запрос будет предоставлять данные в виде таблицы по осям X и Y с использованием полного внешнего соединения таблицы регистра:
Выполняем настройки СКД. Для этого на вкладке «Ресурсы» указываем поля для системы компоновки данных. Из окна со всеми доступными полями таблицы перекидываем поля Расстояние,РасстояниеX и РасстояниеY. Задаём выражения, которые нам необходимо вычислить:
Проводим дальнейшую настройку отчёта СКД. Для этого переходим на вкладку «Настройки», жмём «Открыть конструктор настроек», выделяем тип отчёта «Таблица»:
Далее выбираем поля для отчёта:
Нажав кнопку «Далее», выбираем поля для группировки:
Выбираем поля для сортировки отчёта:
Нажимаем кнопку ОК. Создаём пользовательские настройки, а также указываем, как будут располагаться ресурсы:
Отчёт готов. Если регистр сведений ещё не заполнен, то заходим в Предприятие и заполняем его:
СКД позволяет упрощать процедуру создания отчётов с помощью использования настроек СКД. К таким настройкам относятся: создание ресурсов, группировка, сортировка, настройка заголовка в отчёте. Настройки СКД производятся в режиме конфигуратора 1С на вкладке «Настройки» и на вкладке «Ресурсы». Данные операции позволяют привести отчёт к более удобному для чтения виду, а также упростить в нём поиск необходимых записей.
В этой статье я покажу, как в табличных документах 1С реализовывать группировку строк и колонок.
Группировка строк в табличном документе 1С
Для демонстрации создадим у обработки простой макет табличного документа с одной областью и с одним параметром области.
На основной форме обработки сделаем команду ВывестиГоризонтальнуюГруппировку, реквизит формы КоличествоЧисел (тип Число), и всё это разместим на форме.
При выполнении команды, я буду выводить ряд чисел с дробными частями. Для этого, создадим обработчик команды формы на клиенте и серверную процедуру, в которой будем заполнять табличный документ.
Получится такой код:
Подробно о формировании областей табличного документа читайте в статье:
Результат работы этого кода будет следующий:
Изменим этот макет: сделаем группировку целых чисел, а дробные числа будут с небольшим отступом.
Для того, чтобы дробные числа выводились с отступом изменим макет.
Откроем палитру свойств ячейки, в которой выводится параметр НомерСтроки.
В этой палитре нас интересует свойство АвтоОтступ. Установим в него значение.
На этом с макетом закончим. Доработаем код.
В этом коде мы применили методы НачатьАвтогруппировкуСтрок() и ЗакончитьАвтогруппировкуСтрок() перед тем как начали заполнять табличный документе, и после того как закончили. Кроме того, мы дополнили параметры метода Вывести табличного документе. Если в первом параметре указывается область которая будет выводиться в табличном документе, то во втором параметре указываем уровень группировки, в третьем – название группировки, а четвертом – булево значение, которое определяет, будет ли сворачиваться группировка или нет, после того, как она будет выведена.
Результат работы этого кода:
Группировка колонок в табличном документе 1С
Группировка колонок в табличном документе осуществляется по аналогии с группировкой строк. Для демонстрации создадим макет табличного документа, в котором сделаем вертикальную область с единственным параметром.
А также на основной форме обработки создадим команду формы, которую назовем «Вывести вертикальную группировку», и выведем её на форму.
Создадим обработчик команды и функцию в серверном контексте, которая формирует табличный документ с вертикальными областями, к которым применена группировка.
Смысл группировки вертикальных областей тот же, что и горизонтальных: используем методы НачатьАвтогруппировкуКолонок и ЗакончитьАвтогруппировкуКолонок перед выводом областей, а в методе Присоединить необходимо указать уровень группировки, название группы и признак того, будет развернута группа или нет, как и в методе Вывести.
Результат работы этого кода будет следующим:
Видео с бонусом! В этом бонусе я покажу, как сделать вывод иерархического справочника.
Другие статьи про табличные документы в 1С:
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
можно оплатить вручную:
Читайте также: