Готовишься к экзамену?
Полнофункциональный тренажер @bot_1cnik_bot с полноценным обучением, режимом экзамена и подробной статистикой.
В случае установки флага "Автоупорядочивание" на закладке "Порядок" конструктора запросов, как изменится порядок записей в результирующей таблице запроса, если эта таблица уже упорядочена по полю, хранящему ссылку на иерархический справочник?
Не изменится
Неправильно: При включении «Автоупорядочивания» платформа переосмысливает сортировку по ссылочным полям и подменяет её на «пользовательски ожидаемую». Поэтому даже если сортировка была задана, для ссылок на справочники она будет преобразована и порядок строк изменится.
Записи в результирующей таблице будут упорядочены по внутренней ссылке этого поля
Неправильно: Сортировка по внутренней ссылке (техническому идентификатору) как раз характерна для случая, когда автоупорядочивание НЕ используется и сортируют «как есть» по ссылке. «Автоупорядочивание» наоборот стремится заменить техническую сортировку на понятную пользователю (по представлению/ключевым полям).
Записи в результирующей таблице будут упорядочены по значению основного представления для этого поля
Правильно: Режим «Автоупорядочивания» для ссылок на справочники заменяет сортировку по ссылке на сортировку по значению основного представления (то, что выводится пользователю как «имя» объекта). В результате записи упорядочиваются так, как ожидают в интерфейсе: по представлению элементов/групп, а не по техническому идентификатору.
Пояснение
«Автоупорядочивание» в конструкторе запросов - это режим, при котором платформа автоматически дополняет/преобразует сортировку, чтобы результат выглядел «по-человечески». Самая частая ситуация - сортировка по ссылочному полю: если сортировать просто по ссылке, порядок определяется техническим значением ссылки (внутренним идентификатором), и пользователю он кажется случайным.
Когда включено «Автоупорядочивание», сортировка по ссылке на справочник превращается в сортировку по основному представлению объекта. Для справочников основное представление обычно соответствует тому, что отображается в формах (часто это «Наименование», иногда - комбинация полей в зависимости от настроек конфигурации). Поэтому при сортировке по ссылке на иерархический справочник результат начнет идти по представлению элементов/групп, а не по GUID/внутренней ссылке.
Практический пример: у вас есть запрос по остаткам, где выводится поле «Номенклатура» и стоит «УПОРЯДОЧИТЬ ПО Номенклатура». Без автоупорядочивания строки могут идти в непонятной последовательности. С включенным автоупорядочиванием они выстроятся по тому, как «Номенклатура» отображается пользователю (например, по наименованию).
Важно по практике: автоупорядочивание удобно для быстрого получения «красивой» сортировки, но может ухудшать производительность на больших выборках, потому что представление нередко требует дополнительных действий (получение отображаемых значений). Если важна скорость и предсказуемость, лучше явно задавать сортировку по конкретным полям (например, по Наименование/Код) или использовать представление осознанно там, где это действительно нужно.