From 82890ff24191885bc2e9d0b8fd99751cc1c54456 Mon Sep 17 00:00:00 2001
From: "p.neub" <p.neub@adito.de>
Date: Thu, 18 Nov 2021 14:47:25 +0100
Subject: [PATCH] [Projekt: xRM-Sales][TicketNr.: 2001780][Beleg: Summe 'Betrag
 Netto' beim Gruppieren ist immer 0]

---
 entity/Order_entity/Order_entity.aod                   | 10 ++++++++++
 .../entityfields/net_aggregate/displayValueProcess.js  |  8 ++++++++
 neonView/OrderFilter_view/OrderFilter_view.aod         |  1 +
 3 files changed, 19 insertions(+)
 create mode 100644 entity/Order_entity/entityfields/net_aggregate/displayValueProcess.js

diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod
index 7e2f377619..74e49cad44 100644
--- a/entity/Order_entity/Order_entity.aod
+++ b/entity/Order_entity/Order_entity.aod
@@ -1044,6 +1044,11 @@
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityAggregateField>
+      <name>NET_aggregate</name>
+      <parentField>NET</parentField>
+      <displayValueProcess>%aditoprj%/entity/Order_entity/entityfields/net_aggregate/displayValueProcess.js</displayValueProcess>
+    </entityAggregateField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -1268,6 +1273,11 @@
           <name>DISCOUNTED_VAT.value</name>
           <recordfield>SALESORDER.DISCOUNTED_VAT</recordfield>
         </dbRecordFieldMapping>
+        <aggregateFieldDbMapping>
+          <name>NET_aggregate.value</name>
+          <recordfield>SALESORDER.NET</recordfield>
+          <aggregateType>SUM</aggregateType>
+        </aggregateFieldDbMapping>
       </recordFieldMappings>
       <linkInformation>
         <linkInformation>
diff --git a/entity/Order_entity/entityfields/net_aggregate/displayValueProcess.js b/entity/Order_entity/entityfields/net_aggregate/displayValueProcess.js
new file mode 100644
index 0000000000..4f5588525c
--- /dev/null
+++ b/entity/Order_entity/entityfields/net_aggregate/displayValueProcess.js
@@ -0,0 +1,8 @@
+import("system.result");
+import("system.vars");
+import("system.translate");
+import("Util_lib");
+import("KeywordRegistry_basic");
+
+// TODO: add multicurrency support
+result.string(NumberUtils.formatWithCurrency(vars.get("$this.value"), translate.text("#,##0.00"), $KeywordRegistry.currency$eur()));
diff --git a/neonView/OrderFilter_view/OrderFilter_view.aod b/neonView/OrderFilter_view/OrderFilter_view.aod
index d4c712215b..24b1f14667 100644
--- a/neonView/OrderFilter_view/OrderFilter_view.aod
+++ b/neonView/OrderFilter_view/OrderFilter_view.aod
@@ -146,6 +146,7 @@
         <neonTreeTableColumn>
           <name>7873c2f2-0dc4-4c54-814a-df970eddea65</name>
           <entityField>NET</entityField>
+          <aggregateEntityField>NET_aggregate</aggregateEntityField>
         </neonTreeTableColumn>
       </columns>
     </treeTableViewTemplate>
-- 
GitLab