Добавление детали [Файлы и ссылки] в раздел мобильного приложения (версия 7.11.2 и выше)
Glossary Item Box
ВАЖНО Данная статья актуальна для bpm'online версии 7.11.2 и выше, а также для мобильного приложения версии 7.11.3 и выше. |
Общие сведения
Деталь [Файлы и ссылки] ([Attachments]) предназначена для хранения файлов и ссылок на web-ресурсы, которые связаны с записью раздела. Деталь доступна во всех разделах bpm'online (см. "Файлы и примечания") и в разделе [Продажи] ([Opportunities]) мобильного приложения.
Деталь [Файлы и ссылки] ([Attachments]) в мобильном приложении реализуется на базе встроенной детали. Встроенная деталь предназначена для удобства редактирования данных, поскольку нет необходимости в переходе на отдельную страницу.
Чтобы добавить деталь на страницу записи раздела мобильного приложения, необходимо выполнить следующие шаги:
1. Создать схему настройки раздела, в которой определить встроенную деталь на основе объекта для детали [Файлы и ссылки] ([Attachments]) раздела.
2. Добавить информацию о новых схемах в манифест мобильного приложения.
Описание кейса
На страницу редактирования записи раздела [Контакты] ([Contacts]) мобильного приложения добавить деталь [Файлы и ссылки].
Алгоритм выполнения кейса
1. Создать схему настройки раздела, в которой определить встроенную деталь
Для этого необходимо в разделе [Конфигурация] (Configuration) в пользовательском пакете создать новую схему модуля со следующими значениями свойств:
- [Заголовок] ([Title]) — "UsrMobileContactModuleConfig".
- [Название] ([Name]) — "UsrMobileContactModuleConfig".
- [Пакет] ([Package]) — название пользовательского пакета, в котором ведется разработка.
В созданную схему нужно добавить три локализуемые строки (рис. 1), свойства которых приведены в таблице 1.
Рис. 1. — Добавление локализуемой строки в дизайнере схемы модуля
Табл. 1. — Свойства локализуемых строкЛокализуемая строка | Значение | Описание |
---|---|---|
ContactRecordPage_contactFilesDetail_Title | Файлы и ссылки (Attachments) | Заголовок детали. |
ContactRecordPage_contactFilesDetail_Data | Файл (File) | Заголовок поля для файла. |
ContactRecordPage_contactFilesDetail_Link | Ссылка (Link) | Заголовок поля для ссылки. |
На вкладку [Исходный код] ([Source Code]) схемы в дизайнере модуля необходимо добавить следующий исходный код:
// Добавление встроенной детали. Terrasoft.sdk.RecordPage.addEmbeddedDetail("Contact", { name: "contactFilesDetail", position: 5, title: "ContactRecordPage_contactFilesDetail_Title", modelName: "ContactFile", primaryKey: "Id", foreignKey: "Contact", displaySeparator: false, generator: { xclass: "Terrasoft.FileAndLinksEmbeddedDetailGenerator", fileModel: "ContactFile" } }, // Массив конфигурационных объектов колонок детали. [ { name: "Data", displayColumn: "Name", label: "ContactRecordPage_contactFilesDetail_Data", placeHolder: "ContactRecordPage_contactFilesDetail_Data" }, { name: "Type", hidden: true }, { name: "Name", label: "ContactRecordPage_contactFilesDetail_Link", placeHolder: "ContactRecordPage_contactFilesDetail_Link", viewType: Terrasoft.ViewTypes.Url } ]); // Добавление бизнес-правил по умолчанию. Terrasoft.FileAndLinksEmbeddedDetailGenerator.addDefaultBusinessRules("ContactFile");
После внесения изменений схему необходимо сохранить.
Здесь выполняется вызов метода addEmbeddedDetail(), которому в качестве аргументов передаются:
- Название основного объекта раздела, в который будет добавлена деталь.
- Конфигурационный объект свойств детали.
- Массив конфигурационных объектов свойств колонок детали.
Также выполняется метод добавления бизнес-правил по умолчанию для схемы ContactFile.
2. Добавить информацию о новых схемах в манифест мобильного приложения
Чтобы внесенные изменения были применены, необходимо добавить информацию о них в манифест мобильного приложения. Для этого необходимо в пользовательском пакете создать расширяющую схему MobileApplicationManifestDefaultWorkplace. Подробнее о манифесте можно узнать из статьи "Манифест мобильного приложения". Как создать замещающую схему, подробно описано в статье "Создание клиентской схемы".
В дизайнере модуля на вкладку [Исходный код] ([Source Code]) расширяющей схемы MobileApplicationManifestDefaultWorkplace необходимо добавить следующий исходный код:
{ "SyncOptions": { "SysSettingsImportConfig": [], // Настройка импорта необходимых моделей. "ModelDataImportConfig": [ // Тип файла. { "Name": "FileType", "SyncColumns": [] }, // Объект детали [Файлы и ссылки] раздела [Контакты]. { "Name": "ContactFile", "SyncByParentObjectWithRights": "Contact", "SyncColumns": [ "Contact", "Type", "Data", "Size" ] } ] }, // Используемые модели. "Models": { "Contact": { // Конфигурирование режима просмотра. "Preview": "UsrMobileContactPreviewPage", // Конфигурирование режима редактирования. "Edit": "UsrMobileContactEditPage", "RequiredModels": [ "ContactFile", "FileType", "KnowledgeBase", "KnowledgeBaseFile" ], // Конфигурирование раздела. "ModelExtensions": [ "UsrMobileContactModuleConfig" ] } } }
После внесения изменений схему нужно сохранить.
В результате выполнения кейса на странице редактирования записи раздела [Контакты] ([Contacts]) мобильного приложения появится [Файлы и ссылки] ([Attachments]) (рис. 2).
Рис. 2. — Деталь [Файлы и ссылки] ([Attachments]) на странице редактирования контакта