Конкатенация в запросе

1. shaykhelov 18.05.22 11:32 Сейчас в теме
приветствую!

В запросах есть аналог sql - FOR XML PATH ('') для конкатенации строк в одну?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 76 18.05.22 11:52 Сейчас в теме
(1) обычная операция "+":

ВЫБРАТЬ
        "А" + "Б"
3. igor63 18.05.22 12:00 Сейчас в теме
В запросе разве так работает?

(2)
5. TokarevV 30 18.05.22 12:03 Сейчас в теме
(3) Если текст запроса редактируете.
Конкатенация = Текст;
Запрос.Текст =
"ВЫБРАТЬ
| СУММА(ВЫБОР
| КОГДА" +Конкатенация + "НЕ РеализацияТоваровУслугТовары.Номенклатура.ЕстьЗаводскойШтрихкод...";
6. nomad_irk 76 18.05.22 12:29 Сейчас в теме
(3) со строками - да. Преобразовать другое примитивное значение в строку можно начиная с версии 8.3.20.
7. igor63 18.05.22 12:32 Сейчас в теме
(6)
со строками - да. Преобразовать другое примитивное значение в строку можно начиная с версии 8.3.20.


Мы сейчас про запросы*? А как преобразовать?
8. nomad_irk 76 18.05.22 12:41 Сейчас в теме
(7)Вам сам текст запроса или все же внутри запроса строковые значения нужно конкатенировать?
Если первое, то
СтрСоединить(МассивСтрок, ";")

вполне себе решает эту задачу.

Преобразовать, например вот так:

Выбрать
     Строка(2) + Строка(4)


Даст в результате: "24"
9. igor63 18.05.22 13:01 Сейчас в теме
(8)Понял спасибо, а раньше обходил этот момент через процедуру общего модуля, из СКД туда обращался складывал и возвращал значение, а начиная с какой платфомы?
10. nomad_irk 76 18.05.22 13:45 Сейчас в теме
11. shaykhelov 18.05.22 13:55 Сейчас в теме
(8) Мне нужно разложить элементы в выборки разложить в одну строку.

Конкретно данные из регистра Штрихкоды, где множество для одного товара, одной строкой через запятую.
Прикрепленные файлы:
13. nomad_irk 76 18.05.22 13:58 Сейчас в теме
(11)пффф....если заранее не известно количество ШК для одной номенклатуры, то запросом сделать будет невозможно, только постобработкой или с помощью СКД.
4. igor63 18.05.22 12:02 Сейчас в теме
(1) не так давно тоже интересовался этой темой, вообщем есть два метода которые мне понравились, чекни эту статью https://forum.infostart.ru/forum9/topic281309/
12. shaykhelov 18.05.22 13:56 Сейчас в теме
14. igor63 18.05.22 14:32 Сейчас в теме
(12)Ну через СКД я вывожу отчет готовый, а у вас просто выборку получаете из запроса и делайте с таблицей что хотите, так даже проще,

ПереченьТоваров = "";
 
 Для Каждого СтрокаТЧ Из ВашаВыборка Цикл
  ВашеЗначение = ВашеЗначение  + СтрокаТЧ.Выборка.НужноеПолеТаблицы
  ПереченьТоваров = ПереченьТоваров + Символы.ПС;
 КонецЦикла;
15. shaykhelov 26.05.22 10:47 Сейчас в теме
(14) тоже самое сделал. надеюсь в будущих платформах добавят новые возможности языка запросов как и в 20 релизе
Оставьте свое сообщение

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