diff --git a/.aditoprj/project.version b/.aditoprj/project.version
index fd1d34ca948a4680950d6d52d14fc08352e02d54..e2ebfe82e0e67280f5f1a1e17d8f76f0dcdb7fb7 100644
--- a/.aditoprj/project.version
+++ b/.aditoprj/project.version
@@ -1,3 +1,3 @@
 #This file is generated by ADITO designer. Do NOT delete or modify!
-#Mon Mar 18 12:52:43 CET 2019
+#Mon Mar 18 10:57:45 CET 2019
 version=5.1.9
diff --git a/application/_____SYSTEM_CALENDAR_RIBBON/_____SYSTEM_CALENDAR_RIBBON.aod b/application/_____SYSTEM_CALENDAR_RIBBON/_____SYSTEM_CALENDAR_RIBBON.aod
index 42fef1c4124cc59559c680d1fe53f8b8b91ace0a..b8dc2fcdd6569d77239376a8343f0bd0bb791ea2 100644
--- a/application/_____SYSTEM_CALENDAR_RIBBON/_____SYSTEM_CALENDAR_RIBBON.aod
+++ b/application/_____SYSTEM_CALENDAR_RIBBON/_____SYSTEM_CALENDAR_RIBBON.aod
@@ -1,6 +1,5 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<application xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/application/1.2.0">
-  <name>_____SYSTEM_CALENDAR_RIBBON</name>
+<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/application/1.2.0">
+   <name>_____SYSTEM_CALENDAR_RIBBON</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <entityNode name="_____SYSTEM_COMPANY" kind="200" />
   <calendarRibbon>
diff --git a/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js b/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js
index 8d6879931dd4a6fb087e62d8204c557958c33726..aee41089141ec40518d13418f789ecc3a54b5e2e 100644
--- a/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js
@@ -7,7 +7,7 @@ import("Sql_lib");
 
 var cond = SqlCondition.begin()
                    .andPrepareVars("AB_ATTRIBUTERELATION.OBJECT_ROWID", "$param.ObjectRowId_param");
-                   
+
 if (vars.exists("$param.FilteredAttributeIds_param") && vars.get("$param.FilteredAttributeIds_param"))
 {
     var filteredIds = JSON.parse(vars.get("$param.FilteredAttributeIds_param"));
diff --git a/entity/Attribute_entity/Attribute_entity.aod b/entity/Attribute_entity/Attribute_entity.aod
index af33c5a592629e7c55bf2217387b94fd72dfdd98..aea9e1e6f3eb87e2abd8e697ede95ef6f6f458fb 100644
--- a/entity/Attribute_entity/Attribute_entity.aod
+++ b/entity/Attribute_entity/Attribute_entity.aod
@@ -79,6 +79,21 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
+      <children>
+        <entityParameter>
+          <name>AttrParentType_param</name>
+          <expose v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>AttrParentId_param</name>
+          <expose v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>GetGroups_param</name>
+          <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/attributeparent/children/getgroups_param/valueProcess.js</valueProcess>
+          <expose v="true" />
+        </entityParameter>
+      </children>
     </entityProvider>
     <entityParameter>
       <name>AttrParentId_param</name>
@@ -123,6 +138,7 @@
           <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/keywordattributetypes/children/containername_param/valueProcess.js</valueProcess>
           <expose v="false" />
+          <triggerRecalculation v="true" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -162,6 +178,16 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
+      <children>
+        <entityParameter>
+          <name>ObjectType_param</name>
+          <expose v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>FilteredAttributeIds_param</name>
+          <expose v="true" />
+        </entityParameter>
+      </children>
     </entityProvider>
     <entityField>
       <name>FULL_ATTRIBUTE_NAME</name>
@@ -188,6 +214,11 @@
         </entityActionField>
       </children>
     </entityActionGroup>
+    <entityParameter>
+      <name>GetGroups_param</name>
+      <expose v="true" />
+      <description>PARAMETER</description>
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Attribute_entity/entityfields/attribute_parent_id/valueProcess.js b/entity/Attribute_entity/entityfields/attribute_parent_id/valueProcess.js
index 331013e78c636d6fe4a95599377299a83abebe16..b0787c129334740faccc1539867edf1574daf8cc 100644
--- a/entity/Attribute_entity/entityfields/attribute_parent_id/valueProcess.js
+++ b/entity/Attribute_entity/entityfields/attribute_parent_id/valueProcess.js
@@ -2,5 +2,5 @@ import("system.neon");
 import("system.result");
 import("system.vars");
 
-if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.attrParentId_param") && vars.get("$param.attrParentId_param"))
-    result.string(vars.get("$param.attrParentId_param"));
\ No newline at end of file
+if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.AttrParentId_param") && vars.get("$param.AttrParentId_param"))
+    result.string(vars.get("$param.AttrParentId_param"));
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/attributeactions/children/newchildattribute/onActionProcess.js b/entity/Attribute_entity/entityfields/attributeactions/children/newchildattribute/onActionProcess.js
index d9cc906c021c57a26ce94679eb32800340257d24..cb209fd2f503d12661c8c35b76f6ce767bf7b0bc 100644
--- a/entity/Attribute_entity/entityfields/attributeactions/children/newchildattribute/onActionProcess.js
+++ b/entity/Attribute_entity/entityfields/attributeactions/children/newchildattribute/onActionProcess.js
@@ -9,8 +9,8 @@ if (vars.exists("$local.rows"))
     
     var type = row[0].ATTRIBUTE_TYPE.trim();
     if (type == $AttributeTypes.GROUP || type == $AttributeTypes.COMBO)
-        params["attrParentId_param"] = row[0].AB_ATTRIBUTEID;
+        params["AttrParentId_param"] = row[0].AB_ATTRIBUTEID;
     else if (row[0].ATTRIBUTE_PARENT_ID)
-        params["attrParentId_param"] = row[0].ATTRIBUTE_PARENT_ID;
+        params["AttrParentId_param"] = row[0].ATTRIBUTE_PARENT_ID;
 }
 neon.openContext("Attribute", null, null, neon.OPERATINGSTATE_NEW, params);
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/attributechildren/children/attrparenttype_param/valueProcess.js b/entity/Attribute_entity/entityfields/attributechildren/children/attrparenttype_param/valueProcess.js
index fe18eca06c7f87d798bd3e58c7726058b5bf049f..372decd8620b90d3e722f96f362c01b947eb6a32 100644
--- a/entity/Attribute_entity/entityfields/attributechildren/children/attrparenttype_param/valueProcess.js
+++ b/entity/Attribute_entity/entityfields/attributechildren/children/attrparenttype_param/valueProcess.js
@@ -1,4 +1,10 @@
+import("system.neon");
 import("system.vars");
 import("system.result");
 
-result.string(vars.getString("$field.ATTRIBUTE_TYPE").trim());
+var type;
+if (vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW)
+    type = "GETGROUPS";
+else
+    type = vars.getString("$field.ATTRIBUTE_TYPE").trim()
+result.string(type);
diff --git a/entity/Attribute_entity/entityfields/attributeparent/children/getgroups_param/valueProcess.js b/entity/Attribute_entity/entityfields/attributeparent/children/getgroups_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..289c6a9357f3e98c026acb10dab34501ad5daea5
--- /dev/null
+++ b/entity/Attribute_entity/entityfields/attributeparent/children/getgroups_param/valueProcess.js
@@ -0,0 +1,5 @@
+import("system.neon");
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW || "");
\ No newline at end of file
diff --git a/entity/Attribute_entity/recordcontainers/db/conditionProcess.js b/entity/Attribute_entity/recordcontainers/db/conditionProcess.js
index b6c5e92cacc1dcf517fb4e9140a5cf2ba0cfca80..e2011076115f70a20f9bed37a7712e5c6e9bf0b9 100644
--- a/entity/Attribute_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Attribute_entity/recordcontainers/db/conditionProcess.js
@@ -1,3 +1,4 @@
+import("system.logging");
 import("system.db");
 import("system.vars");
 import("system.result");
@@ -6,8 +7,15 @@ import("Attribute_lib");
 
 var condition = "1 = 2";
 
+var getGroups = vars.exists("$param.GetGroups_param") && vars.get("$param.GetGroups_param");
 var objectType = vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param");
-if (objectType)  //if there's an objectType, it comes from the AttributeRelation entity
+if (getGroups)
+{
+    condition = db.translateCondition(SqlCondition.begin()
+        .andPrepare("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.GROUP)
+        .build());
+}
+else if (objectType)  //if there's an objectType, it comes from the AttributeRelation entity
 {
     var filteredAttributes = [];
     if (vars.exists("$param.FilteredAttributeIds_param") && vars.get("$param.FilteredAttributeIds_param"))
@@ -19,11 +27,6 @@ if (objectType)  //if there's an objectType, it comes from the AttributeRelation
 else 
 {
     var type = vars.exists("$param.AttrParentType_param") && vars.get("$param.AttrParentType_param");
-    if (type != $AttributeTypes.COMBOVALUE)
-        condition = SqlCondition.begin()
-            .andPrepare("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.GROUP)
-            .build();
-
     if (type == $AttributeTypes.COMBO)
         condition = SqlCondition.begin()
             .andPrepareVars("AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID", "$param.AttrParentId_param")
diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
index d5609ca09367b9ee768d2048ae42805a8b54cd53..727d659680ed53ed16e6f8ef76d64af4e77bebb6 100644
--- a/entity/KeywordEntry_entity/KeywordEntry_entity.aod
+++ b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
@@ -365,6 +365,7 @@
         <entityParameter>
           <name>OnlyActives_param</name>
           <valueProcess>%aditoprj%/entity/KeywordEntry_entity/entityfields/specificcontainerkeywords/children/onlyactives_param/valueProcess.js</valueProcess>
+          <expose v="true" />
           <triggerRecalculation v="false" />
         </entityParameter>
         <entityParameter>
diff --git a/entity/ObjectTree_entity/ObjectTree_entity.aod b/entity/ObjectTree_entity/ObjectTree_entity.aod
new file mode 100644
index 0000000000000000000000000000000000000000..4f1f27a339b8e94c85a62cfedb7620b63b662ab6
--- /dev/null
+++ b/entity/ObjectTree_entity/ObjectTree_entity.aod
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.0">
+  <name>ObjectTree_entity</name>
+  <title>Object tree</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <recordContainer>jdito</recordContainer>
+  <entityFields>
+    <entityProvider>
+      <name>#PROVIDER</name>
+    </entityProvider>
+    <entityProvider>
+      <name>TreeProvider</name>
+      <fieldType>DEPENDENCY_IN</fieldType>
+      <dependencies>
+        <entityDependency>
+          <name>f4c0605f-3ccb-4ff1-b460-7268e8553857</name>
+          <entityName>Organisation_entity</entityName>
+          <fieldName>ObjectTrees</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>423acf79-e2c5-46e4-9fb5-7b1a7078d4f4</name>
+          <entityName>Person_entity</entityName>
+          <fieldName>ObjectTrees</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
+    </entityProvider>
+    <entityParameter>
+      <name>ObjectId_param</name>
+      <expose v="true" />
+      <mandatory v="true" />
+      <description>PARAMETER</description>
+    </entityParameter>
+    <entityField>
+      <name>UID</name>
+    </entityField>
+    <entityField>
+      <name>PARENT_ID</name>
+    </entityField>
+    <entityField>
+      <name>TITLE</name>
+    </entityField>
+    <entityField>
+      <name>ICON</name>
+      <valueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/icon/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>DESCRIPTION</name>
+      <valueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/description/valueProcess.js</valueProcess>
+    </entityField>
+  </entityFields>
+  <recordContainers>
+    <jDitoRecordContainer>
+      <name>jdito</name>
+      <jDitoRecordAlias>Data_alias</jDitoRecordAlias>
+      <contentProcess>%aditoprj%/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
+      <recordFields>
+        <element>UID.value</element>
+        <element>PARENT_ID.value</element>
+        <element>TITLE.value</element>
+      </recordFields>
+    </jDitoRecordContainer>
+  </recordContainers>
+</entity>
diff --git a/entity/ObjectTree_entity/entityfields/description/valueProcess.js b/entity/ObjectTree_entity/entityfields/description/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..552c76f9742ef18911436c6a7cee0f9e98d4eea0
--- /dev/null
+++ b/entity/ObjectTree_entity/entityfields/description/valueProcess.js
@@ -0,0 +1 @@
+import("system.result");
diff --git a/entity/ObjectTree_entity/entityfields/icon/valueProcess.js b/entity/ObjectTree_entity/entityfields/icon/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..38e1eeb09061b0202bb98013eb9cbe89f06cf8ca
--- /dev/null
+++ b/entity/ObjectTree_entity/entityfields/icon/valueProcess.js
@@ -0,0 +1,2 @@
+import("system.result");
+result.string("VAADIN:TASKS");
\ No newline at end of file
diff --git a/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js b/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..19b4227d9653b2fea12ec49da0a70b90b50aa3a5
--- /dev/null
+++ b/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js
@@ -0,0 +1,107 @@
+import("system.db");
+import("system.vars");
+import("system.result");
+import("system.translate");
+import("Context_lib");
+import("Sql_lib")
+
+var thisObjectId = vars.get("$param.ObjectId_param");
+
+var objectRelations = fetchObjectRelations(thisObjectId);
+var mappedObjectRelations = mapObjectRelations(objectRelations);
+
+var treeData = buildTreeData(mappedObjectRelations);
+
+
+result.object(treeData);
+
+/**
+ * Will fetch all objects relations which are in relation with the given
+ * object ID. It will compare the given object ID with `OBJECT1_ROWID` and
+ * `OBJECT2_ROWID`.
+ * 
+ * It will always return the following array signature:
+ * (0) OBJECT1_ROWID | (1) OBJECT2_ROWID | (2) AB_OBJECTRELATIONTYPE1 |(3) type1.OBJECT_TYPE | (4) type1.RELATION_TITLE
+ * (5) AB_OBJECTRELATIONTYPE2  | (6) type2.OBJECT_TYPE | (7) type2.RELATION_TITLE | (8) Name of object 1 | (9) Name of object 2
+ *
+ * @return Will return the given schema above. You can assume, that there will always
+ * be an array. 
+ */
+function fetchObjectRelations (pObjectID) {
+    var databaseResult = db.table(
+          "SELECT OBJECT1_ROWID, OBJECT2_ROWID, AB_OBJECTRELATIONTYPE1, type1.OBJECT_TYPE, type1.RELATION_TITLE, AB_OBJECTRELATIONTYPE2, type2.OBJECT_TYPE, type2.RELATION_TITLE, "
+        + ContextUtils.getNameSubselectSql("type1.OBJECT_TYPE", "OBJECT1_ROWID") + ", " + ContextUtils.getNameSubselectSql("type2.OBJECT_TYPE", "OBJECT2_ROWID") + " "
+        + "FROM ADITO.AB_OBJECTRELATION as relation "
+        + "left join AB_OBJECTRELATIONTYPE as type1 on AB_OBJECTRELATIONTYPE1 = type1.AB_OBJECTRELATIONTYPEID "
+        + "left join AB_OBJECTRELATIONTYPE as type2 on AB_OBJECTRELATIONTYPE2 = type2.AB_OBJECTRELATIONTYPEID "
+        + "where OBJECT1_ROWID = '" + thisObjectId + "' or OBJECT2_ROWID = '" + thisObjectId + "'");
+    
+    return databaseResult;
+}
+
+/**
+ * Will map the given object relations into a valid schema for the tree.
+ * The requried schema for the param can be found in function
+ * {@link fetchObjectRelations}.
+ * This function is required for additional filtering an mapping of the data.
+ *
+ * It will always return the following array signature:
+ * (0) Object type ID | (1) Object type name | (2) Relation 
+ * 
+ *
+ * @param pObjectRelations Array with object relations in specific schema.
+ * @return Will return the given schema above. You can assume, that there will
+ * always be an array.
+* 
+* @return The mapped Array with object relations in the following format:
+* ObjectTypeID | ObjectType | RelationTitle | ObjectID 
+ */
+function mapObjectRelations (pObjectRelations) {
+    var resultSet = [];
+    
+    for (var i = 0; i < pObjectRelations.length; i++) {
+        var currentRecord = pObjectRelations[i];
+        
+        var objectRowId1 = currentRecord[0];
+        var objectRowId2 = currentRecord[1];
+        
+        if (objectRowId1 === thisObjectId) {
+            resultSet.push([currentRecord[5], currentRecord[6], currentRecord[7], currentRecord[1], currentRecord[9]]);
+        } else if (objectRowId2 === thisObjectId) {
+            resultSet.push([currentRecord[2], currentRecord[3], currentRecord[4], currentRecord[0], currentRecord[8]]);
+        }
+    }
+    
+    return resultSet
+}
+
+function buildTreeData (pObjectRelations) {
+   // Group each relation type
+   var relationTypeMapping = {}
+   
+   var i = 0;
+   for (i = 0; i < pObjectRelations.length; i++) {
+       var currentRelation = pObjectRelations[i];
+       
+       if (relationTypeMapping[currentRelation[0]] === undefined)
+           relationTypeMapping[currentRelation[0]] = currentRelation[2];
+   }
+   
+   var treeRows = []
+   for (i = 0; i < pObjectRelations.length; i++) {
+       var currentRelation = pObjectRelations[i];
+              
+       treeRows.push([currentRelation[3], currentRelation[0], currentRelation[4]]);
+   }
+   
+   // Root elements
+   for (i = 0 ; i < Object.keys(relationTypeMapping).length; i++) {
+       var currentKey = Object.keys(relationTypeMapping)[i];
+       
+       var translatedTitle = translate.text(relationTypeMapping[currentKey])
+       
+       treeRows.push([currentKey, null, translatedTitle]);
+   }
+   
+   return treeRows;
+}
\ No newline at end of file
diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod
index 1e33375cd8ce1c1450c229105f9083dba5254eca..4e32e2103bca7009727a358d7b0c20bd683b5ccc 100644
--- a/entity/Offer_entity/Offer_entity.aod
+++ b/entity/Offer_entity/Offer_entity.aod
@@ -543,7 +543,7 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keywordpaymentterm/children/containername_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
@@ -558,11 +558,31 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keyworddeliveryterm/children/containername_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityConsumer>
+      <name>Tasks</name>
+      <title>Tasks</title>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Task_entity</entityName>
+        <fieldName>LinkedObjects</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ObjectType_param</name>
+          <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/tasks/children/objecttype_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>RowId_param</name>
+          <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/tasks/children/rowid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Offer_entity/entityfields/tasks/children/objecttype_param/valueProcess.js b/entity/Offer_entity/entityfields/tasks/children/objecttype_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..5996e99db232db8df50f155732110608e5abff4e
--- /dev/null
+++ b/entity/Offer_entity/entityfields/tasks/children/objecttype_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Context_lib");
+
+result.string(ContextUtils.getCurrentContextId());
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/tasks/children/rowid_param/valueProcess.js b/entity/Offer_entity/entityfields/tasks/children/rowid_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..4adebe4edff067c1964160dfa9f90a08cc5fdfe0
--- /dev/null
+++ b/entity/Offer_entity/entityfields/tasks/children/rowid_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.OFFERID"));
\ No newline at end of file
diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod
index 79c8ac12b2a8d82b4cd90cd3269f68b4de96d63a..2693a3e0d3417f3a357202a495d702588810bc36 100644
--- a/entity/Order_entity/Order_entity.aod
+++ b/entity/Order_entity/Order_entity.aod
@@ -407,6 +407,26 @@
       <onActionProcess>%aditoprj%/entity/Order_entity/entityfields/newtask/onActionProcess.js</onActionProcess>
       <iconId>VAADIN:TASKS</iconId>
     </entityActionField>
+    <entityConsumer>
+      <name>Tasks</name>
+      <title>Tasks</title>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Task_entity</entityName>
+        <fieldName>LinkedObjects</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ObjectType_param</name>
+          <valueProcess>%aditoprj%/entity/Order_entity/entityfields/tasks/children/objecttype_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>RowId_param</name>
+          <valueProcess>%aditoprj%/entity/Order_entity/entityfields/tasks/children/rowid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Order_entity/entityfields/tasks/children/objecttype_param/valueProcess.js b/entity/Order_entity/entityfields/tasks/children/objecttype_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..5996e99db232db8df50f155732110608e5abff4e
--- /dev/null
+++ b/entity/Order_entity/entityfields/tasks/children/objecttype_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Context_lib");
+
+result.string(ContextUtils.getCurrentContextId());
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/tasks/children/rowid_param/valueProcess.js b/entity/Order_entity/entityfields/tasks/children/rowid_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..14fab25fcad86ba4b15695d50b353e6146d09d77
--- /dev/null
+++ b/entity/Order_entity/entityfields/tasks/children/rowid_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.SALESORDERID"));
\ No newline at end of file
diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod
index 820e4e418d878844a3e2ac86c2e3e32dbbf79b05..602273e1111251caeb5b6b9bc8780210a72824f1 100644
--- a/entity/Organisation_entity/Organisation_entity.aod
+++ b/entity/Organisation_entity/Organisation_entity.aod
@@ -558,12 +558,48 @@
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityConsumer>
+      <name>Tasks</name>
+      <title>Tasks</title>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Task_entity</entityName>
+        <fieldName>LinkedObjects</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>RowId_param</name>
+          <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/tasks/children/rowid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>ObjectType_param</name>
+          <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/tasks/children/objecttype_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
     <entityParameter>
       <name>WithPrivat_param</name>
       <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/withprivat_param/valueProcess.js</valueProcess>
       <expose v="true" />
       <description>PARAMETER</description>
     </entityParameter>
+    <entityConsumer>
+      <name>ObjectTrees</name>
+      <title>Relation tree</title>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>ObjectTree_entity</entityName>
+        <fieldName>TreeProvider</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ObjectId_param</name>
+          <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/objecttrees/children/objectid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Organisation_entity/entityfields/objecttrees/children/objectid_param/valueProcess.js b/entity/Organisation_entity/entityfields/objecttrees/children/objectid_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..fb6ae92cf587f31a05c8d4f9f1fb13316eeeb5f3
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/objecttrees/children/objectid_param/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.vars");
+import("system.result");
+result.string(vars.get("$field.ORGANISATION_ID"));
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/tasks/children/objecttype_param/valueProcess.js b/entity/Organisation_entity/entityfields/tasks/children/objecttype_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..5996e99db232db8df50f155732110608e5abff4e
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/tasks/children/objecttype_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Context_lib");
+
+result.string(ContextUtils.getCurrentContextId());
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/tasks/children/rowid_param/valueProcess.js b/entity/Organisation_entity/entityfields/tasks/children/rowid_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..ed4a4f567aa9d494002b914426589ea37bc56682
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/tasks/children/rowid_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.CONTACTID"));
\ No newline at end of file
diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index 1d49afb665735eb37c9b26c834c4b01d2476846f..1d02fe458c4f96e83cf8c7d8058abcd914502dee 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -36,6 +36,7 @@
       <name>LASTNAME</name>
       <title>Lastname</title>
       <mandatory v="true" />
+      <valueProcess>%aditoprj%/entity/Person_entity/entityfields/lastname/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>MIDDLENAME</name>
@@ -125,7 +126,7 @@
         <entityDependency>
           <name>41952879-c2f0-411f-8ca1-36c38914a629</name>
           <entityName>Organisation_entity</entityName>
-          <fieldName>Contacts</fieldName>
+          <fieldName>Contact</fieldName>
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
@@ -195,7 +196,7 @@
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/communications/children/contactid_param/valueProcess.js</valueProcess>
           <expose v="false" />
           <triggerRecalculation v="true" />
-          <description>This parameter is used for specifing a related "CONTACTID" to a COMMUNICATION-entry. 
+          <description>This parameter is used for specifing a related &amp;quot;CONTACTID&amp;quot; to a COMMUNICATION-entry. 
 Usually this is used for filtering COMMUNICATION-entries by a specified contact or creating a new entry that is related to a contact.</description>
         </entityParameter>
         <entityParameter>
@@ -211,8 +212,14 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
       <dependency>
         <name>dependency</name>
         <entityName>Organisation_entity</entityName>
-        <fieldName>#PROVIDER</fieldName>
+        <fieldName>Organisations</fieldName>
       </dependency>
+      <children>
+        <entityParameter>
+          <name>WithPrivat_param</name>
+          <valueProcess>%aditoprj%/entity/Person_entity/entityfields/organisations/children/withprivat_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
     </entityConsumer>
     <entityConsumer>
       <name>Contracts</name>
@@ -290,6 +297,12 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
           <fieldName>Contacts</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>ffdbb464-fa37-4bb7-a66d-d9e0d3a9bc56</name>
+          <entityName>Activity_entity</entityName>
+          <fieldName>Contacts</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
     </entityProvider>
     <entityField>
@@ -384,6 +397,7 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
       <title>Company Addresses</title>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <state>READONLY</state>
+      <stateProcess>%aditoprj%/entity/Person_entity/entityfields/orgaddresses/stateProcess.js</stateProcess>
       <dependency>
         <name>dependency</name>
         <entityName>Address_entity</entityName>
@@ -449,7 +463,7 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
           <name>ContactId_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/phonecommunications/children/contactid_param/valueProcess.js</valueProcess>
           <expose v="false" />
-          <description>This parameter is used for specifing a related "CONTACTID" to a COMMUNICATION-entry. 
+          <description>This parameter is used for specifing a related &amp;quot;CONTACTID&amp;quot; to a COMMUNICATION-entry. 
 Usually this is used for filtering COMMUNICATION-entries by a specified contact or creating a new entry that is related to a contact.</description>
         </entityParameter>
       </children>
@@ -468,7 +482,7 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
           <name>ContactId_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/emailcommunications/children/contactid_param/valueProcess.js</valueProcess>
           <expose v="false" />
-          <description>This parameter is used for specifing a related "CONTACTID" to a COMMUNICATION-entry. 
+          <description>This parameter is used for specifing a related &amp;quot;CONTACTID&amp;quot; to a COMMUNICATION-entry. 
 Usually this is used for filtering COMMUNICATION-entries by a specified contact or creating a new entry that is related to a contact.</description>
         </entityParameter>
       </children>
@@ -486,6 +500,8 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
       <title>New activity</title>
       <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/newactivity/onActionProcess.js</onActionProcess>
       <iconId>NEON:HISTORY</iconId>
+      <tooltip>New activity</tooltip>
+      <tooltipProcess>%aditoprj%/entity/Person_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess>
     </entityActionField>
     <entityConsumer>
       <name>ObjectRelations</name>
@@ -517,8 +533,9 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/keywordgenders/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -574,14 +591,14 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
       </dependency>
       <children>
         <entityParameter>
-          <name>objectRowId_param</name>
+          <name>ObjectRowId_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess>
-          <expose v="true" />
           <triggerRecalculation v="true" />
         </entityParameter>
         <entityParameter>
-          <name>objectType_param</name>
+          <name>ObjectType_param</name>
           <valueProcess>%aditoprj%/entity/Person_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess>
+          <expose v="false" />
           <triggerRecalculation v="true" />
         </entityParameter>
       </children>
@@ -612,6 +629,42 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
       <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/newtask/onActionProcess.js</onActionProcess>
       <iconId>VAADIN:TASKS</iconId>
     </entityActionField>
+    <entityConsumer>
+      <name>Tasks</name>
+      <title>Tasks</title>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Task_entity</entityName>
+        <fieldName>LinkedObjects</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ObjectType_param</name>
+          <valueProcess>%aditoprj%/entity/Person_entity/entityfields/tasks/children/objecttype_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>RowId_param</name>
+          <valueProcess>%aditoprj%/entity/Person_entity/entityfields/tasks/children/rowid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityConsumer>
+      <name>ObjectTrees</name>
+      <title>Relation tree</title>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>ObjectTree_entity</entityName>
+        <fieldName>TreeProvider</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ObjectId_param</name>
+          <valueProcess>%aditoprj%/entity/Person_entity/entityfields/objecttrees/children/objectid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -622,21 +675,21 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
       <onDBUpdate>%aditoprj%/entity/Person_entity/recordcontainers/db/onDBUpdate.js</onDBUpdate>
       <linkInformation>
         <linkInformation>
-          <name>8c7dedf5-276a-4dff-a755-af9fd6e8a102</name>
+          <name>cb2de42b-de48-4543-91d6-8d00af5c5736</name>
           <tableName>PERSON</tableName>
           <primaryKey>PERSONID</primaryKey>
           <isUIDTable v="false" />
           <readonly v="false" />
         </linkInformation>
         <linkInformation>
-          <name>c832aa10-3f49-4e3a-ac26-41cebecac7ee</name>
+          <name>23fde8db-a3fe-421d-9e39-f6a0294e6883</name>
           <tableName>CONTACT</tableName>
           <primaryKey>CONTACTID</primaryKey>
           <isUIDTable v="true" />
           <readonly v="false" />
         </linkInformation>
         <linkInformation>
-          <name>1a59ebc4-5334-4e11-9d55-89fc5c5f6d46</name>
+          <name>6766787e-d39b-4030-bd26-cacfcd80d386</name>
           <tableName>ORGANISATION</tableName>
           <primaryKey>ORGANISATIONID</primaryKey>
           <isUIDTable v="false" />
diff --git a/entity/Person_entity/entityfields/objecttrees/children/objectid_param/valueProcess.js b/entity/Person_entity/entityfields/objecttrees/children/objectid_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..f8f18bbb44f53cdf36e79af50410f0ccf70c2585
--- /dev/null
+++ b/entity/Person_entity/entityfields/objecttrees/children/objectid_param/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.vars");
+import("system.result");
+result.string(vars.get("$field.PERSON_ID"));
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/tasks/children/objecttype_param/valueProcess.js b/entity/Person_entity/entityfields/tasks/children/objecttype_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..5996e99db232db8df50f155732110608e5abff4e
--- /dev/null
+++ b/entity/Person_entity/entityfields/tasks/children/objecttype_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Context_lib");
+
+result.string(ContextUtils.getCurrentContextId());
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/tasks/children/rowid_param/valueProcess.js b/entity/Person_entity/entityfields/tasks/children/rowid_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..ed4a4f567aa9d494002b914426589ea37bc56682
--- /dev/null
+++ b/entity/Person_entity/entityfields/tasks/children/rowid_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.CONTACTID"));
\ No newline at end of file
diff --git a/entity/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod
index 4ac4cffd2b9c31e808579ed5a00b236dfe7d6c8d..fb5aaaa654c38c4118e65591395eb4bbcea308cf 100644
--- a/entity/Product_entity/Product_entity.aod
+++ b/entity/Product_entity/Product_entity.aod
@@ -370,6 +370,26 @@
       <onActionProcess>%aditoprj%/entity/Product_entity/entityfields/newtask/onActionProcess.js</onActionProcess>
       <iconId>VAADIN:TASKS</iconId>
     </entityActionField>
+    <entityConsumer>
+      <name>Tasks</name>
+      <title>Tasks</title>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Task_entity</entityName>
+        <fieldName>LinkedObjects</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ObjectType_param</name>
+          <valueProcess>%aditoprj%/entity/Product_entity/entityfields/tasks/children/objecttype_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>RowId_param</name>
+          <valueProcess>%aditoprj%/entity/Product_entity/entityfields/tasks/children/rowid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Product_entity/entityfields/tasks/children/objecttype_param/valueProcess.js b/entity/Product_entity/entityfields/tasks/children/objecttype_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..5996e99db232db8df50f155732110608e5abff4e
--- /dev/null
+++ b/entity/Product_entity/entityfields/tasks/children/objecttype_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Context_lib");
+
+result.string(ContextUtils.getCurrentContextId());
\ No newline at end of file
diff --git a/entity/Product_entity/entityfields/tasks/children/rowid_param/valueProcess.js b/entity/Product_entity/entityfields/tasks/children/rowid_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..383172e0975050636cb98d21e5d21b293d94b374
--- /dev/null
+++ b/entity/Product_entity/entityfields/tasks/children/rowid_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.PRODUCTID"));
\ No newline at end of file
diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod
index ab14dcb99f16060d5f03191ff86dd8adbd331e6c..3bdf5d264c6bda3c6d09ac08464ee7fb1308a885 100644
--- a/entity/Salesproject_entity/Salesproject_entity.aod
+++ b/entity/Salesproject_entity/Salesproject_entity.aod
@@ -474,6 +474,26 @@
       <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newtask/onActionProcess.js</onActionProcess>
       <iconId>VAADIN:TASKS</iconId>
     </entityActionField>
+    <entityConsumer>
+      <name>Tasks</name>
+      <title>Tasks</title>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Task_entity</entityName>
+        <fieldName>LinkedObjects</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ObjectType_param</name>
+          <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/tasks/children/objecttype_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>RowId_param</name>
+          <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/tasks/children/rowid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Salesproject_entity/entityfields/tasks/children/objecttype_param/valueProcess.js b/entity/Salesproject_entity/entityfields/tasks/children/objecttype_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..5996e99db232db8df50f155732110608e5abff4e
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/tasks/children/objecttype_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Context_lib");
+
+result.string(ContextUtils.getCurrentContextId());
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/tasks/children/rowid_param/valueProcess.js b/entity/Salesproject_entity/entityfields/tasks/children/rowid_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..48a285123e08e29f74151f2b81b6758c8b28463a
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/tasks/children/rowid_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.SALESPROJECTID"));
\ No newline at end of file
diff --git a/entity/TaskLink_entity/TaskLink_entity.aod b/entity/TaskLink_entity/TaskLink_entity.aod
index d212d19db31f17f43e261b84448106490ec222fe..b344727738c868237ab4e2d86201d6271f317278 100644
--- a/entity/TaskLink_entity/TaskLink_entity.aod
+++ b/entity/TaskLink_entity/TaskLink_entity.aod
@@ -43,6 +43,12 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
+      <children>
+        <entityParameter>
+          <name>TaskId_param</name>
+          <expose v="true" />
+        </entityParameter>
+      </children>
     </entityProvider>
     <entityParameter>
       <name>TaskId_param</name>
diff --git a/entity/Task_entity/Task_entity.aod b/entity/Task_entity/Task_entity.aod
index 57c5131c2961b87b6cfbea88848cdabded36b0fc..ebb4854f8067c628aaf34cae4190e46cdefdac86 100644
--- a/entity/Task_entity/Task_entity.aod
+++ b/entity/Task_entity/Task_entity.aod
@@ -291,7 +291,7 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Task_entity/entityfields/keywordprogress/children/containername_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
@@ -312,11 +312,64 @@
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityProvider>
+      <name>LinkedObjects</name>
+      <fieldType>DEPENDENCY_IN</fieldType>
+      <dependencies>
+        <entityDependency>
+          <name>dd79df43-264c-494b-9c92-cadf19e61db6</name>
+          <entityName>Organisation_entity</entityName>
+          <fieldName>Tasks</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>dc29832e-15da-4f64-b17a-f1dd978ef47b</name>
+          <entityName>Person_entity</entityName>
+          <fieldName>Tasks</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>c6507834-cd91-4202-bdf7-6566f968edb4</name>
+          <entityName>Salesproject_entity</entityName>
+          <fieldName>Tasks</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>26b9b221-de02-40ef-a400-d4b5e356da0b</name>
+          <entityName>Offer_entity</entityName>
+          <fieldName>Tasks</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>b2bb448a-b647-40c8-baec-16356f3e23f5</name>
+          <entityName>Order_entity</entityName>
+          <fieldName>Tasks</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>a93f1e7e-f929-438f-8f37-21e4af8b53b6</name>
+          <entityName>Product_entity</entityName>
+          <fieldName>Tasks</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
+      <children>
+        <entityParameter>
+          <name>ObjectType_param</name>
+          <expose v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>RowId_param</name>
+          <expose v="true" />
+        </entityParameter>
+      </children>
+    </entityProvider>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
       <name>db</name>
       <alias>Data_alias</alias>
+      <conditionProcess>%aditoprj%/entity/Task_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
       <orderClauseProcess>%aditoprj%/entity/Task_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
       <onDBDelete>%aditoprj%/entity/Task_entity/recordcontainers/db/onDBDelete.js</onDBDelete>
       <linkInformation>
diff --git a/entity/Task_entity/recordcontainers/db/conditionProcess.js b/entity/Task_entity/recordcontainers/db/conditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..c8ad9ae7b7d6d66d6b63742642fb9d48212b1947
--- /dev/null
+++ b/entity/Task_entity/recordcontainers/db/conditionProcess.js
@@ -0,0 +1,18 @@
+import("system.vars");
+import("system.db");
+import("system.result");
+import("Sql_lib");
+
+var cond = new SqlCondition();
+if (vars.exists("$param.RowId_param") && vars.get("$param.RowId_param") && vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param"))
+{
+    var activityLinkCond = SqlCondition.begin().andPrepareVars("TASKLINK.OBJECT_ROWID", "$param.RowId_param")
+                                               .andPrepareVars("TASKLINK.OBJECT_TYPE", "$param.ObjectType_param");
+
+                                                            // TODO: more performant way than IN. Maybe a join??
+    cond.and(db.translateStatement(activityLinkCond.buildSql("TASK.TASKID in (select TASKLINK.TASK_ID from TASKLINK", "1=2", ")")))
+}
+
+//TODO: use a preparedCondition when available #1030812 #1034026
+var resCond = db.translateCondition(cond.build("1 = 1"));
+result.string(resCond);
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index fcdfc72c9c07d182a55464fa4b33c157532bd783..508a1120f734d45ab000cdd45f825b849ff52539 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -1622,7 +1622,8 @@
       <value>keine</value>
     </entry>
     <entry>
-      <key>Ihr zuständiger Betreuer:</key>
+      <key>Directly responsible:</key>
+      <value>Ihr zuständiger Betreuer:</value>
     </entry>
     <entry>
       <key>Termin</key>
@@ -3340,6 +3341,10 @@
       <key>carriage free</key>
       <value>frei Haus</value>
     </entry>
+    <entry>
+      <key>Relation tree</key>
+      <value>Beziehungsbaum</value>
+    </entry>
     <entry>
       <key>Delivery terms</key>
     </entry>
diff --git a/neonContext/ObjectRelation/ObjectRelation.aod b/neonContext/ObjectRelation/ObjectRelation.aod
index 02bf8f6b828eef10cfbf49e8f158ad4691ad8622..ea16cff33f05f5f1638a7376279ffa11ec90a32b 100644
--- a/neonContext/ObjectRelation/ObjectRelation.aod
+++ b/neonContext/ObjectRelation/ObjectRelation.aod
@@ -15,10 +15,6 @@
       <name>30334c84-5e46-4a4e-a5c4-3c42d1cb109b</name>
       <view>ObjectRelationEdit_view</view>
     </neonViewReference>
-    <neonViewReference>
-      <name>a1efaa32-2313-40b5-9cd0-715b9c635036</name>
-      <view>ObjectRelationTree_view</view>
-    </neonViewReference>
     <neonViewReference>
       <name>ec83a8eb-11a5-4544-8a06-47789704a626</name>
       <view>ObjectRelationFilter_view</view>
diff --git a/neonContext/ObjectTree/ObjectTree.aod b/neonContext/ObjectTree/ObjectTree.aod
new file mode 100644
index 0000000000000000000000000000000000000000..b7ae46a2ca92572cedfa4c0abac241d2b1ed2b73
--- /dev/null
+++ b/neonContext/ObjectTree/ObjectTree.aod
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
+  <name>ObjectTree</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <entity>ObjectTree_entity</entity>
+  <references>
+    <neonViewReference>
+      <name>0c9fc36e-e3f7-4198-b675-5d9ddb177611</name>
+      <view>ObjectTree_view</view>
+    </neonViewReference>
+  </references>
+</neonContext>
diff --git a/neonView/ObjectRelationTree_view/ObjectRelationTree_view.aod b/neonView/ObjectRelationTree_view/ObjectRelationTree_view.aod
index 71c81ab05a2cbe1144fde4f53961fd15e0a6f7a9..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
--- a/neonView/ObjectRelationTree_view/ObjectRelationTree_view.aod
+++ b/neonView/ObjectRelationTree_view/ObjectRelationTree_view.aod
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.0">
-  <name>ObjectRelationTree_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <treetableViewTemplate>
-      <name>ObjectRelations</name>
-      <entityField>#ENTITY</entityField>
-    </treetableViewTemplate>
-  </children>
-</neonView>
diff --git a/neonView/ObjectTree_view/ObjectTree_view.aod b/neonView/ObjectTree_view/ObjectTree_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..3d68dc239b8a9178ac50de4dbda52af358502d17
--- /dev/null
+++ b/neonView/ObjectTree_view/ObjectTree_view.aod
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.0">
+  <name>ObjectTree_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <treetableViewTemplate>
+      <name>ObjectRelations</name>
+      <parentField>PARENT_ID</parentField>
+      <titleField>TITLE</titleField>
+      <descriptionField>DESCRIPTION</descriptionField>
+      <iconField>ICON</iconField>
+      <entityField>#ENTITY</entityField>
+    </treetableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/OfferMain_view/OfferMain_view.aod b/neonView/OfferMain_view/OfferMain_view.aod
index 786da563d5dffbbf0362e77c0e924ae45abf27f8..4b4735152b67636ea7be12f8f9dc914ee255019e 100644
--- a/neonView/OfferMain_view/OfferMain_view.aod
+++ b/neonView/OfferMain_view/OfferMain_view.aod
@@ -24,6 +24,11 @@
       <entityField>Activities</entityField>
       <view>ActivityFilter_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>f6cbee03-396f-40b5-8022-e5e8cefbb410</name>
+      <entityField>Tasks</entityField>
+      <view>TaskFilter_view</view>
+    </neonViewReference>
     <neonViewReference>
       <name>e6b12eed-d67e-467c-9302-f6340f901235</name>
       <entityField>#ENTITY</entityField>
diff --git a/neonView/OrderMain_view/OrderMain_view.aod b/neonView/OrderMain_view/OrderMain_view.aod
index dc1a7fe631609f5fff62743ca783bae19177d841..b6ea5b07fefaeef775aca9764ac339b1fddf38ca 100644
--- a/neonView/OrderMain_view/OrderMain_view.aod
+++ b/neonView/OrderMain_view/OrderMain_view.aod
@@ -19,6 +19,11 @@
       <entityField>Activities</entityField>
       <view>ActivityFilter_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>351a9b5d-a050-4fb9-b3e4-402dcd84b331</name>
+      <entityField>Tasks</entityField>
+      <view>TaskFilter_view</view>
+    </neonViewReference>
     <neonViewReference>
       <name>f5455f3f-0743-47d1-bcb7-f2e83526e329</name>
       <entityField>Orderitems</entityField>
diff --git a/neonView/OrgEditDefaults_view/OrgEditDefaults_view.aod b/neonView/OrgEditDefaults_view/OrgEditDefaults_view.aod
deleted file mode 100644
index 725872a478b159d9f03a1f8c15b2d05b135b373f..0000000000000000000000000000000000000000
--- a/neonView/OrgEditDefaults_view/OrgEditDefaults_view.aod
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1">
-  <name>OrganisationEditDefaults_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>EditDefaults_template</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>08c00d5b-fc5e-451b-8341-0e5c5172faa8</name>
-          <entityField>ADDRESS_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>8fac75ad-cde5-411c-b0ad-744b5aab0c5d</name>
-          <entityField>STANDARD_EMAIL_COMMUNICATION</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>48722352-b85f-47d4-a6b1-dc87f9e9e6fc</name>
-          <entityField>STANDARD_PHONE_COMMUNICATION</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
diff --git a/neonView/OrganisationMain_view/OrganisationMain_view.aod b/neonView/OrganisationMain_view/OrganisationMain_view.aod
index 0d2427da60b2b5cffee33e226c5bea61db19fd86..e239640186e46b9ab0ff01dd9bb9f5c58ba65b3f 100644
--- a/neonView/OrganisationMain_view/OrganisationMain_view.aod
+++ b/neonView/OrganisationMain_view/OrganisationMain_view.aod
@@ -20,6 +20,11 @@
       <entityField>Activities</entityField>
       <view>ActivityFilter_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>55e04574-bc55-4c9a-a4c4-9ebd287f8ae6</name>
+      <entityField>Tasks</entityField>
+      <view>TaskFilter_view</view>
+    </neonViewReference>
     <neonViewReference>
       <name>c10533a6-d185-4b13-84ee-53a468544c03</name>
       <entityField>Contact</entityField>
@@ -50,6 +55,11 @@
       <entityField>ObjectRelations</entityField>
       <view>ObjectRelationFilter_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>c82aff98-ede5-4d9e-a902-89f71ed7dbb0</name>
+      <entityField>ObjectTrees</entityField>
+      <view>ObjectTree_view</view>
+    </neonViewReference>
     <neonViewReference>
       <name>39c98ccb-7f77-4df0-818f-1f302f69fec4</name>
       <entityField>Attributes</entityField>
diff --git a/neonView/PersonMain_view/PersonMain_view.aod b/neonView/PersonMain_view/PersonMain_view.aod
index e16b62d8bed02d8591b47aa6ecb789c26b7fb50a..d0e56b27d9011bf318bdd8587fe73a20e05408a2 100644
--- a/neonView/PersonMain_view/PersonMain_view.aod
+++ b/neonView/PersonMain_view/PersonMain_view.aod
@@ -19,6 +19,11 @@
       <entityField>Activities</entityField>
       <view>ActivityFilter_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>573d2b77-f948-47bc-bac1-621dd824c697</name>
+      <entityField>Tasks</entityField>
+      <view>TaskFilter_view</view>
+    </neonViewReference>
     <neonViewReference>
       <name>4b50b784-484f-4cdf-a705-4c356da763fa</name>
       <entityField>Documents</entityField>
@@ -39,6 +44,11 @@
       <entityField>ObjectRelations</entityField>
       <view>ObjectRelationFilter_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>cb8ff3df-772b-4c12-8814-f9101295b1ba</name>
+      <entityField>ObjectTrees</entityField>
+      <view>ObjectTree_view</view>
+    </neonViewReference>
     <neonViewReference>
       <name>be48c6fe-1837-4c40-aef1-130fc1a5c544</name>
       <entityField>Attributes</entityField>
diff --git a/neonView/ProductMain_view/ProductMain_view.aod b/neonView/ProductMain_view/ProductMain_view.aod
index 61770f088928c9a4f5d63a415127343c007dba8e..7ac4a87c4db385d9c6be171334d2084be0cbe6e9 100644
--- a/neonView/ProductMain_view/ProductMain_view.aod
+++ b/neonView/ProductMain_view/ProductMain_view.aod
@@ -19,6 +19,11 @@
       <entityField>Activities</entityField>
       <view>ActivityFilter_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>754b4efe-3ea7-42de-8e35-c85c3a0b4abf</name>
+      <entityField>Tasks</entityField>
+      <view>TaskFilter_view</view>
+    </neonViewReference>
     <neonViewReference>
       <name>51f37fe5-91e1-4b76-83b3-be0319e871a4</name>
       <entityField>#ENTITY</entityField>
diff --git a/neonView/SalesprojectMain_view/SalesprojectMain_view.aod b/neonView/SalesprojectMain_view/SalesprojectMain_view.aod
index ebfffde03b669fd24dca6027b2dafd724cd89087..7350642bde517bfc42eca3edbe0b5a49eb5091d7 100644
--- a/neonView/SalesprojectMain_view/SalesprojectMain_view.aod
+++ b/neonView/SalesprojectMain_view/SalesprojectMain_view.aod
@@ -19,6 +19,11 @@
       <entityField>Activities</entityField>
       <view>ActivityFilter_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>10252b5c-3620-4200-9827-f53ba35b5c2f</name>
+      <entityField>Tasks</entityField>
+      <view>TaskFilter_view</view>
+    </neonViewReference>
     <neonViewReference>
       <name>9dbe03b3-e5d3-4db8-b542-506b13322d4f</name>
       <entityField>SalesprojectForecasts</entityField>
diff --git a/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_AttributeType.xml b/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_AttributeType.xml
index 3dc7188a6debc18f36c7cf02eb0e8630782a7137..99852b24f7249d850ec0f6f8a32fd7503de7a471 100644
--- a/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_AttributeType.xml
+++ b/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_AttributeType.xml
@@ -1,6 +1,13 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
     <changeSet author="s.listl" id="14dc77c2-067f-4b45-a6ad-f2f973091d64">
+        <update tableName="AB_KEYWORD_ENTRY">
+            <column name="ISACTIVE" valueNumeric="0"/>
+            <where>AB_KEYWORD_ENTRYID = ?</where>
+            <whereParams>
+                <param value="75a67526-6b7c-400d-b958-e1f8f45466aa"/>
+            </whereParams>
+        </update>
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="9d2f9605-1a5e-47d3-8920-168f5637e37f"/>
             <column name="KEYID" value="KEYWORD"/>
diff --git a/process/Appointment_lib/Appointment_lib.aod b/process/Appointment_lib/Appointment_lib.aod
index 20497c5ba1cc22dfa08e0ef10c7e96be632119fd..8116d1ce92de31cf88a62114153aa1df86061e80 100644
--- a/process/Appointment_lib/Appointment_lib.aod
+++ b/process/Appointment_lib/Appointment_lib.aod
@@ -1,6 +1,5 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.0">
-  <name>Appointment_lib</name>
+<?xml version="1.0" encoding="UTF-8"?>
<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.0">
+   <name>Appointment_lib</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <process>%aditoprj%/process/Appointment_lib/process.js</process>
   <variants>
diff --git a/process/Offer_lib/process.js b/process/Offer_lib/process.js
index b7ee707a8fcb27cc592b76705c1f072d24f11799..6391d3f2cfe235d549861b3ac7d0675b0a1a038b 100644
--- a/process/Offer_lib/process.js
+++ b/process/Offer_lib/process.js
@@ -1,3 +1,4 @@
+import("system.logging");
 import("system.vars");
 import("system.util");
 import("system.datetime");
@@ -82,7 +83,7 @@ OfferUtils.createNewOffer = function(pSalesprojectId, pRelationId)
 
 
 /*
- * Open Offer report
+ * Open Offer report, the report is translated to the language of the offer
  * 
  * @param {String} pOfferID
  *
@@ -90,7 +91,7 @@ OfferUtils.createNewOffer = function(pSalesprojectId, pRelationId)
  */
 OfferUtils.openOfferReport = function (pOfferID)
 {    
-    var offerReport = new Report("RPTJ_OFFER");  
+    var offerReport = new Report("Offer_report");  
     
     var sqlUtil = new SqlMaskingUtils();
     
@@ -117,8 +118,9 @@ OfferUtils.openOfferReport = function (pOfferID)
     
     offerData[7] = datetime.toDate(offerData[7], translate.text("dd.MM.yyyy", language));
     
-    //TODO: use new keyword logic for language when possible
-    var language = "DE";
+    var language = db.cell(SqlCondition.begin()
+        .andPrepare("AB_LANGUAGE.ISO3", offerData[2])
+        .buildSql("select ISO2 from AB_LANGUAGE", "1=0"));
     var contactId = offerData[1];
     
     
@@ -158,6 +160,7 @@ OfferUtils.openOfferReport = function (pOfferID)
     var total = 0;
     var sums = [];
     var vatsum = 0;
+    var printDiscount = false;
     
     itemData = itemData.map(function (item)
     {
@@ -178,10 +181,13 @@ OfferUtils.openOfferReport = function (pOfferID)
         // sumItemSum + vat
         total = eMath.addDec(sumItemSum, offerData[9]); //total sum with vat
         
+        if (!printDiscount && item[11] > 0)
+            printDiscount = true;
+        
         return [
             offerData[6],   //currency
             offerData[7],   //offerdate
-            pOfferId,       //offerId
+            pOfferID,       //offerId
             item[0],        //info
             item[1],        //assignedTo
             item[3],        //itemname
@@ -200,13 +206,6 @@ OfferUtils.openOfferReport = function (pOfferID)
         ];
     });
     
-    // discount-condtion = offerCondition + additional condition. So we can reuse the previous object
-    offerCondition.andPrepare("OFFERITEM.DISCOUNT", 0, "# <> ?");
-    
-    var countDiscounts = db.cell(SqlCondition.begin()
-                                             .andPrepare("OFFER.OFFERID", pOfferID)
-                                             .buildSql("select count(OFFERITEM.DISCOUNT)" + offerFromSql, "1 = 0"));
-
     // TODO: get Images implementieren
     var imgData = ["meineFirma | Konrad-Zuse-Straße 4  |  DE 84144 Geisenhausen",
                    "base64:iVBORw0KGgoAAAANSUhEUgAAAM4AAABRCAYAAACaL5lSAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDA4QzAyM0IwREIwMTFFNEFGMDREM0VEMjExRjlBRTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDA4QzAyM0MwREIwMTFFNEFGMDREM0VEMjExRjlBRTIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowMDhDMDIzOTBEQjAxMUU0QUYwNEQzRUQyMTFGOUFFMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowMDhDMDIzQTBEQjAxMUU0QUYwNEQzRUQyMTFGOUFFMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhF3nYoAAAlvSURBVHja7J1fjBXVHcfPJQJRoe1urQYJRBYlMUJisqwvGNjY3WgEUtN2CeWBIGb3Ju6LElsW+gA8AHe1UfuwTcBASB/Q7CZNG0tjw2pWU15kNzEBJFnLqmvQBNEbU0pbX+jve+9vlrOzM/fOnTtz78zs95P8cv/MOTPnzJzvnN/5zZ+Tu3XrliGE1MYC7gJCKBxCKBxCKBxCKBxCKBxCCIVDCIVDCIVDCIVDyDzmDq8/d+1/PY5trRB7VGyt2BqxVWLLxe4RW6JpbohdF7sq9qnYpNhFsY/Evoi6QKeOvMAWQKITToQ8LPaEWKfYBrFlVdL/SO1BsU3W/1+JnRMbE3tP7DIPHcmicLrFfia2VWxlBOuD4H6pNi32tthfxM7yEJIsCAc9yw6x7WJLYyozhNgvtlPsLbHT2hMRkjrhYPzynNhu/d4IIMxesafEToqdiGMcREhcwnlKe4AtTaoDhHpArF1sSOwdHlYSN/WGo/Niv2+iaGy2aFnyPKwkqT1OTmyf2pIE1Qdh7t+J/VjsqBgfbyWJEU5OXaMDCa0ThHxYbJHYIYqHJMVV25dg0dgc0LIS0nTh5FPWGPdxzEOaLRxEz/YkbEwTxG3bo2UnpOHCQci3XwffaWONln0FDzdptHBwcXNLiuu5RetASMOE02nKdwSknd1aF0IaIpwdGXFzVmhdCIldOLjLeXuG6rtd60RIrMLBowFLM1TfpVonQmITDh5C25rBOm/VuhESi3Dw5ObKDNZ5pdaNkFiE05nhenfy0JM4hIMI1IYM13uD4QVREoNw8DaaZRmu9zKtIyGh8HusYG3UG/pJ6w/NKy89O/P70j+nzSsn/zTz+5EHV5oHlt9rep58fFa+sQ8vmEtXps35C5/4+12PrTMP3H9v6dMGeZAX6/Cp49tsAiRK4TTsnrS771xsdj3TZTrWPeQrCtiljmnzhzfPmH//538zyyC0/l9tLonSC6wT1tmxzgxJ3q+//a4pdSTzx1Vb1SjR/Hr3L3xFY4MeCWnt3wf7d/iKxgYC+83un7vTruLhJ1H3OMsbsfHnpbdAo0Yv8rcPzpsz74/P6i3QU0AgtgA2b1pvPhQXDHltd+7MB+MzPQrSIa/tukE0mzeuN6f+/O6cOuZyubrr0tvb12bK73nDZ/cbbxwfzWKD2Tnw2l75KIiN/rHwYibvwggyobSfcO6Ju3COINDYX5axjsuNKo1PYLue+eksATy9scN0rF1T6q0AxkkYL9l8dvWaOXX1XfPZl9dK+W23zxJY1HXsUtEANK7RBDf+s1reakyJOFa7/utz6ivr6ZLlmTxBhHXVGvawmsfYYxYjf//HrHENBIMexVnmFs2cwIJr+WO33cKo64gGNKXfBzPcZo479Z2voqnU4zQENGz0DpWAaJAOLpoNxGa7dn6cv/jJbHfv/vtiqYu4ZhDN6pQd/5rdLUk/mPETQ109zo2GCOf8hUDpPr4yHTqvu8exAgQ3DCERC+d63BtGT1Ktt3G45uHK+VybmYPbDbSEc52Hn0QtnKtxb7jSuKZaWojOHvfUkt8JKjSijmT+jXEwqdOmeHuc/4bOe7OOvK46etLb24eoWI8pv4/aHhSP+IWZNRx9RX/mJd3xasvlP2wDUSo7wlUaQ8jyYrUKhClnvewceO2Yltkr4maHq0vLEXkz5SijU8duJ6jgXpf8btPfe937Q5YXNU+LpilYaSY0zUiVsrdrObD+FmsR8o1Uyx+kx5mcByeNSa/GLzauB6XdtRgH66w21rqR9aDRDJu5YWGsf1yF5pe3YeWsU2QoW6DQt6a94hLNzP6AYFRY4y7RGN0Hwypav/UXrLwtrsU91fIHFc7FeSCci67G2KIHGQehqL1CDmbK0TLnbFSQtH11brtPbdDaRqu5Hept82hAzShnveDEgN5ltZzNc2pePaFTJ5S9Fel89sewfs876zPlR+GdywAFFZcX7VYPtj5E/kCuGubcxPSBWb1D+iuto01BDwp2YreGl0vo923SEIf17LTXOqhhaHe7c+qa5VUYJRdOvg94uGxRlhMXMStdJu+u41oNyjgRMNzdoq7SNucPdc3y2pC7rBPJNtulQvkkTd7cnp2vx3iHyydUcFP2nzXkD9TjYIKmcxnubc4ZaxIqbazO2XnQbowunB0KV6m9ju2PusdALn/bfZZsVjnrZTCCtPZ+8hyHqLinLMEajzQDbtG48hcr5Q/a44AxU55zM4uMefi4Xg13FtJQJ6Qh2o16IqxwAi5ri7mcsd5vVsNguyhp/co44fPdzZTur7aQxZ0wwW5DqioczO6Mq4dZfO/Aex5uhcO3VqOr5l6EpVih0RcrbL/R5ayHqSj2RwURhdqeFZWzx5s1i62ScDAlOh706s+gcC4npHHVSoshoRDB9Fjjw7qpdq8apkTH7M5LM75fnTNeUc74rSxn5kTjXFtyGLDHUAhE1HDHeCDhYGWYEr13nginBQPwIBcfWc5UsdcKLmyLYoVB3h192mR/GvRRnwE4y5n+3qbdcnErBSvaoxbOmNjJLO9cRKGsgWehylX7rmZdlU9LOdM2RtS7ClqiFg44IfbXtO6thQvvuBkgWd7auePuRqcN8Zi5faGsWaSlnIlAw9yOS1vQIIEjmDb7frkogwMOcNWGTPnNMGl7O8zknYsX/UA+76p2NpcGB/93WBslzugFn+QTzapMWsqZMPLW/sI9ae7l3ToOChxxq2UO0HfEXjXpegAMZX118aKFNwM2SvjAqzXqUvRohPi/tdkv4khLORPU64yoONxjHNyVsD7MbUU5rzd67Nr/eqU8+8UOp2Sf/VbsiN/CU0deYKsioVgQIs9RsUMpqNshLSshkRPmZR23tFF+L7bPJG/69hsqmKNaVkISIRxHPHCBvhHbk6CAwaSOw47x0JIkCscBDfRzU76frdnTuSNcPqRBDEISLRyjDfWSKUdzMCV6o+edQagcF2hPmOzf4UAyJByn8R405bsMMCU6ZneO+8bQf5nyfXSnzdznawhJhXAcxtQQL8fszpioNurnefCMEB53wJ3bvDpOMiEch7NqGHNgotpOU54+MOw7DPCOgHMqSjyEdpmHjmRROA6X1YZ07IPpAzETGqJwmJ8GU21g1gAnpI1QMt6wiZcF4r1niJLhbTQfcfxCkkQuyFwghJDZLOAuIITCIYTCIYTCIYTCIYTCIYRQOIRQOIRQOIRQOIRQOISQWvi/AAMA9UczDEaG0p8AAAAASUVORK5CYII="]
@@ -223,31 +222,32 @@ OfferUtils.openOfferReport = function (pOfferID)
     if (adm[1] != undefined)  adma = adm[1].join("\n");*/
     
     var params = {
-        "Zahlungsbedingung" : translate.text("Conditions of payment", language),
-        "Artikelbezeichnung" : translate.text("Articledescription", language),
-        "Lieferbedingung" : translate.text("Deliveryspecification", language),
+        "PaymentConditions" : translate.text("Conditions of payment", language),
+        "Articledescription" : translate.text("Articledescription", language),
+        "DeliveryConditions" : translate.text("Deliveryspecification", language),
         "OFFERPers" : (AddressUtils.getLetterSalutation() + ",").toString(), // TODO: AddrObject implementieren (addrobj.formatAddress("{ls},");)
-        "Artikel-Nr" : translate.text("Articlenumber", language),
+        "Articlenumber" : translate.text("Articlenumber", language),
         "OFFERAddr" : AddressUtils.getAddress(contactId).toString(), // TODO: OFFER.ADDRESS 
-        "zzglUMST" : translate.text("Plus Salestax", language),
-        "Einzelpreis" : translate.text("Unitprice", language),
-        "Nummer" : translate.text("Number", language),
-        "Rabatt" : translate.text("Rabatt", language),
-        "Menge" : translate.text("Amount", language),
-        "Gesamt" : translate.text("Total", language),
-        "Datum" : translate.text("Date", language),
-        "UMSt" : translate.text("UMSt", language),
-        "Summe" : translate.text("Sum", language),
+        "PlusSalestax" : translate.text("Plus Salestax", language),
+        "Unitprice" : translate.text("Unitprice", language),
+        "directlyResponsible" : translate.text("Directly responsible:", language),
+        "Number" : translate.text("Number", language),
+        "Discount" : translate.text("Discount", language),
+        "Amount" : translate.text("Amount", language),
+        "Total" : translate.text("Total", language),
+        "Date" : translate.text("Date", language),
+        "VAT" : translate.text("VAT", language),
+        "Sum" : translate.text("Sum", language),
         "Pos" : translate.text("Pos.", language),
         "myAddr" : imgData[0],
         // TODO: payment / delivery-Terms implement (if needed)
         
-        "OFFERPay" : KeywordUtils.getViewValue($KeywordRegistry.paymentTerm(), offerData[3]),
-        "OFFERDel" : KeywordUtils.getViewValue($KeywordRegistry.deliveryTerm(), offerData[4]),
-        "AD_Name" : adma,
+        "OfferPaymentTerm" : KeywordUtils.getViewValue($KeywordRegistry.paymentTerm(), offerData[3]),
+        "OfferDeliveryTerm" : KeywordUtils.getViewValue($KeywordRegistry.deliveryTerm(), offerData[4]),
+        "responsible" : adma,
         "SUMITEMSUM" : sumItemSum,
         "TOTAL" : text.formatDouble(total, translate.text("#,##0.00"), true),
-        "anzahl" : countDiscounts
+        "printDiscount" : printDiscount ? "1" : "0"
     };
     
     
diff --git a/process/Organisation_lib/process.js b/process/Organisation_lib/process.js
index 78565ea988c6a42ebea90bbed1b9420d8947f642..86ed286bbfc82516c1cd2ee11a7ee66166b62c58 100644
--- a/process/Organisation_lib/process.js
+++ b/process/Organisation_lib/process.js
@@ -145,7 +145,7 @@ OrgUtils.openOrgReport = function(pOrgId)
         "INFO" : info
     };
     
-    var orgReport = new Report("RPTJ_ORGANISATION", params);
+    var orgReport = new Report("Organisation_report", params);
     
     //add subreport data
     orgReport.addSubReportData("subdataComm", commData);
diff --git a/report/Offer_report/Offer_report.aod b/report/Offer_report/Offer_report.aod
new file mode 100644
index 0000000000000000000000000000000000000000..737a6889a7a04378f01339685a85661f15da8849
--- /dev/null
+++ b/report/Offer_report/Offer_report.aod
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<report xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/report/1.2.0">
+  <name>Offer_report</name>
+  <title>Angebot</title>
+  <description></description>
+  <comment>&lt;null value&gt;</comment>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <alias>Data_alias</alias>
+  <reportData>%aditoprj%/report/Offer_report/reportData.jrxml</reportData>
+  <reportType>JASPER</reportType>
+  <subReports>
+    <subreport>
+      <name>reportData_subreport1</name>
+      <reportData>%aditoprj%/report/Offer_report/reportData_subreport1.jrxml</reportData>
+    </subreport>
+  </subReports>
+  <images>
+    <image>
+      <name>myLogo</name>
+      <fileName>myLogo.png</fileName>
+      <imageData>%aditoprj%/report/Offer_report/myLogo.png</imageData>
+    </image>
+  </images>
+  <ribbon>
+    <name>ribbon</name>
+    <ribbonTasks>
+      <ribbonTask>
+        <name>TASK_REPORT</name>
+        <showNavigationBar v="true" />
+        <showZoom v="true" />
+        <showExport v="true" />
+        <showAux v="true" />
+        <icon>REPORT_24</icon>
+        <enabled v="true" />
+        <layoutPosition>POSITION_TOP</layoutPosition>
+        <customComponents>
+          <rcCommandButton>
+            <name>Button</name>
+            <onClick>%aditoprj%/report/Offer_report/ribbon/ribbontasks/task_report/customcomponents/button/onClick.js</onClick>
+            <title>Senden per E-Mail</title>
+            <imageData>%aditoprj%/report/Offer_report/ribbon/ribbontasks/task_report/customcomponents/button/imageData.png</imageData>
+          </rcCommandButton>
+        </customComponents>
+      </ribbonTask>
+    </ribbonTasks>
+  </ribbon>
+</report>
diff --git a/report/RPTJ_OFFER/myLogo.png b/report/Offer_report/myLogo.png
similarity index 100%
rename from report/RPTJ_OFFER/myLogo.png
rename to report/Offer_report/myLogo.png
diff --git a/report/RPTJ_OFFER/reportData.jrxml b/report/Offer_report/reportData.jrxml
similarity index 85%
rename from report/RPTJ_OFFER/reportData.jrxml
rename to report/Offer_report/reportData.jrxml
index 8b2770cb5478bfdf07ba53199fc3d93e03070191..a1352b4ee0b60ddd1d50598f567090e3626b8a24 100644
--- a/report/RPTJ_OFFER/reportData.jrxml
+++ b/report/Offer_report/reportData.jrxml
@@ -1,36 +1,37 @@
 <?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="2.1435888100000016"/>
 	<property name="ireport.x" value="0"/>
-	<property name="ireport.y" value="0"/>
+	<property name="ireport.y" value="94"/>
 	<parameter name="myAddr" class="java.lang.String"/>
 	<parameter name="Pos" class="java.lang.String"/>
-	<parameter name="Artikelbezeichnung" class="java.lang.String"/>
-	<parameter name="Artikel-Nr" class="java.lang.String"/>
-	<parameter name="Einzelpreis" class="java.lang.String"/>
-	<parameter name="Menge" class="java.lang.String"/>
-	<parameter name="UMSt" class="java.lang.String"/>
-	<parameter name="Datum" class="java.lang.String"/>
-	<parameter name="Nummer" class="java.lang.String"/>
-	<parameter name="Zahlungsbedingung" class="java.lang.String"/>
-	<parameter name="Lieferbedingung" class="java.lang.String"/>
-	<parameter name="Rabatt" class="java.lang.String"/>
-	<parameter name="Gesamt" class="java.lang.String"/>
-	<parameter name="Summe" class="java.lang.String"/>
-	<parameter name="zzglUMST" class="java.lang.String"/>
+	<parameter name="Articledescription" class="java.lang.String"/>
+	<parameter name="Articlenumber" class="java.lang.String"/>
+	<parameter name="Unitprice" class="java.lang.String"/>
+	<parameter name="Amount" class="java.lang.String"/>
+	<parameter name="VAT" class="java.lang.String"/>
+	<parameter name="Date" class="java.lang.String"/>
+	<parameter name="Number" class="java.lang.String"/>
+	<parameter name="PaymentConditions" class="java.lang.String"/>
+	<parameter name="DeliveryConditions" class="java.lang.String"/>
+	<parameter name="Discount" class="java.lang.String"/>
+	<parameter name="Total" class="java.lang.String"/>
+	<parameter name="Sum" class="java.lang.String"/>
+	<parameter name="PlusSalestax" class="java.lang.String"/>
 	<parameter name="OFFERAddr" class="java.lang.String"/>
 	<parameter name="OFFERPers" class="java.lang.String"/>
-	<parameter name="OFFERPay" class="java.lang.String"/>
-	<parameter name="OFFERDel" class="java.lang.String"/>
-	<parameter name="AD_Name" class="java.lang.String"/>
+	<parameter name="OfferPaymentTerm" class="java.lang.String"/>
+	<parameter name="OfferDeliveryTerm" class="java.lang.String"/>
+	<parameter name="responsible" class="java.lang.String"/>
 	<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
-		<defaultValueExpression><![CDATA["C:\\entwicklungszweige\\0.0\\project\\xRM-Basic2019\\report\\RPTJ_OFFER\\"]]></defaultValueExpression>
+		<defaultValueExpression><![CDATA["C:\\entwicklungszweige\\0.0\\project\\xRM-Basic2019\\report\\Offer_report\\"]]></defaultValueExpression>
 	</parameter>
 	<parameter name="adito.datasource.subdata" class="java.lang.Object"/>
 	<parameter name="SUMITEMSUM" class="java.lang.Double"/>
 	<parameter name="TOTAL" class="java.lang.String"/>
 	<parameter name="adito.image.myLogo" class="java.lang.String"/>
-	<parameter name="anzahl" class="java.lang.String"/>
+	<parameter name="printDiscount" class="java.lang.String"/>
+	<parameter name="directlyResponsible" class="java.lang.String"/>
 	<queryString>
 		<![CDATA[]]>
 	</queryString>
@@ -70,14 +71,14 @@
 					<textElement>
 						<font fontName="Segoe UI"/>
 					</textElement>
-					<textFieldExpression><![CDATA[$P{Nummer}]]></textFieldExpression>
+					<textFieldExpression><![CDATA[$P{Number}]]></textFieldExpression>
 				</textField>
 				<textField>
 					<reportElement x="372" y="16" width="60" height="15" uuid="acd6017f-fa7c-43fb-9a7b-3a42b63a34cf"/>
 					<textElement>
 						<font fontName="Segoe UI"/>
 					</textElement>
-					<textFieldExpression><![CDATA[$P{Datum}]]></textFieldExpression>
+					<textFieldExpression><![CDATA[$P{Date}]]></textFieldExpression>
 				</textField>
 				<textField pattern="dd.MM.yyyy">
 					<reportElement x="432" y="16" width="64" height="15" uuid="2329be0e-9970-416f-af01-812d1d60676b"/>
@@ -98,7 +99,7 @@
 					<textElement>
 						<font fontName="Segoe UI" size="8"/>
 					</textElement>
-					<textFieldExpression><![CDATA[$P{AD_Name}]]></textFieldExpression>
+					<textFieldExpression><![CDATA[$P{responsible}]]></textFieldExpression>
 				</textField>
 				<textField>
 					<reportElement x="432" y="0" width="64" height="15" uuid="99c69604-7df6-432e-a492-6c31d8bd67fd"/>
@@ -108,11 +109,13 @@
 					<textFieldExpression><![CDATA[$F{OFFER_OFFERCODE} + "-" + $F{OFFER_VERSNR}]]></textFieldExpression>
 				</textField>
 				<textField>
-					<reportElement x="372" y="35" width="183" height="15" uuid="9f7aeac2-3844-43ee-bc8b-b11f8701b83e"/>
+					<reportElement x="372" y="35" width="183" height="15" uuid="9f7aeac2-3844-43ee-bc8b-b11f8701b83e">
+						<printWhenExpression><![CDATA[!$P{responsible}.equals("")]]></printWhenExpression>
+					</reportElement>
 					<textElement>
 						<font fontName="Segoe UI" size="8"/>
 					</textElement>
-					<textFieldExpression><![CDATA[$R{Ihr zuständiger Betreuer:}]]></textFieldExpression>
+					<textFieldExpression><![CDATA[$P{directlyResponsible}]]></textFieldExpression>
 				</textField>
 			</band>
 			<band height="20">
@@ -136,7 +139,7 @@
 			<band height="42">
 				<staticText>
 					<reportElement x="358" y="23" width="27" height="15" isRemoveLineWhenBlank="true" uuid="a81f864d-b418-4f1d-9410-2eb7ac8cff60">
-						<printWhenExpression><![CDATA[!$P{anzahl}.equals("0")]]></printWhenExpression>
+						<printWhenExpression><![CDATA[!$P{printDiscount}.equals("0")]]></printWhenExpression>
 					</reportElement>
 					<textElement textAlignment="Right">
 						<font fontName="Segoe UI" size="8"/>
@@ -155,7 +158,7 @@
 					<textElement textAlignment="Right">
 						<font fontName="Segoe UI" size="8"/>
 					</textElement>
-					<textFieldExpression><![CDATA[$P{Summe}]]></textFieldExpression>
+					<textFieldExpression><![CDATA[$P{Sum}]]></textFieldExpression>
 				</textField>
 				<line>
 					<reportElement x="14" y="40" width="541" height="1" uuid="17007e05-77b0-4572-bcd1-3486e58cfb53"/>
@@ -165,23 +168,23 @@
 					<textElement>
 						<font fontName="Segoe UI" size="8"/>
 					</textElement>
-					<textFieldExpression><![CDATA[$P{Artikel-Nr}]]></textFieldExpression>
+					<textFieldExpression><![CDATA[$P{Articlenumber}]]></textFieldExpression>
 				</textField>
 				<textField>
 					<reportElement x="389" y="11" width="63" height="12" uuid="754450e2-04ac-45d5-a0a0-64ea42c86431"/>
 					<textElement textAlignment="Right">
 						<font fontName="Segoe UI" size="8"/>
 					</textElement>
-					<textFieldExpression><![CDATA[$P{Einzelpreis}]]></textFieldExpression>
+					<textFieldExpression><![CDATA[$P{Unitprice}]]></textFieldExpression>
 				</textField>
 				<textField>
 					<reportElement x="345" y="11" width="40" height="12" isRemoveLineWhenBlank="true" uuid="91319825-d02b-4a0d-9234-8342b8518c61">
-						<printWhenExpression><![CDATA[!$P{anzahl}.equals("0")]]></printWhenExpression>
+						<printWhenExpression><![CDATA[!$P{printDiscount}.equals("0")]]></printWhenExpression>
 					</reportElement>
 					<textElement textAlignment="Right">
 						<font fontName="Segoe UI" size="8"/>
 					</textElement>
-					<textFieldExpression><![CDATA[$P{Rabatt}]]></textFieldExpression>
+					<textFieldExpression><![CDATA[$P{Discount}]]></textFieldExpression>
 				</textField>
 				<textField>
 					<reportElement x="20" y="11" width="39" height="12" uuid="d483ee1c-9ae8-4929-ba15-069e8743d676"/>
@@ -195,14 +198,14 @@
 					<textElement textAlignment="Right">
 						<font fontName="Segoe UI" size="8"/>
 					</textElement>
-					<textFieldExpression><![CDATA[$P{Menge}]]></textFieldExpression>
+					<textFieldExpression><![CDATA[$P{Amount}]]></textFieldExpression>
 				</textField>
 				<textField>
 					<reportElement x="454" y="11" width="38" height="12" uuid="592adef7-0b85-4304-8d6e-6640a157a7ee"/>
 					<textElement textAlignment="Right">
 						<font fontName="Segoe UI" size="8"/>
 					</textElement>
-					<textFieldExpression><![CDATA[$P{UMSt}]]></textFieldExpression>
+					<textFieldExpression><![CDATA[$P{VAT}]]></textFieldExpression>
 				</textField>
 				<staticText>
 					<reportElement x="454" y="24" width="38" height="15" uuid="57199603-485e-453a-8380-d3b85488883c"/>
@@ -223,7 +226,7 @@
 					<textElement>
 						<font fontName="Segoe UI" size="8"/>
 					</textElement>
-					<textFieldExpression><![CDATA[$P{Artikelbezeichnung}]]></textFieldExpression>
+					<textFieldExpression><![CDATA[$P{Articledescription}]]></textFieldExpression>
 				</textField>
 				<line>
 					<reportElement x="14" y="6" width="541" height="1" uuid="c19244a8-cbd9-4a8a-b2e4-25e6aa6d730d"/>
@@ -246,8 +249,8 @@
 			<band height="18">
 				<subreport>
 					<reportElement isPrintRepeatedValues="false" x="355" y="2" width="196" height="15" isRemoveLineWhenBlank="true" uuid="8683c745-01bf-44aa-af62-a6ba881a9edd"/>
-					<subreportParameter name="zzglUMST">
-						<subreportParameterExpression><![CDATA[$P{zzglUMST}]]></subreportParameterExpression>
+					<subreportParameter name="PlusSalestax">
+						<subreportParameterExpression><![CDATA[$P{PlusSalestax}]]></subreportParameterExpression>
 					</subreportParameter>
 					<dataSourceExpression><![CDATA[((net.sf.jasperreports.engine.data.JRMapArrayDataSource)$P{adito.datasource.subdata}).cloneDataSource()]]></dataSourceExpression>
 					<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "reportData_subreport1.jasper"]]></subreportExpression>
@@ -255,25 +258,27 @@
 			</band>
 			<band height="33">
 				<textField>
-					<reportElement x="20" y="13" width="100" height="20" uuid="112f15db-0989-430e-b2c4-61f975f7b8a4"/>
+					<reportElement x="20" y="13" width="100" height="20" uuid="112f15db-0989-430e-b2c4-61f975f7b8a4">
+						<printWhenExpression><![CDATA[!$P{OfferPaymentTerm}.equals("")]]></printWhenExpression>
+					</reportElement>
 					<textElement>
 						<font fontName="Segoe UI" size="8"/>
 					</textElement>
-					<textFieldExpression><![CDATA[$P{Zahlungsbedingung}]]></textFieldExpression>
+					<textFieldExpression><![CDATA[$P{PaymentConditions}]]></textFieldExpression>
 				</textField>
 				<textField>
 					<reportElement x="122" y="13" width="100" height="20" uuid="8149be09-d439-4e1a-a853-f82bd5e5683e"/>
 					<textElement>
 						<font fontName="Segoe UI" size="8"/>
 					</textElement>
-					<textFieldExpression><![CDATA[$P{OFFERPay}]]></textFieldExpression>
+					<textFieldExpression><![CDATA[$P{OfferPaymentTerm}]]></textFieldExpression>
 				</textField>
 				<textField>
 					<reportElement x="402" y="8" width="90" height="20" uuid="c3444576-6cb8-47f2-9dc9-e892a91ceb07"/>
 					<textElement textAlignment="Right">
 						<font fontName="Segoe UI" size="8" isBold="true"/>
 					</textElement>
-					<textFieldExpression><![CDATA[$P{Gesamt} + " " + $F{OFFER_CURRENCY}]]></textFieldExpression>
+					<textFieldExpression><![CDATA[$P{Total} + " " + $F{OFFER_CURRENCY}]]></textFieldExpression>
 				</textField>
 				<line>
 					<reportElement x="356" y="2" width="196" height="1" uuid="8973e664-cfc0-4b52-bd0d-c80a49910da2"/>
@@ -294,18 +299,20 @@
 			</band>
 			<band height="41">
 				<textField>
-					<reportElement x="20" y="0" width="100" height="20" uuid="75b328c0-4ab1-478d-afb8-0ed8974da1af"/>
+					<reportElement x="20" y="0" width="100" height="20" uuid="75b328c0-4ab1-478d-afb8-0ed8974da1af">
+						<printWhenExpression><![CDATA[!$P{OfferDeliveryTerm}.equals("")]]></printWhenExpression>
+					</reportElement>
 					<textElement>
 						<font fontName="Segoe UI" size="8"/>
 					</textElement>
-					<textFieldExpression><![CDATA[$P{Lieferbedingung}]]></textFieldExpression>
+					<textFieldExpression><![CDATA[$P{DeliveryConditions}]]></textFieldExpression>
 				</textField>
 				<textField>
 					<reportElement x="122" y="0" width="100" height="20" uuid="41f6ab85-0948-4529-969a-5cade6279d42"/>
 					<textElement>
 						<font fontName="Segoe UI" size="8"/>
 					</textElement>
-					<textFieldExpression><![CDATA[$P{OFFERDel}]]></textFieldExpression>
+					<textFieldExpression><![CDATA[$P{OfferDeliveryTerm}]]></textFieldExpression>
 				</textField>
 			</band>
 		</groupFooter>
diff --git a/report/RPTJ_OFFER/reportData_subreport1.jrxml b/report/Offer_report/reportData_subreport1.jrxml
similarity index 91%
rename from report/RPTJ_OFFER/reportData_subreport1.jrxml
rename to report/Offer_report/reportData_subreport1.jrxml
index 64c7bed355e5b67b1af4d11fbbff85398b6c3105..8ab280b242857f15cd5e5f0130cfa165c67a2302 100644
--- a/report/RPTJ_OFFER/reportData_subreport1.jrxml
+++ b/report/Offer_report/reportData_subreport1.jrxml
@@ -3,7 +3,7 @@
 	<property name="ireport.zoom" value="6.72749994932561"/>
 	<property name="ireport.x" value="0"/>
 	<property name="ireport.y" value="0"/>
-	<parameter name="zzglUMST" class="java.lang.String"/>
+	<parameter name="PlusSalestax" class="java.lang.String"/>
 	<queryString>
 		<![CDATA[]]>
 	</queryString>
@@ -22,7 +22,7 @@
 					<textElement>
 						<font fontName="Segoe UI" size="8"/>
 					</textElement>
-					<textFieldExpression><![CDATA[$P{zzglUMST} + " (" + $F{VAT} + " %) "]]></textFieldExpression>
+					<textFieldExpression><![CDATA[$P{PlusSalestax} + " (" + $F{VAT} + " %) "]]></textFieldExpression>
 				</textField>
 				<textField evaluationTime="Group" evaluationGroup="VAT" pattern="#,##0.00;-#,##0.00">
 					<reportElement x="117" y="0" width="80" height="15" uuid="6bba70aa-7399-45b7-805a-1590fbe07209"/>
diff --git a/report/RPTJ_OFFER/ribbon/ribbontasks/task_report/customcomponents/button/imageData.png b/report/Offer_report/ribbon/ribbontasks/task_report/customcomponents/button/imageData.png
similarity index 100%
rename from report/RPTJ_OFFER/ribbon/ribbontasks/task_report/customcomponents/button/imageData.png
rename to report/Offer_report/ribbon/ribbontasks/task_report/customcomponents/button/imageData.png
diff --git a/report/RPTJ_OFFER/ribbon/ribbontasks/task_report/customcomponents/button/onClick.js b/report/Offer_report/ribbon/ribbontasks/task_report/customcomponents/button/onClick.js
similarity index 100%
rename from report/RPTJ_OFFER/ribbon/ribbontasks/task_report/customcomponents/button/onClick.js
rename to report/Offer_report/ribbon/ribbontasks/task_report/customcomponents/button/onClick.js
diff --git a/report/RPTJ_ORGANISATION/Aufgaben.jrxml b/report/Organisation_report/Aufgaben.jrxml
similarity index 100%
rename from report/RPTJ_ORGANISATION/Aufgaben.jrxml
rename to report/Organisation_report/Aufgaben.jrxml
diff --git a/report/RPTJ_ORGANISATION/Historien.jrxml b/report/Organisation_report/Historien.jrxml
similarity index 100%
rename from report/RPTJ_ORGANISATION/Historien.jrxml
rename to report/Organisation_report/Historien.jrxml
diff --git a/report/RPTJ_ORGANISATION/Kommunikationsdaten.jrxml b/report/Organisation_report/Kommunikationsdaten.jrxml
similarity index 100%
rename from report/RPTJ_ORGANISATION/Kommunikationsdaten.jrxml
rename to report/Organisation_report/Kommunikationsdaten.jrxml
diff --git a/report/RPTJ_ORGANISATION/Kontaktpersonen.jrxml b/report/Organisation_report/Kontaktpersonen.jrxml
similarity index 100%
rename from report/RPTJ_ORGANISATION/Kontaktpersonen.jrxml
rename to report/Organisation_report/Kontaktpersonen.jrxml
diff --git a/report/Organisation_report/Organisation_report.aod b/report/Organisation_report/Organisation_report.aod
new file mode 100644
index 0000000000000000000000000000000000000000..0d4e3d583a6c710d89307a87795d36f95418d8ac
--- /dev/null
+++ b/report/Organisation_report/Organisation_report.aod
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<report xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/report/1.2.0">
+  <name>Organisation_report</name>
+  <title>Kundenstammblatt</title>
+  <description></description>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>%aditoprj%/report/Organisation_report/icon.png</icon>
+  <iconInactive>%aditoprj%/report/Organisation_report/iconInactive.png</iconInactive>
+  <reportData>%aditoprj%/report/Organisation_report/reportData.jrxml</reportData>
+  <reportType>JASPER</reportType>
+  <subReports>
+    <subreport>
+      <name>Kontaktpersonen</name>
+      <reportData>%aditoprj%/report/Organisation_report/Kontaktpersonen.jrxml</reportData>
+    </subreport>
+    <subreport>
+      <name>Historien</name>
+      <reportData>%aditoprj%/report/Organisation_report/Historien.jrxml</reportData>
+    </subreport>
+    <subreport>
+      <name>Aufgaben</name>
+      <reportData>%aditoprj%/report/Organisation_report/Aufgaben.jrxml</reportData>
+    </subreport>
+    <subreport>
+      <name>Kommunikationsdaten</name>
+      <reportData>%aditoprj%/report/Organisation_report/Kommunikationsdaten.jrxml</reportData>
+    </subreport>
+  </subReports>
+  <images>
+    <image>
+      <name>myLogo</name>
+      <fileName>myLogo.png</fileName>
+      <imageData>%aditoprj%/report/Organisation_report/myLogo.png</imageData>
+    </image>
+    <image>
+      <name>icon</name>
+      <fileName>icon.png</fileName>
+      <imageData>%aditoprj%/report/Organisation_report/icon.png</imageData>
+    </image>
+    <image>
+      <name>iconInactive</name>
+      <fileName>iconInactive.png</fileName>
+      <imageData>%aditoprj%/report/Organisation_report/iconInactive.png</imageData>
+    </image>
+  </images>
+  <ribbon>
+    <name>ribbon</name>
+    <ribbonTasks>
+      <ribbonTask>
+        <name>TASK_REPORT</name>
+        <showNavigationBar v="true" />
+        <showZoom v="true" />
+        <showExport v="true" />
+        <showAux v="true" />
+        <icon>REPORT_24</icon>
+        <enabled v="true" />
+        <layoutPosition>POSITION_TOP</layoutPosition>
+      </ribbonTask>
+    </ribbonTasks>
+  </ribbon>
+</report>
diff --git a/report/RPTJ_ORGANISATION/icon.png b/report/Organisation_report/icon.png
similarity index 100%
rename from report/RPTJ_ORGANISATION/icon.png
rename to report/Organisation_report/icon.png
diff --git a/report/RPTJ_ORGANISATION/iconInactive.png b/report/Organisation_report/iconInactive.png
similarity index 100%
rename from report/RPTJ_ORGANISATION/iconInactive.png
rename to report/Organisation_report/iconInactive.png
diff --git a/report/RPTJ_ORGANISATION/myLogo.png b/report/Organisation_report/myLogo.png
similarity index 100%
rename from report/RPTJ_ORGANISATION/myLogo.png
rename to report/Organisation_report/myLogo.png
diff --git a/report/RPTJ_ORGANISATION/reportData.jrxml b/report/Organisation_report/reportData.jrxml
similarity index 99%
rename from report/RPTJ_ORGANISATION/reportData.jrxml
rename to report/Organisation_report/reportData.jrxml
index d6b03f139812d03da7d024c38933b209d0d6c101..77d145f5a1945d085d9029f0efad16e510ef0207 100644
--- a/report/RPTJ_ORGANISATION/reportData.jrxml
+++ b/report/Organisation_report/reportData.jrxml
@@ -2,7 +2,7 @@
 <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="Kundenstammblatt" 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.9487171000000014"/>
 	<property name="ireport.x" value="0"/>
-	<property name="ireport.y" value="0"/>
+	<property name="ireport.y" value="311"/>
 	<parameter name="myAddr" class="java.lang.String"/>
 	<parameter name="ORGAddr" class="java.lang.String"/>
 	<parameter name="ORGAttr" class="java.lang.String"/>
@@ -14,7 +14,7 @@
 	<parameter name="adito.datasource.subdataComm" class="java.lang.Object"/>
 	<parameter name="adito.datasource.subdataPers" class="java.lang.Object"/>
 	<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
-		<defaultValueExpression><![CDATA["C:\\entwicklungszweige\\0.0\\project\\xRM-Basic2019\\report\\RPTJ_ORGANISATION\\"]]></defaultValueExpression>
+		<defaultValueExpression><![CDATA["C:\\entwicklungszweige\\0.0\\project\\xRM-Basic2019\\report\\Organisation_report\\"]]></defaultValueExpression>
 	</parameter>
 	<parameter name="adito.image.myLogo" class="java.lang.String"/>
 	<parameter name="adito.datasource.subdataHist" class="java.lang.Object"/>
diff --git a/report/RPTJ_OFFER/RPTJ_OFFER.aod b/report/RPTJ_OFFER/RPTJ_OFFER.aod
index 9d1bd910ccf0f8728d357c583a7c735e2d29999f..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
--- a/report/RPTJ_OFFER/RPTJ_OFFER.aod
+++ b/report/RPTJ_OFFER/RPTJ_OFFER.aod
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<report xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/report/1.2.0">
-  <name>RPTJ_OFFER</name>
-  <title>Angebot</title>
-  <description></description>
-  <comment>&lt;null value&gt;</comment>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <alias>Data_alias</alias>
-  <reportData>%aditoprj%/report/RPTJ_OFFER/reportData.jrxml</reportData>
-  <reportType>JASPER</reportType>
-  <subReports>
-    <subreport>
-      <name>reportData_subreport1</name>
-      <reportData>%aditoprj%/report/RPTJ_OFFER/reportData_subreport1.jrxml</reportData>
-    </subreport>
-  </subReports>
-  <images>
-    <image>
-      <name>myLogo</name>
-      <fileName>myLogo.png</fileName>
-      <imageData>%aditoprj%/report/RPTJ_OFFER/myLogo.png</imageData>
-    </image>
-  </images>
-  <ribbon>
-    <name>ribbon</name>
-    <ribbonTasks>
-      <ribbonTask>
-        <name>TASK_REPORT</name>
-        <showNavigationBar v="true" />
-        <showZoom v="true" />
-        <showExport v="true" />
-        <showAux v="true" />
-        <icon>REPORT_24</icon>
-        <enabled v="true" />
-        <layoutPosition>POSITION_TOP</layoutPosition>
-        <customComponents>
-          <rcCommandButton>
-            <name>Button</name>
-            <onClick>%aditoprj%/report/RPTJ_OFFER/ribbon/ribbontasks/task_report/customcomponents/button/onClick.js</onClick>
-            <title>Senden per E-Mail</title>
-            <imageData>%aditoprj%/report/RPTJ_OFFER/ribbon/ribbontasks/task_report/customcomponents/button/imageData.png</imageData>
-          </rcCommandButton>
-        </customComponents>
-      </ribbonTask>
-    </ribbonTasks>
-  </ribbon>
-</report>
diff --git a/report/RPTJ_ORGANISATION/RPTJ_ORGANISATION.aod b/report/RPTJ_ORGANISATION/RPTJ_ORGANISATION.aod
index 94b819778cf87847ec4b2fdbc2c28c77798b9ece..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
--- a/report/RPTJ_ORGANISATION/RPTJ_ORGANISATION.aod
+++ b/report/RPTJ_ORGANISATION/RPTJ_ORGANISATION.aod
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<report xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/report/1.2.0">
-  <name>RPTJ_ORGANISATION</name>
-  <title>Kundenstammblatt</title>
-  <description></description>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <icon>%aditoprj%/report/RPTJ_ORGANISATION/icon.png</icon>
-  <iconInactive>%aditoprj%/report/RPTJ_ORGANISATION/iconInactive.png</iconInactive>
-  <reportData>%aditoprj%/report/RPTJ_ORGANISATION/reportData.jrxml</reportData>
-  <reportType>JASPER</reportType>
-  <subReports>
-    <subreport>
-      <name>Kontaktpersonen</name>
-      <reportData>%aditoprj%/report/RPTJ_ORGANISATION/Kontaktpersonen.jrxml</reportData>
-    </subreport>
-    <subreport>
-      <name>Historien</name>
-      <reportData>%aditoprj%/report/RPTJ_ORGANISATION/Historien.jrxml</reportData>
-    </subreport>
-    <subreport>
-      <name>Aufgaben</name>
-      <reportData>%aditoprj%/report/RPTJ_ORGANISATION/Aufgaben.jrxml</reportData>
-    </subreport>
-    <subreport>
-      <name>Kommunikationsdaten</name>
-      <reportData>%aditoprj%/report/RPTJ_ORGANISATION/Kommunikationsdaten.jrxml</reportData>
-    </subreport>
-  </subReports>
-  <images>
-    <image>
-      <name>myLogo</name>
-      <fileName>myLogo.png</fileName>
-      <imageData>%aditoprj%/report/RPTJ_ORGANISATION/myLogo.png</imageData>
-    </image>
-    <image>
-      <name>icon</name>
-      <fileName>icon.png</fileName>
-      <imageData>%aditoprj%/report/RPTJ_ORGANISATION/icon.png</imageData>
-    </image>
-    <image>
-      <name>iconInactive</name>
-      <fileName>iconInactive.png</fileName>
-      <imageData>%aditoprj%/report/RPTJ_ORGANISATION/iconInactive.png</imageData>
-    </image>
-  </images>
-  <ribbon>
-    <name>ribbon</name>
-    <ribbonTasks>
-      <ribbonTask>
-        <name>TASK_REPORT</name>
-        <showNavigationBar v="true" />
-        <showZoom v="true" />
-        <showExport v="true" />
-        <showAux v="true" />
-        <icon>REPORT_24</icon>
-        <enabled v="true" />
-        <layoutPosition>POSITION_TOP</layoutPosition>
-      </ribbonTask>
-    </ribbonTasks>
-  </ribbon>
-</report>