Коллеги!
Вот странность в запросе в соединении было написано --> ДанныеПоЗаказу.Контрагент = ТелефонКонтрагента.Объект где ТелефонКонтрагента.Объект - составной тип
Исправили на ДанныеПоЗаказу.Контрагент = ВЫРАЗИТЬ(ТелефонКонтрагента.Объект КАК Справочник.Контрагенты) запрос стал в 10 раз дольше работать, раньше работал 1-2 сек, а с Выразить 10 сек... Вопрос к знатокам...
Скорей всего,поле было индексированное,а вы приведением тира поломали индекс и запрос выполнялся или соединением упорядоченных таблиц с дополнительным упорядочиванием (если mssql это поймет)или полным сканированием меньшей таблицы для каждой строки большей,если postgres.
Приведение нужно только тогда,когда выполняется соединение с таблицами,то есть прт получении дочернего значения поля через точку,в остальных случаях,составной тип ничем не опасен.
На самом деле тут составное значение справа. Потому вы дважды его конвертируете (проверяете - там добавляются поля условия в SQL)
Если бы составное поле было слева - тогда ВЫРАЗИТЬ могло дать производительность. В вашем же случае это уже происходит процессом 1С сервера, но вы его дополнительно нагружаете новыми соединениями
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший