Главная » 1С Предприятие » ПЕРЕЧИСЛЕНИЕ СКИДКИ

0

4.2.1.  СОЗДАЕМ

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

Вызовем конфигуратор, откроем  конфигурацию на закладке  Метаданные,  войдем в раздел Перечисления и в меню,  всплывающем после нажатия на правую кнопку  мыши, выберем пункт  Новое Перечисление. В появившемся окне  зададим  приведенные на рис. 4.1 данные.

Рис.  4.1.  Ввод перечисления Скидки

Каждое  новое значение  перечисления  вводим после  выбора кнопки  Новый.  В п оявляющемся   окне  определяем  идентификатор и  представление  элемента  перечисления (рис. 4.2).

Рис.  4.2.  Идентификатор и представление  элемента  перечисления

При  обработке  данных  в  качестве  значения  элемента  перечисления  используется  его] представление, если  оно  задано, или  его  идентификатор в  противном случае.  Значение перечисления   возвращается   методом   ЗначениеПоНомеру  или   ЗначениеПоИдентификатору.  Также  оно  содержится в  полном имени  идентификатора элемента перечисления.  Количество значений  в перечислении вернет функция  КоличествоЗначений.

Пример   1.  Выводятся  представления  (значения)   и   идентификаторы  элементов  перечисления Скидки.

процедура Выполнить()                        //              Связана с кнопкой Пуск обработки Проба  перем ном, пер;

ОчиститьОкноСообщений();

// Выводим заголовок

Сообщить("Значение" + СимволТабуляции + "Идентификатор"); для ном = 1 по Перечисление.Скидки.КоличествоЗначений() цикл

// Переменная пер имеет тип Перечисление

пер  = Перечисление.Скидки.ЗначениеПоНомеру(ном);

// Пер.Идентификатор() вернет идентификатор очередного элемента перечисления Сообщить(Строка(пер) + Символ Табуляции + пер.Идентификатор());

конецЦикла; // для конецПроцедуры // Выполнить

Результат:

Значение                         Идентификатор

0                                       НетСкидки

20                                     Скидка20Проц

40                                      Скидка40Проц

100                                   Скидка 100Проц

Пример   2.   Значения   элементов   перечисления   Скидки   выводятся  по   известным именам их  идентификаторов.

процедура Выполнить()        .   ,            //            Связана с кнопкой Пуск обработки Проба  перем ин, пер, иден[10];

ОчиститьОкноСообщений();

// иден массив имен идентификаторов элементов перечисления Скидки

иден[1] = "НетСкидки"; иден[2] = "Скидка20Проц"; иден[3] = "Скидка40Проц"; иден[4] = "Скидка100Проц";

для ин = 1 по Перечисление.Скидки.КоличествоЗначений() цикл

// Значение (представление) перечисления (переменная пер) имеет тип Перечисление пер  = Перечисление.Скидки.ЗначениеПоИдентификатору(иден[ин]); Сообщить(Строка(пер) + СимволТабуляции + иден[ин]);

конецЦикла; // для конецПроцедуры // Выполнить

Результат тот же, что и в примере  1.

Пример 3.  Значения  элементов  перечисления скидки  выводятся по  полным  именам их  идентификаторов.

процедура Выполнить()                        //              Связана с кнопкой Пуск обработки Проба  ОчиститьОкноСообщений();

Сообщить(Перечисление.Скидки.НетСкидки); Сообщить(Перечисление.Скидки.Скидка20Проц); Сообщить(Перечисление.Скидки.Скидка40Проц); Сообщить(Перечисление.Скидки.Скидка100Проц);

конецПроцедуры // Выполнить

Результат:

0

20

40

100

Если  представление  элемента перечисления  не  задано, то  в  качестве  значения  используется  имя идентификатора элемента  перечисления.  Так,  очистив  представления для   двух  последних   элементов    перечисления,   получим   после   запуска    программы из  примера  3  следующий результат:

0

20

Скидка40Проц Скидка100Проц

Замечание.   Вся  информация  о  перечислениях  сосредоточена  в   файле  конфигурации  1CV7.MD.

Источник: Бартеньев О. В. 1С:Предприятие:  программирование для  всех.  Базовые объекты и расчеты на одной дискете. М.: Диалог-МИФИ, 2005. 464 с.

По теме:

  • Комментарии