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