- •Глава 3. Основные объекты конфигурации
- •3.1. Константы
- •Обращение к константам из программы
- •3.2. Перечисления
- •Системные перечисления и наборы значений
- •3. 3. Справочники
- •Структура справочника
- •Предопределенные элементы
- •Подчиненные справочники
- •Табличные части
- •Иерархические справочники
- •Экранные формы
- •Приемы программирования
- •Обращение к менеджеру справочника
- •Выборка элементов справочника
- •Создание элементов и групп справочника
- •Поиск в справочнике
- •Удаление элемента или группы справочника
- •Открытие форм справочника
- •Работа с табличным частями
- •Модуль объекта
3.2. Перечисления
Перечисления используются в системе 1C:Предприятие 8 для описания постоянных наборов значений, не изменяемых в процессе работы конфигурации. В отличие от элементов справочников, значения перечислений вводятся на этапе разработки прикладного решения и не могут быть изменены в процессе работы с программой. Пользователь обычно выбирает одно из значений перечисления.
Типичными примерами перечислений являются:
• ТипКлиента (значения: Обычный, Важный),
• Пол (значения: Мужской, Женский),
• ВидКонтрагента (значения: ЧастноеЛицо, Организация).
Список значений перечисления нельзя редактировать, так как алгоритм конфигурации ориентирован на наличие определенных значений. Например, в процедуре расчета скидки может быть следующий фрагмент:
Если ТипКлиента = Перечисления.ТипКлиента.Обычный Тогда
//расчет скидки для обычных клиентов
…
ИначеЕсли ТипКлиента = Перечисления.ТипКлиента.Важный Тогда
//расчет скидки для важных клиентов
…
Иначе
Сообщить("Не указан тип клиента!");
КонецЕсли;
Отсюда видно, что при изменении значений перечисления возможно потребуется изменение программных модулей, иначе программа перестанет правильно работать.
Внимание! В отличие от версии 7.7, в версии 8 при обращении к значению перечисления используется множественное число в слове «Перечисления», например, Перечисления.ТипКлиента.Важный.
Системные перечисления и наборы значений
В «1C:Предприятии 8» для улучшения понятности программ были введены системные перечисления и системные наборы значений.
Например, ниже используется системное перечисление ОриентацияСтраницы и его значение Портрет:
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
Обратите внимание на изменение параметров и возвращаемого значения функции Вопрос. В версии 7.7 эта функция принимала и возвращала строковые значения, например, «Да» или «Нет», а теперь она принимает параметр типа РежимДиалогаВопрос и возвращает значение системного перечисления КодВозвратаДиалога:
Если Вопрос("Вы уверены?", РежимДиалогаВопрос.ДаНет} =
КодВозвратаДиалога.Да Тогда
…
КонецЕсли;
Системные наборы значений аналогичным образом позволяют упрощать написание программы, но в отличие от системных перечислений, они не образуют типа. Например, некоторые часто используемые спецсимволы были собраны в системный набор значений Символы, в котором содержатся следующие значения:
• ПС - перевод строки (помещение курсора на следующую строку),
• ВК - возврат каретки (помещение курсора в начало строки),
• Таб - символ табуляции,
• ПФ - перевод формы (страницы),
• ВТаб - вертикальная табуляция,
• НПП - неразрывный пробел.
Например, соединение нескольких строк в одну многострочную строку производится следующим образом:
стр = стр1 + Символы.ПС + Символы.ВК + стр2;
3. 3. Справочники
Справочники являются основным механизмом хранения условно-постоянной информации. Справочники часто используются в тех случаях, когда необходимо исключить неоднозначный ввод информации. Каждый справочник представляет собой список однородных объектов: сотрудников, организаций, товаров и т.д. Такие объекты называются элементами справочника.
Замечание. Для упрощения понимания можно считать, что справочник - это обычная таблица с заданными колонками. Но в 1С:Предприятии 8 есть возможность создания иерархических справочников и табличных частей у справочников. Отсюда можно сделать вывод, что справочник - это не просто таблица, а достаточно сложный механизм хранения данных.
На этапе разработки можно описать, какими свойствами обладает справочник. К настраиваемым свойствам относятся длина и тип кода, количество уровней иерархии, поддержка уникальности кодов, перечень реквизитов справочника и его табличных частей, а также другие параметры.
