Имя: Пароль:
1C
1С v8
Конкатенация строк в запросе
Ø (Волшебник 26.12.2022 23:49)
0 slafor
 
26.12.22
18:21
Есть справочник, допустим, Номенклатура.
Есть регистр сведений, где одной Номенклатуре может быть назначено несколько значений другого справочника, например, справочника Связанная номенклатура )
Нам надо в одном запросе на СКД получить список всей номенклатуры, при этом в колонке "Связанная номенклатура" в одной ячейке вывести всю связанную номенклатуру из регистра списком.

К примеру, в регистре Связанная номенклатура есть такие записи:
Номенклатура1 - Номенклатура2
Номенклатура1 - Номенклатура3

В отчете мы должны вывести
Номенклатура1 - "Номенклатура2, Номенклатура3".

Почему-то у меня Номенклатура 1 дублироваться начинает. Хотя я делал колонку связанная номенклатура и ресурсом с функцией СоединитьСтроки, и вычисляемым полем с такой же функцией. А выводится все равно одно:
Номенклатура1 - Номенклатура2
Номенклатуры1 - Номенклатура3.

Вроде просто, но чего-то я на этом завис...
1 slafor
 
26.12.22
18:22
"Есть регистр сведений, где одной Номенклатуре может быть назначено несколько значений другого справочника, например, справочника Связанная номенклатура )"

Виноват, не совсем правильно. Есть регистр сведений Связанная номенклатура, и 2 измерения, оба с типом значения справочника Номенклатура.
2 lubitelxml
 
26.12.22
18:26
Запрос покажи
3 PR
 
26.12.22
18:40
(0) Делай запрос с n левыми соединениями с отбором по свойству, где n — количество свойств
4 Fragster
 
гуру
26.12.22
18:41
(0) надо в натсройках структуры отчета выводить не детальные записи, а группировку по измерению. тогда в колонке ресурса будет то, что тебе нужно
5 Said_We
 
26.12.22
19:53
(3) Ему в СКД вывести.... У него уже есть готовая таблица.
По факту ему нужно использовать функцию MS SQL STRING_AGG() аналогичные есть и в других SQL. И в СКД так можно, только не понятно что он уже сделал, а чего не сделал.