Приветствую Вас ГостьЧетверг, 16.01.2025, 04:13

Каталог статей


Константы

Все константы хранятся в одной таблице, которая состоит из 2 строк и произвольного количества столбцов. Из этого следует, что не стоит часто менять константы в коде, так как одну строку не могут одновременно обрабатывать несколько пользователей.

Можно создать одну форму для задания констант. Для этого на ветке «Константы» в контекстном меню выбираем соответствующий пункт. В итоге создается общая форма. 

Модифицировать значение можно в событии «ПередЗаписью». События срабатывают для всех констант, размещенных на форме.
Программное изменение константы на сервере:
    Зн = Константы.КоличествоВыходныхВГоду.Получить();
    Константы.КоличествоВыходныхВГоду.Установить(Зн+12);

Модуль менеджера значений

Последовательность выполнения процедур:

  1. Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) - срабатывает только при интерактивной изменении константы. При программном изменении константы не срабатывает
  2. Процедура ПередЗаписью(Отказ)
  3. Процедура ПриЗаписи(Отказ)

Получить значение константы в модуле менеджера значений можно через свойство "Значение". (Если Значение = ...)

КонстантыНабор лучше использовать исходя из целей оптимизации, так как запись и чтение происходит за одно обращение к серверу.
Пример обращения:
    Набор = Константы.СоздатьНабор();
    Набор.Прочитать();
    Сообщить(Набор.КоличествоВыходныхВГоду);    
    Набор.ТочностьРасчета=2;
    Набор.Записать();

Шаблоны операций с константами:

    // прочитать значение константы      
    Результат = Константы.ПрефиксНумерации.Получить();
    //Результат = Константы.ПрефиксНумерации.Получить();
    
    // установить значение константы ПрефиксНумерации равным ЦБ.
    Константы["ПрефиксНумерации"].Установить("ЦБ");
    
    // очистить значения всех констант.
    Для Каждого ОчереднаяКонстанта Из  Константы Цикл
        ОчереднаяКонстанта.Установить(Неопределено);
    КонецЦикла;
    
    // установить новые значения нескольких констант.
    Набор = Константы.СоздатьНабор("Руководитель, Бухгалтер");
    Набор.Руководитель = "Николаев Денис Павлович";
    Набор.Бухгалтер = "Николаева Людмила Сергеевна";
    Набор.Записать();
    
    //вывести значения всех констант, существующих в конфигурации.
    Для Каждого ОчереднаяКонстанта Из  Константы Цикл
        ИмяКонст = ОчереднаяКонстанта.СоздатьМенеджерЗначения().Метаданные().Имя;
        ЗначениеКонст = ОчереднаяКонстанта.Получить();
        Сообщить("Константа "+ ИмяКонст +" = "+ ЗначениеКонст);
    КонецЦикла;
 

Последовательность событий

Заливкой выделены события, выполняющиеся в транзакции записи.

Категория: Объекты конфигурации и типы данных | Добавил: leshic (11.05.2020)
Просмотров: 542 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Вход на сайт
Поиск
Категории раздела
СКД [50]
Регистры [7]
Формы [47]
Администрирование [41]
Запросы [10]
Объекты конфигурации и типы данных [20]
Взаимодействие с другими базами, приложениями и источниками данных [16]
Программирование [41]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0