Имя: Пароль:
1C
1С v8
Конкатенация строк с группировкой
,
0 barsnfox
 
16.07.21
14:42
Доброго времени суток.
Имеем -- Запрос + СКД. Кодом результат запроса обработать негде. Сам текст запроса прилагать бесполезно, он слишком огромный, так что опишу вкратце.
Берём договор из спр. ДоговорыКонтрагентов
Берём комментарий фин.отдела из регистра сведений КомОтделов
Берём комментарий юр.отдела из того же регистра
Подставляем туда сумму
Получаем на выходе такой результат запроса, без всяких группировок:

Договор --- Комментарий Фин Отдела --- Комментарий Юр Отдела -- Сумма

№12345 ---- "" ----------------------- "Какой то коммент Юр" -- 10000
№12345 ---- "" ----------------------- "Ещё коммент Юр" ------- 10000
№12345 ---- "Тут коммент Фин" -------- "" --------------------- 10000
№12345 ---- "Тут другой коммент Фин" - "" --------------------- 10000
№12345 ---- "Ну и есчо" -------------- "" --------------------- 10000

При выводе в отчёт необходима такая картина

Договор| Комментарий Фин Отдела ---| Комментарий Юр Отдела -| Сумма

-------|"Тут коммент Фин" -------- |"Какой то коммент Юр"---|
№12345 |"Тут другой коммент Фин" - |"Ещё коммент Юр"--------| 10000
-------|"Ну и есчо"

Т.е. в одной строке договора нужно сложить все принадлежащие ему комментарии определённого отдела. Это решается с помощью "СоеденитьСтроки()" в вычисляемом поле, окей
Проблема в том, что отчёт "не плоский", а с группировкой по договору, валюте, организации и нескольким другим полям, которые мы опустим как не существенные
Остальные поля являются ресурсами.
Соответственно, при группировке договора, сумма становится не 10000, а 50000

Ломаю над этим голову уже пару дней, т.к. откровенный хардкод по типу деления суммы на количество комментариев применять не хочется.
1 barsnfox
 
16.07.21
14:43
хоспаде, как же всё посъезжало. А пока рисовал табличку, считал себя идеальным художником...
2 Mihenius
 
16.07.21
15:13
А в чем проблема вначале все посчитать, а комментарии добавить к уже готовой таблице?
3 МихаилМ
 
16.07.21
15:15
(0)
в поиск. один из самых частых вопросов
4 barsnfox
 
19.07.21
13:44
(2) И так, всё считается в запросе, потом прилетает в СКД. Но вот при группировке СКД начинают складываться числовые значения, которые складываться не должны. Объеденить комментарии как нужно, до попадания в СКД нет возможности

(3) Ради того, чтобы задать этот вопрос -- зарегался здесь. Потому как гугл мне ничего внятного подсказать не смог. Наткнулся на "спортивный" способ складывания текстовых строк по колонке, но думаю есть способ проще, средствами СКД. Про них и хочу узнать
5 Мультук
 
гуру
19.07.21
14:00
(4) >> Ради того, чтобы задать этот вопрос -- зарегался здесь.

Если ты все еще ждешь ответа, то нужны нормальные картинки.
6 barsnfox
 
19.07.21
14:06
(5) https://ibb.co/LJ3BJQv ну, если мои наскальные рисунки не подходят, то вот)
7 Малыш Джон
 
19.07.21
14:10
(6) То есть проблема в том, что число суммируется, а оно не должно?
8 golem14
 
19.07.21
14:26
почему не использовать функцию Максимум?
9 SiAl-chel
 
19.07.21
14:31
(6) У тебя 5 детальных записей с 1000 в поле Сумма. конечно при агрегировании функцией Сумма у тебя будет 50000 в группировке. Используй для поля Сумма функцию Максимум, Минимум или Среднее.
10 barsnfox
 
19.07.21
14:32
(8) для чего именно?
11 pasha_d
 
19.07.21
14:38
(10) Максимум(Сумма) на вкладке "Ресурсы"
12 barsnfox
 
19.07.21
14:55
Мда... А ларчик просто открывался. Спасибо
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс