v8: Запрос: как для каждого из товаров получить последнюю партию??? #635172


#0 by dave2000
Есть список товаров, необходимо для каждого из этих товаров получить ОДИН документ последнего оприходования. Хотел левым соединением прицепить вложенный запрос, который отбирает по одной последней записи для каждого товара, но "текущий" товар внешнего запроса не виден внутри вложенного запроса (закомментированные в запросе строки). ВЫБРАТЬ ИЗ    Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1            ПартииТоваровНаСкладахОстатки.Номенклатура КАК Номенклатура,            ПартииТоваровНаСкладахОстатки.ДокументОприходования КАК ДокументОприходования        ИЗ Как это правильно реализовать, подскажите плз?!! Поиском по форуму уже находил подобные вопросы, но они так и остались открытыми. (СКД не предлагать!)
#1 by КонецЕсли
Выбрать Подзапрос.Номенклатура, Регистр.ДокументОприходования Из (ВЫБРАТЬ    по ПеремещениеТоваровТовары.Номенклатура = Партии.Номенклатура Сгруппировать по ПеремещениеТоваровТовары.Номенклатура) как подзапрос1 ЛевоеСоединение    РегистрНакопления.ПартииТоваровНаСкладах.Остатки КАК Регистр по Регистр.ДокументОприходования.МоментВремени=Подзапрос1.ПослДата
#2 by КонецЕсли
не,максимум(моментВремени) не работает. Если брать по максимум(дата) может получиться несколько документов с одинаковой датой
#3 by dave2000
а если так? МАКСИМУМ(Партии.ДокументОприходования) в этом случае по чем оно его отсортирует?
#4 by dave2000
Вообще не покатит - во внутреннем запросе оно тупо для всех товаров выдаст одну и ту же дату, максимальную во всей выборки.. а для внешней выборки, соответственно, один и тот же документ. М-да, похоже задачу эту одним запросом без помощи программирования не решить.
#5 by y22-k
попробуй пакетным запросом попробовать
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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