Hi everybody,
the task is to make activity's "Result" and "Detailed result" fields required for competed "Status". The same trouble was discussed here. Without result indeed. Here's a kind of realization of the similar task.
As I am not a great master of the Mobile app customization, some help will be welcomed. The problem was tried to be solved like this:
Terrasoft.sdk.Model.addBusinessRule("Activity", {
name: "UsrResultByStatusRequirement",
ruleType: Terrasoft.RuleTypes.Requirement,
requireType : Terrasoft.RequirementTypes.Simple,
events: [Terrasoft.BusinessRuleEvents.ValueChanged, Terrasoft.BusinessRuleEvents.Save],
triggeredByColumns: ["Status"],
conditionalColumns: [
{name: "Status.Finish", value: true},
],
dependentColumnNames: ["Result"]
});
and also like this:
Terrasoft.sdk.Model.addBusinessRule("Activity", {
name: "UsrResultByStatusRequirement",
ruleType: Terrasoft.RuleTypes.Custom,
triggeredByColumns: ["Status"],
events: [Terrasoft.BusinessRuleEvents.ValueChanged, Terrasoft.BusinessRuleEvents.Save],
executeFn: function(record, rule, column, customData, callbackConfig) {
var isRequired;
var status = record.get("Status");
if (status && (status.get("Id") === Terrasoft.ActivityStatus.Finished || status.get("Id") === Terrasoft.ActivityStatus.Canceled)) isRequired = true;
record.changeProperty("Result", {
isValid: {
value: isRequired,
message: "Column must be filled in"
}
});
Ext.callback(callbackConfig.success, callbackConfig.scope, [isRequired]);
}
});
both don't work. This one works, but doesn't do what is needed
Terrasoft.sdk.Model.addBusinessRule("Activity", {
name: "DetailedResultByStatusRequirement",
ruleType: Terrasoft.RuleTypes.Requirement,
triggeredByColumns: ["Result"]
});
Where's the problem please?