diff --git a/entity/Activity_entity/recordcontainers/db/conditionProcess.js b/entity/Activity_entity/recordcontainers/db/conditionProcess.js
index 9c8391b37c47aa5a3d88d8d58f8d5b59760f8470..c772668cbde4f80831fa000cd266d7e6d8cc97af 100644
--- a/entity/Activity_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Activity_entity/recordcontainers/db/conditionProcess.js
@@ -6,7 +6,16 @@ import("Sql_lib");
 var cond = new SqlCondition();
 if (vars.exists("$param.RowId_param") && vars.get("$param.RowId_param") && vars.exists("$param.ObjectId_param") && vars.get("$param.ObjectId_param"))
 {
-    var activityLinkCond = SqlCondition.begin().andPrepareVars("ACTIVITYLINK.OBJECT_ROWID", "$param.RowId_param")
+    var rowId = vars.get("$param.RowId_param");
+    var rowIdCond = null;
+    if (vars.get("$param.ObjectId_param") == "Person")
+    {
+        rowId = db.cell(SqlCondition.begin()
+            .andPrepare("CONTACT.CONTACTID", rowId)
+            .buildSql("select PERSON_ID from CONTACT", "1 = 2"))
+        rowIdCond = "# in (select CONTACTID from CONTACT where PERSON_ID = ?)";
+    }
+    var activityLinkCond = SqlCondition.begin().andPrepare("ACTIVITYLINK.OBJECT_ROWID", rowId, rowIdCond)
                                                .andPrepareVars("ACTIVITYLINK.OBJECT_TYPE", "$param.ObjectId_param");
 
                                                             // TODO: more performant way than IN. Maybe a join??
diff --git a/entity/Attribute_entity/Attribute_entity.aod b/entity/Attribute_entity/Attribute_entity.aod
index 230a5381098c600a857e96d519b31834c67a5536..405955e8bde327f4e88f2e96a187f9ef853827f1 100644
--- a/entity/Attribute_entity/Attribute_entity.aod
+++ b/entity/Attribute_entity/Attribute_entity.aod
@@ -194,6 +194,7 @@
     </entityProvider>
     <entityField>
       <name>FULL_ATTRIBUTE_NAME</name>
+      <title>Name</title>
       <state>READONLY</state>
       <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/full_attribute_name/valueProcess.js</valueProcess>
     </entityField>
diff --git a/entity/Offeritem_entity/entityfields/product_id/onValueChange.js b/entity/Offeritem_entity/entityfields/product_id/onValueChange.js
index 524f19c066638642f01e5b0ef2c0516c25e7de03..fc9994c4e51ec83d9ffe238797b472270ea51ca1 100644
--- a/entity/Offeritem_entity/entityfields/product_id/onValueChange.js
+++ b/entity/Offeritem_entity/entityfields/product_id/onValueChange.js
@@ -3,14 +3,16 @@ import("system.neon");
 import("Product_lib");
 import("Util_lib");
 import("Entity_lib");
+import("Attribute_lib");
 
 var pid = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.PRODUCT_ID"));
 if(pid != "")
 {
     var currency = vars.exists("$param.Currency_param") ? vars.get("$param.Currency_param") : "";
     var contactid = vars.exists("$param.ContactId_param") ? vars.get("$param.ContactId_param") : "";
+    var pricelist = AttributeRelationUtils.getAttribute("97b449a5-d9b4-42ff-b9b0-4f8b27b8a9ec", contactid) || "";
     
-    var PriceListFilter = { currency: currency, quantity: vars.get("$field.QUANTITY"), relationId: contactid };
+    var PriceListFilter = { currency: currency, quantity: vars.get("$field.QUANTITY"), relationId: contactid, priceList: pricelist };
     
     //TODO: loading from db until loading from Consumer is possible.
     var ProductDetails = ProductUtils.getProductDetails(pid, PriceListFilter, ["INFO"]);
diff --git a/entity/Productprice_entity/Productprice_entity.aod b/entity/Productprice_entity/Productprice_entity.aod
index d9059a4c13bd3e88450633aea1e2d14a87676958..509d6a1fb68276eed9e4435aec7f6a1e3c2a8cff 100644
--- a/entity/Productprice_entity/Productprice_entity.aod
+++ b/entity/Productprice_entity/Productprice_entity.aod
@@ -35,6 +35,7 @@
       <outputFormat>#,##0.00</outputFormat>
       <mandatory v="true" />
       <state>AUTO</state>
+      <valueProcess>%aditoprj%/entity/Productprice_entity/entityfields/price/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>PRODUCTPRICEID</name>
@@ -79,6 +80,7 @@
       <contentType>NUMBER</contentType>
       <outputFormat>#,##0.00</outputFormat>
       <mandatory v="true" />
+      <valueProcess>%aditoprj%/entity/Productprice_entity/entityfields/vat/valueProcess.js</valueProcess>
       <onValidation>%aditoprj%/entity/Productprice_entity/entityfields/vat/onValidation.js</onValidation>
     </entityField>
     <entityField>
diff --git a/entity/Productprice_entity/entityfields/fromquantity/valueProcess.js b/entity/Productprice_entity/entityfields/fromquantity/valueProcess.js
index 66e7d5877cff30feb8edc57c25a252f286892c3d..b2204ba4adb39c57f8f5dd011cf2560d92034c07 100644
--- a/entity/Productprice_entity/entityfields/fromquantity/valueProcess.js
+++ b/entity/Productprice_entity/entityfields/fromquantity/valueProcess.js
@@ -1,10 +1,8 @@
-//import("system.vars");
-//import("system.result");
-//import("system.neon");
-//
-//if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == "")
-//{
-//    result.string("1");
-//}
-//else
-//    result.string(vars.get("$this.value"));
\ No newline at end of file
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == "")
+    result.string("1");
+else
+    result.string(vars.get("$this.value"));
\ No newline at end of file
diff --git a/entity/Productprice_entity/entityfields/price/valueProcess.js b/entity/Productprice_entity/entityfields/price/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..723d0252aa9b87eb839318b7e5e63d7d7dfc567f
--- /dev/null
+++ b/entity/Productprice_entity/entityfields/price/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == "")
+    result.string("0");
\ No newline at end of file
diff --git a/entity/Productprice_entity/entityfields/pricelist/onValidation.js b/entity/Productprice_entity/entityfields/pricelist/onValidation.js
index 281a078881481d1014a34b3e1107aa65e1f95e62..4aacd1ac134be1b8fd4f486e3b195092776ee618 100644
--- a/entity/Productprice_entity/entityfields/pricelist/onValidation.js
+++ b/entity/Productprice_entity/entityfields/pricelist/onValidation.js
@@ -7,6 +7,7 @@ import("Entity_lib");
 
 var priceList = {
                 priceList: ProcessHandlingUtils.getOnValidationValue(vars.get("$field.PRICELIST"))
+                , priceListId: vars.get("$field.PRODUCTPRICEID")
                 , fromQuantity: vars.get("$field.FROMQUANTITY")
                 , buySell: vars.get("$field.BUYSELL")
                 , currency: vars.get("$field.CURRENCY")
diff --git a/entity/Productprice_entity/entityfields/vat/valueProcess.js b/entity/Productprice_entity/entityfields/vat/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..723d0252aa9b87eb839318b7e5e63d7d7dfc567f
--- /dev/null
+++ b/entity/Productprice_entity/entityfields/vat/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == "")
+    result.string("0");
\ No newline at end of file
diff --git a/neonView/ActivityDetail_view/ActivityDetail_view.aod b/neonView/ActivityDetail_view/ActivityDetail_view.aod
index 365b115a49ca03cd67b586ce3aaac34280241a1b..9e831646efee5a87433240935168d38455cdb3fd 100644
--- a/neonView/ActivityDetail_view/ActivityDetail_view.aod
+++ b/neonView/ActivityDetail_view/ActivityDetail_view.aod
@@ -12,7 +12,8 @@
     <genericViewTemplate>
       <name>OfferInfo</name>
       <editMode v="false" />
-      <showDrawer v="false" />
+      <showDrawer v="true" />
+      <drawerCaption>Detail</drawerCaption>
       <entityField>#ENTITY</entityField>
       <fields>
         <entityFieldLink>
diff --git a/neonView/ActivityMain_view/ActivityMain_view.aod b/neonView/ActivityMain_view/ActivityMain_view.aod
index 12164cdbc4f23a21a79adbfc21e31b52295fe686..eb9974e40d7cd64f15e8899e7530ffeda07acc89 100644
--- a/neonView/ActivityMain_view/ActivityMain_view.aod
+++ b/neonView/ActivityMain_view/ActivityMain_view.aod
@@ -14,16 +14,16 @@
       <entityField>#ENTITY</entityField>
       <view>ActivityPreview_view</view>
     </neonViewReference>
-    <neonViewReference>
-      <name>f6c6888a-f3d6-410a-b97b-30c34a9dd6a2</name>
-      <entityField>ModuleTrees</entityField>
-      <view>ModuleTree_view</view>
-    </neonViewReference>
     <neonViewReference>
       <name>a3a45cd7-587f-4bc0-9980-e6d1c89a8212</name>
       <entityField>#ENTITY</entityField>
       <view>ActivityDetail_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>f6c6888a-f3d6-410a-b97b-30c34a9dd6a2</name>
+      <entityField>ModuleTrees</entityField>
+      <view>ModuleTree_view</view>
+    </neonViewReference>
     <neonViewReference>
       <name>7bab8dbf-b69e-412d-a604-3a6999658e10</name>
       <entityField>Documents</entityField>
diff --git a/neonView/OrderDetail_view/OrderDetail_view.aod b/neonView/OrderDetail_view/OrderDetail_view.aod
index f8b617ff780a19f5f5da0ead5ecbcbd326a92b49..47464d32f38fa46162c2a201c54c8955058c50de 100644
--- a/neonView/OrderDetail_view/OrderDetail_view.aod
+++ b/neonView/OrderDetail_view/OrderDetail_view.aod
@@ -11,6 +11,8 @@
   <children>
     <genericViewTemplate>
       <name>OrderDetail_template</name>
+      <showDrawer v="true" />
+      <drawerCaption>Detail</drawerCaption>
       <entityField>#ENTITY</entityField>
       <fields>
         <entityFieldLink>
diff --git a/neonView/TaskMain_view/TaskMain_view.aod b/neonView/TaskMain_view/TaskMain_view.aod
index 9721f1788b3d43f2fe0dae78f469bf91b215e48f..d8231d9831f6e1139fef98f661246d8a3954f612 100644
--- a/neonView/TaskMain_view/TaskMain_view.aod
+++ b/neonView/TaskMain_view/TaskMain_view.aod
@@ -14,14 +14,10 @@
       <entityField>#ENTITY</entityField>
       <view>TaskMainPreview_view</view>
     </neonViewReference>
-    <neonViewReference>
-      <name>4211b2cf-3a1f-4447-ad1c-f521d2d3f258</name>
-      <entityField>ModuleTrees</entityField>
-      <view>ModuleTree_view</view>
-    </neonViewReference>
     <genericViewTemplate>
       <name>details</name>
       <showDrawer v="true" />
+      <drawerCaption>Detail</drawerCaption>
       <entityField>#ENTITY</entityField>
       <title>details</title>
       <fields>
@@ -35,6 +31,11 @@
         </entityFieldLink>
       </fields>
     </genericViewTemplate>
+    <neonViewReference>
+      <name>4211b2cf-3a1f-4447-ad1c-f521d2d3f258</name>
+      <entityField>ModuleTrees</entityField>
+      <view>ModuleTree_view</view>
+    </neonViewReference>
     <neonViewReference>
       <name>6846f680-84ef-46da-a0ea-6797044cf693</name>
       <entityField>MainDocuments</entityField>
diff --git a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
index 35430f5089fee2c2b0e5c87d3278c5f9d34a897c..2e627c2e517e6de8e51a348a72ea341be0d36ca5 100644
--- a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
+++ b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
@@ -2,7 +2,7 @@
 <preferences xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="3.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/preferences/3.1.0">
   <name>_____PREFERENCES_PROJECT</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
-  <projectName>xRM-Basic5</projectName>
+  <projectName>xRM-Basic2019</projectName>
   <jditoMaxContentSize v="57671680" />
   <calendarCategoriesEvent>
     <entry>
diff --git a/process/Product_lib/process.js b/process/Product_lib/process.js
index e3f595e558d11a04394bb76beef9e4f094bd2cee..cdf6241f48bf84d619aa2b315956b23a89359769 100644
--- a/process/Product_lib/process.js
+++ b/process/Product_lib/process.js
@@ -318,12 +318,14 @@ ProductUtils.checkForIndenticalPriceLists = function(pid, priceList) {
     var PriceLists = this.getProductDetails(pid).PriceLists;
 
     for (var pricelist in PriceLists) {
+        //different pricelist id
         //equal price list
         //equal fromquantity
         //equal currency
         //equal pp/sp
-        if (priceList.priceList == PriceLists[pricelist].priceList 
-            && priceList.fromQuantity == PriceLists[pricelist].fromQuantity 
+        if (priceList.priceListId != PriceLists[pricelist].priceListId
+            && priceList.priceList == PriceLists[pricelist].priceList 
+            && parseFloat(priceList.fromQuantity) == parseFloat(PriceLists[pricelist].fromQuantity) 
             && priceList.buySell == PriceLists[pricelist].buySell
             && priceList.currency == PriceLists[pricelist].currency) {