Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦОО_ПОЭИС_Л3.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
157.7 Кб
Скачать

20

Лекция 3 (ЦОО_ПОЭИС)

Глава 3. Основные объекты конфигурации

3.1. Константы

Константы нужны для хранения одного значения в базе данных. Обычно в константах хранится редко изменяемая информация, например, название организации, фамилия руководителя, основ­ная валюта организации, параметры конфигурации в целом и т.д.

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

С помощью свойства «Допустимая длина» для кон­стант строкового типа можно задать фиксированную или пере­менную длину константы. При фиксированной длине константа будет хранить заданное количество символов, а если реальное значение содержит меньше символов, то в конец строки будут добавлены пробелы до заданной длины. При переменной длине строки в базе данных хранится только реальное количество символов.

В конфигурациях на платформе 1C:Предприятия 8 для редакти­рования значений констант рекомендуется создавать отдельную экранную форму, в которой все константы распределены по за­кладкам и для каждой существует свой элемент управления с по­нятной надписью и подробным описанием.

Обратите внимание, что форма констант является общей формой, но с таким же успехом можно было разместить поле для доступа к константе в любой другой форме, так как в 1C:Предприятии 8 экранные формы и объекты конфигурации разделены.

Замечание 1. По сравнению с предыдущей версией 7.7 в 1C:Предприятии 8 больше не существует системной формы для редактирования всех констант единым списком, так как такое ре­шение было признано недостаточно гибким. Нельзя было распре­делить все константы по группам, или, например, полностью скрыть некоторые константы от пользователя, чтобы он даже не догадывался об их существовании. Если все же, несмотря на эти недостатки, прежняя форма констант вас вполне устраивала, то вполне возможно создать такую же на платформе 8.

Замечание 2. Если в конфигураторе разработчик не создаст форму констант, то она будет сформирована автоматически при вызове списка констант в режиме 1С:Предприятие.

Замечание 3. Объявление общей формы констант как основной формы, вызываемой командой «Операции ->Константы» можно с помощью команды конфигуратора:

<имя конфигурации> -> свойства ->Основная форма констант

Обращение к константам из программы

Обращение к константам из программы на встроенном языке производится очень просто, хотя этот способ и отличается от вер­сии 7.7:

// чтение значения из константы

Название = Константы.НазваниеОрганизации.Получить();

// запись нового значения в константу

Константы.НазваниеОрганизации.Установить(НовоеНазвание);

Обратите внимание на слово Константы (а не Константа, как было в версии 7.7).

Если расшифровать приведенный выше пример, то станет более понятна взаимосвязь объектов:

//получаем объект для управления списком констант

КонстантыМенеджер = Константы;

//получаем объект для управления одной константой

КонстантаМенеджер = КонстантыМенеджер.НазваниеОрганизации;

//считываем значение константы из базы данных

Значение = КонстантаМенеджер.Получить();

//записываем новое значение константы в базу данных

КонстантаМенеджер.Установить(НовоеЗначение);

Как мы увидим дальше, такая схема распространяется на все объ­екты конфигурации и необходимо ее понимать. Объекты типа КонстантыМенеджер, СправочникиМенеджер, ДокументыМенеджер и аналогичные им предназначены для обращения к списку объектов конфигурации. Свойствами этих объектов являются другие объекты типа КонстантаМенеджер, СправочникМенеджер и ДокументМенеджер.

В свою очередь эти объек­ты предназначены для обращения к менеджеру одного объекта конфигурации, например, менеджеру справочника Номенклатура.

Существуют свойства глобального контекста, ссылающиеся на объекты типа КонстантыМенеджер, СправочникиМенеджер, ДокументМенеджер и т.д., они называются односложно: Кон­станты, Справочники, Документы. Это позволяет упростить на­писание программы и следующие примеры это демонстрируют:

Назв = Константы.НазваниеОрганизации.Получить();

СпрСотр = Справочники.Сотрудники;

ВсеДолжности = Справочники.Должности.Выбрать();

ДокНакл = Документы.РасходнаяНакладная;

Работа с константами производится с помощью нескольких объ­ектов, и необходимо понимать их взаимосвязь, потому что подоб­ная ситуация повторяется почти с каждым объектом конфигура­ции.

Ниже дано описание объектов для работы с константами:

КонстантыМенеджер

Объект предоставляет доступ к списку констант. Через этот объект можно перебрать все константы с помощью конст­рукции «Для Каждого» или получить объект КонстантаМенеджер для управления конкретной константой. Кроме того, данный объект позволяет создать объект КонстантыНабор для одновременного чтения и записи сразу не­скольких констант.

КонстантаМенеджер

Менеджер константы обеспечивает доступ к конкретной константе. Через него можно прочитать и установить ее значение с помощью методов Получить и Установить.

КонстантыНабор

Через этот объект можно получить доступ сразу к несколь­ким константам, но необязательно всем существующим в конфигурации.

Работу с набором констант продемонстрируем на следующем при­мере:

//создаем набор из двух констант

//обратите внимание, что значений констант в наборе еще нет

Набор = Константы.СоздатьНабор("Руководитель,ИНН");

Набор.Прочитать(); //прочитать из базы сразу две константы

//изменить значение констант в наборе (не в базе)

Набор.Руководитель = "Иванов И.И.";

Набор.ИНН = "1234567890";

Набор.Записать(); //записать в базу сразу две константы

Главное, что следует запомнить, - при использовании набора все входящие в него константы считываются и записываются вместе в одной транзакции, т.е. операция над несколькими константами производится одновременно.

Константы - слишком простой объект для полного понимания объектной модели 1С:Предприятия 8. Далее на примере спра­вочников мы рассмотрим новую объектную модель во всей ее полноте.