Всем доброго времени суток!
Есть задача при изменении кол-ва продуктов или же изменении продукта в детали Продукт в заказе просчитывать Amount и TotalAmount. Реализую данную задачу через пользовательское бизнес правило:
Terrasoft.sdk.Model.addBusinessRule("OrderProduct", {
name: "WaOrderProductAmountValidatorRule",
ruleType: Terrasoft.RuleTypes.Custom,
triggeredByColumns: ["Quantity", "Product"],
events: [Terrasoft.BusinessRuleEvents.ValueChanged, Terrasoft.BusinessRuleEvents.Save],
executeFn: function(model, rule, column, customData, callbackConfig) {
window.console.info(model);
debugger;
var product = model.get("Product");
if ((!product) || Ext.isEmpty(product)) {
model.set("Price", 0, true);
model.set("TotalAmount", 0, true);
model.set("Amount", 0, true);
} else {
var quantity = model.get("Quantity");
var price = product.get("Price");
var amount = quantity * price;
model.set("Amount", amount, true);
model.set("TotalAmount", amount, true);
}
Ext.callback(callbackConfig.success, callbackConfig.scope);
}
});
Но почему то значение цены продукта возвращает null:
{
"modified":{
"Id":"fbfb2d62-4439-486b-ae2f-b360f9e899f8"
},
"raw":{},
"stores":[],
"data":{
"Id":"1fd85496-4cc0-485c-ad37-bb91857e65df",
"Name":"Гидрогелевая маска для лица WOW Mask",
"ProcessListeners":null,
"Price":null,
"Active":false,
"IsArchive":false
},
"_data":{
"Id":"1fd85496-4cc0-485c-ad37-bb91857e65df",
"Name":"Гидрогелевая маска для лица WOW Mask",
"ProcessListeners":null,
"Price":null,
"Active":false,
"IsArchive":false
},
"id":"fbfb2d62-4439-486b-ae2f-b360f9e899f8",
"internalId":"fbfb2d62-4439-486b-ae2f-b360f9e899f8",
"phantom":true,
"dirty":true
}
Хотя значение цены есть - http://prntscr.com/my9x2o