К статье
Практический материал

Отчеты и Аналитика · 11 мин

Как объединить колонки в СКД 1С: практическое руководство

Как объединить колонки в СКД 1С: настройка группировок, вычисляемые поля, объединение наборов данных и колонок с одинаковыми значениями. Пошаговая инструкция.

Объединение колонок в системе компоновки данных (СКД) — частая задача при разработке отчётов в 1С. Под этим обычно понимают три разные ситуации: сведение нескольких полей в одну визуальную колонку отчёта, объединение значений из разных наборов данных в одну колонку и объединение ячеек с одинаковыми значениями при выводе. Каждая задача решается своим инструментом, и путаница между ними — главная причина «неработающих» настроек.

Важно понимать: СКД не имеет кнопки «объединить колонки» в привычном смысле, как в Excel. Результат достигается через структуру настроек — группировки, выбранные поля, ресурсы, вычисляемые поля и параметры вывода. Ниже разобраны все основные сценарии с конкретными действиями в конструкторе настроек.

Что именно вы хотите объединить: определяем задачу

Прежде чем менять настройки, определите, какой результат нужен. Если в отчёте строки «расползаются» на несколько колонок с пустыми значениями — это проблема структуры наборов данных. Если нужно вывести фамилию и имя одной строкой — это вычисляемое поле. Если требуется, чтобы повторяющиеся значения группировки не дублировались в каждой строке — это настройка макета или расположения полей группировки.

Маршрут решения

Как выбрать действие

Нужно слить значения нескольких полей в одну колонку (например, ФИО)Создайте вычисляемое поле с выражением конкатенации
Данные из разных запросов выводятся в разные колонкиИспользуйте объединение наборов данных с одинаковыми псевдонимами полей
Одинаковые значения группировки повторяются в каждой строкеНастройте макет группировки или расположение полей
Нужно убрать лишние колонки ресурсовПроверьте выбранные поля и расположение ресурсов на вкладке «Ресурсы»

Объединение значений полей в одну колонку через вычисляемые поля

Самый прямой способ «склеить» несколько колонок в одну — вычисляемое поле. Откройте схему компоновки данных, перейдите на вкладку «Вычисляемые поля» и добавьте новое поле. В колонке «Выражение» задайте формулу на языке выражений СКД, например для объединения фамилии и имени с пробелом:

Фамилия + " " + Имя

Для числовых или датовых полей используйте функцию приведения к строке — например, СТРОКА(НомерДокумента). Учтите, что функции языка выражений СКД отличаются от встроенного языка 1С: доступен ограниченный набор — строковые операции, арифметика, функции работы с датами, условный оператор ВЫБОР КОГДА...ИНАЧЕ КОНЕЦ.

После создания поля добавьте его в выбранные поля отчёта на закладке «Настройки», а исходные поля (Фамилия, Имя) из списка уберите. Проверьте результат, сформировав отчёт: колонка должна содержать объединённое значение. Если вместо значения выводится пусто — проверьте, что исходные поля заполнены в данных: конкатенация с NULL в ряде случаев даёт пустую строку, поэтому для надёжности используйте ЕСТЬNULL(Поле, "") в запросе набора данных.

Объединение колонок из разных наборов данных

Когда отчёт строится на нескольких наборах данных — например, продажи и возвраты — СКД по умолчанию выводит поля каждого набора в отдельные колонки, и таблица получается «рваной», с пустотами. Чтобы данные попали в одни и те же колонки, используйте объединение наборов.

На закладке «Наборы данных» выделите нужные наборы и нажмите кнопку объединения (в дереве наборов появится узел «Объединение»). Ключевое условие: поля, которые должны попасть в одну колонку, обязаны иметь одинаковые псевдонимы (имена) в запросах всех наборов. Если в одном запросе поле названо Сумма, а в другом — СуммаПродажи, СКД создаст две разные колонки. Приведите имена к единому виду через КАК Сумма в тексте запроса.

Для полей, которые есть только в части наборов, в остальных наборах добавьте в запрос заглушку: NULL КАК СтавкаНДС или 0 КАК Количество. Это гарантирует, что структура полей совпадёт и колонки не разъедутся. После объединения проверьте связи наборов на закладке «Связи наборов данных», если наборы должны соединяться, а не складываться — объединение и соединение дают принципиально разный результат: объединение складывает строки друг под другом (UNION), соединение присоединяет колонки по ключу (JOIN).

Типичные ошибки
01
Разные псевдонимы полей в объединяемых наборах — СКД создаёт отдельные колонки вместо одной
02
Путаница между объединением и соединением наборов — строки дублируются или теряются
03
Отсутствие поля-заглушки в одном из наборов — в итоговой таблице появляются лишние колонки с пустотами
04
Разные типы данных у одноимённых полей — ошибка компоновки или пустые значения при выводе

Сжатие строк: группировки и детальные записи

Частая формулировка «объединить колонки» на практике означает: убрать дублирование значений и свести данные по группам. Это решается структурой отчёта на закладке «Настройки». Добавьте группировку по нужному полю (например, «Контрагент»), а внутрь неё — группировку «Детальные записи» или следующую группировку. Поля, по которым построена группировка, выводятся один раз на группу, а ресурсы (суммы, количества) автоматически агрегируются.

Если группировка выводит заголовок в отдельной строке, а нужно, чтобы значение стояло в той же строке, что и данные, проверьте расположение полей группировки: в настройках группировки есть параметр «Расположение полей группировки» — значения «Вместе» или «В отдельной строке» меняют вид вывода. Также полезен параметр «Тип макета» группировки: «Вертикально» и «Горизонтально» определяют, разворачиваются ли группы по строкам или колонкам.

Порядок действий для сведения данных по группам
  1. 1
    Откройте настройки отчёта (закладка «Настройки» в конструкторе или в режиме предприятия)
  2. 2
    Добавьте группировку по ключевому полю через кнопку «Добавить группировку»
  3. 3
    Оставьте в выбранных полях только нужные: поле группировки и ресурсы
  4. 4
    Установите расположение полей группировки — «Вместе», если нужна одна строка
  5. 5
    Сформируйте отчёт и проверьте, что повторяющиеся значения сведены, а итоги посчитаны

Визуальное объединение ячеек с одинаковыми значениями

Если требуется, чтобы повторяющиеся значения в колонке отображались одной объединённой ячейкой (как «объединить ячейки» в Excel), штатных настроек СКД для этого недостаточно. В пределах группировки значение поля группировки и так выводится один раз, но внутри детальных записей дубли останутся.

Есть два рабочих подхода. Первый — собственный макет: на закладке «Макеты» создайте макет группировки и оформите нужные области, управляя выводом ячеек. Второй — программная обработка результата: выведите отчёт через ПроцессорКомпоновкиДанных в табличный документ, затем пройдите по строкам и методом Объединить() области табличного документа объедините ячейки с одинаковыми значениями. Это делается в модуле объекта отчёта или в форме, где формируется результат.

Расположение ресурсов: как убрать «лишние» колонки итогов

Когда в отчёте несколько ресурсов (сумма, количество, себестоимость), СКД может выводить их с дополнительными уровнями заголовков, из-за чего таблица выглядит раздутой. Управляет этим настройка «Расположение ресурсов» на закладке «Настройки» в разделе параметров вывода: варианты «Горизонтально» и «Вертикально» определяют, идут ли ресурсы в соседние колонки или в отдельные строки.

Если ресурсы выводятся горизонтально и создают по колонке на каждую группировку колонок (например, по каждому периоду), это нормальное поведение перекрёстного отчёта. Чтобы сузить таблицу, уберите лишние ресурсы из выбранных полей или переведите ресурсы в вертикальное расположение. Также проверьте закладку «Ресурсы» в схеме компоновки: поле, не добавленное в ресурсы, не агрегируется и может порождать дубли строк вместо свёртки.

Контрольные точки

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

Количество колонок в итоговом отчёте
Норма

Только нужные поля, без дублирующих и пустых колонок

Тревожный признак

Колонки с одинаковым смыслом и пустыми значениями — признак разных псевдонимов полей

Значения объединённого поля
Норма

Строка содержит данные всех исходных полей

Тревожный признак

Пустые значения там, где данные есть — проверьте NULL и типы

Итоги по группировкам
Норма

Суммы по группам сходятся с детальными записями

Тревожный признак

Итоги завышены — вероятно, соединение наборов вместо объединения

Повторение значений группировки
Норма

Значение выводится один раз на группу

Тревожный признак

Дубли в каждой строке — проверьте структуру группировок

Ограничения и альтернативы

СКД не умеет объединять ячейки результата «из коробки» и не поддерживает сложную вёрстку заголовков колонок без макетов. Если требования к внешнему виду жёсткие (многоуровневые шапки, произвольное объединение ячеек), рассмотрите вывод через макеты СКД или полностью программное формирование табличного документа — для печатных форм это часто надёжнее.

Для простых случаев, когда нужно просто переименовать или переставить колонки, достаточно пользовательских настроек в режиме «Предприятие» без изменения схемы: кнопка «Настройки» в отчёте позволяет менять выбранные поля, их порядок и группировки. Изменения схемы компоновки требуют прав на редактирование конфигурации или внешнего отчёта — убедитесь, что работаете с копией, если отчёт типовой и обновляется поставщиком.

Итог

Что важно запомнить

Объединение колонок в СКД решается разными инструментами: вычисляемые поля — для слияния значений, объединение наборов с одинаковыми псевдонимами — для сведения источников, группировки и расположение ресурсов — для структуры таблицы, макеты или программная обработка — для визуального объединения ячеек. Всегда проверяйте результат формированием отчёта и контролем итогов.

Частые вопросы

Почему после объединения наборов данных колонки всё равно раздельные?

Почти всегда причина в разных псевдонимах полей в запросах наборов. СКД объединяет поля по имени: если имена отличаются, создаются отдельные колонки. Выровняйте имена через КАК в текстах запросов и добавьте недостающие поля-заглушки в наборы, где их нет.

Можно ли объединить колонки в СКД без изменения запроса?

Да, если речь о слиянии значений — через вычисляемое поле на соответствующей закладке схемы. Если речь о структуре таблицы — через настройки группировок и расположение ресурсов. Но сведение разных наборов данных в одни колонки без правки псевдонимов в запросах невозможно.

Как объединить значения, если одно из полей может быть пустым?

Обработайте NULL заранее: в запросе набора данных используйте ЕСТЬNULL(Поле, "") или в выражении вычисляемого поля — конструкцию ВЫБОР КОГДА Поле ЕСТЬ NULL ТОГДА "" ИНАЧЕ Поле КОНЕЦ. Иначе результат конкатенации может оказаться пустым.

Как сделать, чтобы значение группировки не повторялось в каждой строке?

Убедитесь, что поле вынесено в группировку, а детальные поля вложены внутрь неё. Дополнительно в параметрах группировки установите расположение полей «Вместе» и проверьте, что поле не добавлено одновременно в выбранные поля детальных записей.

Можно ли объединить ячейки результата отчёта, как в Excel?

Штатной настройки нет. Варианты: макет группировки на закладке «Макеты» для управления выводом областей либо программное объединение ячеек табличного документа методом Объединить() после формирования отчёта. Второй способ применяйте осторожно — он нарушает построчную структуру документа.

Чем объединение наборов отличается от соединения?

Объединение складывает строки наборов друг под другом — как UNION в SQL, колонки должны совпадать по именам. Соединение присоединяет колонки одного набора к строкам другого по ключу связи — как JOIN. Для сведения однотипных данных в одни колонки нужно именно объединение.