Имя: Пароль:
1C
1С v8
Выборка из запроса
0 jonik_joker
 
26.09.13
23:54
Всем привет.Вопрос может простой,так что заранее сорри.
Есть запрос

Запрос.Текст="ВЫБРАТЬ
                 |    ЗаявкаНаПоставку.Дата,
                 |    НАЧАЛОПЕРИОДА(ЗаявкаНаПоставку.Дата, ДЕНЬ) КАК ДатаЗаявка,
                 |    ОборотыДенежныхСредствОстаткиИОбороты.Заявка,
                 |    ОборотыДенежныхСредствОстаткиИОбороты.Инвойс,
                 |    ОборотыДенежныхСредствОстаткиИОбороты.СуммаПриход КАК СуммаИнвойс,
                 |    ЗаявкаНаПоставку.Клиент КАК Клиент,
                 |    ЗаявкаНаПоставку.Грузополучатель,
                 |    ЗаявкаНаПоставку.Валюта,
                 |    ЗаявкаНаПоставку.СоставИтогСтоимость КАК СуммаЗаявка,
                 |    ЗаявкаНаПоставку.ВнутреннийНомер КАК НомерЗаказ,
                 |    ЗаявкаНаПоставку.ВнутреннийНомерЗаказаНаПроизводство КАК НомерЗаявка,
                 |    ОборотыДенежныхСредствОстаткиИОбороты.Инвойс.Номер КАК НомерИнвойс,
                 |    ОборотыДенежныхСредствОстаткиИОбороты.Инвойс.Дата КАК ДатаИнвойс
                 |ИЗ
                 |    Документ.ЗаявкаНаПоставку КАК ЗаявкаНаПоставку
                 |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОборотыДенежныхСредств.ОстаткиИОбороты КАК ОборотыДенежныхСредствОстаткиИОбороты
                 |        ПО (ОборотыДенежныхСредствОстаткиИОбороты.Заявка = ЗаявкаНаПоставку.Ссылка)
                 |ГДЕ
                 |    НАЧАЛОПЕРИОДА(ЗаявкаНаПоставку.Дата, ДЕНЬ) МЕЖДУ &ДатаНачала И &ДатаКонца
                 |    И ЗаявкаНаПоставку.Клиент = &Клиент
                 |    И ЗаявкаНаПоставку.Грузополучатель = &Грузополучатель";
                
    ТаблицаДанных=Запрос.Выполнить().Выгрузить();            
    ДокументДанных=Новый ТабличныйДокумент;
        
    Макет=Отчеты.Отчет1.ПолучитьМакет("Макет1");
    ОбластьШапкаЗаявки=Макет.ПолучитьОбласть("ШапкаЗаявки");
    ОбластьЗаголовок=Макет.ПолучитьОбласть("Заголовок");
    ОбластьСтрока=Макет.ПолучитьОбласть("Строка");
    
    ОбластьШапкаЗаявки.Параметры.Клиент=Клиент;
    ОбластьШапкаЗаявки.Параметры.Грузополучатель=Грузополучатель;
    ДокументДанных.Вывести(ОбластьШапкаЗаявки);
    
    Для Каждого СтрокаДанных Из ТаблицаДанных Цикл        

        ОбластьСтрока.Параметры.НомерЗаказ=СтрокаДанных.НомерЗаказ;
    ОбластьСтрока.Параметры.НомерЗаявка=СтрокаДанных.НомерЗаявка;
    ОбластьСтрока.Параметры.ДатаЗаявка=СтрокаДанных.ДатаЗаявка;
    ОбластьСтрока.Параметры.НомерИнвойс=СтрокаДанных.НомерИнвойс;
    ОбластьСтрока.Параметры.ДатаИнвойс=СтрокаДанных.ДатаИнвойс;
    ОбластьСтрока.Параметры.СуммаИнвойс=СтрокаДанных.СуммаИнвойс;
    ОбластьСтрока.Параметры.СуммаЗаявка=СтрокаДанных.СуммаЗаявка;
    ОбластьСтрока.Параметры.СуммаИнвойс=СтрокаДанных.СуммаПриход;
    ОбластьСтрока.Параметры.СуммаЗаявка=СтрокаДанных.СуммаЗаявка;
      
    ДокументДанных.Вывести(ОбластьЗаголовок);
    ДокументДанных.Вывести(ОбластьСтрока);
                
    КонецЦикла;
    
    Возврат ДокументДанных;

В результате выполнения получается табличка типа
...заявка инвойс...
...заявка инвойс...

но,в самом документе в 1 заявке может быть 2 инвойса,соответственно хотелось бы вывести
...заявка инвойс...
...       инвойс...

я понимаю что по регистру накоплений есть 2 записи по приходу от одной и той же заявки соответственно цикл эти 2 строки и выводит,но как вывести это одной строкой?
1 Euguln
 
27.09.13
00:08
Группировка + выгрузка в дерево
2 jonik_joker
 
27.09.13
07:33
(1) ,можно на конкретном примере?
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс