Войти Регистрация
Корзина 0 позиций
на сумму 0 ₽
8 (495) 128-66-56
Время работы:
Пн-Пт 09:00 - 18:00

Перечисления

Что такое “перечисления” и для чего они нужны?

Перечисления в 1С – это объект метаданных используемый для создания предопределенных значений неизменных с течением времени. Значения перечислений создаются из конфигуратора и их уже нельзя изменить из пользовательского режима.

Например, перечислением может быть:

  • пол физического лица (мужской или женский)
  • ставка НДС (0%, 10%, 20%)
  • тип письма (исходящее, входящее).

Добавление перечислений в конфигурацию на платформе 1С 8.3.

В дереве объектов метаданных на узле “Перечисления” добавим новый объект и назовем его “Softrema_ПолФизическогоЛица”, в поле синоним введем “(Softrema) Пол физического лица”.

Для добавления значений перечисления перейдем на вкладку “Данные” и добавим два значения:

  • Мужской
  • Женский

На этом наше перечисление готово. Что бы продемонстрировать работу созданного объекта, добавим в нашу конфигурацию справочник с одним реквизитом, тип реквизита выберем “Перечисление - Softrema_ПолФизическогоЛица”.

Запустим отладку по кнопке “F5” и выберем добавленный справочник. По кнопке “Создать” откроется окошко с наименованием справочника, а так же с добавленным ранее перечислением “(Softrema) Пол физического лица” и значениями: “мужской” и “женский”.

Как получить значение перечисления на клиенте?

Не редко бывают случаи в разработке на 1С, когда нужно написать какое ни будь условие на клиенте в котором участвует значение перечисления. Можно сделать серверную функцию, которая вернет нужное значение, но будет элегантнее, если воспользоваться конструкцией платформы 1С, которая позволит получить значение перечисления на клиенте:

ЗначениеПеречисления = ПредопределенноеЗначение("Перечисление. Softrema_ПолФизическогоЛица. Женский");

Результатом выполнения вернется ссылка на требуемый элемент. Стоит заметить, что использование данного оператора инициирует обращение к серверу.

Как получить значение перечисления на сервере?

Для получения значения перечисления на сервере, нужно обратиться к нему как к любому предопределенному значению объекта 1С:

ЗначениеПеречисления = Перечисления. Softrema_ПолФизическогоЛица.Женский;

Как получить значение перечисления в запросе 1С?

В некоторых запросах 1С требуется использовать значение перечисления, например, при сравнении или для формирования итогового результата запроса. Что бы подставить значение перечисления в запросе, можно воспользоваться двумя вариантами:

  • передать значение в параметрах
  • использовать служебную конструкцию “Значение”.

Передача значения в параметрах

Запрос = Новый Запрос("ВЫБРАТЬ
| СотрудникиКомпании.Ссылка КАК Ссылка
|ИЗ
| Справочник.СотрудникиКомпании КАК СотрудникиКомпании
|ГДЕ
| СотрудникиКомпании.ПолФизическогоЛица = &ПолФизическогоЛица");
Запрос.Параметры. Вставить("ПолФизическогоЛица", Перечисления. Softrema_ПолФизическогоЛица.Женский);

Использование служебной конструкции “Значение”

Запрос = Новый Запрос("ВЫБРАТЬ
| СотрудникиКомпании.Ссылка КАК Ссылка
|ИЗ
| Справочник.СотрудникиКомпании КАК СотрудникиКомпании
|ГДЕ
| СотрудникиКомпании.ПолФизическогоЛица = ЗНАЧЕНИЕ(Перечисление. Softrema_ПолФизическогоЛица.Женский)");
Вернуться назад
Войти Регистрация
Корзина 0 позиций
на сумму 0 ₽