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


#0 by fserg84
Доброе время суток. Казалось бы простая задача – нужно выбрать различные из табличной части документа реализаций. Но если действовать в лоб, заходя со стороны ТЧ, то получаем, что запрос  за месяц выполняется секунд 40 (в базе около 28 тысяч реализаций в среднем по 15 строк в каждой) Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ Подумалось, что неплохо бы сперва отобрать  реализации по условию,  а потом уже выбирать только из их ТЧ. Но вот с реализацией этой идеи случилась запарка :) Сделал так (время сократилось до 2-3 секунд): Для каждого ТЧ Из РезультатЗапроса Цикл      Но не покидает мысль, что это можно как-то сделать более красиво, используя только запросы...
#1 by Лодырь
Мдя.. Слова вложенный запрос, пакетный запрос вам чтото говорят?
#2 by fserg84
вложенный запрос с соединением также выполняется долго, пробовал через временные таблицы. запрос либо возвращает список тч, либо ругается что нельзя использовать вложенные таблицы.. поэтому и прошу пример :)
#3 by Лодырь
У тебя нужно добавлять еще кучу связей, судя по коду. Похоже, что есть некая сущность рецептура с табличной частью содержащей номенклатуру. И ссылка на рецептуру есть в табличной части реализации. Верно?
#4 by fserg84
Рецептура это документ, она находится в ТЧ реализаций. номенклатура тут - это номенклатура из шапки документа рецептуры, она одна в каждой рецептуре. можно и без нее, главное получить ссылки самих рецептур :)
#5 by Лодырь
Ну используй что-нибудь в стиле: ВЫБРАТЬ     РеализацияТоваровУслуг.Ссылка ПОМЕСТИТЬ ТабРеализаций ИЗ     Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг ГДЕ     РеализацияТоваровУслуг.Дата МЕЖДУ &начало И &конец             ТОГДА РеализацияТоваровУслуг.Склад В ИЕРАРХИИ (&Склад) ИЗ     Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
#6 by fserg84
ИЗ                 ТабРеализаций КАК Т) Вот в этом и была моя проблема. Большое спасибо! :)
#7 by patapum
за "РТУТовары.Рецептура.Ссылка" здесь обычно предлагают прострелить коленку. достаточно РТУТовары.Рецептура и РТУТовары.Рецептура.Номенклатура
#8 by Лодырь
Там еще есть РеализацияТоваровУслуг.Проведен = ИСТИНА и РеализацияТоваровУслугТовары.Ссылка.Склад В ИЕРАРХИИ (&Склад) что характерно последнее при &Склад равным пустой ссылке
#9 by fserg84
условие на склад использовал дабы лишний раз не использовать "В ИЕРАРХИИ", а только тогда когда надо сделать выборку по всем складам. по остальному принял к сведению )
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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