[英]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}"
不確定從何處獲取實體類型代碼(即objecttypecode
(10026),您可能需要更改源以存儲實體類型名稱(邏輯名稱)。 由於用於存儲查找值的對象數組需要 guid,因此顯示名稱和類型應為[{ id: recordid, name: recordName, entityType: entityName }]
。 否則,就像您評論的那樣,您需要從元數據中提取或將一些key:value對存儲為枚舉。
您可以從舊字段中獲取所有所需的屬性,然后將其設置為新字段,如下所示。
--
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.