Имя: Пароль:
1C
1С v8
Как сгруппировать данные по такому запросу?
0 SherifSP
 
27.02.14
19:08
У одного контрагента может быть несколько видов номенклатуры с разными характеристиками, как мне в итоге получить все в одну строку, делаю отчет на скд с помощью макета, но у меня столько строк, сколько видов номенклатуры находится у контрагента. Нужно так: Контрагент,ТорговаяТочка,Номенклатура + характеристика. Пробовал по всякому, решил что нужно все обрабатывать в запросе и уже выводить готовые данные, только как не понимаю, подскажите плз

Текст запроса
ВЫБРАТЬ
    МаршрутныйЛистТорговогоПредставителяМаршрут.Ссылка КАК МаршрутныйЛист,
    МаршрутныйЛистТорговогоПредставителяМаршрут.Контрагент КАК Контрагент,
    МаршрутныйЛистТорговогоПредставителяМаршрут.ТорговаяТочка КАК ТорговаяТочка,
    ТоварыПереданныеОстатки.Номенклатура КАК Номенклатура,
    ТоварыПереданныеОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    ТоварыПереданныеОстатки.КоличествоОстаток КАК КоличествоОстаток,
    ТоварыПереданныеОстатки.СуммаВзаиморасчетовОстаток КАК СтоимостьОстаток,
    МаршрутныйЛистТорговогоПредставителяМаршрут.Ссылка.Номер
ИЗ
    Документ.МаршрутныйЛистТорговогоПредставителя.Маршрут КАК МаршрутныйЛистТорговогоПредставителяМаршрут
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыПереданные.Остатки КАК ТоварыПереданныеОстатки
        ПО МаршрутныйЛистТорговогоПредставителяМаршрут.ТорговаяТочка = ТоварыПереданныеОстатки.ТорговаяТочка
            И МаршрутныйЛистТорговогоПредставителяМаршрут.Контрагент = ТоварыПереданныеОстатки.Контрагент
1 vicof
 
27.02.14
19:13
Ну чо, сортируй по всем полям, затем в цикле соединяй строчки в одну.
Если СКД - там есть СоединитьСтроки(), как-то так
2 SherifSP
 
27.02.14
19:21
(1) А где их в скд соединять?
3 vicof
 
27.02.14
19:25
(2) Фукнции скд в справке глянь
4 SherifSP
 
28.02.14
14:48
Не получилось( Может кто дельный совет дать?
5 SherifSP
 
28.02.14
15:01
Ап
6 Maxus43
 
28.02.14
15:04
не совсем понял, тебе надо поле Характеристика слить в одну строку, через запятую например?
7 SherifSP
 
28.02.14
18:13
(6) Да
8 SherifSP
 
28.02.14
18:13
(6) Подскажи как это сделать
9 Aleksandr N
 
28.02.14
18:20
(8) Обходишь запрос и присоединяешь. Наверно, как то так.
10 Aleksandr N
 
28.02.14
18:23
(9) Только еще в запросе нужны итоги по контрагенту.
11 SherifSP
 
28.02.14
18:39
а пример?)
12 SherifSP
 
28.02.14
19:24
Еще раз ап
13 Aleksandr N
 
28.02.14
19:25
(12) Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    РеализацияТоваровУслуг.Контрагент КАК Контрагент,
    |    РеализацияТоваровУслугТовары.Номенклатура
    |ИЗ
    |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
    |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
    |        ПО РеализацияТоваровУслугТовары.Ссылка = РеализацияТоваровУслуг.Ссылка
    |
    |СГРУППИРОВАТЬ ПО
    |    РеализацияТоваровУслуг.Контрагент,
    |    РеализацияТоваровУслугТовары.Номенклатура
    |ИТОГИ ПО
    |    Контрагент";
    
    Результат = Запрос.Выполнить();
    ТекстНоменклатуры = "";
    Дерево = Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
    
    Для Каждого Контрагент Из Дерево.Строки Цикл
        
        Для Каждого Номенклатура Из Контрагент.Строки Цикл
            ТекстНоменклатуры = ТекстНоменклатуры + ", " + Номенклатура.Номенклатура;
        КонецЦикла;
        
    КонецЦикла;
14 Aleksandr N
 
28.02.14
19:26
(13) Только таблицы другие
15 SherifSP
 
28.02.14
19:34
(14) Не так я хотел
16 Aleksandr N
 
28.02.14
19:34
(15) Как ты хотел?
17 SherifSP
 
28.02.14
19:35
Нужно без цикла номенклатуру сумировать
18 SherifSP
 
28.02.14
19:35
все в запросе
19 Aleksandr N
 
28.02.14
19:36
(18) В запросе нельзя строки суммировать
20 SherifSP
 
28.02.14
19:45
У меня есть поле контрагент и номенклатура, если у контрагента будит 2 вида номенклатуры, их нужно показать как 1 вид но 2 наименования
21 Aleksandr N
 
28.02.14
20:00
(20) Ты действительно думаешь, что запрос может соединить строки из разных полей?
22 Aleksandr N
 
28.02.14
20:05
(21) Точнее строки из колонки.
23 Allexe
 
28.02.14
20:19
(20) Выводи каждое наименование в отдельной колонке, а потом соедини