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