Назначение псевдонимов выбранным полям в запросе (AssignAliasFieldsInQuery)¶
| Тип | Поддерживаются языки | Важность | Включена по умолчанию | Время на исправление (мин) | Теги | 
|---|---|---|---|---|---|
| Дефект кода | BSL | Важный | Да | 1 | standardsqlbadpractice | 
Описание диагностики¶
Рекомендуется указывать и необязательные конструкции запроса, прежде всего - явно назначать псевдонимы полям, в целях повышения наглядности текста запроса и "устойчивости" использующего его кода.
Например, если в алгоритме используется запрос с полем, объявленным как
Касса.Валюта
Касса.Валюта КАК Валюта
Особенно внимательно следует относиться к автоматически присваиваемым псевдонимам для полей – реквизитов других полей, типа "... Касса.Валюта.Наименование...". В приведенном выше примере поле получит автоматический псевдоним ВалютаНаименование, а не Наименование.
Следует обязательно указывать ключевое слово КАК перед псевдонимом поля источника.
Псевдонимы таблиц и полей из вторичных запросов из "ОБЪЕДИНИТЬ" диагностикой не проверяются.
Примеры¶
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |   Валюты.Ссылка, // Неправильно
    |   Валюты.Ссылка КАК ПсевдонимПоляСсылка, // Правильно
    |   Валюты.Код Код // Неправильно
    |ИЗ
    |   Справочник.Валюты КАК Валюты // Игнорируется
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |   Валюты.Ссылка, // Игнорируется
    |   Валюты.Ссылка, // Игнорируется
    |   Валюты.Код // Игнорируется
    |ИЗ
    |   Справочник.Валюты КАК Валюты // Игнорируется
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |   Валюты.Ссылка, // Неправильно
    |   Валюты.Ссылка КАК ПсевдонимПоляСсылка, // Правильно
    |   Валюты.Код Код // Неправильно
    |ИЗ
    |   Справочник.Валюты КАК Валюты // Игнорируется
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |   Валюты.Ссылка, // Игнорируется
    |   Валюты.Ссылка, // Игнорируется
    |   Валюты.Код // Игнорируется
    |ИЗ
    |   Справочник.Валюты КАК Валюты"; // Игнорируется
    Запрос1 = Новый Запрос;
    Запрос1.Текст =
    "ВЫБРАТЬ
    |   ВложенныйЗапрос.Ссылка КАК Ссылка // Правильно
    |ИЗ
    |   (ВЫБРАТЬ
    |       Валюты.Ссылка // Неправильно
    |   ИЗ
    |       Справочник.Валюты КАК Валюты) КАК ВложенныйЗапрос"; // Игнорируется 
Источники¶
Источник: Оформление текстов запросов
Сниппеты¶
Экранирование кода¶
// BSLLS:AssignAliasFieldsInQuery-off
// BSLLS:AssignAliasFieldsInQuery-on
Параметр конфигурационного файла¶
"AssignAliasFieldsInQuery": false