Creatio development guide
Это документация Creatio версии 7.11.0. Мы рекомендуем использовать новую версию документации.

Манифест. Свойства данных и бизнес-логики

Glossary Item Box

Общие положения

Условная группа свойств конфигурационного объекта манифеста. Содержит свойства, в которых описываются импортируемые данные, а также пользовательская бизнес-логика обработки этих данных в мобильном приложении. Подробнее о манифесте мобильного приложения и всех его свойствах можно узнать в статье "Манифест мобильного приложения".

Свойство Models

Содержит импортируемые модели приложения. Каждая модель в свойстве описывается конфигурационным объектом с соответствующим именем. Свойства конфигурационного объекта модели представлены в табл. 1.

Табл. 1. Свойства конфигурационного объекта модели.

Свойство Значение
Grid Название схемы страницы реестра модели. Cтраница будет сгенерирована автоматически с именем Mobile[Название_модели][Тип_страницы]Page. Не обязателен для заполнения.
Preview Название схемы страницы просмотра элемента модели. Cтраница будет сгенерирована автоматически с именем Mobile[Название_модели][Тип_страницы]Page. Не обязателен для заполнения.
Edit Название схемы страницы редактирования элемента модели. Cтраница будет сгенерирована автоматически с именем Mobile[Название_модели][Тип_страницы]Page. Не обязателен для заполнения.
RequiredModels Названия моделей, от которых зависит данная модель. Необязательное свойство. Здесь перечисляются все модели, колонки которых добавляются в текущую модель, а также колонки, на которые у текущей модели есть внешние ключи.
ModelExtensions Расширения модели. Необязательное свойство. Представляет собой массив названий схем, в которых реализуются дополнительные настройки для модели (например, добавление в модель бизнес-правил, событий, значений по умолчанию для полей и т.д.).
PagesExtensions Расширения страниц модели. Необязательное свойство. Представляет собой массив названий схем, в которых реализуются дополнительные настройки для различных типов страниц модели (добавление деталей, установка заголовков и т.д.).

Пример

Добавить в манифест конфигурацию следующих моделей:

  1. Контакт — указать названия схем страниц реестра, просмотра и редактирования, требуемые модели, модули расширения модели и страниц модели.
  2. Адрес контакта — указать только модуль расширения модели.

Свойство 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"
]

Смотрите также

© Terrasoft 2002-2018.

Был ли данный материал полезен?

Как можно улучшить эту статью?