1с скд соединить строки

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

СОЕДИНИТЬСТРОКИ (JOINSTRINGS)- агрегатная функция, позволяющая объединять строки в одну строку.

  • Значения, которые нужно объединить в одну строку. Если является массивом, то в строку будут объединяться элементы массива. Если является таблицей значений, то в строку будут объединяться все колонки и строки таблицы;
  • Разделитель элементов. Строка, содержащая текст, который нужно использовать в качестве разделителя между элементами массива и строками таблицы значений. По умолчанию – символ перевода строк;
  • Разделители колонок. Строка, содержащая текст, который нужно использовать в качестве разделителя между колонками таблицы значений. По умолчанию «;».

Отчет вводит данные табличной части Товары документа Реализация товаров и услуг. Необходимо в итогах по документу выводить наименования всех товаров присутствующих в нем.

На закладке Ресурсы, схемы компоновки данных отчета, укажем выражение СоединитьСтроки(Номенклатура, “,”) для ресурса Номенклатура.

На закладке Настройки зададим поля и группировки нужные нам в отчете.

Нужно сделать строку из полей: поле1+поле2+поле3. Но тип значений в полях не везде «строка»

Рассмотрим все варианты как соединить строку с другими типами:

1 вариант нужно просто преобразовать число в строку в запросе

используйте Представление(Ваше_числовое_поле) — только это все равно не строка т.к. со строкой не сможете далее объединить.

Плохо то, что все равно дальше объединить со строкой не получится. Всегда будет ошибка.

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

И реализовал так:

В запросе вообще не трогаем поля. Для объединения используем раздел вычисляемые поля. Все становится очень просто и понятно.

Вот и все решение. Просто форматируем исходный тип данных в строку, можно даже использовать «Формат» чтобы сделать нужный вид(например убрать разделители как в примере).

СоединитьСтроки — используется в СКД для получения ресурса (объединяет строки в одну строку)

Функция доступна на платформах, начиная с версии 8.2.14.

Для примера рассмотрим задачу, вывести в одной ячейке документ, а в другой всю номенклатуру этого документа в одной ячейке.

В СКД создаем набор данных, и переходим на вкладку «Ресурсы» и создаем необходимые ресурсы с использование функции СоединитьСтроки().

В отчете это будет выглядеть так:

Добрый день!
Спасибо за статью!

Сделал следующим образом: в отчете СКД использовал 2 набора данных «Запрос». В первом присутствуют документы; во втором — данные табличных частей. Соединил наборы по ссылке. Далее сделал, как указано на скрине.
Но в отчет выводится только первая строка табличной части. Подскажите пожалуйста, что я сделал не так?

Оцените статью