Получение Самого Раннего Документа

Тема в разделе "1C и всё что с ней связано", создана пользователем SeverBap, 14 июн 2012.

  1. SeverBap

    SeverBap Well-Known Member

    Регистрация:
    18 сен 2007
    Сообщения:
    440
    Симпатии:
    0
    Нужно получить первое событие по заказу покупателя, событие может быть как основание для заказа так и на основании. Написал запрос с использованием МИНИМУМ по событию но всеравно выводит не первое событие:
    Код ( (Unknown Language)):
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВложенныйЗапрос.Заказ,
    ВложенныйЗапрос.Событие
    ИЗ
    (ВЫБРАТЬ РАЗЛИЧНЫЕ
    ЗаказПокупателя.Ссылка КАК Заказ,
    МИНИМУМ(СобытияПоЗаказу.Событие) КАК Событие
    ИЗ
    Документ.ЗаказПокупателя КАК ЗаказПокупателя
    ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    RZ_РегистрацияСобытия.Ссылка КАК Событие,
    RZ_РегистрацияСобытия.Основание КАК Заказ
    ИЗ
    Документ.RZ_РегистрацияСобытия КАК RZ_РегистрацияСобытия
    ГДЕ
    RZ_РегистрацияСобытия.Проведен = ИСТИНА
    И RZ_РегистрацияСобытия.Ссылка <> ЗНАЧЕНИЕ(Документ.RZ_РегистрацияСобытия.ПустаяСсылка)

    ОБЪЕДИНИТЬ ВСЕ

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

    СГРУППИРОВАТЬ ПО
    ЗаказПокупателя.Ссылка) КАК ВложенныйЗапрос
    В какую сторону рыть что-то в моментвремени? не получается так как это надо во вложенном запросе сделать ...
     
  2. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Я не сильный знаток запросов, но замечу:
    * А "МИНИМУМ" точно знает. что надо анализировать дату? а не номер или представление
    * Я бы использовал УПОРЯДОЧИТЬ по Дате по убыванию и ПЕРВЫЕ 1. По-моему недвусмысленно и наглядно.
     
  3. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Представление. Уж точно не дату - я проверял.
    Если надо получать в запросе, то нужна громоздкая конструкция - в одном пакете получаем максимальные даты, в другом - соединяем по этим датам.
     
  4. SeverBap

    SeverBap Well-Known Member

    Регистрация:
    18 сен 2007
    Сообщения:
    440
    Симпатии:
    0
    Получил самый первый момент времени и соеденил. Запрос конечно большой получился но все выводит верно, скорость тоже устраивает.
     
Загрузка...

Поделиться этой страницей