Найти в Дзене

Использование перечисления в запросе 1С

Оглавление

Содержание:

1. Что такое перечисление в запросе 1С?

2. Основные параметры перечисления

3. Использование перечисления в блоке запроса ВЫБРАТЬ

4. Использование перечисления в условиях запроса

1. Что такое перечисление в запросе 1С?

Для начала освежим в памяти, что такое перечисление в запросе.

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

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

Можно добавить, что перечисления – это предопределенные данные. То есть к значению перечисления можно обращаться через точку. В то же время конкретное значение перечисления не имеет ссылки. Все это определяет особенности использования перечислений в запросах 1С.

2. Основные параметры перечисления

· Имя – имя значения, созданное по правилам формирования имен 1С, которое используется при обращении к конкретному значению через точку в тексте программы;

· Синоним – произвольное название значения, которое несет смысловую нагрузку и отображается как результат обращения к перечислению, является представлением ссылки;

· Порядок – порядковый номер значения в списке (начиная с 0). Весьма полезный параметр.

Использование перечисления в запросе 1С рассмотрим на самом простом примере: Пол Физического Лица. В России насчитывается 2 значения: Мужской и Женский. При локализации 1С в некоторых странах мира возможно увеличение количества значений до 7. Количество значений в перечислении не принципиально – принцип один и тот же для любого количества значений.

3. Использование перечисления в блоке запроса ВЫБРАТЬ

ВЫБРАТЬ

ФизическиеЛица.Ссылка КАК Ссылка,

ФизическиеЛица.Пол КАК Пол

ИЗ

Справочник.ФизическиеЛица КАК ФизическиеЛица

В результате выполнения этого запроса в поле «Пол» будет находиться объект метаданных «Перечисление» с тем значением, которое присвоено данному Физическому лицу.

ВЫБРАТЬ

ФизическиеЛица.Ссылка КАК Ссылка,

ПРЕДСТАВЛЕНИЕ(ФизическиеЛица.Пол) КАК Пол

ИЗ

Справочник.ФизическиеЛица КАК ФизическиеЛица

Использование в запросе ключевого слова ПРЕДСТАВЛЕНИЕ позволит получить в поле «Пол» строку, содержащую Синоним данного значения перечисления в 1С. Нужно иметь ввиду, что визуализация значения Перечисления всегда идет через Синоним. Сделаем прямой запрос к объекту Перечисление:

ВЫБРАТЬ

ПолФизическогоЛица.Ссылка КАК Ссылка,

ПолФизическогоЛица.Порядок КАК Порядок

ИЗ

Перечисление.ПолФизическогоЛица КАК ПолФизическогоЛица

Мы увидим только Синонимы в поле «Ссылка» и порядковый номер в поле «Порядок».

4. Использование перечисления в условиях запроса

В условиях запроса «впрямую» (не через параметр запроса) можно использовать ТОЛЬКО конкретное значение перечисления в 1С, обозначая его с ключевым словом «ЗНАЧЕНИЕ» или «Порядок значения». Любой другой способ использования даст ошибку при исполнении запроса.

ВЫБРАТЬ

ФизическиеЛица.Ссылка КАК Ссылка,

ФизическиеЛица.Пол КАК Пол

ИЗ

Справочник.ФизическиеЛица КАК ФизическиеЛица

ГДЕ

ФизическиеЛица.Пол = ЗНАЧЕНИЕ (Перечисление.ПолФизическогоЛица.Женский)

Результатом выполнения этого запроса будет таблица со ссылками физ. лиц женского пола.

ВНИМАНИЕ! В тексте запроса после «ЗНАЧЕНИЕ» слово «Перечисление» используется в единственном числе, в отличие от использования в тексте программ. Это частая ошибка начинающих пользователей, которые копируют текст, сформированный конструктором, из программы в запрос.

Аналогичный результат получится, если известен Порядок нужного Значения и лень писать длинные тексты:

ВЫБРАТЬ

ФизическиеЛица.Ссылка КАК Ссылка,

ФизическиеЛица.Пол КАК Пол

ИЗ

Справочник.ФизическиеЛица КАК ФизическиеЛица

ГДЕ

ФизическиеЛица.Пол.Порядок = 1

Также в условиях запроса может быть использован список значений Перечисления:

ВЫБРАТЬ

ФизическиеЛица.Ссылка КАК Ссылка,

ФизическиеЛица.Пол КАК Пол

ИЗ

Справочник.ФизическиеЛица КАК ФизическиеЛица

ГДЕ

ФизическиеЛица.Пол В (ЗНАЧЕНИЕ(Перечисление.ПолФизическогоЛица.Женский), ЗНАЧЕНИЕ(Перечисление.ПолФизическогоЛица.Мужской))

Или

ВЫБРАТЬ

ФизическиеЛица.Ссылка КАК Ссылка,

ФизическиеЛица.Пол КАК Пол

ИЗ

Справочник.ФизическиеЛица КАК ФизическиеЛица

ГДЕ

ФизическиеЛица.Пол.Порядок В (1,2)

Если учитывать особенности, то использование перечислений в запросе – это несложный и понятный процесс.

Специалист компании ООО «Кодерлайн»

Владимир Бабушкин.