簡體   English   中英

如何在客戶端動態填充查找字段

[英]How to populate lookup field dynamically in client side

我正在使用Dynamics crm 2016,我的任務是在客戶端(無插件)中復制一條記錄,因此使用onload事件調用一個函數,該函數獲取具有我所有屬性的對象(要復制到..),我可以只填寫我的表單中的所有字段(查找字段除外)。 我從自己的數據中獲取了3個值以供使用:名稱:字段中顯示的數據值:實體引用的GUID和許多類型。要填充查找字段,我需要實體的名稱ID和類型。 ***代碼必須通用。出現兩個問題:

1。如果是,那么類型值可用於填充實體類型字段嗎?
2。是否可以像舊字段一樣在新字段中填充name屬性?

我得到的數據示例:

Attributes
:
name
:
"this is the name"
type
:
"10026"  -- Can I get the entity name (Account,Contact etc...) according to this val?
__proto__
:
Object
Value
:
"{6BddfDC-8B10-47F4-BC49-A537d2E43E}"
  1. 不確定從何處獲取實體類型代碼(即objecttypecode (10026),您可能需要更改源以存儲實體類型名稱(邏輯名稱)。 由於用於存儲查找值的對象數組需要 guid,因此顯示名稱和類型應為[{ id: recordid, name: recordName, entityType: entityName }] 否則,就像您評論的那樣,您需要從元數據中提取或將一些key:value對存儲為枚舉。

  2. 您可以從舊字段中獲取所有所需的屬性,然后將其設置為新字段,如下所示。

--

var lookupObjValue = Xrm.Page.getAttribute(old_lookupSchemaName).getValue();

var lookupEntityType = lookupObjValue[0].entityType, //To get EntityName
lookupRecordGuid = lookupObjValue[0].id, // To get record GUID
lookupRecordName = lookupObjValue[0].name; //To get record Name 

Xrm.Page.getAttribute(new_lookupSchemaName).setValue([{ id: lookupRecordGuid, name: lookupRecordName, entityType: lookupEntityType }]);

如果您的要求對我來說沒有代碼(插件),那么使用JavaScript來實現目標似乎有點作弊。

您應該調查使用CRM工作流程可以完成多少工作,使解決方案可以由職能支持人員而不是技術人員來支持。

然后,您可以選擇使用JavaScript觸發工作流程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM