Манифест. Свойства данных и бизнес-логики
Glossary Item Box
Общие положения
Условная группа свойств конфигурационного объекта манифеста. Содержит свойства, в которых описываются импортируемые данные, а также пользовательская бизнес-логика обработки этих данных в мобильном приложении. Подробнее о манифесте мобильного приложения и всех его свойствах можно узнать в статье "Манифест мобильного приложения".
Свойство Models
Содержит импортируемые модели приложения. Каждая модель в свойстве описывается конфигурационным объектом с соответствующим именем. Свойства конфигурационного объекта модели представлены в табл. 1.
Табл. 1. Свойства конфигурационного объекта модели.
Свойство | Значение |
---|---|
Grid | Название схемы страницы реестра модели. Cтраница будет сгенерирована автоматически с именем Mobile[Название_модели][Тип_страницы]Page. Не обязателен для заполнения. |
Preview | Название схемы страницы просмотра элемента модели. Cтраница будет сгенерирована автоматически с именем Mobile[Название_модели][Тип_страницы]Page. Не обязателен для заполнения. |
Edit | Название схемы страницы редактирования элемента модели. Cтраница будет сгенерирована автоматически с именем Mobile[Название_модели][Тип_страницы]Page. Не обязателен для заполнения. |
RequiredModels | Названия моделей, от которых зависит данная модель. Необязательное свойство. Здесь перечисляются все модели, колонки которых добавляются в текущую модель, а также колонки, на которые у текущей модели есть внешние ключи. |
ModelExtensions | Расширения модели. Необязательное свойство. Представляет собой массив названий схем, в которых реализуются дополнительные настройки для модели (например, добавление в модель бизнес-правил, событий, значений по умолчанию для полей и т.д.). |
PagesExtensions | Расширения страниц модели. Необязательное свойство. Представляет собой массив названий схем, в которых реализуются дополнительные настройки для различных типов страниц модели (добавление деталей, установка заголовков и т.д.). |
Пример
Добавить в манифест конфигурацию следующих моделей:
- Контакт — указать названия схем страниц реестра, просмотра и редактирования, требуемые модели, модули расширения модели и страниц модели.
- Адрес контакта — указать только модуль расширения модели.
Свойство Models конфигурационного объекта манифеста должно выглядеть следующим образом:
// Импортируемые модели. "Models": { // Модель "Контакт" "Contact": { // Схема страницы реестра. "Grid": "MobileContactGridPage", // Схема страницы просмотра. "Preview": "MobileContactPreviewPage", // Схема страницы редактирования. "Edit": "MobileContactEditPage", // Названия моделей, от которых зависит модель "Контакт". "RequiredModels": [ "Account", "Contact", "ContactCommunication", "CommunicationType", "Department", "ContactAddress", "AddressType", "Country", "Region", "City", "ContactAnniversary", "AnniversaryType", "Activity", "SysImage", "FileType", "ActivityPriority", "ActivityType", "ActivityCategory", "ActivityStatus" ], // Расширения модели. "ModelExtensions": [ "MobileContactModelConfig" ], // Расширения страниц модели. "PagesExtensions": [ "MobileContactRecordPageSettingsDefaultWorkplace", "MobileContactGridPageSettingsDefaultWorkplace", "MobileContactActionsSettingsDefaultWorkplace", "MobileContactModuleConfig" ] }, // Модель "Адреса контактов". "ContactAddress": { // Страницы реестра, просмотра и редактирования сгенерированы автоматически. // Расширения модели. "ModelExtensions": [ "MobileContactAddressModelConfig" ] } }
Свойство PreferedFilterFuncType
Свойство предназначено для явного определения операции, которая будет использоваться при поиске и фильтрации данных в реестре (в разделах, деталях, справочниках). Значение для свойства задается перечислением Terrasoft.FilterFunctions. Перечень функций фильтрации приведен в таблице 2.
Табл. 2. Функции фильтрации (Terrasoft.FilterFunctions)
Функция | Значение |
---|---|
SubStringOf | Определяет, является ли строка, переданная в качестве аргумента, подстрокой колонки property. |
ToUpper | Приводит значения колонки, заданной в property, к верхнему регистру. |
EndsWith | Проверяет, оканчивается ли значение колонки property значением, переданным в качестве аргумента. |
StartsWith | Проверяет, начинается ли значение колонки property значением, переданным в качестве аргумента. |
Year | Возвращает год по значению колонки property. |
Month | Возвращает месяц по значению колонки property. |
Day | Возвращает день по значению колонки property. |
In | Проверяет вхождение значения колонки property в диапазон значений, переданных в качестве аргумента функции. |
NotIn | Проверяет невхождение значения колонки property в диапазон значений, переданных в качестве аргумента функции. |
Like | Определяет, совпадает ли значение колонки property с заданным шаблоном. |
Если данное свойство явно не инициализировано в манифесте, то по умолчанию для поиска и фильтрации данных используется функция Terrasoft.FilterFunctions.StartWith, так как это обеспечивает использование соответствующих индексов в таблицах базы данных SQLite.
Пример
Для поиска данных использовать функцию поиска подстроки.
Свойство PreferedFilterFuncType конфигурационного объекта манифеста должно выглядеть следующим образом:
// Для поиска данных используется функция поиска подстроки. "PreferedFilterFuncType": "Terrasoft.FilterFunctions.SubStringOf"
ВАЖНО Если в секции PreferedFilterFuncType в качестве функции фильтрации данных задается функция, отличная от Terrasoft.FilterFunctions.StartWith, то при поиске в таблицах БД индексы использоваться не будут. |
Свойство CustomSchemas
Свойство предназначено для подключения к мобильному приложению дополнительных схем (пользовательских схем с исходным кодом, написанным на JavaScript), расширяющих возможности приложения. Это могут быть, например, дополнительные классы, реализованные разработчиком в рамках проекта, либо утилитные классы, реализующие служебную функциональность, упрощающую работу разработчика, и т.д.
Значение свойства задается массивом с именами подключаемых пользовательских схем.
Пример
Подключить дополнительные пользовательские схемы регистрации действий и утилит.
// Подключение дополнительных пользовательских схем. "CustomSchemas": [ // Пользовательская схема регистрации действий. "MobileActionCheckIn", // Пользовательская схема утилит. "CustomMobileUtilities" ]