From a7711e143de4f284cf9242f903d0489c34468e34 Mon Sep 17 00:00:00 2001
From: Pascal Neub <p.neub@adito.de>
Date: Tue, 29 Jun 2021 10:54:04 +0000
Subject: [PATCH] =?UTF-8?q?[Projekt:=20xRM-Sales][TicketNr.:=201083255][Be?=
 =?UTF-8?q?leg=20-=20Fehlermeldung=20bei=20Neuanlage=20bzw=20Hinzuf=C3=BCg?=
 =?UTF-8?q?en=20von=20Belegposten,=20Belegposten=20werden=20nicht=20gespei?=
 =?UTF-8?q?chert]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../entityfields/object_rowid/displayValueProcess.js      | 2 +-
 .../entityfields/salesorder_id/valueProcess.js            | 4 ++--
 entity/Order_entity/recordcontainers/db/onDBUpdate.js     | 8 ++++++--
 3 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/entity/OrderLink_entity/entityfields/object_rowid/displayValueProcess.js b/entity/OrderLink_entity/entityfields/object_rowid/displayValueProcess.js
index f2a40e1892f..6254d4a7a90 100644
--- a/entity/OrderLink_entity/entityfields/object_rowid/displayValueProcess.js
+++ b/entity/OrderLink_entity/entityfields/object_rowid/displayValueProcess.js
@@ -7,7 +7,7 @@ import("system.db");
 import("system.result");
 import("Context_lib");
 
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$field.OBJECT_ROWID"))
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW || !vars.get("$this.value"))
 {
     result.string("");
 }
diff --git a/entity/OrderLink_entity/entityfields/salesorder_id/valueProcess.js b/entity/OrderLink_entity/entityfields/salesorder_id/valueProcess.js
index 004b4ab41fd..bd9b13d0cfd 100644
--- a/entity/OrderLink_entity/entityfields/salesorder_id/valueProcess.js
+++ b/entity/OrderLink_entity/entityfields/salesorder_id/valueProcess.js
@@ -1,7 +1,7 @@
 import("system.vars");
 import("system.result");
 
-if(vars.get("$this.value") && vars.get("$param.SalesorderId_param"))
+if(!vars.get("$this.value") && vars.get("$param.SalesorderId_param"))
 {
     result.string(vars.get("$param.SalesorderId_param"))
-}
\ No newline at end of file
+}
diff --git a/entity/Order_entity/recordcontainers/db/onDBUpdate.js b/entity/Order_entity/recordcontainers/db/onDBUpdate.js
index 2d2591ba60c..6775ae5411e 100644
--- a/entity/Order_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/Order_entity/recordcontainers/db/onDBUpdate.js
@@ -6,9 +6,13 @@ import("Workflow_lib");
 
 var rowdata = vars.get("$local.rowdata");
 var oid = rowdata["SALESORDER.SALESORDERID"];
-var links = EntityConsumerRowsHelper.getCurrentConsumerRows("Links", ["OBJECT_ROWID", "OBJECT_TYPE", "SALESORDER_ID"]);
 
-OrderLinkUtils.handleLinks(links, oid, vars.get("$field.Links.deletedRows"));
+if(vars.exists("$field.Links.deletedRows"))
+{
+    // only if Links are aviable (e.g. if the Order is updated via write entities)
+    var links = EntityConsumerRowsHelper.getCurrentConsumerRows("Links", ["OBJECT_ROWID", "OBJECT_TYPE", "SALESORDER_ID"]);
+    OrderLinkUtils.handleLinks(links, oid, vars.get("$field.Links.deletedRows"));
+}
 
 if(vars.get("$field.DiscountChanged") == "true" && oid){
     var discount = rowdata["SALESORDER.DISCOUNT"];
-- 
GitLab