как в запросе выбрать самый последний документ #640693


#0 by AugustBlack
привет, подскажите в запросе есть ссылка на документ и дата, как выбрать самый последний док из кучи строк регистра бухгалтерии, функция МАКСИМУМ?
#1 by Нуф-Нуф
В поиск епта. Через день такое спрашивают
#2 by AugustBlack
ГДЕ    (Промежуточная_ТЗ.Документ ЕСТЬ NULL
#3 by AugustBlack
в этом запросе,не понимаю почему на выходе получаю не последний документ а последний документ января, хотя последний в октябре должен быть
#4 by mikecool
ну ты по дате попробуй упорядочить чтоле
#5 by Cube
Нажми большую красную букву "Я" справа от заголовка темы...
#6 by AugustBlack
упорядочил: //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ    Промежуточная_ТЗ.Контрагент, ГДЕ    (Промежуточная_ТЗ.Документ ЕСТЬ NULL поля: датадокумента         документ 31.10.2012 23:59:59  операция 00001 от 31.01.2012:23 59 59
#7 by Reset
Регистратор в Сгруппировать
#8 by Cube
И что тебя удивляет? Смотри
#9 by Reset
Не читать, не проснулся еще
#10 by dk
МАКСИМУМ(ХозрасчетныйОбороты.Регистратор.Дата) и МАКСИМУМ(ХозрасчетныйОбороты.Регистратор) вообще-то не связаны др/др
#11 by salvator
ДатаКон чему равно?
#12 by Irbis
Выбрать первый с конца
#13 by HIDDEN MESSAGE
#14 by AugustBlack
01.11.2012
#15 by Нуф-Нуф
Максимум по ссылке - это не последний документ.
#16 by zippygrill
а если сначала выбрать макс(дата) и потом макс(Ссылка)?
#17 by Irbis
Фигня получится, МАКС(ПоСсылке)<> МАКС(ПоДате)
#18 by HIDDEN MESSAGE
#19 by Нуф-Нуф
сначала получаются максимальные даты и уже для этих дат находятся документы
#20 by Diose
может так ВЫБРАТЬ ПЕРВЫЕ 1 ИЗ     ГДЕ
#21 by zippygrill
я ж говорю сначала получает документы по максимальной даты и потом из этой даты выбирает макс(Ссылка). почему фигня?
#22 by HIDDEN MESSAGE
#23 by Нуф-Нуф
а номер то причем?
#24 by zippygrill
моя ветка дошла до 100 постов точно по этому вопросу :)
#25 by HIDDEN MESSAGE
#26 by Нуф-Нуф
помент времени? в запросе?
#27 by HIDDEN MESSAGE
#28 by Serg_1960
Ладно уж, сорри тс, - потрите мои посты - это тяпница виновата :) Если "без шуток", то в запросе "скрытая" ошибка. Желая получить дату и ссылку на последний документ - нельзя использовать максимум по дате и максимум по ссылке. Вы можете получить дату из одного документа и ссылку на другой документ.
#29 by Нуф-Нуф
ВЫБРАТЬ ВЫБРАТЬ
#30 by zippygrill
это ответ на что так можно? :)
#31 by Serg_1960
Грац - у меня мозг взорвался от просветления при чтении поста. PS: я говорил про конкретный запрос, а не "в общем виде".
#32 by AugustBlack
вы гений,спасибо!:) переделал под свой запрос все получилось!!
#33 by Нуф-Нуф
хотя на самом деле в все равно используется максимум по ссылке. что не дает гарантию, что из двух документов с одинаковой датой выберется самый последний. имхо самый правильный вариант: получить в запросе  отсортированную по Номенклатуре и МоментуВремени (убыв) таблицу ТАБЛ1 Номенклатура Регистратор МоментВремени Пронумеровать строки в запросе. Полученную ТАБЛ1 сгруппировать по Номенклатуре и Максимум по НомеруСтроки и сунуть в ТАБЛ2 Соединить ТАБЛ2 и ТАБЛ1 по номеру строки и получить регистратор (напримере соединения в )
#34 by Нуф-Нуф
хотя гоню. вариант в ничем не отличается от :)
#35 by Serg_1960
, не парься. Регистратором в регистре накопления могут быть документы различного вида и тогда сортировка или максимум по ссылке  - информация "не об чём" в контексте поиска последнего документа.
#36 by AugustBlack
да нашлась строка результата запроса в которой некорректно вывелся последний документ, в осв это документ не последний а предпоследний т.е даты у 2х документов совпадают 31.10.2012 23 59 59
#37 by Serg_1960
(между прочим) Момент времени - это дата документа + номер таблицы вида документа + уникальный идентификатор документа. Ссылка - это номер таблицы + идентификатор. Так? Имхо: сортировки по дате и ссылке с отбором первых/последних (от сортировки зависит) - достаточно. Я не прав?
#38 by AugustBlack
получилось так но почему-то этот запрос медленее отрабатывает по сравнению с тем если получить все документы по оборотам 60.01(в случае с программной обработкой результата запроса) ВЫБРАТЬ на моих тестовых базах разница в 3-5 сек.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С