Имя: Пароль:
1C
1С v8
Сгруппировать строки в запросе
0 Родом из детства
 
03.03.21
11:58
Суть в следующем:
У контрагента имеется ТЧ с услугами, нужно получить следующую строку:
Контрагент - СписокУслуг(через пробел, или запятую)
И сделать это запросом...
Хотел сначала создать новое поле (Наименование услуги + " "), а потом сгруппировать по контрагенту, и это поле просуммировать, однако, строки суммировать при группировке в запросе нельзя(
Может, у кого-нибудь есть альтернативные решения?
1 Малыш Джон
 
03.03.21
11:59
(0) запросом нельзя, в СКД есть возможности такие
2 Родом из детства
 
03.03.21
12:01
(1) Жаль, это в последующем буду в таблице использовать. Можно, конечно, выполнять такие махинации в обработчике самой ТЧ при получении данных, или пройтись в выборке, но хотелось сделать все в запросе. Странно, ведь в самой системе строки можно суммировать
3 mikecool
 
03.03.21
12:03
(2) сделай в скд, потом получи и засунь в таблицу
вот только функция Массив() в СКД вернет Массив в случае выгрузки в ТЗ или ДЗ
4 Малыш Джон
 
03.03.21
12:07
(2) результат СКД можно и в таблицу значений выгрузить
5 dka80
 
03.03.21
12:07
(2) скд может возвращать таблицу значений, а не только в макет выводить
6 Родом из детства
 
03.03.21
12:09
Спасибо за ответы, друзья. Буду пробовать:)
7 Said_We
 
03.03.21
17:21
(0) В MS SQL есть оператор PIVOT для таких трансформаций таблиц. Есть и противоположная трансформация UNPIVOT. Но в 1С такого нет. Возможно СКД использует, а может и нет.
8 Михаил Козлов
 
03.03.21
17:27
Сделайте группировку по контрагенту в запросе к ТЧ. Сначала выбирайте по группировке, а в выборке детальных записей формируйте список услуг строкой.
На времени особо не скажется, код простейший (2 цикла), все сделать запросом не самоцель.
Закон Брукера: Даже маленькая практика стоит большой теории.