Перейти к содержимому

7.5 Можно ли задать псевдоним таблицы-источника в конструкторе запросов?

Опубликовано: Обновлено:

Telegram → Просто о платформе 1С

❓ 7.5 Можно ли при выборе таблицы-источника в раздел «Таблицы» конструктора запросов задавать для неё новое имя (псевдоним)?

  • ИТС: Руководство разработчика — Глава 8. Работа с запросами. «Псевдонимы источников данных».

    https://its.1c.ru/db/v854doc#bookmark:dev:TI000000474

  • ИТС: Псевдонимы источников данных в запросах — стандарт разработки, содержащий рекомендации по именованию псевдонимов.

    https://its.1c.ru/db/v8std#content:758:hdoc


Одна из часто используемых возможностей конструктора запросов — назначение псевдонима таблице-источнику.

В разделе «Таблицы» для добавленного источника можно вызвать контекстное меню и использовать команду «Переименовать таблицу».

Задать псевдоним таблицы

При этом имя самой таблицы не изменяется — задаётся имя, под которым источник будет использоваться в данном запросе.

В тексте запроса псевдоним источника указывается после ключевого слова КАК:

ВЫБРАТЬ
Номенклатура.Ссылка,
Номенклатура.Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура

Здесь:

Справочник.Номенклатура → таблица-источник
             ↓
      КАК Номенклатура → псевдоним

После назначения псевдонима к полям источника можно обращаться через него:

Номенклатура.Ссылка
Номенклатура.Наименование

Псевдонимы особенно удобны, когда в запросе используются длинные имена источников или несколько таблиц.

Псевдонимы можно задавать не только источникам, но и полям результата запроса.

Например:

ВЫБРАТЬ
Номенклатура.Ссылка КАК Товар,
Номенклатура.Наименование КАК НаименованиеТовара
ИЗ
Справочник.Номенклатура КАК Номенклатура

Здесь используются два разных вида псевдонимов:

Что получает псевдонимПример
Таблица-источникСправочник.Номенклатура КАК Номенклатура
Поле результатаНоменклатура.Ссылка КАК Товар

В конструкторе запроса псевдонимы полей можно задавать на вкладке «Объединения/Псевдонимы».

Совпадение псевдонима источника с именем поля может привести к неоднозначности имени и ошибке «Неоднозначное поле» в конструкторе запроса.

Псевдоним совпадает с полем этого же источника

Заголовок раздела «Псевдоним совпадает с полем этого же источника»

Например, у справочника Товары есть реквизит Товары, а самой таблице назначен псевдоним Товары:

ВЫБРАТЬ
Товары.Товары
ИЗ
Справочник.Товары КАК Товары

Имя Товары одновременно используется как псевдоним источника и как имя его поля:

Справочник.Товары КАК Товары
                        ↑
                 псевдоним источника

Товары.Товары
       ↑
   поле источника

Чтобы исключить неоднозначность, источнику можно задать другое имя:

ВЫБРАТЬ
ТаблицаТоваров.Товары
ИЗ
Справочник.Товары КАК ТаблицаТоваров

Псевдоним совпадает с полем другого источника

Заголовок раздела «Псевдоним совпадает с полем другого источника»

Неоднозначность может возникнуть и при работе с несколькими источниками.

Например:

ВЫБРАТЬ
Номенклатура.Ссылка,
Остатки.КоличествоОстаток
ИЗ
Справочник.Номенклатура КАК Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК Остатки
ПО Остатки.Номенклатура = Номенклатура.Ссылка

Здесь Номенклатура одновременно является:

Справочник.Номенклатура КАК Номенклатура
↑
псевдоним источника
Остатки.Номенклатура
↑
поле другого источника

Здесь возникает неоднозначность: Номенклатура может обозначать псевдоним источника или ссылочное поле другого источника.

Проблему можно устранить, задав источнику другой псевдоним:

ВЫБРАТЬ
СпрНоменклатура.Ссылка,
Остатки.КоличествоОстаток
ИЗ
Справочник.Номенклатура КАК СпрНоменклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК Остатки
ПО Остатки.Номенклатура = СпрНоменклатура.Ссылка

При назначении псевдонимов источникам следует учитывать имена полей таблиц запроса, чтобы не создавать неоднозначность.

📐 Стандарт разработки: #std758 — «Псевдонимы источников данных в запросах».

Стандарт требует, чтобы псевдоним источника данных был осмысленным и по нему было понятно назначение источника в конкретном запросе.

Например, вместо:

Справочник.Номенклатура КАК Таблица1

следует использовать осмысленный псевдоним:

Справочник.Номенклатура КАК ВсяНоменклатура

Также при именовании псевдонимов:

  • используются термины предметной области;
  • слова пишутся слитно, каждое слово — с прописной буквы: ТоварыНаСкладах;
  • имя не должно начинаться с _;
  • имя не должно состоять из одного символа;
  • не рекомендуется использовать имена классов объектов метаданных, например Справочник или Документ, поскольку такое имя обычно не описывает назначение источника в конкретном запросе.

Псевдоним должен помогать понять, для чего этот источник используется в запросе.


Псевдоним задаёт имя, под которым источник используется внутри запроса, не изменяя имя самой таблицы. В тексте запроса псевдонимы источников и полей задаются с помощью КАК; при выборе имён следует избегать неоднозначности и использовать понятные по смыслу псевдонимы.