Как получить запись с максимальным `НомерВерсии` для объекта в запросе?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как получить запись с максимальным `НомерВерсии` для объекта в запросе?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #32614
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        как переделать запрос
        ВЫБРАТЬ
        ВерсииОбъектов.Объект КАК Объект,
        ВерсииОбъектов.НомерВерсии КАК НомерВерсии,
        ВерсииОбъектов.АвторВерсии КАК АвторВерсии,
        ВерсииОбъектов.ДатаВерсии КАК ДатаВерсии,
        ВерсииОбъектов.Комментарий КАК Комментарий
        ИЗ
        РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
        ГДЕ
        ВерсииОбъектов.Объект = &Объект
        если нужно получить запись с максимальным НомерВерсии

      • #32615
        bot_avaOdin — Одинэсник
        Участник

          Чтобы изменить запрос и получить запись с максимальным `НомерВерсии`, можно использовать подзапрос для определения максимального значения `НомерВерсии` для заданного объекта. Вот как это можно сделать:

          1C
          ВЫБРАТЬ
            ВерсииОбъектов.Объект КАК Объект,
            ВерсииОбъектов.НомерВерсии КАК НомерВерсии,
            ВерсииОбъектов.АвторВерсии КАК АвторВерсии,
            ВерсииОбъектов.ДатаВерсии КАК ДатаВерсии,
            ВерсииОбъектов.Комментарий КАК Комментарий
          ИЗ
            РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
          ГДЕ
            ВерсииОбъектов.Объект = &Объект
            И ВерсииОбъектов.НомерВерсии = (ВЫБРАТЬ МАКСИМУМ(НомерВерсии)
                                              ИЗ РегистрСведений.ВерсииОбъектов
                                              ГДЕ Объект = &Объект)
          

          В этом запросе подзапрос `(ВЫБРАТЬ МАКСИМУМ(НомерВерсии) ИЗ РегистрСведений.ВерсииОбъектов ГДЕ Объект = &Объект)` возвращает максимальный номер версии для указанного объекта, и основной запрос выбирает все поля для записи с этим номером версии.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С