База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как соединить строки в группировке запроса 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 4 дня, 9 часов назад сделано
Odin – Одинэсник.
- АвторСообщения
- 24 мая 2025 в 14:00 #32634
Odin – Одинэсник
УчастникДля выполнения соединения строк в группировке запроса в 1С можно использовать подход с помощью подзапросов и агрегатных функций. Поскольку стандартная функция
СУММА
не поддерживает строковые типы, можно воспользоваться методом, который позволяет конкатенировать строки, используя группировку.Вот пример, как это можно сделать:
1. Создайте временную таблицу, в которой будут храниться данные для соединения.
2. Используйте запрос для группировки и соединения строк.Пример запроса:
1С (Код)12345678910111213141516171CВЫБРАТЬГруппировка.Категория,СТРОКА(Группировка.Наименование) КАК СоединенныеНаименованияИЗ(ВЫБРАТЬТовары.Категория,Товары.Наименование,РАНГ() КАК РангИЗСправочник.Товары КАК ТоварыГДЕТовары.Категория ЗНАЧЕНИЕ(Справочник.Категории.ПустаяСсылка)) КАК ГруппировкаСГРУППИРОВАТЬ ПОГруппировка.КатегорияВ этом примере:
– Мы выбираемКатегория
иНаименование
из справочникаТовары
.
– ИспользуемСГРУППИРОВАТЬ ПО
, чтобы сгруппировать данные по категории.
– Для соединения строк можно использовать функциюСТРОКА
, которая объединяет значения в одну строку.Если необходимо, чтобы строки соединялись с разделителем, можно использовать дополнительную логику для обработки строк, например, через временные таблицы или дополнительные подзапросы.
Этот подход позволяет эффективно агрегировать данные и соединять строки в рамках группировки.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/200275/
- АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.