Как оптимизировать запрос перебора подчиненных документов
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| СвязанныеДокументы.Ссылка
|ИЗ
| КритерийОтбора.СвязанныеДокументы(&ЗначениеКритерияОтбора) КАК СвязанныеДокументы";
Запрос.УстановитьПараметр("ЗначениеКритерияОтбора", Реквизит1);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДокументов = РезультатЗапроса.Выбрать();
Пока ВыборкаДокументов.Следующий() Цикл
Сообщить(ВыборкаДокументов.Ссылка);
КонецЦикла;
Показатьвот схема рабочая но медленная,
перебираю подчиненные заказу покупателя документы, а именно ПлатежныеПорученияВходящие
у которых документ основание это вообще реквизит таб части сделка!
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Спасибо решение нашел в исследовании конфигурации замером производительности
ТаблицаЗначений=ПолныеПрава.ПолучитьСписокДокументовПоКритериюОтбора("СвязанныеДокументы", Реквизит1);
Для Каждого ТекСтрока Из ТаблицаЗначений Цикл
Сообщить(ТекСтрока.Ссылка)
КонецЦикла;
только почему то последний документ повторяется 3 раза в результате
ТаблицаЗначений=ПолныеПрава.ПолучитьСписокДокументовПоКритериюОтбора("СвязанныеДокументы", Реквизит1);
Для Каждого ТекСтрока Из ТаблицаЗначений Цикл
Сообщить(ТекСтрока.Ссылка)
КонецЦикла;
только почему то последний документ повторяется 3 раза в результате
Мне так сдается, если уж известно, что ищем, намного рациональнее прямо к этой таблице и обратиться
все эти критерии отбора и прочая прочая придуманы для случаев, когда неизвестно, что ищем, тогда надо как-то оптимизировать это дело, чтобы не перебирать десятки таблиц с документами.
Выбрать Ссылка Из ПлатежныеПорученияВходящие.РасшифровкаПлатежа КАК ТЧ
Где ТЧ.Сделка = &Заказ
все эти критерии отбора и прочая прочая придуманы для случаев, когда неизвестно, что ищем, тогда надо как-то оптимизировать это дело, чтобы не перебирать десятки таблиц с документами.
(7) Критерии отбора выполняют запрос сразу ко всем таблицам, которые указаны в составе. Запрос получается большой. Если вы знаете, где искать то лучше напишите прямой запрос к нужным таблицам. Лучше потом дописать запрос, чем грузить базу бесполезными запросами.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот