Как можно реализовать вычисляемое поле для детали?
define("UsrUsrSupplierReportDetail041b8854Page", [], function() { return { entitySchemaName: "UsrSupplierReportDetail", attributes: { "UsrMaterialTotalCost": { dataValueType: Terrasoft.DataValueType.FLOAT, dependencies: [ { columns: ["UsrMaterialCost", "UsrQuantity"], methodName: "calculateBalance" } ] } }, modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/, details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/, businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/, methods: { onEntityInitialized: function() { this.callParent(arguments); this.calculateBalance(); }, calculateBalance: function() { var quantity = this.get("UsrQuantity"); if (!quantity) { quantity = 0; } var materialCost = this.get("UsrMaterialCost"); if (!materialCost) { materialCost = 0; } var result = quantity * materialCost; this.set("UsrMaterialTotalCost", result); } }, dataModels: /**SCHEMA_DATA_MODELS*/{}/**SCHEMA_DATA_MODELS*/, diff: /**SCHEMA_DIFF*/[ { "operation": "insert", "name": "LOOKUPc6d01c29-5382-406c-9214-d6d504cb3c18", "values": { "layout": { "colSpan": 12, "rowSpan": 1, "column": 0, "row": 0, "layoutName": "Header" }, "bindTo": "UsrMaterialLookup", "enabled": true, "contentType": 5 }, "parentName": "Header", "propertyName": "items", "index": 0 }, { "operation": "insert", "name": "UsrMaterialsCost7ed42ecd-4eac-4188-99b3-04531c66f69c", "values": { "layout": { "colSpan": 12, "rowSpan": 1, "column": 12, "row": 0, "layoutName": "Header" }, "bindTo": "UsrMaterialCost", "enabled": true }, "parentName": "Header", "propertyName": "items", "index": 1 }, { "operation": "insert", "name": "INTEGERf343b03e-c618-44dc-8d09-79e395b3104f", "values": { "layout": { "colSpan": 12, "rowSpan": 1, "column": 0, "row": 1, "layoutName": "Header" }, "bindTo": "UsrQuantity", "labelConfig": { "caption": { "bindTo": "Resources.Strings.INTEGERf343b03ec61844dc8d0979e395b3104fLabelCaption" } }, "enabled": true }, "parentName": "Header", "propertyName": "items", "index": 2 }, { "operation": "insert", "name": "FLOATca3f1afe-bb51-48b3-b900-caef7fc4dfb7", "values": { "layout": { "colSpan": 12, "rowSpan": 1, "column": 12, "row": 1, "layoutName": "Header" }, "bindTo": "UsrMaterialTotalCost", "enabled": true }, "parentName": "Header", "propertyName": "items", "index": 3 }, { "operation": "insert", "name": "STRING2effcb62-72f7-4185-bfd6-899616701bcf", "values": { "layout": { "colSpan": 24, "rowSpan": 1, "column": 0, "row": 2, "layoutName": "Header" }, "bindTo": "UsrComment", "enabled": true }, "parentName": "Header", "propertyName": "items", "index": 4 } ]/**SCHEMA_DIFF*/ }; });
Пробовал код, указанный выше, поле не высчитывается
Нравится
1 комментарий
25 мая 2023 19:28
Добрый вечер,
Вы проводили отладку? Не запускается метод, где-то может свал происходит? При каких условиях проводится тест? Отличия для детали нет, вычисления проводятся на странице редактирования записи детали, то есть логика должна быть рабочей. Или же есть еще какая-то логика, которая перезаписывает результат.
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать