8.х Выбор последней строки из табличного поля в запросе

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Alive, 3 дек 2010.

  1. TopicStarter Overlay
    Alive
    Offline

    Alive Опытный в 1С

    Регистрация:
    15 янв 2010
    Сообщения:
    141
    Симпатии:
    0
    Баллы:
    26
    Дорого времени суток! У документа есть таб.часть, содержащая дату и событие. В запросе выбираю та.часть документа за период, необходимо чтобы выводилось только последнее событие, при том что это все будет делать во вложенном запросе. т.е. возможность отсортировать по дате и выбрать первое значение отсутствует.подскажите пожалуйста как быть?
  2. PavelBaryshev
    Offline

    PavelBaryshev Опытный в 1С

    Регистрация:
    9 сен 2008
    Сообщения:
    316
    Симпатии:
    0
    Баллы:
    26
    в запросе добавь Упорядочить по Дате по убыванию и все
  3. TopicStarter Overlay
    Alive
    Offline

    Alive Опытный в 1С

    Регистрация:
    15 янв 2010
    Сообщения:
    141
    Симпатии:
    0
    Баллы:
    26
    говорю же, запрос вложенный, а во сложенном запросе нельзя упорядочивать по дате, по крайней мере я не знаю как.
  4. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Показывайте запрос.
  5. TopicStarter Overlay
    Alive
    Offline

    Alive Опытный в 1С

    Регистрация:
    15 янв 2010
    Сообщения:
    141
    Симпатии:
    0
    Баллы:
    26
    Код:
    ВЫБРАТЬ
    ВложенныйЗапрос.Событие,
    ВложенныйЗапрос.Дата,
    ВложенныйЗапрос.Ссылка
    ИЗ
    (ВЫБРАТЬ
    РемонтИзделийСобытия.Событие КАК Событие,
    РемонтИзделийСобытия.Дата КАК Дата,
    РемонтИзделийСобытия.Ссылка КАК Ссылка
    ИЗ
    Документ.РемонтИзделий.События КАК РемонтИзделийСобытия
    ГДЕ
    РемонтИзделийСобытия.Событие МЕЖДУ &НачалоПериода И &КонецПериода) КАК ВложенныйЗапрос
    
    
    
    вот мне надо чтобы по каждому документу, т.е по каждой ссылке выходило только последнее событие, а не все..подскажите пожалуйста
  6. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    А вложенный запрос здесь зачем? Или я чего-то не понимаю?
  7. TopicStarter Overlay
    Alive
    Offline

    Alive Опытный в 1С

    Регистрация:
    15 янв 2010
    Сообщения:
    141
    Симпатии:
    0
    Баллы:
    26
    просто это часть запроса) я еще присоединю 2 вложенных запроса в нему, пока мне надо вытащить одно событие документам.
  8. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Так попробуйте:
    Код:
    "ВЫБРАТЬ
    МАКСИМУМ(РемонтИзделийСобытия.Дата) КАК Дата,
    РемонтИзделийСобытия.Ссылка КАК Ссылка
    ПОМЕСТИТЬ МаксимальнаяДата
    ИЗ
    Документ.РемонтИзделий.События КАК РемонтИзделийСобытия
    ГДЕ
    РемонтИзделийСобытия.Событие МЕЖДУ &НачалоПериода И &КонецПериода
    СГРУППИРОВАТЬ ПО
    РемонтИзделийСобытия.Ссылка;
    </span>
    ВЫБРАТЬ
    МаксимальнаяДата.Ссылка
    МаксимальнаяДата.Дата,
    РемонтИзделийСобытия.Событие
    ИЗ
    МаксимальнаяДата КАК МаксимальнаяДата ВНУТРЕНЕЕ СОЕДИНЕНИЕ
    Документ.РемонтИзделий.События КАК РемонтИзделийСобытия ПО МаксимальнаяДата.Ссылка = РемонтИзделийСобытия.Ссылка
    И МаксимальнаяДата.Дата = РемонтИзделийСобытия.Дата"
    
    </FONT></FONT></pre>
  9. TopicStarter Overlay
    Alive
    Offline

    Alive Опытный в 1С

    Регистрация:
    15 янв 2010
    Сообщения:
    141
    Симпатии:
    0
    Баллы:
    26
    ошибку в консоле выдает(((( "Неправильный псевдоним МаксимальнаяДата.Дата"

    Кстати,забыла сказать, что поле Событие в таб.части разное, это не отразиться на выбор максимальной даты?потому что у меня он по каждому событию выбирал максимальную дату, и ее выводил. в итоге получалось опять несколько событий.
  10. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Ну блин.. :angry: Запятую то поставьте после "МаксимальнаяДата.Ссылка", я ж прям здесь печатал...

    Оно ищет в табличной части максимальную дату, и потом выводит события у которых дата = максимальной. Естественно если в ТЧ несколько событий с одинаковой датой (которая равна максимальной), оно и выведет в итоге несколько строк. А по какому принципу должны фильтроваться еще и "события"?
  11. TopicStarter Overlay
    Alive
    Offline

    Alive Опытный в 1С

    Регистрация:
    15 янв 2010
    Сообщения:
    141
    Симпатии:
    0
    Баллы:
    26
    Спасибо, уже который раз выручаешь)))
  12. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Да не за что...

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