<< Click to Display Table of Contents >> Разработка > Программный код > Функции Создание функций инициализации |
Инициализация – это процесс приведения системы в состояние готовности к использованию. Функции инициализации модулей базового решения Directum RX запускаются автоматически после установки или обновления системы и используются для ее первоначальной настройки. Например, с помощью функций инициализации происходит:
•заполнение справочников Валюты, Виды документов, Правила согласования значениями по умолчанию;
•создание предопределенных групп пользователей и ролей – «Делопроизводители», «Ответственные за договоры», «Регистраторы входящих документов» и другие;
•выдача необходимых прав пользователям, группам или ролям на типы справочников, типы документов, вычисляемые папки и отчеты.
В среде разработки вы можете перекрыть стандартные модули и переопределить их функции инициализации, а также добавить функции инициализации для своих модулей.
Функции инициализации выполняются на веб-сервере и создаются только в редакторах модулей.
Чтобы добавить логику инициализации:
1.В редакторе модуля в группе «События» установите флажок рядом с событием Инициализация:
2.В группе «Функции» перейдите по ссылке Добавить рядом с функциями инициализации. Откроется редактор, в котором сгенерируется следующий код:
public override void Initializing(Sungero.Domain.ModuleInitializingEventArgs e)
{
}
/// <summary>
///
/// </summary>
public void Function1()
{
}
3.Напишите код для функции Function1(). Например, программно создайте сущности или выдайте права доступа по умолчанию на вычисляемые папки модуля. Рекомендуется задавать в программном коде функций условия для проверки уникальности создаваемых данных.
Совет. Чтобы при публикации отображались сообщения о порядке инициализации модулей, добавьте в код события или в функции инициализации метод InitializationLogger.Debug("Текст сообщения"). В тексте сообщения напишите, что будет выполняться в данный момент, например, «Создание роли «Инициатор закупки».
4.Вызовите добавленную функцию в событии Initializing().
Если функций несколько, то вызовите их в том порядке, в котором они должны выполняться.
Примечание. Примеры создания и вызова функций инициализации см. в разделах «Пример создания вычисляемой папки», «Инициализация модуля», «Добавление роли согласования».
5.Опубликуйте решения, для модулей которых были добавлены функции инициализации, и запустите инициализацию по кнопке Запустить инициализацию на панели инструментов.
6.В окне вывода и в строке состояния среды разработки отобразятся сообщения о порядке инициализации модулей:
ВАЖНО. Сперва инициализацию проходят все модули, у которых нет зависимостей. Далее последовательно выполняется инициализация модулей, работа которых связана с работой других модулей. Например, модуль 1 зависит от модулей 0 и 2. А модуль 2 зависит только от модуля 0. В результате порядок инициализации будет следующим: Модуль 0, Модуль 2, Модуль 1.
7.Если при выполнении инициализации возникнет ошибка, появится соответствующее сообщение. Все предопределенные данные, созданные до момента ошибки, будут удалены.
Чтобы устранить ошибки, выполните отладку. Для этого установите точку останова и последовательно на панели инструментов нажмите на кнопки Отладить веб-сервер, Запустить инициализацию.
8.Проверьте результат выполнения функций инициализации в локальной системе Directum RX.
Инициализация разработанных модулей в продуктивной системе Directum RX выполняется с помощью инструмента Directum Launcher.
© Компания Directum, 2024 |