Оптимизация связи запроса

1. TariK 26.09.24 14:23 Сейчас в теме
Привет!
Есть две таблицы, которые надо связать по ссылке документа ЗаказНаПроизводство
ДД - это регистр накопления СебестоимостьТоваров.ОстаткиИОбороты
ВТ - временная таблица из табличной части ПрочиеРасходы документа АвансовыйОтчет

ДД.Регистратор и ВТ.АвансовыйОтчетАналитикаРасходов составной тип данных

Вопрос, правильна ли оптимизация связи ВТ.АвансовыйОтчетАналитикаРасходов левым соединением к ДД.Регистратор о ссылке документа ЗаказНаПроизводство?
Почему вопрос, потому что, после этой связи отчет задумывается на долго и не дает результата. Отчет на ДЕМО 1С ЕРП отрабатывает, но там данных нужных нет и они не в таком большом количестве.

ВЫРАЗИТЬ(ДД.Регистратор КАК Документ.ЭтапПроизводства2_2).Распоряжение = (ВЫРАЗИТЬ(ВТ.АвансовыйОтчетАналитикаРасходов КАК Документ.ЗаказНаПроизводство2_2))
По теме из базы знаний
Найденные решения
8. user2033930 26.09.24 14:45 Сейчас в теме
(6) ВАЩЕ НЕТ.
Основное предназначение - не плодить неявных левых соединений со всеми таблицами, входящими в составной тип, при обращении к реквизитам этих таблиц.
То есть сама по себе Ссылка регистратора тебе ничем не мешает - ссылка и ссылка, хоть какого типа. А вот когда ты хочешь обратиться к Сссылка.КакойТоРеквизит - то чтобы его получить, система делает левое соединение с физической таблицей этого регистратора. Сколько типов документов в составном типе - столько левых соединений система и сделает. А вот использование ВЫРАЗИТЬ(блабла).КакойТоРеквизит - позволяет делать левое соединение только с ОДНОЙ таблицей из этого составного типа.

Кароч, справа ты ни к каким подчиненным реквизитам по ссылке из составного типа не обращаешься, то и нафиг не надо там выражать ничего.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user2033930 26.09.24 14:30 Сейчас в теме
Зачем справа ВЫРАЗИТЬ?
3. TariK 26.09.24 14:31 Сейчас в теме
(2) там тоже реквизит составного типа
4. user2033930 26.09.24 14:32 Сейчас в теме
(3) И что? Ты знаешь, для чего используется ВЫРАЗИТЬ в запросах при использовании составных типов?
6. TariK 26.09.24 14:33 Сейчас в теме
(4) Основное применение функции ВЫРАЗИТЬ() в запросе 1С:Предприятия – выделять из значений составного типа значение требуемого типа.
8. user2033930 26.09.24 14:45 Сейчас в теме
(6) ВАЩЕ НЕТ.
Основное предназначение - не плодить неявных левых соединений со всеми таблицами, входящими в составной тип, при обращении к реквизитам этих таблиц.
То есть сама по себе Ссылка регистратора тебе ничем не мешает - ссылка и ссылка, хоть какого типа. А вот когда ты хочешь обратиться к Сссылка.КакойТоРеквизит - то чтобы его получить, система делает левое соединение с физической таблицей этого регистратора. Сколько типов документов в составном типе - столько левых соединений система и сделает. А вот использование ВЫРАЗИТЬ(блабла).КакойТоРеквизит - позволяет делать левое соединение только с ОДНОЙ таблицей из этого составного типа.

Кароч, справа ты ни к каким подчиненным реквизитам по ссылке из составного типа не обращаешься, то и нафиг не надо там выражать ничего.
9. TariK 26.09.24 14:48 Сейчас в теме
(8) koderline написал не я))

Кароч, справа ты ни к каким подчиненным реквизитам по ссылке из составного типа не обращаешься, то и нафиг не надо там выражать ничего.


Справы ВЫРАЗИТЬ мешает запросу или никак не влияет ?
10. TariK 26.09.24 14:52 Сейчас в теме
(8) Ха, отработало без ВЫРАЗИТЬ. Спасибо! Ща проверю, что получилось по данным
11. TariK 26.09.24 14:56 Сейчас в теме
(8) ПОМОГ ТАК ПОМОГ!!! Направил на путь истинный, за за секунды отчет выстрелил.
5. user2033930 26.09.24 14:32 Сейчас в теме
Делать соединения с виртуальными таблицами - нехаляльный моветон.
7. TariK 26.09.24 14:33 Сейчас в теме
Оставьте свое сообщение

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