регистр сведений максимальное значение за период #794347


#0 by prtx
Добрый вечер знатоки! После экспериментов, проб и ошибок накатал запросик, который быстрее всего работает и хочу получить ваш совет насколько правильно сие и оптимально, подскажите более быстрые варианты. Задание: мне нужно получить максимальную цену номенклатуры за период. мой запрос: по сомнения вызваны строкой: И (ЦеныНоменклатурыКонтрагента.Период МЕЖДУ &НачалоПериода И &КонецПериода) можно ли так соединять таблицы? данные меры оказались ГОРАЗДО ЭФФЕКТИВНЕЙ конструкции: ГДЕ ЦеныНоменклатурыКонтрагента.Период МЕЖДУ &НачалоПериода И &КонецПериода я понимаю почему конструкция ГДЕ работает медленно т.к. сначало тяним все записи а потом отбираем, а в моем варианте сначало отбираем а потом тяним нужные записи, НО ПРАВИЛЬНА ЛИ такая конструкция с левым соединением? спасибо. 1с уф 8.3
#1 by prtx
Любопытная ну хоть ты ответь как спец))
#2 by Maniac
Это у тебя по всем товарам ?
#3 by mehfk
копрокод
#4 by Maniac
ну и причем тут нафиг твой запрос со справочником?)))
#5 by mehfk
Надень очки.
#6 by prtx
этот запрос у мну вызывается при активизации строки в динамическом списке и тянутся только цены номенклатуры кот. сейчас активна.
#7 by Maniac
у тебя выборка в прямой таблице данных периодического регистра сведений. Имхо обращение к прямым таблицам регистра всегда будет медленное. Самым эффективным будет это присоединить календарь - во временную таблицу. И соединить даты со срезом псоедних регистра на каждую дату. Во внутреннем запросе. А в верхнему просто МАКСИМУМ(Цена)
#8 by prtx
чет не догнал.... разжуй
#9 by Maniac
может еще телескоп заказать? Приперся с каим то запросом по справочнику еще и умничает
#10 by Джинн
#11 by Maniac
+  кстати с таким запросом можно будет и ТЗ даже показать истории изменения цены. У меня как минимум так и работает и летает. Для проверки понадобится. Потому что чую тебе дальше дадут задачу показать когда она была)
#12 by h-sp
это запрос автора из
#13 by Maniac
ааа сорян)) ох уж эти эти плюсики)
#14 by prtx
ну так а че нет, без этой части я смогу сделать и данныю конструкцию левого соединения и придется обращаться через "две точки"
#15 by Maniac
нах тебе соединять еслди в регистре у тебя есть Номенклатура поставщика. Берд какой то получается. Да еще и условие с одной номенклатурой
#16 by Maniac
Это все равно что ты взял две одинаковые лопаты - и одной ногой на обе в землю давишь
#17 by Maniac
#18 by Maniac
Могу сразу сказать - среднее будет каким то дерьмом.
#19 by Maniac
А самым быстрым будет Даты календаря - соединение со срезом.
#20 by youalex
первый запрос (помещение в вт) - лишний, ненужные расходы на создание вт/помещение в вт/индексацию непонятно зачем здесь вообще запрос к таблице  Справочник.НоменклатураКонтрагентов ? Чтобы во втором запросе получить NULL если он есть? Но этот NULL все равно нивелируется агрегатными функциями третьего запроса.
#21 by kosts
А если в периоде нет ни одной записи, и цена действующая на начало периода не интересует?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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