Перечисление представляет собой служебный тип данных, который не используется самостоятельно, а применяется, в основном, в совокупности с другими типами данных. Определить перечисление можно как «список возможных значений реквизита».
Перечисления используются при вводе значений реквизитов документов, справочников, при вводе значений констант, и тех случаях когда необходимо исключить неоднозначный ввод информации.
Рассмотрим в качестве примера такое понятие, как «статус покупателя». В простейшем случае покупатели бывают розничные и оптовые. Со статусом покупателя обычно связывают уровень предоставляемых скидок с продажной цены товаров.
Такой список «статусов» — «розничный», «оптовый» — может служить примером простого перечисления. При выписке расходной накладной от пользователя системы требуется указать статус покупателя, выбрав его из этого списка. Выбранный статус покупателя, в свою очередь, определяет размер продажных цен.
Если статус покупателя вводится в процессе настройки конфигурации задачи как перечисление, то специалист, выполняющий конфигурирование системы 1С:Предприятие, может заранее ввести варианты расчета продажных цен в зависимости от указанного статуса.
По своим свойствам перечисление похоже на справочник, однако имеет ряд существенных отличий.
Прежде всего, перечисление не может пополняться в процессе работы с ним: список его значений задается при настройке перечисления в Конфигураторе.
Перечисление не имеет вложенности — все его значения находятся на одном уровне.
Основное отличие состоит в том, что список значений перечисления известен и доступен в Конфигураторе — сама конфигурация использует конкретные значения перечисления.
С функциональной точки зрения, перечисление проще в настройке и в использовании.
Использование перечисления позволяет ограничить число возможных вариантов, например, при вводе реквизита документа. Так как список значений перечисления создается в Конфигураторе, то тут же, в Конфигураторе, можно организовать проверку выбранного значения и описать действия, которые должны за этим выбором последовать.
Вся работа с объектами метаданных типа «Перечисление» ведется в окне «Конфигурация - Метаданные». Для перечислений отведена отдельная ветвь дерева метаданных, которая начинается у ключевого слова «Перечисления». Приемы создания, редактирования свойств и удаления перечислений совпадают с общими приемами управления объектами метаданных, изложенными в главе «Метаданные» на стр. 18.
Редактирование перечисления заключается в создании списка значений перечислений. Для редактирования перечисления используется окно редактирования «Перечисление».
Назначение управляющих элементов диалога объясняется ниже.
Значения. Группа «Значения» объединяет управляющие элементы, предназначенные для ведения списка значений перечисления и редактирования их свойств. Подробно об использовании управляющих элементов этой группы будет рассказано ниже в параграфе «Управление значениями перечисления».
Описание. Кнопка «Описание» предназначена для вызова текстового редактора, в котором можно описать назначение и порядок использования перечисления.
Перечисление, как самостоятельный объект метаданных, в системе 1 (^Предприятие не применяется, а используется, в основном, при работе с объектами данных других типов: при заполнении реквизитов документов или справочников, при вводе значений констант и в Других аналогичных случаях. Использование перечисления позволяет ограничить выбор пользователя заранее заданным списком значений перечисления и дает возможность уже в процессе настройки конфигурации задачи предусмотреть все ситуации в зависимости от выбора пользователя.
Управление списком значений перечисления и определение свойств этих значений производится при помощи управляющих элементов группы «Значения» диалога «Перечисление». Порядок использования этих управляющих элементов можно посмотреть в п. «Редактирование списков объектов метаданных» на стр. 21.
В этом параграфе будут описаны специфические свойства значения перечисления, в дополнение к общим свойствам объектов метаданных, о которых говорилось в п. «Свойства объектов метаданных» на стр. 21.
В отличие от других объектов метаданных, значение перечисления не имеет свойства «Синоним». В этом качестве выступает свойство значения перечисления «Представление».
Представление. В поле «Представление» можно ввести произвольную строку символов. Эта строка будет отображаться в списке возможных значений перечисления, когда перечисление выдается на экран для выбора значения перечисления.
Можно сказать, что представление занимает промежуточное значение между идентификатором и комментарием: в наиболее общем случае, представление должно быть более подробное, чем идентификатор, но не такое развернутое, как комментарий.
Например, одно из значений перечисления «Образование» может иметь идентификатор «НезаконченноеВысшее», комментарием будет, скорее всего, «Незаконченное высшее», а в качестве представления можно использовать строку «Н. высшее».
Если поле «Представление» не заполнено, для выдачи в списке будет использоваться идентификатор значения перечисления.