From 570e077f5711ef0bd45bd50223fd800c8b955acd Mon Sep 17 00:00:00 2001
From: "S.Listl" <S.Listl@SLISTL.aditosoftware.local>
Date: Tue, 12 Feb 2019 11:55:39 +0100
Subject: [PATCH] =?UTF-8?q?[Projekt:=20Entwicklung=20-=20Neon][TicketNr.:?=
 =?UTF-8?q?=201034107][Vertriebsprojekt=20-=20Image=20soll=20sich=20auch?=
 =?UTF-8?q?=20Status=20zusammensetzten]=20[Projekt:=20Entwicklung=20-=20Ne?=
 =?UTF-8?q?on][TicketNr.:=201034098][Vertrieb=20-=20Angebot=20-=20Anschrei?=
 =?UTF-8?q?ben=20ersetzt=20Kopf-=20und=20Fu=C3=9Ftext]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 entity/Offer_entity/Offer_entity.aod          | 17 +++++----
 .../entityfields/neworder/onActionProcess.js  | 15 ++++++++
 entity/Order_entity/Order_entity.aod          | 35 +++++++++++++++++-
 .../entityfields/address/valueProcess.js      |  7 ++++
 .../entityfields/currency/valueProcess.js     |  7 ++++
 .../entityfields/header/valueProcess.js       |  7 ++++
 .../entityfields/image/valueProcess.js        |  2 +-
 .../entityfields/language/valueProcess.js     |  7 ++++
 .../entityfields/relation_id/valueProcess.js  |  7 ++++
 .../salesproject_id/valueProcess.js           |  7 ++++
 .../Salesproject_entity.aod                   |  6 ++++
 .../entityfields/image/valueProcess.js        |  5 +++
 .../_____LANGUAGE_EXTRA.aod                   |  6 ++++
 .../_____LANGUAGE_de/_____LANGUAGE_de.aod     |  8 +++++
 .../_____LANGUAGE_en/_____LANGUAGE_en.aod     |  6 ++++
 .../OfferDetail_view/OfferDetail_view.aod     |  4 ---
 neonView/OfferEdit_view/OfferEdit_view.aod    |  4 ---
 .../SalesprojectPreview_view.aod              |  1 +
 .../data_alias/struct/create_offer.xml        |  1 -
 process/Offer_lib/process.js                  | 36 +++++++++----------
 report/RPTJ_OFFER/reportData.jrxml            | 12 ++-----
 21 files changed, 152 insertions(+), 48 deletions(-)
 create mode 100644 entity/Offer_entity/entityfields/neworder/onActionProcess.js
 create mode 100644 entity/Order_entity/entityfields/address/valueProcess.js
 create mode 100644 entity/Order_entity/entityfields/currency/valueProcess.js
 create mode 100644 entity/Order_entity/entityfields/header/valueProcess.js
 create mode 100644 entity/Order_entity/entityfields/language/valueProcess.js
 create mode 100644 entity/Order_entity/entityfields/relation_id/valueProcess.js
 create mode 100644 entity/Order_entity/entityfields/salesproject_id/valueProcess.js
 create mode 100644 entity/Salesproject_entity/entityfields/image/valueProcess.js

diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod
index 56b49ecf91..8f5195c727 100644
--- a/entity/Offer_entity/Offer_entity.aod
+++ b/entity/Offer_entity/Offer_entity.aod
@@ -85,11 +85,8 @@
     </entityField>
     <entityField>
       <name>HEADER</name>
-      <title>Header text</title>
-    </entityField>
-    <entityField>
-      <name>FOOTER</name>
-      <title>Footer text</title>
+      <title>Cover letter</title>
+      <contentType>HTML</contentType>
     </entityField>
     <entityConsumer>
       <name>Offeritems</name>
@@ -347,6 +344,12 @@
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityActionField>
+      <name>newOrder</name>
+      <fieldType>ACTION</fieldType>
+      <title>Create receipt</title>
+      <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/neworder/onActionProcess.js</onActionProcess>
+    </entityActionField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -391,10 +394,6 @@
           <name>CURRENCY.value</name>
           <recordfield>OFFER.CURRENCY</recordfield>
         </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>FOOTER.value</name>
-          <recordfield>OFFER.FOOTER</recordfield>
-        </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>HEADER.value</name>
           <recordfield>OFFER.HEADER</recordfield>
diff --git a/entity/Offer_entity/entityfields/neworder/onActionProcess.js b/entity/Offer_entity/entityfields/neworder/onActionProcess.js
new file mode 100644
index 0000000000..da9440a32c
--- /dev/null
+++ b/entity/Offer_entity/entityfields/neworder/onActionProcess.js
@@ -0,0 +1,15 @@
+import("system.vars");
+import("system.neon");
+
+var params = {
+    "RelationId_param" : vars.getString("$field.RELATION_ID"),
+    "SalesprojectId_param" : vars.getString("$field.SALESPROJECT_ID"),
+    "OrderCurrency_param" : vars.getString("$field.CURRENCY"),
+    "OrderLanguage_param" : vars.getString("$field.LANGUAGE"),
+    "OrderHeader_param" : vars.getString("$field.HEADER"),
+    "OrderAddress_param" : vars.getString("$field.ADDRESS")
+};
+
+
+neon.openContext("Order_context", null, null, neon.OPERATINGSTATE_NEW, params);
+
diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod
index 2b5075344d..9082dc8793 100644
--- a/entity/Order_entity/Order_entity.aod
+++ b/entity/Order_entity/Order_entity.aod
@@ -15,6 +15,7 @@
       <name>CURRENCY</name>
       <title>Currency</title>
       <consumer>KeywordCurrencies</consumer>
+      <valueProcess>%aditoprj%/entity/Order_entity/entityfields/currency/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>SALESORDERCODE</name>
@@ -44,6 +45,7 @@
       <consumer>Relations</consumer>
       <linkedContextProcess>%aditoprj%/entity/Order_entity/entityfields/relation_id/linkedContextProcess.js</linkedContextProcess>
       <mandatory v="true" />
+      <valueProcess>%aditoprj%/entity/Order_entity/entityfields/relation_id/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/Order_entity/entityfields/relation_id/displayValueProcess.js</displayValueProcess>
       <onValueChange>%aditoprj%/entity/Order_entity/entityfields/relation_id/onValueChange.js</onValueChange>
       <onValueChangeTypes>
@@ -58,6 +60,7 @@
       <mandatory v="true" />
       <state>INVISIBLE</state>
       <stateProcess>%aditoprj%/entity/Order_entity/entityfields/salesproject_id/stateProcess.js</stateProcess>
+      <valueProcess>%aditoprj%/entity/Order_entity/entityfields/salesproject_id/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/Order_entity/entityfields/salesproject_id/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
@@ -79,7 +82,7 @@
     <entityField>
       <name>HEADER</name>
       <title>Header text</title>
-      <valueProcess></valueProcess>
+      <valueProcess>%aditoprj%/entity/Order_entity/entityfields/header/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>FOOTER</name>
@@ -157,6 +160,7 @@
       <consumer></consumer>
       <mandatory v="true" />
       <possibleItemsProcess>%aditoprj%/entity/Order_entity/entityfields/language/possibleItemsProcess.js</possibleItemsProcess>
+      <valueProcess>%aditoprj%/entity/Order_entity/entityfields/language/valueProcess.js</valueProcess>
     </entityField>
     <entityActionField>
       <name>newOrder</name>
@@ -277,6 +281,7 @@
     </entityConsumer>
     <entityField>
       <name>ADDRESS</name>
+      <valueProcess>%aditoprj%/entity/Order_entity/entityfields/address/valueProcess.js</valueProcess>
     </entityField>
     <entityConsumer>
       <name>KeywordCurrencies</name>
@@ -308,6 +313,34 @@
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityParameter>
+      <name>OrderCurrency_param</name>
+      <expose v="true" />
+      <triggerRecalculation v="true" />
+      <mandatory v="false" />
+      <description>PARAMETER</description>
+    </entityParameter>
+    <entityParameter>
+      <name>OrderLanguage_param</name>
+      <expose v="true" />
+      <triggerRecalculation v="true" />
+      <mandatory v="false" />
+      <description>PARAMETER</description>
+    </entityParameter>
+    <entityParameter>
+      <name>OrderHeader_param</name>
+      <expose v="true" />
+      <triggerRecalculation v="true" />
+      <mandatory v="false" />
+      <description>PARAMETER</description>
+    </entityParameter>
+    <entityParameter>
+      <name>OrderAddress_param</name>
+      <expose v="true" />
+      <triggerRecalculation v="true" />
+      <mandatory v="false" />
+      <description>PARAMETER</description>
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Order_entity/entityfields/address/valueProcess.js b/entity/Order_entity/entityfields/address/valueProcess.js
new file mode 100644
index 0000000000..4e0c4c185e
--- /dev/null
+++ b/entity/Order_entity/entityfields/address/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.result");
+import("system.vars");
+
+if (vars.exists("$param.OrderAddress_param")) 
+{
+    result.string(vars.get("$param.OrderAddress_param"));
+}
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/currency/valueProcess.js b/entity/Order_entity/entityfields/currency/valueProcess.js
new file mode 100644
index 0000000000..97b32dfd7d
--- /dev/null
+++ b/entity/Order_entity/entityfields/currency/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.result");
+import("system.vars");
+
+if (vars.exists("$param.OrderCurrency_param")) 
+{
+    result.string(vars.get("$param.OrderCurrency_param"));
+}
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/header/valueProcess.js b/entity/Order_entity/entityfields/header/valueProcess.js
new file mode 100644
index 0000000000..5339918ba7
--- /dev/null
+++ b/entity/Order_entity/entityfields/header/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.result");
+import("system.vars");
+
+if (vars.exists("$param.OrderHeader_param")) 
+{
+    result.string(vars.get("$param.OrderHeader_param"));
+}
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/image/valueProcess.js b/entity/Order_entity/entityfields/image/valueProcess.js
index b90c29afbf..52a10cb1a7 100644
--- a/entity/Order_entity/entityfields/image/valueProcess.js
+++ b/entity/Order_entity/entityfields/image/valueProcess.js
@@ -2,4 +2,4 @@ import("system.vars");
 import("system.result");
 import("Keyword_lib");
 
-result.string("TEXT:" + KeywordUtils.getViewValue($KeywordRegistry.get.SalesorderState, vars.getString("$field.STATUS")) );
\ No newline at end of file
+result.string("TEXT:" + KeywordUtils.getViewValue($KeywordRegistry.get.SalesorderState, vars.getString("$field.STATUS")) );
diff --git a/entity/Order_entity/entityfields/language/valueProcess.js b/entity/Order_entity/entityfields/language/valueProcess.js
new file mode 100644
index 0000000000..d2dcc59e62
--- /dev/null
+++ b/entity/Order_entity/entityfields/language/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.result");
+import("system.vars");
+
+if (vars.exists("$param.OrderLanguage_param")) 
+{
+    result.string(vars.get("$param.OrderLanguage_param"));
+}
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/relation_id/valueProcess.js b/entity/Order_entity/entityfields/relation_id/valueProcess.js
new file mode 100644
index 0000000000..57ed857e9f
--- /dev/null
+++ b/entity/Order_entity/entityfields/relation_id/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.result");
+import("system.vars");
+
+if (vars.exists("$param.RelationId_param")) 
+{
+    result.string(vars.get("$param.RelationId_param"));
+}
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/salesproject_id/valueProcess.js b/entity/Order_entity/entityfields/salesproject_id/valueProcess.js
new file mode 100644
index 0000000000..2bc1715fbb
--- /dev/null
+++ b/entity/Order_entity/entityfields/salesproject_id/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.result");
+import("system.vars");
+
+if (vars.exists("$param.SalesprojectId_param")) 
+{
+    result.string(vars.get("$param.SalesprojectId_param"));
+}
\ No newline at end of file
diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod
index 26dff5af36..04cfd8ccc5 100644
--- a/entity/Salesproject_entity/Salesproject_entity.aod
+++ b/entity/Salesproject_entity/Salesproject_entity.aod
@@ -309,6 +309,12 @@
       <state>READONLY</state>
       <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/timetrackingsum/valueProcess.js</valueProcess>
     </entityField>
+    <entityField>
+      <name>IMAGE</name>
+      <contentType>IMAGE</contentType>
+      <searchable v="false" />
+      <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/image/valueProcess.js</valueProcess>
+    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Salesproject_entity/entityfields/image/valueProcess.js b/entity/Salesproject_entity/entityfields/image/valueProcess.js
new file mode 100644
index 0000000000..4457734473
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/image/valueProcess.js
@@ -0,0 +1,5 @@
+import("system.vars");
+import("system.result");
+import("Keyword_lib");
+
+result.string("TEXT:" + KeywordUtils.getViewValue("SALESPROJECT.STATE", vars.getString("$field.STATE")) );
\ No newline at end of file
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 1961ad30ca..b8895136d6 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -1533,6 +1533,12 @@
     <entry>
       <key>hrs</key>
     </entry>
+    <entry>
+      <key>Time expenses</key>
+    </entry>
+    <entry>
+      <key>Cover letter</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 8f281a95a4..8a25d42a74 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -396,6 +396,10 @@
       <key>standard address</key>
       <value>Standardadresse</value>
     </entry>
+    <entry>
+      <key>Create receipt</key>
+      <value>Beleg erstellen</value>
+    </entry>
     <entry>
       <key>PP</key>
       <value>EK</value>
@@ -408,6 +412,10 @@
       <key>Key account</key>
       <value>Großkunde</value>
     </entry>
+    <entry>
+      <key>Cover letter</key>
+      <value>Anschreiben</value>
+    </entry>
     <entry>
       <key>VAT</key>
       <value>UmsSt.</value>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index cb879eadc3..1ecbaf2ce0 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -1559,6 +1559,12 @@
     <entry>
       <key>hrs</key>
     </entry>
+    <entry>
+      <key>Time expenses</key>
+    </entry>
+    <entry>
+      <key>Cover letter</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/neonView/OfferDetail_view/OfferDetail_view.aod b/neonView/OfferDetail_view/OfferDetail_view.aod
index 44b2b4f31c..c2648f5360 100644
--- a/neonView/OfferDetail_view/OfferDetail_view.aod
+++ b/neonView/OfferDetail_view/OfferDetail_view.aod
@@ -20,10 +20,6 @@
           <name>8bf2a10e-e7e9-4f33-98cf-4ded02bf68a9</name>
           <entityField>HEADER</entityField>
         </entityFieldLink>
-        <entityFieldLink>
-          <name>d6f2774b-34c2-4db8-9730-e98b4c83503a</name>
-          <entityField>FOOTER</entityField>
-        </entityFieldLink>
       </fields>
     </genericViewTemplate>
   </children>
diff --git a/neonView/OfferEdit_view/OfferEdit_view.aod b/neonView/OfferEdit_view/OfferEdit_view.aod
index b8d5aba553..0fdcfc2025 100644
--- a/neonView/OfferEdit_view/OfferEdit_view.aod
+++ b/neonView/OfferEdit_view/OfferEdit_view.aod
@@ -52,10 +52,6 @@
           <name>ed71986f-303c-4118-a895-51ec31ba8775</name>
           <entityField>HEADER</entityField>
         </entityFieldLink>
-        <entityFieldLink>
-          <name>c4b3c8ed-4625-4785-abc6-c726171ff7f4</name>
-          <entityField>FOOTER</entityField>
-        </entityFieldLink>
         <entityFieldLink>
           <name>833e6193-fde6-4990-8a26-eaeb0f60de48</name>
           <entityField>ChosenAddress</entityField>
diff --git a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
index 5ae0e4ce87..74696f96f8 100644
--- a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
+++ b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
@@ -10,6 +10,7 @@
   <children>
     <cardViewTemplate>
       <name>SalesprojectPreview_template</name>
+      <iconField>IMAGE</iconField>
       <titleField>PROJECTCODE</titleField>
       <descriptionField>PROJECTTITLE</descriptionField>
       <entityField>#ENTITY</entityField>
diff --git a/others/db_changes/data_alias/struct/create_offer.xml b/others/db_changes/data_alias/struct/create_offer.xml
index 0d891aa025..9ba565be60 100644
--- a/others/db_changes/data_alias/struct/create_offer.xml
+++ b/others/db_changes/data_alias/struct/create_offer.xml
@@ -11,7 +11,6 @@
                 <column name="SALESPROJECT_ID" type="CHAR(36)"/>
 		<column name="OFFER_ID" type="CHAR(36)"/>
                 <column name="HEADER" type="NCLOB"/>
-                <column name="FOOTER" type="NCLOB"/>
                 <column name="OFFERDATE" type="DATETIME"/>
                 <column name="LANGUAGE" type="CHAR(5)"/>
                 <column name="OFFERCODE" type="INTEGER"/>
diff --git a/process/Offer_lib/process.js b/process/Offer_lib/process.js
index e095e4858b..158084c3fc 100644
--- a/process/Offer_lib/process.js
+++ b/process/Offer_lib/process.js
@@ -97,9 +97,9 @@ OfferUtils.openOfferReport = function(pOfferID)
     "OFFER.OFFERID", "OFFERITEM.OFFER_ID", "OFFERITEM.INFO", "OFFERITEM.ASSIGNEDTO", // 11
     "OFFERITEM.PRODUCT_ID","OFFERITEM.ITEMNAME" , // 13
     "OFFERITEM.OPTIONAL", "OFFERITEM.ITEMPOSITION", // 15
-    "PRODUCT.PRODUCTCODE", "PRODUCT.PRODUCTID", "OFFER.FOOTER", "OFFER.HEADER", "OFFERITEM.UNIT", "OFFER.VAT", // 21
-    "COALESCE(OFFERITEM.QUANTITY,0)","COALESCE(OFFERITEM.PRICE,0)", "COALESCE(OFFERITEM.DISCOUNT,0)", // 24
-    "COALESCE(OFFER.VERSNR, 0)", "COALESCE(OFFER.OFFERCODE,0)", "COALESCE(OFFERITEM.VAT, 0)", "0", "''", "SALESPROJECT_ID" ]; // 30
+    "PRODUCT.PRODUCTCODE", "PRODUCT.PRODUCTID", "OFFER.HEADER", "OFFERITEM.UNIT", "OFFER.VAT", // 20
+    "COALESCE(OFFERITEM.QUANTITY,0)","COALESCE(OFFERITEM.PRICE,0)", "COALESCE(OFFERITEM.DISCOUNT,0)", // 23
+    "COALESCE(OFFER.VERSNR, 0)", "COALESCE(OFFER.OFFERCODE,0)", "COALESCE(OFFERITEM.VAT, 0)", "0", "''", "SALESPROJECT_ID" ]; // 29
     
     var offerFromSql = " from PRODUCT" 
                      + " inner join OFFERITEM on (PRODUCT.PRODUCTID = OFFERITEM.PRODUCT_ID) "
@@ -138,29 +138,29 @@ OfferUtils.openOfferReport = function(pOfferID)
         
         // calculate:
         // "OFFERITEM_QUANTITY" * "OFFERITEM_PRICE"
-        fullPrice = eMath.mulDec(parseFloat(rptdata[i][22]), parseFloat(rptdata[i][23]) );
+        fullPrice = eMath.mulDec(parseFloat(rptdata[i][21]), parseFloat(rptdata[i][22]) );
 
         // ( fullPrice * ( 100 - "OFFERITEM_DISCOUNT" ) ) / 100
         if(optional)
         {
-            itemSum = eMath.roundDec(eMath.divDec(eMath.mulDec(fullPrice, eMath.subDec(100, rptdata[i][24]) ), 100), 2, eMath.ROUND_HALF_EVEN); //Summe je Artikel
+            itemSum = eMath.roundDec(eMath.divDec(eMath.mulDec(fullPrice, eMath.subDec(100, rptdata[i][23]) ), 100), 2, eMath.ROUND_HALF_EVEN); //Summe je Artikel
             sumItemSum += itemSum; //Gesamtsumme aller Artikel      
         }
         // itemSum * "OFFERITEM_VAT" / 100
-        vatsum = (eMath.divDec(eMath.mulDec(itemSum, rptdata[i][27] ), 100)); //Steuerbetrag in Euro je Artikel
-        if(rptdata[i][27] > 0) sums.push([rptdata[i][27], vatsum]); //MWSteuerwerte für Map vorbereiten
+        vatsum = (eMath.divDec(eMath.mulDec(itemSum, rptdata[i][26] ), 100)); //Steuerbetrag in Euro je Artikel
+        if(rptdata[i][26] > 0) sums.push([rptdata[i][26], vatsum]); //MWSteuerwerte für Map vorbereiten
         // sumItemSum + "OFFER_VAT"
-        total = eMath.addDec(sumItemSum, rptdata[i][21]); //Gesamtsumme zzgl. MwSt.
+        total = eMath.addDec(sumItemSum, rptdata[i][20]); //Gesamtsumme zzgl. MwSt.
         total = text.formatDouble(total, translate.text("#,##0.00"), true)
         // format date
         rptdata[i][7] = datetime.toDate(rptdata[i][7], translate.text("dd.MM.yyyy", language));
         // format numbers
-        rptdata[i][23] = text.formatDouble(rptdata[i][23], translate.text("#,##0.00"), true);
-        rptdata[i][24] = text.formatDouble(rptdata[i][24], translate.text("0.00"), true);
-        rptdata[i][22] = text.formatDouble(rptdata[i][22], translate.text("#,##0"), true);
-        rptdata[i][27] = text.formatDouble(rptdata[i][27], translate.text("#,##0.00"), true);
-        rptdata[i][28] = text.formatDouble(itemSum, translate.text("#,##0.00"), true); //Immer zwei Nachkommastellen und ',' statt '.' 
-        rptdata[i][29] = KeywordUtils.get("UNIT", rptdata[i][20])[1];
+        rptdata[i][22] = text.formatDouble(rptdata[i][22], translate.text("#,##0.00"), true);
+        rptdata[i][23] = text.formatDouble(rptdata[i][23], translate.text("0.00"), true);
+        rptdata[i][21] = text.formatDouble(rptdata[i][21], translate.text("#,##0"), true);
+        rptdata[i][26] = text.formatDouble(rptdata[i][26], translate.text("#,##0.00"), true);
+        rptdata[i][27] = text.formatDouble(itemSum, translate.text("#,##0.00"), true); //Immer zwei Nachkommastellen und ',' statt '.' 
+        rptdata[i][28] = KeywordUtils.get("UNIT", rptdata[i][19])[1];
     }
     
     // TODO: get Images implementieren
@@ -219,13 +219,13 @@ OfferUtils.openOfferReport = function(pOfferID)
         data[i] = [rptdata[i][6], rptdata[i][7], rptdata[i][8], rptdata[i][10], rptdata[i][11], rptdata[i][13], 
         rptdata[i][14], rptdata[i][15], rptdata[i][16], rptdata[i][18], rptdata[i][19], //10
         rptdata[i][22], rptdata[i][23], 
-        rptdata[i][24], rptdata[i][25], rptdata[i][26], rptdata[i][27], rptdata[i][28], rptdata[i][29]];
+        rptdata[i][24], rptdata[i][25], rptdata[i][26], rptdata[i][27], rptdata[i][28]];
     }
                                                         // 0            1                    2                   3                        4
     offerReport.setReportData(ReportData.begin(["OFFER_CURRENCY", "OFFER_OFFERDATE", "OFFER_OFFERID",  "OFFERITEM_INFO", "OFFERITEM_ASSIGNEDTO",
-                "OFFERITEM_ITEMNAME" , "OFFERITEM_OPTIONAL", "OFFERITEM_ITEMPOSITION", "PRODUCT_PRODUCTCODE", "OFFER_FOOTER", "OFFER_HEADER", // 10
-                "OFFERITEM_QUANTITY", "OFFERITEM_PRICE", "OFFERITEM_DISCOUNT", "OFFER_VERSNR", "OFFER_OFFERCODE", "OFFERITEM_VAT", "ITEMSUM", // 17
-                "OFFERITEM_UNITTEXT"]) // 18
+                "OFFERITEM_ITEMNAME" , "OFFERITEM_OPTIONAL", "OFFERITEM_ITEMPOSITION", "PRODUCT_PRODUCTCODE", "OFFER_HEADER", // 9
+                "OFFERITEM_QUANTITY", "OFFERITEM_PRICE", "OFFERITEM_DISCOUNT", "OFFER_VERSNR", "OFFER_OFFERCODE", "OFFERITEM_VAT", "ITEMSUM", // 16
+                "OFFERITEM_UNITTEXT"]) // 17
                 .add(data));
     
     offerReport.openReport();
diff --git a/report/RPTJ_OFFER/reportData.jrxml b/report/RPTJ_OFFER/reportData.jrxml
index 51ae16ea29..3ad08a8903 100644
--- a/report/RPTJ_OFFER/reportData.jrxml
+++ b/report/RPTJ_OFFER/reportData.jrxml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report1" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="e7a916c8-3f9a-497d-84bb-3909b15271ea">
-	<property name="ireport.zoom" value="1.0"/>
+	<property name="ireport.zoom" value="1.771561000000001"/>
 	<property name="ireport.x" value="0"/>
-	<property name="ireport.y" value="0"/>
+	<property name="ireport.y" value="113"/>
 	<parameter name="myAddr" class="java.lang.String"/>
 	<parameter name="Pos" class="java.lang.String"/>
 	<parameter name="Artikelbezeichnung" class="java.lang.String"/>
@@ -49,7 +49,6 @@
 	<field name="OFFERITEM_ITEMPOSITION" class="java.lang.String"/>
 	<field name="OFFERITEM_UNITTEXT" class="java.lang.String"/>
 	<field name="PRODUCT_PRODUCTCODE" class="java.lang.String"/>
-	<field name="OFFER_FOOTER" class="java.lang.String"/>
 	<field name="OFFER_HEADER" class="java.lang.String"/>
 	<field name="ITEMSUM" class="java.lang.String"/>
 	<field name="OFFER_VERSNR" class="java.lang.String"/>
@@ -308,13 +307,6 @@
 					</textElement>
 					<textFieldExpression><![CDATA[$P{OFFERDel}]]></textFieldExpression>
 				</textField>
-				<textField>
-					<reportElement x="20" y="22" width="410" height="15" uuid="7a2b9a55-bfd5-45d9-a1cb-de31943fdb0d"/>
-					<textElement>
-						<font size="8"/>
-					</textElement>
-					<textFieldExpression><![CDATA[$F{OFFER_FOOTER}]]></textFieldExpression>
-				</textField>
 			</band>
 		</groupFooter>
 	</group>
-- 
GitLab