|
Работа в 1С 30Работа в программе 1С Тема 8 Перечисления Цель:
Пояснения к работе Перечисление – средство работы с элементами данных, список возможных значений которых жестко задан в конфигурации. Перечисление представляет собой служебный тип данных, который не используется самостоятельно, а применяется, в основном, в совокупности с другими типами данных. Определить перечисление можно как «список возможных значений реквизита». Перечисления используются при вводе значений реквизитов документов, справочников, при вводе значений констант и тех случаях, когда необходимо исключить неоднозначный ввод информации. Рассмотрим в качестве примера перечисления тип работника (справочник Сотрудники реквизит ТипРаботника). В простейшем случае работники бывают основные и совместители. С типом работника связано налогообложение физического лица. По своим свойствам перечисление похоже на справочник, однако имеет ряд существенных отличий. Прежде всего, Перечисление не может изменяться в процессе работы с ним: список его значений задается при настройке Перечисления в Конфигураторе. Перечисление не имеет вложенности – все его значения находятся на одном уровне. Список значений Перечисления известен и доступен в Конфигураторе – сама конфигурация использует конкретные значения перечисления. С функциональной точки зрения, перечисление проще в настройке и в использовании. Использование перечисления позволяет ограничить число возможных вариантов, например, при вводе реквизита документа. Так как список значений перечисления создается в Конфигураторе, то тут же, в Конфигураторе, можно организовать проверку выбранного значения и описать действия, которые должны за этим выбором последовать. Вся работа с объектами метаданных типа Перечисление ведется в окне Конфигурация – Метаданные. Найдите в дереве метаданных тип Перечисление и создайте новое перечисление. В появившемся окне (рисунок 8.1) введите следующие значения: Рисунок 8.1 В окне Перечисление задаются значения перечисления в группе Значения. В окне Свойства Значения задаются имя значения (идентификатор), комментарий и экранное представление (значение), которое можно будет отображаться в списке возможных значений перечисления, когда перечисление выдается на экран для выбора значения перечисления. Если поле Представление не заполнено, для выдачи в списке будет использоваться идентификатор значения перечисления. Средства языка предоставляют возможность непосредственного доступа к заданным в конфигураторе значениям перечислений в любом программном модуле (перечисления принадлежат глобальному контексту задачи). В терминах языка перечисления аналогичны системным константам, т. е. идентификаторы перечислений могут размещаться только в правой части оператора присваивания, в выражениях, быть параметрами процедур, функций или методов в любом программном модуле. В качестве имени перечисления обязательно должно выступать полное имя конкретного вида и значения перечисления, как оно объявлено в конфигураторе. Вид и значение перечисления записывается через точку после ключевого слова Перечисление, т. е. полное имя вида перечисления записывается следующим образом: Перечисление.<Имя_Переч>.<Значение_Переч>, где <Имя_Переч> – имя вида перечисления, <Значение_Переч> – конкретное значение данного вида перечисления. Пример: Если Док.Сотрудник.Тип = Перечисление.ТипРаботника.Основной Тогда
Иначе
КонецЕсли; Методы перечислений КоличествоЗначений() – позволяет определить общее количество значений в данном виде перечисления. Возвращаемое значение: число общего количества значений в данном виде перечисления. ЗначениеПоНомеру(<Номер>) – позволяет определить значение перечисления, соответствующее номеру позиции в конфигураторе. Параметры: <Номер> – номер позиции значения перечисления, заданный в конфигураторе. Возвращаемое значение: значение перечисления, соответствующее номеру заданной позиции. Пример: // отобразим все значения перечисления Всего = Перечисление.ВидыТоваров.КоличествоЗначений(); Для Ном = 1 По Всего Цикл
КонецЦикла; Пример: // в окне сообщений отобразится Основной работник Сообщить(Перечисление.ТипРаботника.ЗначениеПоНомеру(1)); ЗначениеПоИдентификатору(<Идентификатор>) – позволяет определить значение перечисления, соответствующее идентификатору в конфигураторе. Параметры: <Идeнтификaтop> – строковое выражение. Идентификатор перечисления, заданный в конфигураторе. Возвращаемое значение: значение перечисления, соответствующее идентификатору в конфигураторе. Если не найдено – то пустое значение. Пример: // в окне сообщений отобразится Основной работник Сообщить(Перечисление.ТипРаботника.ЗначениеПоИдентификатору("Основной")); Вид() – позволяет определить название вида перечисления, как оно задано в конфигураторе. Возвращаемое значение: строковое значение, содержащее название вида перечисления. Описание: Пример: // в окне сообщений отобразится ТипРаботника Сообщить(Перечисление.ТипРаботника.Основной.Вид()); ПредставлениеВида() – позволяет получить пользовательское представление вида перечисления, как оно задано в конфигураторе Возвращаемое значение: строковое значение, содержащее пользовательское представление вида перечисления (синоним перечисления или, если он пустой, то идентификатор). Пример: // в окне сообщений отобразится Тип работника Сообщить(Перечисление.ТипРаботника.Основной.ПредставлениеВида()); Выбран() – возвращает признак выбора элемента. Возвращаемое значение: 1 – если элемент перечисления выбран (спозиционирован); 0 – если не выбран. Пример: // В диалоге формирования некоторого отчета // ВыбЕдИзмер – реквизит диалога типа «Перечисление.Единицы» Если ВыбЕдИзмер.Выбран() = 0 Тогда
Иначе
КонецЕсли; ПорядковыйНомер() – определяет порядковый номер значения в перечислении, как он задан в конфигураторе. Значения перечисления нумеруются с 1. Возвращаемое значение: число. Пример: // отобразим порядковый номер значения перечисления Сообщить(Перечисление.ТипРаботника.Совместитель.ПорядковыйНомер()); Идентификатор() – возвращает строку – идентификатор значения перечисления как он задан в метаданных. Возвращаемое значение: идентификатор значения перечисления как он задан в метаданных. Пример: // отобразим все идентификаторы перечисления
Вариант 2 Создать перечисление ТипТов с несколькими значениями, в имеющихся справочниках, документах, отчетах и обработках поменяйте тип реквизита ТипТовара на перечисление ТипТов и внесите изменения в соответствующие программные модули. Протестируйте работу всех созданных объектов метаданных, чтобы убедится в правильности внесения изменений. Вариант 3 Создать перечисление ТипНом с несколькими значениями, в имеющихся справочниках, документах, отчетах и обработках поменяйте тип реквизита ТипНомера на перечисление ТипНом и внесите изменения в соответствующие программные модули. Протестируйте работу всех созданных объектов метаданных, чтобы убедится в правильности внесения изменений. Вариант 4 Создать перечисление ТипКн с несколькими значениями, в имеющихся справочниках, документах, отчетах и обработках поменяйте тип реквизита ТипКниги на перечисление ТипКн и внесите изменения в соответствующие программные модули. Протестируйте работу всех созданных объектов метаданных, чтобы убедится в правильности внесения изменений. Вариант 5 Создать перечисление ТипыЛьгот с несколькими значениями, в имеющихся справочниках, документах, отчетах и обработках поменяйте тип реквизита ТипЛьготы на перечисление ТипыЛьгот и внесите изменения в соответствующие программные модули. Протестируйте работу всех созданных объектов метаданных, чтобы убедится в правильности внесения изменений. Вариант 6 Создать перечисление ТипОбр с несколькими значениями, в имеющихся справочниках, документах, отчетах и обработках поменяйте тип реквизита ТипОбразования на перечисление ТипОбр и внесите изменения в соответствующие программные модули. Протестируйте работу всех созданных объектов метаданных, чтобы убедится в правильности внесения изменений. Вариант 7 Создать перечисление ТипКварт с несколькими значениями, в имеющихся справочниках, документах, отчетах и обработках поменяйте тип реквизита ТипКвартиры на перечисление ТипКварт и внесите изменения в соответствующие программные модули. Протестируйте работу всех созданных объектов метаданных, чтобы убедится в правильности внесения изменений. Вариант 8 Создать перечисление НомЭтажа с несколькими значениями, в имеющихся справочниках, документах, отчетах и обработках поменяйте тип реквизита Этаж на перечисление НомЭтажа и внесите изменения в соответствующие программные модули. Протестируйте работу всех созданных объектов метаданных, чтобы убедится в правильности внесения изменений. Вариант 9 Создать перечисление ТипПериода с несколькими значениями, в имеющихся справочниках, документах, отчетах и обработках поменяйте тип реквизита Периодичность на перечисление ТипПериода и внесите изменения в соответствующие программные модули. Протестируйте работу всех созданных объектов метаданных, чтобы убедится в правильности внесения изменений. Вариант 10 Создать перечисление ТипКварт с несколькими значениями, в имеющихся справочниках, документах, отчетах и обработках поменяйте тип реквизита ТипКвартиры на перечисление ТипКварт и внесите изменения в соответствующие программные модули. Протестируйте работу всех созданных объектов метаданных, чтобы убедится в правильности внесения изменений. Вариант 11 Создать перечисление ТипыВагонов с несколькими значениями, в имеющихся справочниках, документах, отчетах и обработках поменяйте тип реквизита ТипВагона на перечисление ТипыВагонов и внесите изменения в соответствующие программные модули. Протестируйте работу всех созданных объектов метаданных, чтобы убедится в правильности внесения изменений. Вариант 12 Создать перечисление ТипРазмещ с несколькими значениями, в имеющихся справочниках, документах, отчетах и обработках поменяйте тип реквизита ТипРазмещения на перечисление ТипРазмещ и внесите изменения в соответствующие программные модули. Протестируйте работу всех созданных объектов метаданных, чтобы убедится в правильности внесения изменений. Вариант 13 Создать перечисление ТипСезона с несколькими значениями, в имеющихся справочниках, документах, отчетах и обработках поменяйте тип реквизита Сезон на перечисление ТипСезона и внесите изменения в соответствующие программные модули. Протестируйте работу всех созданных объектов метаданных, чтобы убедится в правильности внесения изменений. Вариант 14 Создать перечисление ТипМатериала с несколькими значениями, в имеющихся справочниках, документах, отчетах и обработках поменяйте тип реквизита Материал на перечисление ТипМатериала и внесите изменения в соответствующие программные модули. Протестируйте работу всех созданных объектов метаданных, чтобы убедится в правильности внесения изменений. Вариант 15 Создать перечисление ТипыОплат с несколькими значениями, в имеющихся справочниках, документах, отчетах и обработках поменяйте тип реквизита ТипОплаты на перечисление ТипыОплат и внесите изменения в соответствующие программные модули. Протестируйте работу всех созданных объектов метаданных, чтобы убедится в правильности внесения изменений. Контрольные вопросы:
|
Loading
|