При настройке раздела "Активности" основного рабочего места в мобильном приложении получаю ошибку при попытке открыть активность на просмотр в мобильном приложении. Когда там было 27 полей тогда выдавало ошибку что в сегменте не может быть больше 21 поля, после изменения до 21 поля пишет что не больше 13. так все же сколько можно использовать молей для активности (при этом в других разделах указывает ограничение 15 полей и с 15 полями все работает без ошибок). При этом в рабочем месте "Полевый продажи" мобильного приложения такого ограничения нет и там без ошибок отображается 27 полей.

Изображение удалено.

 

Нравится

2 комментария

Здравствуйте!

Данное сообщение означает что на карточку выведено 13 и более справочных полей.

К сожалению, протокол ODATA который используется для обмена данными между мобильным приложением и bpm'online накладывает такое ограничение.

Необходимо уменьшить количество справочных полей на карточке до 12. 

 

Гриценко Игорь,

А как реализовано это в полевых продажах? Если зайти на рабочее место полевых продаж в мобильном приложении - там все поля (больше 15) отображаются без ошибки.

Уменьшил до 12 полей - ошибка та же, при этом только в разделе "Активности" такая ошибка

Показать все комментарии

Коллеги нужна помощь.

Хочу сделать деталь только читаемой и редактируемой, делаю следующим образом:

Создал модуль WaMobileRemoveDeleteActionModuleConfig

 

Terrasoft.sdk.Details.setChangeModes("OpportunityContact", "OpportunityContactDetailV2StandardDetail", 
		[Terrasoft.ChangeModes.Create, Terrasoft.ChangeModes.Update]);

В манифест добавил: http://prntscr.com/mkivke

Но при выполнении кода почему то не находит конфиг детали: http://prntscr.com/mkiwpg

Что делаю не так?

 

Нравится

1 комментарий
Лучший ответ

Если не ошибаюсь, то первым аргументом должно быть название основной модели, на которую ссылается деталь, т.е. в данном случае Opportunity, если это страница продажи

Если не ошибаюсь, то первым аргументом должно быть название основной модели, на которую ссылается деталь, т.е. в данном случае Opportunity, если это страница продажи

Показать все комментарии

Добрый день.

Возникла необходимость добавить проверку значения поля, например, чтобы оно соответствовало определённому регулярному выражению. Делал это через Custom бизнес-правило. Для установки валидности поля использовался код:

record.changeProperty("ColumnName", {
    isValid: {
        value: isValid,
        message: columnMessage
    }
});

Но из-за того, что поле является обязательным эта проверка перекрывается базовым правилом обязательности поля, которое добавляется автоматически. 

Есть возможность как-то решить данную проблему, желательно не модифицируя сам объект.

Нравится

3 комментария

Если обязательность проверяется до своего правила, то это логично, ведь пустое поле также не соответствует ему.

Зверев Александр,

Обязательность дефолтными правилаи проверяется как раз после выполнения пользовательских правил. Из-за чего моя проверка не учитывается: если значение имеет неверный формат, но поле заполнено, то после отработки всех правил оно всё равно считается верно заполненным.

У своего правила можно задать position, чтобы выполнялось после других.

Показать все комментарии

Здравствуйте! А предусмотрена ли возможность заблокировать поле только на странице с типом Preview, и разрешить его редактирование на странице с типом Edit?

В бизнес-правилах не нашел такого параметра, также смотрел в сторону ModuleConfig. В результате поле блокируется на обеих типах страниц

Нравится

1 комментарий

Здравствуйте! А как настроить фильтрацию в мобильном приложении с применением обратных связей или такая возможность отсутсвует?

Нравится

1 комментарий

Стандартные возможности фильтрации мобильной версии менее развиты, чем у веб-версии. Тут подобное пытались отфильтровать кодом. А вообще, обещают добавить возможность использования на мобильном ранее настроенных в веб-версии динамических групп с их условиями фильтрации.

Показать все комментарии

Вопрос:

Есть автогенерируемая страница, в которой пользователю задается вопрос, и он определяет "ветвь" в бизнес-процессе. Надо как-то эту автогенерируемую страницу вытянуть/отобразить в мобильном приложении. Как это сделать?

Ответ:

К сожалению, на данный момент мобильное приложение не поддерживает функционал работы с пользовательскими элементами в бизнес-процессах. Отображать страницы "Автогенерируемая" "Открыть страницу редактирования", "Выполнить задачу" к сожалению, возможно только в браузере. Остальная логика (стартовые сигналы, задание-сценарий и т.д) будет отрабатываться на стороне сервера. Например, при создании записи.

Нравится

Поделиться

0 комментариев
Показать все комментарии

Есть правило видимости, делать поле видимым в зависимости от значения другого поля.

Все работает

Terrasoft.sdk.Model.addBusinessRule("Account", {

    ruleType: Terrasoft.RuleTypes.Visibility,

    conditionalColumns:

        [

            {name: "UsrStage", value: "a5d0ceac-3ef4-45e0-be25-af3a1190f6f9"}

        ],

        triggeredByColumns: ["UsrStage"],

        dependentColumnNames: ["UsrInstalationDate"]

    }

);

Как сделать такое же правило, но для признака "обязательно для заполнения".

То есть это же самое поле, при таких же условиях должно становиться еще и обязательным для заполнения.

Проблема в том, что для мобильной версии не совсем понятно как настраивать правила. В документации описания и примеры не очень понятные

 

 

Нравится

4 комментария
Лучший ответ

Requirement правило не поможет в данном случае. Нужно использовать Custom. Что-то вроде этого.

Terrasoft.sdk.Model.addBusinessRule("UsrMyModel", {
    name: "RuleName",
    ruleType: Terrasoft.RuleTypes.Custom,
    triggeredByColumns: [/*Список колонок, которые активируют правило*/],
    events: [Terrasoft.BusinessRuleEvents.Load, Terrasoft.BusinessRuleEvents.ValueChanged, Terrasoft.BusinessRuleEvents.Save],
    executeFn: function(record, rule, column, customData, callbackConfig) {
        var hasError = false; //булевая переменная, указывающая корректность поля.
        var errorMessage = "Необходимо указать значение."; // Сообщение об ошибке.
        //Выполняем нужный код, определяющий наличие ошибки
        record.changeProperty("UsrMyColumn", {
            isValid: {
                value: hasError,
                message: errorMessage
            }
        });
        Ext.callback(callbackConfig.success, callbackConfig.scope);
    }
});

 

Обязательность задаётся как Terrasoft.RuleTypes.Requirement. В конфигурации есть много примеров использования. Например, в MobileContactAddressModelConfig так:

Terrasoft.sdk.Model.addBusinessRule("ContactAddress", {
    name: "ContactAddressRequirementRule",
    ruleType: Terrasoft.RuleTypes.Requirement,
    requireType: Terrasoft.RequirementTypes.OneOf,
    triggeredByColumns: ["Address", "City", "Country"],
    position: 3
});

 

Поясните, что сделает это правило? Все колонки указанные в triggeredByColumns буду обязательные? Мне примерно также нужно, только в зависимости от значения определенного поля.

Requirement правило не поможет в данном случае. Нужно использовать Custom. Что-то вроде этого.

Terrasoft.sdk.Model.addBusinessRule("UsrMyModel", {
    name: "RuleName",
    ruleType: Terrasoft.RuleTypes.Custom,
    triggeredByColumns: [/*Список колонок, которые активируют правило*/],
    events: [Terrasoft.BusinessRuleEvents.Load, Terrasoft.BusinessRuleEvents.ValueChanged, Terrasoft.BusinessRuleEvents.Save],
    executeFn: function(record, rule, column, customData, callbackConfig) {
        var hasError = false; //булевая переменная, указывающая корректность поля.
        var errorMessage = "Необходимо указать значение."; // Сообщение об ошибке.
        //Выполняем нужный код, определяющий наличие ошибки
        record.changeProperty("UsrMyColumn", {
            isValid: {
                value: hasError,
                message: errorMessage
            }
        });
        Ext.callback(callbackConfig.success, callbackConfig.scope);
    }
});

 

Бершеда Д. Н.,

Спасибо за ответ.

Можно, пожалуйста, на простом примере объяснить?

 

Показать все комментарии

Доброго времени!

Возникла необходимость фильтрации записей в детали "UsrProductInAccount" раздела Контрагенты "Account". Данная деталь отображена в манифесте

"Models": {
        "UsrProductInAccount": {
            "RequiredModels": [
                "UsrProductInAccount",
                "Account",
                "Product",
                "SocialMessage"
            ],
            "ModelExtensions": [],
            "PagesExtensions": [
                "UsrMobileUsrProductInAccountActionsSettingsFieldForceWorkplace",
                "UsrMobileUsrProductInAccountGridPageSettingsFieldForceWorkplace",
                "UsrMobileUsrProductInAccountRecordPageSettingsFieldForceWorkplace",
                "UsrMobileProductInAccountConfig"
            ]
        }
    }

Созданный модуль "UsrMobileProductInAccountConfig" отобразил в манифесте и прописал сам фильтр. Фильтр исключает все записи с заполненным реквизитом "UsrDateSale".

Terrasoft.sdk.Module.addFilter("UsrProductInAccount", Ext.create("Terrasoft.Filter", {
    name: "UsrProductInAccountFilter",
    type: Terrasoft.FilterTypes.Group,
    subfilters: [
            Ext.create("Terrasoft.Filter", {
                property: "UsrDateSale",
                    // Оператор отрицания
                isNot: false,
                    // Не заполнено
                value: null
            })
        ]
    }));

Выполняю синхронизацию. Результат не получен. В чём может быть причина?

Спасибо.

Нравится

1 комментарий

Алексей, здравствуйте!

Это не раздел (Terrasoft.sdk.Module), а стандартная деталь. Соответственно, для нее нужно использовать Terrasoft.sdk.Details. А именно нужно добавить в схему UsrMobileAccountModuleConfig след. код:

 
Terrasoft.sdk.Details.addFilter("Account", "UsrSchema4DetailStandardDetail", {
   property: "UsrDateSale",
   isNot: false,
   value: null
});

В результате к существующей фильтрации детали по родительской записи (по контрагенту) добавится необходимая клиенту фильтрация по колонке UsrDateSale.

Показать все комментарии

Здравствуйте.

 

Каким образом возможно переименовать название поля в Мобильном приложении?

Изображение удалено.

Заранее спасибо.

Нравится

2 комментария

Точно не помню, но попробуйте посмотреть в Дизайнере системы - Дизайнер мобильной версии, выбираете нужное рабочее пространство, раздел и там смотрите, что можно с полем сделать.

В «Мастере мобильного приложения» можно только выбирать поля, уже существующие в объекте. Соответственно, чтобы переименовать, нужно менять в самом объекте раздела, его в дизайнере (или в переводах, нужно смотреть). Но так поле переименуется везде.

Показать все комментарии

Всем доброго времени суток. Версия 7.12.

Что делать в такой ситуации?

Изображение удалено.

Точно помню, что раньше эта схема (для разработки в мобильных приложениях) замещалась без проблем.

Пока проверяю на демо-сборке.

Нравится

1 комментарий



Вам не нужно замещать схему. Вам достаточно в мастере мобильного приложения сохранить текущие изменения и манифест создастся сам в пользовательском пакете.

Показать все комментарии