Описать особенности работы с элементом данных перечисление в программе 1С предприятия
Перечисление - средство работы с элементами данных, список возможных значений которых жестко задан в конфигурации. Например, для перечисления "ТипСотрудника" можно задать возможные значения: "Штатный", "Совместитель".
В отличие от справочника, списки значений в перечислении задаются исключительно в процессе их создания в конфигураторе и при выполнении задачи не могут быть изменены.
Контекст работы с перечислениями.
Средства языка предоставляют возможность непосредственного доступа к заданным в конфигураторе значениям перечислений в любом программном модуле (перечисления принадлежат глобальному контексту задачи). В терминах языка перечисления аналогичны системным константам "только для чтения", т.е. идентификаторы перечислений могут размещаться только в правой части оператора присваивания, в выражениях, быть параметрами процедур, функций или методов в любом программном модуле.
В качестве имени перечисления обязательно должно выступать полное имя конкретного вида и значения перечисления, как оно объявлено в конфигураторе. Вид и значение перечисления записывается через точку после ключевого слова Перечисление, т.е. полное имя вида перечисления записывается следующим образом:
Перечисление. <Имя_Переч>. <Значение_Переч>, где <Имя_Переч> - имя вида перечисления, <Значение_Переч> - конкретное значение данного вида перечисления.
Англоязычный синоним ключевого слова Перечисление - Enum.
Пример:
Если Док. Сотрудник. Тип = Перечисление. Тип Сотрудника. Штатный
Тогда Льготы = 1;
Иначе
Льготы = 0;
Конец Если;
Объект Перечисление является частью глобального контекста программы 1С: Предприятие. Этот объект в качестве своих атрибутов имеет значения объектов конкретных видов перечислений, заданных в конфигурации. Кроме того, этот объект имеет метод ПолучитьАтрибут, который позволяет получить доступ к объекту перечисления конкретного вида по его имени.
Перечисление конкретного вида в качестве своих атрибутов имеет конкретные значения перечислений. Кроме того, этот объект имеет методы КоличествоЗначений, ЗначениеПоНомеру и ЗначениеПоИдентификатору которые позволяют получить доступ к конкретному значению перечисления.
Конкретное значение перечисления имеет методы Вид, ПредставлениеВида, Выбран, ПорядковыйНомер, Идентификатор.
Методы перечислений
ПолучитьАтрибут
Получить доступ к объекту перечисления конкретного вида по его имени.
Синтаксис:
ПолучитьАтрибут (<ИмяПеречисления>)
Англоязычный синоним:
GetAttrib
Возвращаемое значение:
Объект перечисления конкретного вида.
Описание:
Метод ПолучитьАтрибут позволяет получить доступ к объекту перечисления конкретного вида по его имени, как оно задано в конфигураторе.
Этот метод применяется только к объекту глобального контекста Перечисление.
Пример:
Булево = Перечисление. ПолучитьАтрибут ("Булево");
КоличествоЗначений
Определить общее количество значений в данном виде перечисления.
Синтаксис:
КоличествоЗначений ()
Англоязычный синоним:
Count
Возвращаемое значение:
Число общего количества значений в данном виде перечисления.
Описание:
Метод КоличествоЗначений применяется к конкретному виду перечисления и позволяет определить общее количество значений в данном виде перечисления.
Пример:
// отобразим все значения перечисления
Всего = Перечисление. ВидыТоваров. КоличествоЗначений ();
Пока Ном = 1 По Всего Цикл
Сообщить (Перечисление. ВидыТоваров. ЗначениеПоНомеру (Ном));
КонецЦикла;
ЗначениеПоНомеру
Определить значение перечисления, соответствующее номеру позиции в конфигураторе.
Синтаксис:
ЗначениеПоНомеру (<Номер>)
Англоязычный синоним:
ValueByIndex
Возвращаемое значение:
Значение перечисления, соответствующее номеру заданной позиции.
Описание:
Метод ЗначениеПоНомеру применяется к конкретному виду перечисления и позволяет определить значение перечисления, соответствующее номеру позиции в конфигураторе.
Пример:
См. предыдущий пример.
ЗначениеПоИдентификатору
Определить значение перечисления, соответствующее идентификатору в конфигураторе.
Синтаксис:
ЗначениеПоИдентификатору (<Идентификатор>)
Англоязычный синоним:
ValueByIdentifier
Возвращаемое значение:
Значение перечисления, соответствующее идентификатору в конфигураторе. Если не найдено - то пустое значение.
Описание:
Метод ЗначениеПоИдентификатору применяется к конкретному виду перечисления и позволяет определить значение перечисления, соответствующее идентификатору в конфигураторе.
Пример:
См. предыдущий пример.
Вид
Определить название вида перечисления.
Синтаксис:
Вид ()
Англоязычный синоним: Kind
Возвращаемое значение:
Строковое значение, содержащее название вида перечисления.
Описание:
Метод Вид позволяет определить название вида перечисления, как оно задано в конфигураторе.
Пример:
// отобразим вид перечисления в строке состояния
Состояние (ИзмерениеТовара. Вид ());
ПредставлениеВида
Определить пользовательское представление вида перечисления.
Синтаксис:
ПредставлениеВида ()
Англоязычный синоним: KindPresent
Возвращаемое значение:
Строковое значение, содержащее пользовательское представление вида перечисления (синоним перечисления или, если он пустой, то идентификатор).
Описание:
Метод ПредставлениеВида позволяет получить пользовательское представление вида перечисления, как оно задано в конфигураторе.
Пример:
// отобразим пользовательское представление в строке состояния
Состояние (ИзмерениеТовара. ПредставлениеВида ());
Выбран
Возвратить флаг выбора элемента перечисления.
Синтаксис:
Выбран ()
Англоязычный синоним: Selected
Возвращаемое значение:
Числовое значение: 1 - если элемент перечисления выбран (спозиционирован); 0 - если не выбран.
Описание:
Метод Выбран возвращает число со значением 1 - если элемент перечисления выбран (спозиционирован), 0 - если элемент перечисления не выбран.
Пример:
// В диалоге формирования некоторого отчета
// ВыбЕдИзмер - реквизит диалога типа "Перечисление. Единицы"
Если ВыбЕдИзмер. Выбран () = 0 Тогда
// Если единица измерений в диалоге не выбрана, то формируем отчет без условий
Заг1 = "По всем единицам измерения. ";
Иначе
// если в диалоге выбрана единица измерений
// то формируем отчет только по выбранным единицам
Заг1 = "Отчет по товарам с единицей измерения " + ВыбЕдИзмер;
КонецЕсли;
ПорядковыйНомер
Определить порядковый номер значения в перечислении.
Синтаксис:
ПорядковыйНомер ()
Англоязычный синоним:
Number
Возвращаемое значение:
Строковое значение, содержащее название вида перечисления.
Описание:
Метод Порядковый Номер определяет порядковый номер значения в перечислении, как он задан в конфигураторе. Значения перечисления нумеруются с 1.
Пример:
// отобразим порядковый номер значения перечисления
Сообщить (Перечисление. Единицы. Штука. ПорядковыйНомер ());
Список использованной литературы
1. 1С: Предприятие: Конфигурация "Торговля + Склад для Украины", В. Алексеенко, Р. Диденко, А. Мякушко - Фирма "1С" Москва, 2001 г.
2. 1С: Предприятие: Конфигурирование и администрирование, В. Алексеев, О. Дерут, В. Егоров, С. Кравченко, М. Лихарев - Фирма "1С" Москва, 1999 г.
3. Автоматизированные информационные технологии в экономике. /Под ред. Трубилина И.Т. - М.: Финансы и статистика, 1999.
4. Информационные системы в экономике / Под ред. Дика В.В. - М.: Финансы с статистика, 1999.