Имя: Пароль:
1C
 
Выразить в условии запроса или в выборке
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 КАК Справочник.Договор) = Контрагенты.Договор"
?
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.