Примеры использования функций СКД Массив (Array) и СоединитьСтроки (JoinStrings) в отчётах 1С 8

Публикация № 1402219

Разработка - Практика программирования

СКД Массив Array СоединитьСтроки JoinStrings отчет номенклатура ГТД УТП счет-фактура реализация

Здесь приведено два отчёта, в которых использованы функции СКД Массив (Array) и СоединитьСтроки (JoinStrings). Отчет по ГТД и отчет по продаже номенклатуры, оба тестировались на конфигурации Управление торговым предприятием (УТП) для Казахстана, редакции 2.0.19.2. Также добавлена электронная книга, в которой собраны знания по основам СКД, которые я получил, во время работы и изучения системы компоновки данных.

Описание функции СоединитьСтроки (JoinStrings)

СоединитьСтроки (JoinStrings) Используется для объединения строк в одну строку.

Синтаксис:

СоединитьСтроки (Значение, РазделительЭлементов, РазделителиКолонок)

Параметры:

  1. Значение — выражения, которые нужно объединить в одну строку. Если является Массивом, то в строку будут объединяться элементы массива. Если является ТаблицаЗначений, то в строку будут объединяться все колонки и строки таблицы;
  2. РазделительЭлементов — строка, содержащая текст, который нужно использовать в качестве разделителя между элементами массива и строками таблицы значений. По умолчанию – символ перевода строк;
  3. РазделителиКолонок -строка, содержащая текст, который нужно использовать в качестве разделителя между колонками таблицы значений. По умолчанию «;».

Небольшая инструкция по работе с отчётами

  1. Скачайте один из отчётов по ссылке в конце статьи.
  2. Затем откройте его в режиме 1С:Предприятие.
  3. Перейдите к пункту меню «Файл» | «Открыть...» (Ctrl+O).
  4. Нажмите кнопку «Настройки...»
  5. Определите период, по которому хотите формировать отчет.
  6. Нажмите кнопку «OK», чтобы сохранить настройки.
  7. Нажмите кнопку «Сформировать», чтобы сформировать отчёт.

По отчету по ГТД в 13-ой колонке получим примерно такой результат:

Чтобы сформировать данные из колонки №13 были использованы функции СКД Массив (Array) и СоединитьСтроки (JoinStrings). В результате все номера и даты счет-фактур по номенклатуре были выведены в одну ячейку примерно так:

Счет-фактура | №119 от 05.02.2013, №148 от 06.02.2013 и т.д.

По отчету по продаже номенклатуры во 2-ой колонке получим следующее:

 

В этом случае все номера реализаций по одному товару вставлены в одну ячейку. Что-то вроде:

номенклатура | кол-во | 001, 002, и т.д. |

Содержание книги по основам СКД

Входные данные для построения отчёта с использованием системы компоновки данных (СКД)

Основные этапы, из которых состоит выполнение отчета с использованием системы компоновки данных (СКД)

Что такое схема компоновки данных?

Из чего состоит схема компоновки данных?

Набор данных - запрос

Параметры виртуальных таблиц

Расширение языка запросов

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

Как самостоятельно заполнить поля схемы компоновки данных?

Функции языка выражений СКД

Особенности работы СКД

Основные настройки полей СКД

Дополнительные настройки полей СКД

Вычисляемые поля

Как передавать параметры и отборы в отчет, построенный на СКД без создания формы отчета?

Как выровнять заголовки столбцов по центру в отчете СКД?

Настройка итогов в схеме компоновки

Настройка ресурсов в схеме компоновки данных

Возможности при описании ресурсов в схеме компоновки данных

Скачать файлы

Наименование Файл Версия Размер
Отчёт по ГТД с примером использования функций СКД Массив (Array) и СоединитьСтроки (JoinStrings):

.erf 12,04Kb
2
.erf 1.1.0 12,04Kb 2 Скачать
Отчёт по продаже номенклатуры с примером использования функций СКД Массив (Array) и СоединитьСтроки (JoinStrings):

.erf 6,83Kb
2
.erf 1.1.0 6,83Kb 2 Скачать
Книга по основам компоновки данных:

.pdf 894,34Kb
3
.pdf 1.1.1 894,34Kb 3 Скачать

Специальные предложения

Оставьте свое сообщение

См. также

FormCodeGenerator Программная доработка форм. Часть 2 (Режим работы "Режим сравнения форм") на примере ERP 2.5 Промо

Практика программирования Адаптация типовых решений Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Данная публикация является продолжением описания функционирования обработки "FormCodeGenerator " в режиме сравнения форм и генерирования кода на основании сравнения. Подходит для перевода уже доработанных форм с интерактивной доработки на программную. Данный режим работы обработки снизит издержки при дальнейших обновлениях конфигураций.

5 стартмани

21.12.2020    4691    19    huxuxuya    11    

Ведомость по остаткам номенклатуры с ценами и штрихкодами

Учет ТМЦ v8 v8::СКД 1cv8.cf УУ Абонемент ($m)

Это доработанный стандартный отчёт на СКД, который выводит данные об остатках товаров на складах с ценами и штрихкодами в конфигурации 1С Розница для Казахстана, версия 2.2.1.11. Может работать в любой конфигурации, если имеется регистр накопления ТоварыНаСкладах и регистры сведений ЦеныНоменклатуры и Штрихкоды.

1 стартмани

06.05.2021    745    0    softmaker    0    

Универсальные обработки 1С8 на основе проверок метаданных конфигурации с использованием идентификаторов в макете табличный документ

Практика программирования Универсальные обработки Структура метаданных v8 Платформа 1C v8.2 1cv8.cf Абонемент ($m)

В статье рассматривается вопрос создания внешней обработки на основе проверок метаданных конфигурации с использованием идентификаторов в макете табличный документ. Цель - обеспечение совместимости обработки с любой конфигурацией платформы 1С8. Рассмотрен пример получения цены выбранного товара, с заданным видом и датой цены, в любой конфигурации.

1 стартмани

04.05.2021    545    0    etmarket    0    

Динамика курсов валют с количеством дней одинакового курса

Финансовые v8 v8::УФ v8::СКД Платформа 1C v8.2 1cv8.cf БУ УУ Абонемент ($m)

С помощью этого отчёта можно следить за динамикой курсов валют за период времени с количеством дней одинакового курса. Отчет работает как в обычном, так и в управляемом интерфейсе. Отчет тестировался на конфигурации Бухгалтерия для Казахстана, версии 3.0.39.2. Может работать в любой конфигурации, если имеется регистр сведений КурсыВалют.

1 стартмани

21.04.2021    438    0    softmaker    0    

Вам нравятся запросы в 1С? Промо

Практика программирования Разработка v8 v8::Запросы 1cv8.cf Абонемент ($m)

Речь не только о том, что простейший запрос с "легальным" оформлением растянется на пол-экрана, речь еще обо всем, что нужно написать "в нагрузку" к тексту запроса. Все эти "Новый Запрос", "УстановитьПараметр" и последующие пляски с обработкой результата... Пора с этим заканчивать!

1 стартмани

03.07.2019    24243    6    m-rv    90    

Свойства общих модулей

Практика программирования Прочие инструменты разработчика v8 v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

14.04.2021    870    1    kuzyara    3    

Отчет с выводом заголовка на СКД

Практика программирования Учет ТМЦ v8 v8::СКД Платформа 1C v8.2 1cv8.cf УУ Абонемент ($m)

Отчёты "Ведомость товаров на складах" демонстрируют два способах вывода заголовка на СКД. Эти отчеты тестировались на конфигурации Управление торговым предприятием для Казахстана, редакции 2.0.19.2. Могут работать на любой конфигурации, если имеются регистры накопления «ТоварыНаСкладах» и «РеализованныеТовары».

1 стартмани

07.04.2021    859    2    softmaker    0    

Сохранение настроек табличного поля

Практика программирования Платформа 1C v8.2 1cv8.cf Абонемент ($m)

Эта обработка наглядно демонстрирует сохранение настроек табличного поля с типом значения «ТаблицаЗначений» в системе 1С:Предприятие 8.2, тестировалась на конфигурации 1C 8 Бухгалтерия для Казахстана, редакция 2.0.18.11, Управление торговым предприятием для Казахстана, редакция 2.0.19.2 и для российской конфигурации Бухгалтерия предприятия, редакция 2.0.48.9.

1 стартмани

05.04.2021    637    0    softmaker    0    

ВСТАВИТЬ В Справочник.Номенклатура (Код, Наименование) ЗНАЧЕНИЯ ("001", "Новый товар") Промо

Практика программирования v8 v8::Запросы 1cv8.cf Абонемент ($m)

Вас не обманывают ваши глаза, это запрос на изменение данных! И это работает без прямого доступа к БД, регистрации и смс.

1 стартмани

01.06.2018    33453    89    m-rv    58    

Отчет с настройкой роли поля СКД со свойством период

Практика программирования Работа с интерфейсом v8 v8::СКД Платформа 1C v8.2 1cv8.cf УУ Абонемент ($m)

Отчёт демонстрирует правильную настройку роли СКД со свойством «Период», по которой рассчитывается остаток. Этот отчет тестировался на конфигурации Управление торговым предприятием для Казахстана, редакции 2.0.19.2. Может работать на любой конфигурации, если имеется регистр накопления «ТоварыНаСкладах».

1 стартмани

01.04.2021    924    0    softmaker    0    

Чат в 1С + каркас чат-бота для обычных форм

Практика программирования Платформа 1C v8.2 1cv8.cf Россия Абонемент ($m)

Простенький чат в 1С для пользователей, администраторов. Тестировался в конфигурации: "Управление сбытом тепловой энергии" (Софт-портал) релиз 5.0.32.1.

1 стартмани

29.03.2021    852    1    user1223468    0    

Дата прописью + в родительном падеже

Практика программирования Платформа 1C v8.2 УПП1 Россия Абонемент ($m)

1С Дата прописью + в родительном падеже - ДатаПрописью.

1 стартмани

10.03.2021    813    0    a.russkikh    1    

Заполняем по шаблону (по умолчанию) Промо

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

Простой в подключении, универсальный и достаточно удобный механизм заполнения реквизитов произвольных документов/справочников значениями по умолчанию. Реализован в расширении, но может быть и непосредственно включен практически в любую конфигурацию на управляемых формах простым копированием одной формы и двух команд. Весь код в статье.

1 стартмани

08.02.2018    31461    20    mvxyz    17    

Расшифровка СКД. Фильтр отчета по диапазону чисел. Переопределение обработки расшифровки. Не модальный режим

Практика программирования v8::УФ v8::СКД 8.3.14 1cv8.cf Абонемент ($m)

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

1 стартмани

08.02.2021    1363    1    denmon88    1    

Тестовое задание на вакансию "Программист 1С" №7

Практика программирования v8 Платформа 1C v8.2 Абонемент ($m)

Решенное тестовое задание в крупную консалтинговую фирму. Тестировалось на платформе 8.3.13.1513 и разных конфигурациях (оф и уф).

1 стартмани

25.01.2021    1369    1    Sungang    0    

Простой пример отчета на СКД. Программное формирование, расшифровка, работа с параметрами и отборами

Практика программирования v8 v8::СКД 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

15.10.2020    3377    6    Stivens    10    

Нечеткий поиск одним запросом Промо

Практика программирования v8 1cv8.cf Абонемент ($m)

Использование механизма полнотекстового поиска в 1С не всегда оправдано, т.к. построение индекса и поддержание его в актуальном состоянии может значительно нагружать систему. Предлагаемая реализация нечеткого поиска методом N-грамм выполняется одним запросом, что позволяет производить поиск в любой таблице и не требует предварительного построения индекса.

1 стартмани

28.12.2015    31085    72    vasvl123    9    

Интерактивная справка по объектам 1С (подключаемое расширение)

Практика программирования Работа с интерфейсом v8 ERP2 Абонемент ($m)

База знаний, подключаемая к объектам основной базы. Пополняется интерактивно, формируется в виде статей прямо в 1С (текст, картинки, таблицы, ссылки). Есть возможность прикрепления файлов, привязки к объектам 1С, возможности рейтинга и комментирования пользователями.

3 стартмани

29.09.2020    10572    65    sapervodichka    43    

Быстрое формирование наборов данных Объект схемы СКД

Практика программирования v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

05.07.2020    5733    5    Алексей Воробьев    16    

Построение графика в диапазоне изменений без точек

Практика программирования v8::СКД 1cv8.cf Россия Абонемент ($m)

График изменений каких-либо величин во всем диапазоне и в области изменения, без точек.

1 стартмани

30.05.2020    2514    3    yc_2011    4    

Работа с публикациями "Инфостарт" Промо

Практика программирования О сообществе WEB v8 УУ Абонемент ($m)

Работа с рублевыми публикациями на сайте "Инфостарт": ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

1 стартмани

13.09.2018    24978    13    RocKeR_13    16    

Метод восстановления битых ссылок в настройках СКД при консольно-конфигураторной разработке отчетов

Практика программирования Прочие инструменты разработчика v8 v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

30.04.2020    5772    0    zaxarovsky    4    

Задачка: Список всех документов за заданный период, используя СКД

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

Вывести все документы за заданный период, используя СКД.

2 стартмани

11.03.2020    3661    6    MaxxiMiliSan    9    

Получение курса валюты за период с помощью СКД

Практика программирования v8 v8::СКД 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

04.02.2020    3651    1    KawaNoNeko    2    

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции Промо

Инструментарий разработчика Практика программирования v8 Абонемент ($m)

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    32052    28    informa1555    26    

Преобразование объекта Отбор компоновки данных в Запрос

Практика программирования Прочие инструменты разработчика v8::УФ v8::Запросы v8::СКД 1cv8.cf Абонемент ($m)

Преобразует объект Отбор компоновки данных в объект Запрос (с заполнением текста и параметров).

1 стартмани

20.12.2019    5054    6    okon-teh    2    

Конвейер проверки качества кода

Инструментарий разработчика Практика программирования Математика и алгоритмы v8 1cv8.cf Абонемент ($m)

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

3 стартмани

04.09.2019    30868    27    Stepa86    46    

Проверка несуществующих полей в настройках СКД

Практика программирования Работа с интерфейсом Разработка v8 v8::СКД ERP2 УТ11 КА2 Абонемент ($m)

Обработка находит все поля настроек СКД, которые утратили свою актуальность Подходит для УТ 11, ERP, КА 2.

1 стартмани

20.06.2019    5857    3    MuI_I_Ika    2    

1С: Предприятие + корпоративный чат, как наладить оперативные уведомления за 10 минут Промо

Практика программирования v8 Абонемент ($m)

Как сделать автоматические уведомления о разных событиях из 1С в корпоративный чат MyChat для сотрудников компании

1 стартмани

14.08.2016    51540    36    Demanoidos    60    

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

Инструментарий разработчика Практика программирования v8 v8::СКД 1cv8.cf Россия Абонемент ($m)

Разрабатывалась на 1С:Зарплата и управление персоналом в кредитных организациях, редакция 3.1 (3.1.5.407), поэтому использует типовой отчет Состояние штатного расписания, но технология работает для любой конфигурации. Пример внешней обработки с вызовом типового отчета на СКД "Состояние штатного расписания" и передачей ему настроек, изменения имен колонок после выполнения на имена указанные в "Пользовательских полях" или "заголовках" и вывода результата в таблицу значений.

1 стартмани

21.03.2019    7576    15    pavel_pss    0    

Вывод характеристик и их значений в динамический список

Практика программирования Разработка v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

Если в запросе динамического списка используется конструкция {ХАРАКТЕРИСТИКИ ...}, то как вывести на форму колонки с характеристиками?

1 стартмани

22.02.2019    7568    3    kasper076    3    

Модуль, реализующий хранение настроек отчетов СКД в типовом регистре "Сохраненные настройки"

Практика программирования v8 v8::СКД КА1 БП2.0 ЗУП2.5 УТ10 БП1.6 Абонемент ($m)

Модуль, обеспечивающий хранение настроек отчетов на СКД в типовом регистре "Сохраненные настройки", присутствующем в конфигурациях УПП 1.2, 1.3, УТ 10.3, БП 2.0 и т.д.

1 стартмани

12.01.2019    7448    0    lunjio    0    

Работа с данными выбора Промо

Практика программирования Работа с интерфейсом v8 Россия Абонемент ($m)

В управляемом интерфейсе заложена мощная возможность описывать связи реквизитов формы через параметры. Установка параметров связей позволяет ограничить выбор данных так, чтобы целостность данных была обеспечена на этапе ввода. Однако без дополнительного программирования задать можно только самые простые связи. Такие условия связи, как зависимость от реквизита через точку или зависимость через дополнительное отношение, заданное в регистре сведений - уже задать без программирования не получится.

1 стартмани

17.07.2018    57942    22    kalyaka    16    

Передача набора данных типа Объект в отчет СКД

Практика программирования v8 v8::УФ v8::СКД 1cv8.cf Россия Абонемент ($m)

Пример показывает, каким образом можно передать таблицу значений в отчет СКД (в набор данных объект). Пример работает как на обычных, так и на управляемых формах.

1 стартмани

12.11.2018    34597    8    evgen7938    4    

HTTP Сервисы: Путь к своему сервису. Часть 3

Инструментарий разработчика Практика программирования v8 1cv8.cf Абонемент ($m)

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 2». В предыдущих частях мы использовали только Get, в этой части поговорим о других методах и длительных операциях.

1 стартмани

27.08.2018    45858    64    dsdred    17    

Примеры программной работы с СКД, а также программного создания управляемой формы

Практика программирования v8 v8::УФ v8::СКД Абонемент ($m)

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

1 стартмани

12.08.2018    7509    29    MaxCreator    0    

Быстрое определение интервалов в запросе Промо

Практика программирования v8 Абонемент ($m)

В статье описывается новый метод определения интервалов между данными различных записей в запросе. В отличие от общеизвестного метода, время работы предлагаемого метода зависит от объема данных ЛИНЕЙНО. Это обеспечивает ему значительный выигрыш по быстродействию на больших объемах данных. В качестве иллюстрации возможностей метода приведен отчет, показывающий гистограмму распределения времени между продажами.

1 стартмани

01.10.2015    56396    35    ildarovich    41    

Полезные примеры составления схемы компоновки данных #2

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

Еще один набор примеров как решить частные задачи в СКД

1 стартмани

22.05.2018    35995    11    SITR-utyos    13    

Условное оформление дерева значений на управляемой форме

Практика программирования Работа с интерфейсом v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

Пример использования условного оформления дерева значений для создания красивого фильтра на форме.

1 стартмани

28.04.2018    19377    31    Kutuzov    1    

Пользовательские макеты для внешних печатных форм (обработок)

Практика программирования Универсальные печатные формы v8 v8::СКД 1cv8.cf Россия Абонемент ($m)

Расширение БСП по реализации механизма пользовательских макетов для обработок внешних печатных форм.

2 стартмани

05.03.2018    22310    21    simy4    14    

Хранение файлов в томах на диске (для УПП 1.3) Промо

Практика программирования v8 УПП1 Абонемент ($m)

Доработка типовой УПП 1.3 в плане хранения присоединенных файлов вне базы данных

2 стартмани

05.06.2016    62727    11    wowik    32    

Альтернатива ОтборуСтрок() с возможностями условий отборов СКД

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

Типовой ОтборСтрок() использует только условия на равенство. Для таблицы формы, источником которой является "ДеревоЗначений" возможность отбора вообще отсутствует. Но есть возможность использовать всю широту возможностей отборов СКД.

1 стартмани

04.02.2018    7887    4    mszsuz    5    

Паузы при исполнении кода (Sleep для 1С)

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

Решил проверить все найденные варианты паузы для 1С. В результате получилась обработка для тестирования и небольшая статья с итогом.

1 стартмани

28.11.2017    57646    15    swimdog    46    

СКД. Использование встроенного макета, разделителя страниц Промо

Практика программирования v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

31.03.2017    17141    18    Vin_Tik    0    

Печатная форма, сделанная как расширение конфигурации для БП 3.0. Новые возможности БСП Промо

Практика программирования Универсальные печатные формы v8 БП3.0 Абонемент ($m)

Печатные формы на внешних обработках скоро канут в лету. На смену им приходят ПФ, реализованные в виде расширений конфигурации. Не нашел на сайте примеров таких расширений. Привожу пример подобного расширения для БП 3.0.

1 стартмани

06.12.2017    29897    56    kwazi    6