Как оптимизировать запрос перебора подчиненных документов

1. zoeh 31 08.09.21 12:27 Сейчас в теме
Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |    СвязанныеДокументы.Ссылка
    |ИЗ
    |    КритерийОтбора.СвязанныеДокументы(&ЗначениеКритерияОтбора) КАК СвязанныеДокументы";
    
    Запрос.УстановитьПараметр("ЗначениеКритерияОтбора", Реквизит1);
 
    РезультатЗапроса = Запрос.Выполнить();
 
    ВыборкаДокументов = РезультатЗапроса.Выбрать();
 
    Пока ВыборкаДокументов.Следующий() Цикл
        Сообщить(ВыборкаДокументов.Ссылка);
    КонецЦикла;
Показать


вот схема рабочая но медленная,
перебираю подчиненные заказу покупателя документы, а именно ПлатежныеПорученияВходящие
у которых документ основание это вообще реквизит таб части сделка!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. homer_ 79 08.09.21 12:37 Сейчас в теме
Ни как. Делать свой регистр сведений. И при проведении (или рег заданием) рассчитывать и писать в регистр необходимую информацию. Далее запросом ее брать.
4. homer_ 79 08.09.21 12:46 Сейчас в теме
(2)или можно сделать свой КритерийОтбора. И в нем исключить не нужную аналитику.
3. zoeh 31 08.09.21 12:37 Сейчас в теме
|ГДЕ
| СвязанныеДокументы.Ссылка.Ссылка ССЫЛКА Документ.ПлатежноеПоручениеВходящее";

абсолютно никак не помогло
5. zoeh 31 08.09.21 12:50 Сейчас в теме
Спасибо решение нашел в исследовании конфигурации замером производительности

ТаблицаЗначений=ПолныеПрава.ПолучитьСписокДокументовПоКритериюОтбора("СвязанныеДокументы", Реквизит1);
Для Каждого ТекСтрока Из ТаблицаЗначений Цикл
Сообщить(ТекСтрока.Ссылка)
КонецЦикла;

только почему то последний документ повторяется 3 раза в результате
6. starjevschik 08.09.21 13:41 Сейчас в теме
Мне так сдается, если уж известно, что ищем, намного рациональнее прямо к этой таблице и обратиться
Выбрать Ссылка Из ПлатежныеПорученияВходящие.РасшифровкаПлатежа КАК ТЧ
Где ТЧ.Сделка = &Заказ

все эти критерии отбора и прочая прочая придуманы для случаев, когда неизвестно, что ищем, тогда надо как-то оптимизировать это дело, чтобы не перебирать десятки таблиц с документами.
7. zoeh 31 08.09.21 13:52 Сейчас в теме
(6) я не уверен что не найдется такое стечение обстоятельств, когда заказ станет не сделкой а все таки документом основанием
8. coollerinc 195 08.09.21 15:28 Сейчас в теме
(7) Критерии отбора выполняют запрос сразу ко всем таблицам, которые указаны в составе. Запрос получается большой. Если вы знаете, где искать то лучше напишите прямой запрос к нужным таблицам. Лучше потом дописать запрос, чем грузить базу бесполезными запросами.
vadim.semyonov.rzn; herfis; +2 Ответить
9. starjevschik 08.09.21 16:38 Сейчас в теме
(7) ну добавить еще вторую таблицу к запросу. В любом случае это намного более прямой путь к результату.
10. user1461477 08.09.21 17:32 Сейчас в теме
Хуже этих ваших критериев только дополнительные сведения
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот