получить одну строку из двух (по максимальной дате) #203321


#0 by vde69
чего-то торможу.... надо получить: 02 200 04 вв как осечь в одну сторону понятно (соединение с условием >=), но тогда у меня получаеться: 01 100 04 dd 02 200 04 dd Запрос: ВЫБРАТЬ    НДС.Период,        НДСПартииТоваровОстаткиИОбороты.ДокументОприходования КАК ДокументОприходования,
#1 by johnbay
если я правильно понял, то примерно это делается так: нада в одном запросе "сэмулировать" весь запрос, т.е. Есть некий регистр сведений периодический Т1: 13.08.2006 ДокументПоставки1 Семенов А 14.08.2006 ДокументПоставки1 Петров В. Т2: 17.08.2006 ДокументПоставки1 100р Дык вот, нада выбрат из Т2 все записи нужные и к ним присоединить левым соединением записи ИЗ Т1 и посчитать МАКСИМУМ по дате из Т1 Далее получившееся нушно присоединить к главному запросу и к этой хрени присоединить Т1 в ПО соединить по ДАТЕ и выбрать нужные записи из Т1. Наверно сложно написал, но эту хрень я писал, работает в принципе.
#2 by vde69
такой способ я знаю но дело в том, что полный запрос примерно на 200 строк..... может кто еще чего посоветует????
#3 by johnbay
ВЫБРАТЬ ИЗ ( ВЫБРАТЬ ГДЕ    ВозвратТоваровОтПокупателя.Дата МЕЖДУ &начпериода И &Конпериода Вот код нашел ;-) В двух словах, тут в подзапросе берутся все нужные документы возврата и к ним лепятся записи из периодического регистра сведений "КонрагентДляДокументовВозврата". Потом это дело группируется и ищется максимум по дате, т.е. делается искуственный СрезПоследних для каждого документа, где дата среза является дата документа Возврата. Далее документы выбираются заново и к ним прилинковываются талица с Датами и и регистр "КонрагентДляДокументовВозврата", в нем идет соединение по ДАте "ПО ДатыПоРеестру.ДАТАМин = КонрагентДляДокументовВозврата.Период" и таким образом выбирается именно то что нада.
#4 by johnbay
Ломали голову полдня, ничего умнее не придумали. Найдешь - пиши ;-)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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