Для работы с системными настройками в Creatio 8 Atlas используется сервис sdk.SysSettingsService.
Чтобы управлять значением системной настройки:
- На шаге 1 алгоритма кастомизации страницы Freedom UI при необходимости добавьте на страницу надпись, в которой планируется отобразить значение системной настройки.
-
На шаге 2 алгоритма кастомизации страницы Freedom UI настройте управление значением системной настройки на странице.
-
Подключите сервис системных настроек sdk.SysSettingsService. Для этого добавьте в AMD-модуль зависимость @creatio-devkit/common.
Пример добавления зависимости в AMD-модуль UsrAppClientSchemaName приведен ниже.
Зависимости AMD-модуля - В секцию viewModelConfig добавьте атрибут, который хранит информацию. Добавление атрибута аналогично описанному в алгоритме настройки условия отображения поля.
- В секции viewConfigDiff привяжите свойство caption к соответствующему атрибуту модели. Привязка свойства аналогична описанной в алгоритме настройки условия отображения поля. Вместо свойства visible используйте свойство caption, которое отвечает за текст отображаемый в элементе.
-
В секцию handlers добавьте пользовательскую реализацию обработчика системного запроса crt.HandlerViewModelInitRequest. Обработчик выполняется при инициализации View модели.
- Создайте экземпляр сервиса системных значений из @creatio-devkit/common.
- Загрузите значение системной настройки и запишите его в соответствующий атрибут.
- Реализуйте логику изменения значения системной настройки и обновите значение соответствующего атрибута.
Пример обработчика запроса crt.HandleViewModelInitRequest с результатом расчета someVariable, который записан в атрибут SomeAttributeName, представлен ниже.
Секция handlers
-
Подробный пример настройки управления значением системной настройки приведен в статье Управлять значениями системных настроек на странице.
1. Настроить интерфейс страницы
- Используя шаблон Данные и бизнес-процессы (Records & business processes), создайте пользовательское приложение Requests. Для этого воспользуйтесь инструкцией, которая приведена в статье Создать пользовательское приложение.
-
Добавьте системную настройку, которая хранит номер заявки.
- На странице приложения Requests нажмите Запустить приложение (Run app).
- Перейдите в дизайнер системы по кнопке . В блоке Настройка системы (System setup) перейдите по ссылке Системные настройки (System settings).
- На панели инструментов раздела нажмите Добавить настройку (Add setting).
-
Заполните свойства системной настройки:
- Название (Name) — "Номер заявки" ("Request number").
- Код (Code) — "UsrRequestLastNumber".
- Тип (Type) — выберите "Целое число" ("Integer").
- Значение по умолчанию (Default value) — введите "0".
-
Добавьте системную настройку, которая хранит название города.
- На панели инструментов раздела нажмите Добавить настройку (Add setting).
-
Заполните свойства системной настройки:
- Название (Name) — "Город" ("City").
- Код (Code) — "UsrDefaultCity".
- Тип (Type) — выберите "Справочник" ("Lookup").
- Справочник (Lookup) — выберите "Город" ("City").
- Значение по умолчанию (Default value) — выберите "New York" ("Нью-Йорк").
-
Перейдите на страницу приложения Requests и в рабочей области откройте страницу Страница записи Requests (Requests form page).
Поле Название (Name) по умолчанию добавлено на страницу Страница записи Requests (Requests form page).
-
Добавьте надпись номера заявки.
- В рабочую область Freedom UI дизайнера добавьте компонент типа Надпись (Label).
-
На панели действий Freedom UI дизайнера нажмите на кнопку и на панели настройки заполните свойства надписи:
- Текст (Text) — "Номер заявки" ("Request number").
- Стиль (Style) — выберите "Описание" ("Caption").
- Цвет текста (Text color) — выберите серый цвет.
-
Аналогично добавьте надписи:
- Значения системной настройки номера заявки.
- Города.
- Значения системной настройки города.
Свойства надписей, которые необходимо добавить, приведены в таблице ниже.
Элемент Свойство Значение свойства Надпись, которая содержит значение системной настройки номера заявки Текст (Text) "Номер заявки (значение)" ("Request number (value)") Стиль (Style) Выберите "Обычный текст" ("Body text") Надпись города Текст (Text) "Город" ("City") Стиль (Style) Выберите "Описание" ("Caption") Цвет текста (Text color) Выберите серый цвет Надпись, которая содержит значение системной настройки города Текст (Text) "Город (значение)" ("City (value)") Стиль (Style) Выберите "Обычный текст" ("Body text") - На панели действий Freedom UI дизайнера нажмите на кнопку . После сохранения настроек страницы открывается исходный код страницы Freedom UI.
2. Управлять значениями системных настроек
Бизнес-логика настраивается в дизайнере клиентского модуля. В этом примере настроим управление значениями системных настроек.
-
Подключите сервис системных настроек sdk.SysSettingsService. Для этого добавьте в AMD-модуль зависимость @creatio-devkit/common.
-
В секцию viewModelConfig добавьте атрибуты:
- UsrDefaultCity — хранит информацию о значении системной настройки UsrDefaultCity.
- UsrRequestLastNumber — хранит информацию о значении системной настройки UsrRequestLastNumber.
-
В секции viewConfigDiff измените значения свойств:
- caption — для элемента RequestNumberValue. Привяжите свойство к значению атрибута $UsrRequestLastNumber. Свойство caption отвечает за текст, который содержит элемент.
- caption — для элемента CityValue. Привяжите свойство к значению атрибута $UsrDefaultCity.
-
В секции handlers добавьте пользовательскую реализацию обработчика системного запроса crt.HandlerViewModelInitRequest. Обработчик выполняется при инициализации View модели.
- Создайте экземпляр сервиса системных значений из @creatio-devkit/common.
- Получите значение системной настройки UsrDefaultCity и запишите его в атрибут UsrDefaultCity.
- Получите состояние страницы.
- Получите значение системной настройки UsrRequestLastNumber.
- При создании новой или копировании существующей записи отправьте запрос на обновление значения системной настройки UsrRequestLastNumber (увеличьте ее на 1).
- Обновите значение атрибута UsrRequestLastNumber.
Полный исходный код схемы страницы - На панели инструментов дизайнера клиентского модуля нажмите Сохранить (Save).
Результат выполнения примера
Чтобы посмотреть результат выполнения примера при создании новой заявки:
- Перейдите на страницу приложения Requests и нажмите Запустить приложение (Run app).
- На панели инструментов приложения Requests нажмите Добавить (New).
В результате выполнения примера на странице записи пользовательского раздела Requests отображаются:
- Город пользователя. В качестве значения используется значение по умолчанию системной настройки Город (City, код UsrDefaultCity).
- Номер последней созданной записи в разделе Requests, который увеличен на 1. В качестве значения используется значение системной настройки Номер заявки (Request number, код UsrRequestLastNumber), которое увеличивается на 1 при создании новой заявки.
Чтобы посмотреть результат выполнения примера при копировании существующей заявки:
- Предварительно добавьте заявку Request's name.
- В строке заявки Request's name в реестре раздела нажмите —> Копировать (Copy).
В результате выполнения примера на странице скопированной записи пользовательского раздела Requests отображаются:
- Город пользователя. В качестве значения используется значение по умолчанию системной настройки Город (City, код UsrDefaultCity).
- Номер последней созданной записи в разделе Requests, который увеличен на 1. В качестве значения используется значение системной настройки Номер заявки (Request number, код UsrRequestLastNumber), которое увеличивается на 1 при копировании существующей заявки.