From 77097a928ae981d14d5591baab8137dff1435b7c Mon Sep 17 00:00:00 2001
From: "p.neub" <p.neub@adito.de>
Date: Thu, 8 Apr 2021 12:12:46 +0200
Subject: [PATCH] [Projekt: xRM-Sales][TicketNr.: 1078061][Fehlender Kontakt
 bei Angebotsanalage ]

---
 .../children/contactids_param/valueProcess.js | 19 ++++++--
 .../entityfields/contact_id/stateProcess.js   |  9 +---
 .../entityfields/contact_id/valueProcess.js   | 48 ++++++++++---------
 3 files changed, 42 insertions(+), 34 deletions(-)

diff --git a/entity/Offer_entity/entityfields/anycontacts/children/contactids_param/valueProcess.js b/entity/Offer_entity/entityfields/anycontacts/children/contactids_param/valueProcess.js
index 64ebdd402a0..b705ec11cfc 100644
--- a/entity/Offer_entity/entityfields/anycontacts/children/contactids_param/valueProcess.js
+++ b/entity/Offer_entity/entityfields/anycontacts/children/contactids_param/valueProcess.js
@@ -1,10 +1,21 @@
 import("system.result");
 import("system.vars");
+import("Sql_lib");
 
-var contactIds = "";
-if (vars.exists("$param.ContactIds_param") && vars.get("$param.ContactIds_param")) {
+var contactIds = null;
+if(vars.exists("$param.ContactIds_param") && vars.get("$param.ContactIds_param"))
+{
     contactIds = vars.get("$param.ContactIds_param");
 }
 
-if (contactIds)
-    result.string(contactIds);
\ No newline at end of file
+if(!contactIds && vars.get("$field.CONTACT_ORG_ID"))
+{
+    var sql = newSelect("CONTACTID").from("CONTACT")
+        .where("CONTACT.ORGANISATION_ID", vars.get("$field.CONTACT_ORG_ID"));
+    contactIds = JSON.stringify(sql.arrayColumn());
+}
+
+if(contactIds)
+{
+    result.string(contactIds);
+}
diff --git a/entity/Offer_entity/entityfields/contact_id/stateProcess.js b/entity/Offer_entity/entityfields/contact_id/stateProcess.js
index 0dcccb84c77..e51ff93affb 100644
--- a/entity/Offer_entity/entityfields/contact_id/stateProcess.js
+++ b/entity/Offer_entity/entityfields/contact_id/stateProcess.js
@@ -3,11 +3,4 @@ import("system.result");
 import("system.neon");
 import("system.vars");
 
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT)
-{
-    result.string(neon.COMPONENTSTATE_READONLY);
-}
-else
-{
-    result.string(OfferUtils.isEditable(vars.get("$field.STATUS")) ? neon.COMPONENTSTATE_AUTO : neon.COMPONENTSTATE_DISABLED);
-}
+result.string(OfferUtils.isEditable(vars.get("$field.STATUS")) ? neon.COMPONENTSTATE_AUTO : neon.COMPONENTSTATE_DISABLED);
diff --git a/entity/Offer_entity/entityfields/contact_id/valueProcess.js b/entity/Offer_entity/entityfields/contact_id/valueProcess.js
index c50907d05b5..c0b04b66955 100644
--- a/entity/Offer_entity/entityfields/contact_id/valueProcess.js
+++ b/entity/Offer_entity/entityfields/contact_id/valueProcess.js
@@ -6,27 +6,31 @@ import("Sql_lib");
 import("Context_lib");
 
 if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null)
-var contactId = "";
-if ((!vars.exists("$param.ContactId_param") || !vars.get("$param.ContactId_param")) 
-    && (vars.exists("$param.ObjectType_param") 
-        && vars.get("$param.ObjectType_param") 
-        && vars.exists("$param.ObjectRowId_param") 
-        && vars.get("$param.ObjectRowId_param"))) 
 {
-    contactId = ContextUtils.getContactId(vars.get("$param.ObjectType_param"), vars.get("$param.ObjectRowId_param"))
-} else if (vars.exists("$param.ContactId_param") && vars.get("$param.ContactId_param")) {
-    contactId = vars.get("$param.ContactId_param");
-}
-
-if (contactId) 
-{
-    var lang = newSelect("ISOLANGUAGE")
-                    .from("CONTACT")
-                    .where("CONTACT.CONTACTID", contactId)
-                    .cell();
-
-    if(lang != "") 
-        neon.setFieldValue("field.ISOLANGUAGE", lang);
+    var contactId = "";
+    if ((!vars.exists("$param.ContactId_param") || !vars.get("$param.ContactId_param")) 
+        && (vars.exists("$param.ObjectType_param") 
+            && vars.get("$param.ObjectType_param") 
+            && vars.exists("$param.ObjectRowId_param") 
+            && vars.get("$param.ObjectRowId_param"))) 
+    {
+        contactId = ContextUtils.getContactId(vars.get("$param.ObjectType_param"), vars.get("$param.ObjectRowId_param"));
+    }
+    else if (vars.exists("$param.ContactId_param") && vars.get("$param.ContactId_param"))
+    {
+        contactId = vars.get("$param.ContactId_param");
+    }
     
-    result.string(contactId);
-}
\ No newline at end of file
+    if (contactId) 
+    {
+        var lang = newSelect("ISOLANGUAGE")
+                        .from("CONTACT")
+                        .where("CONTACT.CONTACTID", contactId)
+                        .cell();
+                    
+        if(lang != "") 
+            neon.setFieldValue("field.ISOLANGUAGE", lang);
+        
+        result.string(contactId);
+    }
+}
-- 
GitLab