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