На следующей схеме изображено взаимодействие объектов встроенного языка для работы с константами.
КонстантыНабор – предоставляет возможность проведения операций чтения и записи сразу для группы констант, в частном случае – для всех констант. Также используется в форме констант для хранения, записи и считывания констант.
КонстантаМедеджерЗначения.<имя> - используется для доступа к константе. Любая запись константы (интерактивно в форме, объекты КонстантыНабор и КонстантаМенеджер.<имя>) создает объект этого типа и производит запись с его помощью, что обеспечиваем вызов модуля и обработчиков событий этого объекта.
Ниже приведены примеры использования объектов встроенного языка для работы с константами.
КонстантыНабор – предоставляет возможность проведения операций чтения и записи сразу для группы констант, в частном случае – для всех констант. Также используется в форме констант для хранения, записи и считывания констант.
КонстантаМедеджерЗначения.<имя> - используется для доступа к константе. Любая запись константы (интерактивно в форме, объекты КонстантыНабор и КонстантаМенеджер.<имя>) создает объект этого типа и производит запись с его помощью, что обеспечиваем вызов модуля и обработчиков событий этого объекта.
Ниже приведены примеры использования объектов встроенного языка для работы с константами.
// 1. Глобальный контекст
// Константы
// Пример: установить значение константы.
Константы.Бухгалтер.Установить("Сидоров Петр Иванович");
// 2. объект КонстантыМенеджер
// .<имя константы>
// [<имя константы>]
// Для Каждого ... Из ... Цикл ... КонецЦикла;
// Пример: прочитать значение константы.
Результат = Константы.ПрефиксНумерации.Получить();
Сообщить("Значение константы ПрефиксНумерации = " + Результат);
// Пример: установить значение константы ПрефиксНумерации равным ЦБ.
Константы["ПрефиксНумерации"].Установить("ЦБ");
Сообщить("Новое значение = " + Константы["ПрефиксНумерации"].Получить());
// Пример: очистить значения всех констант.
Для Каждого ОчереднаяКонстанта Из Константы Цикл
ОчереднаяКонстанта.Установить(Неопределено);
КонецЦикла;
// 3. объект КонстантыМенеджер
// СоздатьНабор()
// Пример: установить новые значения нескольких констант.
Набор = Константы.СоздатьНабор("Руководитель, Бухгалтер");
Набор.Руководитель = "Николаев Денис Павлович";
Набор.Бухгалтер = "Николаева Людмила Сергеевна";
Набор.Записать();
// 5. объект КонстантыМенеджер.<имя>
// СоздатьМенеджерЗначения()
// Пример: вывести значения всех констант, существующих в конфигурации.
Для Каждого ОчереднаяКонстанта Из Константы Цикл
ИмяКонст = ОчереднаяКонстанта.СоздатьМенеджерЗначения().Метаданные().Имя;
ЗначениеКонст = ОчереднаяКонстанта.Получить();
Сообщить("Константа " + ИмяКонст + " = " + ЗначениеКонст);
КонецЦикла;
// Константы
// Пример: установить значение константы.
Константы.Бухгалтер.Установить("Сидоров Петр Иванович");
// 2. объект КонстантыМенеджер
// .<имя константы>
// [<имя константы>]
// Для Каждого ... Из ... Цикл ... КонецЦикла;
// Пример: прочитать значение константы.
Результат = Константы.ПрефиксНумерации.Получить();
Сообщить("Значение константы ПрефиксНумерации = " + Результат);
// Пример: установить значение константы ПрефиксНумерации равным ЦБ.
Константы["ПрефиксНумерации"].Установить("ЦБ");
Сообщить("Новое значение = " + Константы["ПрефиксНумерации"].Получить());
// Пример: очистить значения всех констант.
Для Каждого ОчереднаяКонстанта Из Константы Цикл
ОчереднаяКонстанта.Установить(Неопределено);
КонецЦикла;
// 3. объект КонстантыМенеджер
// СоздатьНабор()
// Пример: установить новые значения нескольких констант.
Набор = Константы.СоздатьНабор("Руководитель, Бухгалтер");
Набор.Руководитель = "Николаев Денис Павлович";
Набор.Бухгалтер = "Николаева Людмила Сергеевна";
Набор.Записать();
// 5. объект КонстантыМенеджер.<имя>
// СоздатьМенеджерЗначения()
// Пример: вывести значения всех констант, существующих в конфигурации.
Для Каждого ОчереднаяКонстанта Из Константы Цикл
ИмяКонст = ОчереднаяКонстанта.СоздатьМенеджерЗначения().Метаданные().Имя;
ЗначениеКонст = ОчереднаяКонстанта.Получить();
Сообщить("Константа " + ИмяКонст + " = " + ЗначениеКонст);
КонецЦикла;
Работа с формой констант осуществляется при помощи объекта КонстантыНабор, который в свою очередь, использует объект КонстантаМенеджерЗначения.<имя>.
Особенности внутренней реализации объекта КонстантыНабор таковы, что при записи набора констант обработчики события ОбработкаПроверкиЗаполнения(), ПередЗаписью() и ПриЗаписи() модуля менеджера значения константы будут вызваны для каждой константы, входящей в записываемый набор.
Комментариев нет :
Отправить комментарий