Как в запросе преобразовать таблицу в одну строку с разделителями?

1. serge_focus 4 28.08.12 15:07 Сейчас в теме
Например, есть таблица:

Название1
Название2
Название3
Название4

Запрос возвращает строку:
Название1; Название2; Название3; Название4;

таблицу обработать нужно именно в запросе...

Заранее всем спасибо !
PotapAV; yaroslav.artem; Kramarenkoav; Мах; +4 Ответить
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
94. andrewks 1370 07.09.13 14:00 Сейчас в теме
колдовство заключается в некоем бинарном дереве, восхождением к корню:

на каждой итерации каждые две строки объединяются в одну

типа, так:

1 2 3 4
12 34
1234
95. andrewks 1370 07.09.13 14:06 Сейчас в теме
2^11 = 2048 - макс.длина строки
96. andrewks 1370 07.09.13 14:09 Сейчас в теме
обнаружился небольшой артефакт: могут удаляться некоторые пробелы внутри строк.

например, если задаём

"строка1"
"строка2"
"строка3"
"строка4 строка5 строка6 строка7 строка8 строка9 строка10 строка11 строка12 строка13 строка14 строка15 строка16 строка17 строка18 строка19 строка20"

на выходе получаем:

"строка1строка2строка3строка4 строка5 строка6 строка7 строка8 строка9 строка10строка11 строка12строка13 строка14строка15 строка16строка17 строка18строка19 строка20"
99. andrewks 1370 08.09.13 12:23 Сейчас в теме
с моим вариантом дела ещё хуже - удаляются все пробелы

суть проблемы в том, что 1с не считает выражение (" "> "") истинным
101. ildarovich 7870 08.09.13 12:47 Сейчас в теме
(99) Хочу пока оставить это загадкой, поэтому объясню в чем дело в личном сообщении. Но вот скриншот результата в запроснике.
Прикрепленные файлы:
100. andrewks 1370 08.09.13 12:35 Сейчас в теме
в оригинальном варианте нужно подправить строку
ВЫБРАТЬ НомерСтроки, МАКСИМУМ(ё) СтрДлина ПОМЕСТИТЬ Длины ИЗ Буквы ГДЕ (а > "") ИЛИ (а = " ") СГРУППИРОВАТЬ ПО НомерСтроки;


в моём -

ВЫБРАТЬ НомерСтроки, ё, ПОДСТРОКА(а, ё, 1) а ПОМЕСТИТЬ Буквы ИЗ Дано, РА9876543210 ГДЕ (ПОДСТРОКА(а, ё, 1) > "") ИЛИ (ПОДСТРОКА(а, ё, 1) = " ");

сторно

не катит, т.к. выражения ("" = " "), ("" >= " ") 1с считает истинными

чума какая-то
Прикрепленные файлы:
106. гвость 24.04.15 17:46 Сейчас в теме
Тоже стояла проблема, решение было найдено с помощью СКД.
В ресурсах СоединитьСтроки(Массив(Номенклатура), ", ")

Номенклатура - строка, через ВЫРАЗИТЬ
108. IvStark 13.12.22 16:49 Сейчас в теме
Добавлю некропост с предложение идеи решить задачу через механизм "Внешние источники данных", если база клиент-серверная.
Не пробовал, но кажется это реализуемо, если задать таблицу с подключением к sql таблице этой же базы.
Достаточно извращённо, но при этом возможности расширяются за счёт sql.

Сама задача актуальна, например, для формирования индексируемой сборной колонки динамического списка в форме списка по табличной части объекта, чтобы была возможность по этой колонке выполнять отбор/поиск.
Постобработка с помощью ПриПолученииДанныхНаСервере меняет лишь отображение в поле, значение для отбора/поиска остаётся из запроса.
109. пользователь 13.12.22 16:52
Сообщение было скрыто модератором.
...
110. IvStark 13.12.22 16:56 Сейчас в теме
(109)
Я подал идею. Мб у кого получится реализовать.
У меня база файловая, поэтому решение не применимо.
Таблицу механизма "Внешние источники данных" не подключить к файловой базе 1С.

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

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот