Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Выборка из ТЧ документа
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование управляемых форм 1С 8.2
jonik_joker
Всем привет. Заранее извиняюсь за скорее избитую тему, но...есть запрос:

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


В документе ЗаявкаНаПоставку есть ТЧ УсловиеОплаты. Из этой ТЧ мне нужно вытащить значения

ЗаявкаНаПоставкуУсловиеОплаты.ВариантОплаты,
ЗаявкаНаПоставкуУсловиеОплаты.Процент,
ЗаявкаНаПоставкуУсловиеОплаты.СДаты,
ЗаявкаНаПоставкуУсловиеОплаты.ВТечение,


Как это прописать в одном запросе?
Vofka
Делайте выборку не из Документ.ЗаявкаНаПоставку, а из Документ.ЗаявкаНаПоставку.УсловиеОплаты.
jonik_joker
Vofka, и соответственно вместо

|ЗаявкаНаПоставку.ВнутреннийНомер,       
|ЗаявкаНаПоставку.ВнутреннийНомерЗаказаНаПроизводство


прописать

|ЗаявкаНаПоставкуУсловиеОплаты.Ссылка.ВнутреннийНомер,
|ЗаявкаНаПоставкуУсловиеОплаты.Ссылка.ВнутреннийНомерЧисломЗаказаНаПроизводство


?
logist
Цитата(jonik_joker @ 07.10.13, 15:08) необходимо зарегистрироваться для просмотра ссылки
?

Да
jonik_joker
спасибо.
jonik_joker
сорри, пока не спасибо)
дело в том что потом идет обход результата

РезультатЗапроса=Запрос.Выполнить();
    ДокументДанных=Новый ТабличныйДокумент;
    
    
    
    Макет=Отчеты.Отчет1.ПолучитьМакет("Макет1");
    ОбластьШапкаЗаявки=Макет.ПолучитьОбласть("ШапкаЗаявки");
    ОбластьЗаголовок=Макет.ПолучитьОбласть("Заголовок");
    ОбластьСтрока=Макет.ПолучитьОбласть("Строка");
    ОбластьИтог=Макет.ПолучитьОбласть("Итог");
    ОбластьСтрЗаявки=Макет.ПолучитьОбласть("СтрЗаявки");
    
    ОбластьШапкаЗаявки.Параметры.Клиент=Клиент;
    ОбластьШапкаЗаявки.Параметры.Грузополучатель=Грузополучатель;
    ДокументДанных.Вывести(ОбластьШапкаЗаявки);
    
    ВыборкаПоЗаявке=РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
        
     ДокументДанных.Вывести(ОбластьЗаголовок);                         
    Пока ВыборкаПоЗаявке.Следующий() Цикл
        
           ОбластьСтрЗаявки.Параметры.Заявка=ВыборкаПоЗаявке.Заявка;
                          
                    ДокументДанных.Вывести(ОбластьСтрЗаявки);
            
                 ВыборкаПоИнвойсу=ВыборкаПоЗаявке.Выбрать();
                
                 Пока ВыборкаПоИнвойсу.Следующий() Цикл
                    
                      ДатаЗаявкаФормат=Формат(ВыборкаПоИнвойсу.ДатаЗаявка,"ДФ=dd.MM.yyyy");
                      ДатаИнвойсФормат=Формат(ВыборкаПоИнвойсу.ДатаИнвойс,"ДФ=dd.MM.yyyy");
                      
                      ОбластьИтог.Параметры.СуммаЗаявка=ВыборкаПоИнвойсу.СуммаЗаявка;
                      ОбластьИтог.Параметры.Валюта=ВыборкаПоИнвойсу.Валюта;
                      
                      ОбластьСтрока.Параметры.НомерЗаявка=ВыборкаПоИнвойсу.НомерЗаявка;
                      ОбластьСтрока.Параметры.ДатаЗаявка=ДатаЗаявкаФормат;                      
                      ОбластьСтрока.Параметры.НомерИнвойс=ВыборкаПоИнвойсу.НомерИнвойс;
            ОбластьСтрока.Параметры.ДатаИнвойс=ДатаИнвойсФормат;
            ОбластьСтрока.Параметры.СуммаИнвойс=ВыборкаПоИнвойсу.СуммаИнвойс;
                      ОбластьСтрока.Параметры.НомерЗаказ=ВыборкаПоИнвойсу.НомерЗаказ;
                      
                      ДокументДанных.Вывести(ОбластьСтрока);
                  КонецЦикла;
                      
                    ДокументДанных.Вывести(ОбластьИтог);  
                      

                КонецЦикла;
                    Возврат ДокументДанных;


и сейчас печатная форма пустая выходит.

соответственно в запросе

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


logist
Цитата(jonik_joker @ 07.10.13, 16:54) необходимо зарегистрироваться для просмотра ссылки
и сейчас печатная форма пустая выходит.

Внимательно сравните текст запроса в первом Вашем сообщении, и в последнем, чего-то не хватает wink.gif
jonik_joker
а, все, вижу) теперь точно спасибо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.