Вопрос

Вычисляемое поле детали

Как можно реализовать вычисляемое поле для детали?

 

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 комментарий

Добрый вечер,

 

Вы проводили отладку? Не запускается метод, где-то может свал происходит? При каких условиях проводится тест? Отличия для детали нет, вычисления проводятся на странице редактирования записи детали, то есть логика должна быть рабочей. Или же есть еще какая-то логика, которая перезаписывает результат.

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