С добрым. Похоже я проспал одно занятие на курсе по запросам, потому что никак не могу взять в толк.
Итак, вводная: Есть справочник Контрагенты, представление - Наименование.
В запросе ну например по какому-нибудь регистру выбираются ссылки на справочник, но так как результат запроса загружается в табличную часть, хочется для красоты сортировки строк по полю Контрагент.
И вот я никак не могу выбрать :) то ли упорядочить по Контрагенту (ссылке) с включением автоупорядочивания, то ли явно получить реквизит Наименование и упорядочить уже по нему. Что сейчас считается более кошерным с точки зрения 1С?
---
Вот, что удалось найти в системе стандартов и методик разработки:
Ограничения на использование конструкции АВТОУПОРЯДОЧИВАНИЕ
3. Использование конструкции ПЕРВЫЕ совместно с конструкцией АВТОУПОРЯДОЧИВАНИЕ запрещено.

В остальных случаях конструкцию АВТОУПОРЯДОЧИВАНИЕ также не рекомендуется использовать, так как разработчик не контролирует, какие именно поля будут использованы для упорядочивания. Применение такой конструкции оправдано только в тех случаях, когда получаемый порядок записей не важен, но при этом он должен быть одинаковым в не зависимости от применяемой СУБД.

Причины использования конструкции АВТОУПОРЯДОЧИВАНИЕ следует указывать в комментарии, размещенном непосредственно перед текстом запроса.
На мой вкус то, что обозначено здесь как недостаток (неконтролируемые поля для упорядочивания), для меня является преимуществом: таки упорядочивание должно быть по полю представления (код или наименование), а не строго, например, по наименованию. В общем, я за автоупорядочивание. :)
---
Очевидно, упорядочивать по наименованию.
Упорядочить по ссылке не есть упорядочить по наименованию
---
Автоупорядочивание как раз позволяет упорядочить результаты запроса по полям упорядочивания, т.е. в данном случае по наименованию применительно к справочнику контрагентов.
---
Вот, что удалось найти в системе стандартов и методик разработки:
Ограничения на использование конструкции АВТОУПОРЯДОЧИВАНИЕ
3. Использование конструкции ПЕРВЫЕ совместно с конструкцией АВТОУПОРЯДОЧИВАНИЕ запрещено.

В остальных случаях конструкцию АВТОУПОРЯДОЧИВАНИЕ также не рекомендуется использовать, так как разработчик не контролирует, какие именно поля будут использованы для упорядочивания. Применение такой конструкции оправдано только в тех случаях, когда получаемый порядок записей не важен, но при этом он должен быть одинаковым в не зависимости от применяемой СУБД.

Причины использования конструкции АВТОУПОРЯДОЧИВАНИЕ следует указывать в комментарии, размещенном непосредственно перед текстом запроса.
На мой вкус то, что обозначено здесь как недостаток (неконтролируемые поля для упорядочивания), для меня является преимуществом: таки упорядочивание должно быть по полю представления (код или наименование), а не строго, например, по наименованию. В общем, я за автоупорядочивание. :)
---
А вот интересен внутренний механизм. Судя по тому, что конструкция не работает с "ПЕРВЫЕ", сортировка уже происходит в конце, после получения результатов запроса? Ну и плюс видимо накладные расходы на получение информации о полях представления?
Тогда по идее это будет чуть более медленно, чем явное соединение с таблицей справочника?
---
По поводу порядка выполнения операций не могу прокомментировать. К сожалению, я недостаточно технически подкован, чтобы поставить корректный эксперимент.
На счет представления полей, то Вам в любом случае выбирать поле наименование, хоть для сортировки первым способом (неявно), хоть вторым.
---
Опытным путём установил, что если в запросе сортировать по ссылке, то сортировка идет по последним 17 символам уникального идентификатора ссылки, который в общем случае зависит от даты создания, но не только от неё
---
Коллега, Вы не обратили внимание, что помимо сортировки по ссылке необходимо использовать автоупорядочивание.