Отключение и включение фильтрации в оффлайн-выборе по ответственному (мобильное приложение)
Вопрос
В разделе Активности видны только те записи, на которые у пользователя есть права и где он является ответственным. Как отключить фильтрацию по ответственному ? И где она “живёт”?
Записи другого ответственного можно было посмотреть, нажав кнопку. Заметили, что она активна только при Online режиме работы приложения. Как сделать так, что бы она стала активной и в Offline?
Ответ
В offline-режиме работы приложения настроена фильтрация Активности по ответственному для того, чтобы не синхронизировать большой объем данных в локальную базу, т.к. этот процесс занимает длительное время.
Важно: Мы не рекомендуем отключать фильтрацию по ответственному для offline-режима.
Для настройки/удаления фильтров используется схема манифеста. Статья о настройке фильтров в манифесте https://academy.terrasoft.ru/documents/technic-sdkmob/7-12/manifest-svoystva-sinhronizacii-prilozheniy
Пример удаления фильтров по участнику:
"Remove": { "SyncOptions": { "ModelDataImportConfig": [ { "Name": "Activity", "QueryFilter": null }, { "Name": "ActivityParticipant", "QueryFilter": null } ] } }
Для того, что бы кнопка выбора ответственного стала активной, необходимо расширить класс Terrasoft.configuration.controller.ActivityGridPage, а именно метод initializeOwnerButton. Пример:
initializeOwnerButton: function() { this.callParent(arguments); if (!Terrasoft.ApplicationUtils.isOnlineMode()) { var view = this.getView(); var ownerButton = view.getOwnerButton(); ownerButton.on("tap", this.onOwnerButtonTap, this); } }