Содержание
Допустим, в вашем отчете на СКД есть ресурс типа Строка, и вам в итогах по группировкам необходимо объединить значения этого ресурса. Для решения этой задачи следует использовать функцию языка выражений СоединитьСтроки.
СОЕДИНИТЬСТРОКИ (JOINSTRINGS)- агрегатная функция, позволяющая объединять строки в одну строку.
- Значения, которые нужно объединить в одну строку. Если является массивом, то в строку будут объединяться элементы массива. Если является таблицей значений, то в строку будут объединяться все колонки и строки таблицы;
- Разделитель элементов. Строка, содержащая текст, который нужно использовать в качестве разделителя между элементами массива и строками таблицы значений. По умолчанию – символ перевода строк;
- Разделители колонок. Строка, содержащая текст, который нужно использовать в качестве разделителя между колонками таблицы значений. По умолчанию «;».
Отчет вводит данные табличной части Товары документа Реализация товаров и услуг. Необходимо в итогах по документу выводить наименования всех товаров присутствующих в нем.
На закладке Ресурсы, схемы компоновки данных отчета, укажем выражение СоединитьСтроки(Номенклатура, “,”) для ресурса Номенклатура.
На закладке Настройки зададим поля и группировки нужные нам в отчете.
вторник, 12 февраля 2019 г.
СКД. Пользовательские поля. Сложение строк (Конкатенация, объединение строк).
Задача вывести итоги по валюте с отличным представлением от типового и сделать это средствами СКД (на стороне пользователя в том числе)
1. Добавляем пользовательское поле Выражения (формула значения поля и итоговой записи ниже)
// так неправильно, будет получена ошибка формирования результата СКД
"Итого, " + [Договор контрагента.Валюта] + " облигации:"
// так правильно
Представление("Итого, ") + Представление([Договор контрагента.Валюта]) + Представление(" облигации: ")
2. В условном оформлении для поля в группировке (в моем случае [Договор контрагента.Валюта]) устанавливаем Текст = Поле компоновки данных наше пользовательское поле
Доброго времени суток, уважаемые читатели нашего блога! Сегодня я хочу рассказать, на реальном примере, как
использовать функции СКД Массив (Array) и СоединитьСтроки (JoinStrings). В статье об
СКД
немного упоминалось, как работать с
функциями языка выражений СКД на закладке
«Вычисляемые поля», также уже объяснялось как
настроить итоги в схеме компоновки данных 1С, используя закладку «Ресурсы». Сегодня мы ещё раз обратим внимание на эти
закладки в свете нашей темы.
Содержание
Внешний вид примера отчета 1С с использованием двух функций СКД Массив и СоединитьСтроки следующий:
Постановка задачи для применения функций СКД Массив (Array) и СоединитьСтроки (JoinStrings)
Задача: Нужно все номера реализаций по одному товару вставить в одну ячейку.
Что-то вроде: номенклатура | кол-во | 001, 002, и т.д. |
Будем использовать запрос к регистру накопления «РеализацияТМЗ».
Регистру накопления «РеализацияТМЗ» существует как в конфигурации Бухгалтерия, так и в конфигурации Управление торговым предприятием (УТП). Узнайте, как в конфигурации УТП установить свойство «Услуга» в элементе справочника «Номенклатура». Поэтому, после скачивания, для проверки его работоспособности вы можете запускать этот отчёт в обеих конфигурациях.
Реализация поставленной задачи с применением функций СКД Массив и СоединитьСтроки
- Создадим новый набор данных.
- Вставим в него, вышеуказанный запрос.
- Перейдём на закладку «Вычисляемые поля» и добавим новую запись.
- В поле «Путь к данным» напишем МассивНомеров.
- В поле «Выражение» напишем Массив(РегистраторНомер).
Выберем три поля «Номенклатура», «МассивНомеров», «КоличествоОборот».
«Расположение общих итогов по горизонтали» и «Расположение общих итогов по вертикали».
Такие же шаги, но с некоторыми дополнениями, были использованы при созданиии
отчёта о продаже номенклатуры по ГТД.
Описание функции СоединитьСтроки (JoinStrings)
СоединитьСтроки (JoinStrings)
Используется для объединения строк в одну строку.
СоединитьСтроки (Значение, РазделительЭлементов, РазделителиКолонок)
- Значение — выражения, которые нужно объединить в одну строку.
Если является Массивом, то в строку будут объединяться элементы массива.
Если является ТаблицаЗначений, то в строку будут объединяться все колонки и строки таблицы; - РазделительЭлементов — строка, содержащая текст, который нужно использовать в качестве
разделителя между элементами массива и строками таблицы значений. По умолчанию – символ перевода строк; - РазделителиКолонок -строка, содержащая текст, который нужно использовать в качестве разделителя
между колонками таблицы значений. По умолчанию «;».
Пожалуйста, Войдите или Зарегистрируйтесь чтобы получить ссылку на скачивание.