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