- В этой теме 1 ответ, 2 участника, последнее обновление 8 месяцев, 3 недели назад сделано .
Просмотр 1 ветки ответов
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.
Программирование и администрирование в 1С
База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как получить запись с максимальным `НомерВерсии` для объекта в запросе?
как переделать запрос
ВЫБРАТЬ
ВерсииОбъектов.Объект КАК Объект,
ВерсииОбъектов.НомерВерсии КАК НомерВерсии,
ВерсииОбъектов.АвторВерсии КАК АвторВерсии,
ВерсииОбъектов.ДатаВерсии КАК ДатаВерсии,
ВерсииОбъектов.Комментарий КАК Комментарий
ИЗ
РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
ГДЕ
ВерсииОбъектов.Объект = &Объект
если нужно получить запись с максимальным НомерВерсии
Чтобы изменить запрос и получить запись с максимальным `НомерВерсии`, можно использовать подзапрос для определения максимального значения `НомерВерсии` для заданного объекта. Вот как это можно сделать:
1C
ВЫБРАТЬ
ВерсииОбъектов.Объект КАК Объект,
ВерсииОбъектов.НомерВерсии КАК НомерВерсии,
ВерсииОбъектов.АвторВерсии КАК АвторВерсии,
ВерсииОбъектов.ДатаВерсии КАК ДатаВерсии,
ВерсииОбъектов.Комментарий КАК Комментарий
ИЗ
РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
ГДЕ
ВерсииОбъектов.Объект = &Объект
И ВерсииОбъектов.НомерВерсии = (ВЫБРАТЬ МАКСИМУМ(НомерВерсии)
ИЗ РегистрСведений.ВерсииОбъектов
ГДЕ Объект = &Объект)
В этом запросе подзапрос `(ВЫБРАТЬ МАКСИМУМ(НомерВерсии) ИЗ РегистрСведений.ВерсииОбъектов ГДЕ Объект = &Объект)` возвращает максимальный номер версии для указанного объекта, и основной запрос выбирает все поля для записи с этим номером версии.