Skip to content

Latest commit

 

History

History
84 lines (72 loc) · 5.22 KB

AssignAliasFieldsInQuery.md

File metadata and controls

84 lines (72 loc) · 5.22 KB

Назначение псевдонимов выбранным полям в запросе (AssignAliasFieldsInQuery)

Описание диагностики

Рекомендуется указывать и необязательные конструкции запроса, прежде всего - явно назначать псевдонимы полям, в целях повышения наглядности текста запроса и "устойчивости" использующего его кода.
Например, если в алгоритме используется запрос с полем, объявленным как

Касса.Валюта

при изменении имени реквизита нужно будет также изменить и код, осуществляющий обращение по имени свойства Валюта к выборке из результата запроса. Если же поле будет объявлено как

Касса.Валюта КАК Валюта

то изменение имени реквизита приведет только к изменению текста запроса.

Особенно внимательно следует относиться к автоматически присваиваемым псевдонимам для полей – реквизитов других полей, типа "... Касса.Валюта.Наименование...". В приведенном выше примере поле получит автоматический псевдоним ВалютаНаименование, а не Наименование.

Следует обязательно указывать ключевое слово КАК перед псевдонимом поля источника.

Псевдонимы таблиц и полей из вторичных запросов из "ОБЪЕДИНИТЬ" диагностикой не проверяются.

Примеры

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |	Валюты.Ссылка, // Неправильно
    |	Валюты.Ссылка КАК ПсевдонимПоляСсылка, // Правильно
    |	Валюты.Код Код // Неправильно
    |ИЗ
    |	Справочник.Валюты КАК Валюты // Игнорируется
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |	Валюты.Ссылка, // Игнорируется
    |	Валюты.Ссылка, // Игнорируется
    |	Валюты.Код // Игнорируется
    |ИЗ
    |	Справочник.Валюты КАК Валюты // Игнорируется
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |	Валюты.Ссылка, // Неправильно
    |	Валюты.Ссылка КАК ПсевдонимПоляСсылка, // Правильно
    |	Валюты.Код Код // Неправильно
    |ИЗ
    |	Справочник.Валюты КАК Валюты // Игнорируется
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |	Валюты.Ссылка, // Игнорируется
    |	Валюты.Ссылка, // Игнорируется
    |	Валюты.Код // Игнорируется
    |ИЗ
    |	Справочник.Валюты КАК Валюты"; // Игнорируется
    
    Запрос1 = Новый Запрос;
    Запрос1.Текст =
    "ВЫБРАТЬ
    |	ВложенныйЗапрос.Ссылка КАК Ссылка // Правильно
    |ИЗ
    |	(ВЫБРАТЬ
    |		Валюты.Ссылка // Неправильно
    |	ИЗ
    |		Справочник.Валюты КАК Валюты) КАК ВложенныйЗапрос"; // Игнорируется 

Источники

Источник: Оформление текстов запросов