Изменить запрос

Новая тема
Показывать по 10 20 40 сообщений
"Подскажите,пожалуйста,как изменить следующий запрос:
"ВЫБРАТЬ
                  |    ПрохождениеЗаказа.Ссылка КАК Ссылка1,
                  |    ПрохождениеЗаказа.ДатаВыполнения КАК ДатаФакт,
                  |    ПрохождениеЗаказаПокупателя.Ссылка,
                  |    ПрохождениеЗаказаПокупателяСрокиЭтапов.Этап КАК Этапы,
                  |    ПрохождениеЗаказаПокупателяСрокиЭтапов.Срок,
                  |    ЗаказПокупателяТовары.Номенклатура КАК Номенклатура
                  |ИЗ
                  |    Задача.ПрохождениеЗаказа КАК ПрохождениеЗаказа
                  |        ЛЕВОЕ СОЕДИНЕНИЕ БизнесПроцесс.ПрохождениеЗаказаПокупателя КАК ПрохождениеЗаказаПокупателя
                  |        ПО ПрохождениеЗаказа.БизнесПроцесс = ПрохождениеЗаказаПокупателя.Ссылка,
                  |    Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары,
                  |    БизнесПроцесс.ПрохождениеЗаказаПокупателя.СрокиЭтапов КАК ПрохождениеЗаказаПокупателяСрокиЭтапов
                  |ГДЕ
                  |    ЗаказПокупателяТовары.Ссылка = &Ссылка
                  |
                  |СГРУППИРОВАТЬ ПО
                  |    ПрохождениеЗаказа.Ссылка,
                  |    ПрохождениеЗаказа.ДатаВыполнения,
                  |    ПрохождениеЗаказаПокупателя.Ссылка,
                  |    ПрохождениеЗаказаПокупателяСрокиЭтапов.Этап,
                  |    ПрохождениеЗаказаПокупателяСрокиЭтапов.Срок,
                  |    ЗаказПокупателяТовары.Номенклатура";

Мне надо,чтобы данные выводились примерно в след. виде:

Ссылка1           ДатаВыполнения Ссылка   Номенклатура    Этапы  
Оформление Заказа  06.09.2010     000001   Дверь          

Замеры             08.09.2010                             Замеры

Сейчас у меня выходит следующее:
Ссылка1           ДатаВыполнения Ссылка   Номенклатура  Этапы  
Оформление Заказа  06.09.2010     000001   Дверь        Замеры

Замеры             08.09.2010     000001   Дверь    Замеры
"
запрос по докам ?
Вот на этом запросе,наверное,мне будет проще объяснить:
ВЫБРАТЬ  
   ПрохождениеЗаказаПокупателяСрокиЭтапов.Этап,
   ПрохождениеЗаказаПокупателяСрокиЭтапов.Срок,
   ПрохождениеЗаказа.Ссылка,
   ПрохождениеЗаказа.ДатаВыполнения
ИЗ
   БизнесПроцесс.ПрохождениеЗаказаПокупателя.СрокиЭтапов КАК ПрохождениеЗаказаПокупателяСрокиЭтапов,
   Задача.ПрохождениеЗаказа КАК ПрохождениеЗаказа

СГРУППИРОВАТЬ ПО
   ПрохождениеЗаказаПокупателяСрокиЭтапов.Этап,
   ПрохождениеЗаказа.Ссылка,
   ПрохождениеЗаказа.ДатаВыполнения,
    ПрохождениеЗаказаПокупателяСрокиЭтапов.Срок
Теперь таблица такая:
Этап       Срок        Ссылка            ДатаВыполнения
Замеры   05.10.2010   Оформл.заказа       27.09.2010
Замеры     05.10.2010   Замеры 0000102    06.10.2010
а надо:
Этап      Срок          Ссылка           ДатаВыполнения
Замеры    05.10.2010    Замеры 0000102   06.10.2010
                         оформл.заказа   7.09.2010
Нет,запрос к бизнес-процессу и задаче бп.
Зачем заниматься такой глупостью?
Сделайте обход по группировкам или выгрузите в дерево и вы водите в какой угодно форме.
Запрос - это способ получения таблицы с данными, а не способ формирования их отображения в зависимости от предыдущей строки и прочих условий.
А не подскажете,как это примерно можно сделать?
А не подскажете,как это примерно можно сделать?
Просто дело в том,что мне непонятно как сделать следующее:в бп у меня есть этапы,например этап Замеры.Мне для этого этапа вытащить из задач ДатуВыолнения,вот как это сделать мне непонятно.
Согласно вашим примерам - вы уже все выбрали и только не хотите, по какой-то причине, что бы вы второй строке писалась ссылка (или иные данные).
"Подскажите,пожалуйста,как сделать обход результата следующего запроса,чтобы таблица выглядела след. образом:
номенклатура   дата.факт
дверь            12.10.2010
                14.10.2010

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

                Запрос.УстановитьПараметр("Ссылка",ЗаказПокупателя);
                ЭлементыФормы.Табл.Очистить();
                ТаблицаИтогов=Запрос.Выполнить().Выгрузить();
                Результат=Запрос.Выполнить();
                Выборка=Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
                Выборка1=Выборка.Выбрать();
                Макет = ПолучитьМакет("Макет");
                ОбластьЗаголовок=Макет.ПолучитьОбласть("ШапкаЗаголовок");
                ЭлементыФормы.Табл.Вывести(ОбластьЗаголовок);
                ОбластьШапкаТабл=Макет.ПолучитьОбласть("ШапкаТаблицы");
                ЭлементыФормы.Табл.Вывести(ОбластьШапкаТабл);
                ОбластьСтрока = Макет.ПолучитьОбласть("Строка");

                Пока Выборка.Следующий() Цикл
           
           
                ОбластьСтрока.Параметры.Номенклатура=Выборка.Номенклатура;
                Пока Выборка1.Следующий() Цикл
                ОбластьСтрока.Параметры.ДатаФакт=Выборка.ДатаФакт;
                     ЭлементыФормы.Табл.Вывести(ОбластьСтрока);
            КонецЦикла;
            КонецЦикла;
"
"Интересно какого типа Табл? Надеюсь это ПолеТабличногоДокумента.

ТаблицаИтогов=Запрос.Выполнить().Выгрузить();

Макет = ПолучитьМакет("Макет");
ОбластьЗаголовок=Макет.ПолучитьОбласть("ШапкаЗаголовок");
ЭлементыФормы.Табл.Вывести(ОбластьЗаголовок);
ОбластьШапкаТабл=Макет.ПолучитьОбласть("ШапкаТаблицы");
ЭлементыФормы.Табл.Вывести(ОбластьШапкаТабл);
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");

лТекНом = Неопределено;
Для Каждого Стр Из ТаблицаИтогов Цикл
 лНоваяСтр = Ложь;
 Если лТекНом = Неопределено Тогда лНоваяСтрока=Истина;
 ИначеЕсли ТипЗнч(лТекНом) <> ТипЗнч(Стр.Номенклатура) Тогда лНоваяСтрока=Истина;
 ИначеЕсли лТекНом <> Стр.Номенклатура Тогда лНоваяСтрока=Истина;
 КонецЕсли;
 ЗаполнитьЗначенияСвойств (ОбластьСтрока.Табл.Параметры, Стр);
 Если НЕ лНоваяСтрока Тогда
   ОбластьСтрока.Табл.Параметры.Номенклатура = Неопределено;
 КонецЕсли;
 ЭлементыФормы.Табл.Вывести(ОбластьСтрока);
КонецЦикла;

p.s. Обход по группировкам работает когда у вас в запросе есть ИТОГИ ПО"
Читают тему
(гостей: 1)

Быстрый переход