|
Выразить в условии запроса или в выборке |
☑ |
0
1ctube
02.06.22
✎
07:09
|
Доброго времени суток. Есть запрос к регистру бух. Поле Субконто3 может принимать значение справочника Договоры и множество других. Как с точки зрения оптимальности и правильности такой способ в Условии связи: "ПО Субконто3.Договор = Контрагенты.Договор". В таком случае будет применено столько левых соединений, сколько может принимать значений "Субконто3"?
Или правильнее использовать такую конструкцию в условии связи: ВЫБОР
КОГДА ТиповойОстатки.Субконто3 ССЫЛКА Справочник.Договор
ТОГДА ВЫРАЗИТЬ(ТиповойОстатки.Субконто3 КАК Справочник.Договор)
КОНЕЦ = Контрагенты.Договор
|
|
1
youalex
02.06.22
✎
07:19
|
Выражать (или использовать явные соединения) нужно если получаешь значение через точку (а это неявное соединение) от поля составного типа.
|
|
2
Ненавижу 1С
гуру
02.06.22
✎
07:27
|
всё правильно пишет (1)
замечу, что выражение
ВЫБОР
КОГДА Поле ССЫЛКА ТипПоля
ТОГДА ВЫРАЗИТЬ(Поле КАК ТипПоля)
КОНЕЦ
полностью эквивалентно
ВЫРАЗИТЬ(Поле КАК ТипПоля)
|
|
3
1ctube
02.06.22
✎
07:38
|
Тогда нет разности с точки зрения оптимальности в условии связи между "ПО Субконто3.Договор = Контрагенты.Договор" и "ПО ВЫРАЗИТЬ(ТиповойОстатки.Субконто3 КАК Справочник.Договор) = Контрагенты.Договор"
?
|
|