Не отрабатывает бизнес-правило в случае прямого редактирования записи через колонку, но отрабатывает, когда пытаюсь добавить новую запись
Добрый день!
Столкнулся с проблемой, что бизнес-правило в мобильном приложении не отрабатывает на действие изменения значения в поле колонки вот здесь:
Но при этом бизнес-правило успешно отрабатывает когда я не меняю число 20 в поле выше, а когда добавляю новую запись в продвигаемые продукты и ввожу значение в поле:
Код бизнес-правила:
Terrasoft.sdk.Model.addBusinessRule("ActivityPromProduct", { name: "OpportunityAmountValidatorRule", ruleType: Terrasoft.RuleTypes.Custom, triggeredByColumns: ["QuantityPrescription"], events: [Terrasoft.BusinessRuleEvents.ValueChanged], executeFn: function(model, rule, column, customData, callbackConfig) { var revenue = model.get("QuantityPrescription"); if (model.phantom){ model.set("QuantityPrescription", 5, true); } else{ model.set("QuantityPrescription", 7, true); } Ext.callback(callbackConfig.success, callbackConfig.scope); } });
Нравится
Добрый день, Сергей.
Попробуйте также в events добавить событие Terrasoft.BusinessRuleEvents.Save и проверьте работу.
events: [Terrasoft.BusinessRuleEvents.ValueChanged, Terrasoft.BusinessRuleEvents.Save]
Mykhailo Storozhuk,
Добрый день! Не помогло, всё-равно при вводе значения в поле и сохраняется введённое мной значение, а не например, 5 или 7 как из кода выше по идее должно быть.
Симонов Сергей Сергеевич,
Добрый день, Сергей.
1) Добавили ли Вы схему, в которой настраиваете это бизнес правило в манифест мобильного приложения? Корректно ли Вы это сделали?
2) Попробуйте также вообще удалить правило и посмотреть будет ли изменяться значение при создании новой записи.
3) Кроме того, нужно провести отладку кода внутри мобильного приложения и посмотреть вызывается ли нужный метод.
4) Возможно у Вас есть еще одно бизнес правило, которое может нарушать логику текущего? Проверьте бизнес правила связанные с проблемными колонками.
Если данные рекомендации Вам не помогли, то необходимо обратиться в тех. поддержку для более глубокого анализа.