1C 8.x СКД. Вывод значений полей табличной части документа в одну ячейку

25.05.15

Разработка - Инструментарий разработчика

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Внешний отчет с выводом ТЧ в одну ячейку через запятую
.erf 6,22Kb
17 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Моя конфигурация - 1С Университет ПРОФ, редакция 1.1 (1.1.7.1), хотя в данном вопросе суть не в этом.

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

Моя задача была вот в чем:

Имеется документ "Информационная технология", там имеется табличная часть, содержащая авторов. 
На основе данного документа создается еще один - "Регистрация ИТ в ФИПС". 
Задача состоит в том, чтобы на выходе получить отчет, в котором есть 4 поля из документа "Регистрация ИТ в ФИПС", плюс поле из документа "Информационная технология", плюс данные об авторах из табличной части документа "Инф.технология". 

Отчет создается через Систему компоновки данных.

Сначала создаем первый набор данных - запрос, где выбираем необходимые поля (+ поле Ссылка) из первого документа ( у меня "Регистрация ИТ в ФИПС"), затем создаем второй набор данных - запрос, где выбираем поля второго документа ("Информационная технология") вместе с табличной частью (Авторы) (+ поле Ссылка 2го документа).

На вкладке "Связи" настраиваем связь между этими наборами данных.

Источник связи - НаборДанных1, приемник связи - НаборДанных2, Выражение источник - Ссылка из НаборДанных1, Выражение приемник - Ссылка из НаборДанных2.

Для того, чтобы в поле табличной части (Авторы.Автор) вывести всех авторов через запятую, переходим на вкладку Ресурсы. 

Выбираем поле Авторы.Автор и в части "Выражение" пишем:

СоединитьСтроки(Массив(Авторы.Автор)," ,  ")

то есть мы указываем, что объединяем массив данных и размещаем записи через ", ".

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

Ну, и как обычно выбираем поля, которые отчет должен отражать, и добавляем отборы.


Для первоначального изучения исследованы следующие источники: //infostart.ru/public/267055/

http://www.cyberforum.ru/1c-custom/thread1237018.html


Вступайте в нашу телеграмм-группу Инфостарт

Табличная часть Система компоновки данных отчет СКД Вывод ТЧ.

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

24900 руб.

20.08.2024    63763    334    162    

298

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    251595    1394    421    

1147

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданым 1С, справке синтакс-помошника и проверки синтаксиса.

15250 руб.

25.08.2025    48210    100    27    

113

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22570 руб.

06.10.2023    36593    96    40    

116

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

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

17000 руб.

10.11.2023    24336    92    42    

101

Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

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

9500 руб.

17.05.2024    51227    181    63    

210

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

5000 руб.

25.02.2026    2587    10    1    

14
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. dj_serega 396 26.05.15 07:55 Сейчас в теме
Полезная функция.
2. dgolovanov 26.05.15 08:28 Сейчас в теме
Эх, стыдоба, я внешнюю функцию сделал в общем модулея для этого :)) Спасибо!
20. tugushev98 13.09.22 16:12 Сейчас в теме
(2) твоя внешняя функция будет выполнять отдельный запрос для каждой строки, что есть запрос в цикле
3. zala 7 26.05.15 08:55 Сейчас в теме
Ээээ... Это ж типовая тема - ничего нового и хитрого...В мануалах все описано
dj_serega; zqzq; ekaruk; cj512; +4 Ответить
21. tugushev98 13.09.22 16:14 Сейчас в теме
(3)в каких мануалах?
4. Armando 1402 26.05.15 09:57 Сейчас в теме
Удивляет, что появлении незнакомой задачи люди пытаются перерыть множество сайтов, но не документацию.
19. tugushev98 24.08.22 08:40 Сейчас в теме
(4) какую нахуй документацию, в твоей недокументации ничего толком понятно не расписано
5. ekaruk 5056 26.05.15 11:41 Сейчас в теме
Выложить разработкой простейшее использование базовых возможностей СКД это круто.

Но раз люди плюсуют, значит, кому-то действительно полезно.
Redokov; rimma_n; +2 Ответить
6. Поручик 4608 26.05.15 13:36 Сейчас в теме
Где-то на сайте уже было описано года два назад. Я помню, потому что мы тогда делали серию похожих отчетов с выводом данных из ТЧ.
sapervodichka; +1 Ответить
8. zqzq 25 27.05.15 09:26 Сейчас в теме
1. Адский баян.
2. Достаточно просто использовать Массив, без СоединитьСтроки, тогда ещё и расшифровка будет работать. (Если не нужны экзотические разделители.)

(6) Я бы сказал, это описано в документации по СКД (F1) N лет назад.
sapervodichka; +1 Ответить
10. dock 45 27.05.15 15:43 Сейчас в теме
(8) zqzq, ссылку на теорию или пример можно ?
11. ekaruk 5056 27.05.15 17:05 Сейчас в теме
(10) dock, F1 в конфигураторе

"1С:Предприятие 8" - "Система компоновки данных" - "Язык выражений системы компоновки данных"

СоединитьСтроки (JoinStrings)
Предназначена для объединения строк в одну строку.
Синтаксис:
СоединитьСтроки (Значение, РазделительЭлементов, РазделителиКолонок)
Параметры:
Значение - выражения, которые нужно объединить в одну строку. Если является Массивом, то в строку будут объединяться элементы массива. Если является ТаблицаЗначений, то в строку будут объединяться все колонки и строки таблицы;
РазделительЭлементов - строка, содержащая текст, который нужно использовать в качестве разделителя между элементами массива и строками таблицы значений. По умолчанию – символ перевода строк;
РазделителиКолонок -строка, содержащая текст, который нужно использовать в качестве разделителя между колонками таблицы значений. По умолчанию "; ".
Пример:
СоединитьСтроки(ТаблицаЗначений(НомерТелефона, Адрес));


Массив (Array)
Функция формирует массив, содержащий для каждой детальной записи значение параметра.
Синтаксис:
Массив([Различные] Выражение)
В качестве параметра можно использовать таблицу значений. При этом результатом работы функции будет массив, содержащий значения первой колонки таблицы значений, переданной в качестве параметра.
Если выражение содержит функцию Массив, то считается, что данное выражение является агрегатным.
Если указано ключевое слово Различные, то получаемый массив не будет содержать дублирующихся значений.
Пример:
Массив(Контрагент)
dock; Бубузяка; +2 Ответить
7. Poplar 27.05.15 08:59 Сейчас в теме
Жаль, что раньше этой статьи не было. Сэкономил бы много времени. Действительно полезная функция. Спасибо автору.
9. bdimaw 27.05.15 09:55 Сейчас в теме
Статья полезная, но зачем использовать 2 источника данных?
12. pvlunegov 160 09.06.15 10:45 Сейчас в теме
Ставлю плюс за то что автор девушка
13. bad_wag 55 20.05.19 13:04 Сейчас в теме
А можно так же сделать, для поля - НЕ ресурса?
14. HiGHT 20.09.19 11:25 Сейчас в теме
(13)
Поддержу вопрос)
15. bad_wag 55 20.09.19 15:00 Сейчас в теме
(14) Я через вычисляемые поля сделал
16. HiGHT 20.09.19 19:25 Сейчас в теме
(15)
Например есть таблица с 2 колонками.
В первой договоры контрагента, во второй документы реализации.
По каждому договору может быть несколько документов.
Как вывести Документы одной ячейкой для каждого договора не используя ресурсы?
17. bad_wag 55 23.09.19 19:33 Сейчас в теме
(16) Прошу извинить, забыл, что так не получится, а чем ресурс не устраивает?
18. marat.coolls 08.12.21 15:26 Сейчас в теме
Для отправки сообщения требуется регистрация/авторизация