我使用动态crm 2016,我的任务是复制客户端的记录(没有插件)所以使用onload事件我调用一个函数来获取具有我所有属性的对象(是复制到..),我可以填写我的表单中的所有字段,除了查找字段。我在我的fetch 3值的数据中使用: name:字段中显示的数据' value:实体引用的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}"
答案 0 :(得分:0)
不确定从哪里获得实体类型代码objecttypecode
(10026),您可能需要将源更改为存储实体类型名称(逻辑名称)。由于用于存储查找值的对象数组需要 guid,因此显示名称&类似[{ id: recordid, name: recordName, entityType: entityName }]
。否则,就像您评论的那样,您需要从元数据中提取或将一些键:值对存储为枚举。
您可以从旧字段获取所有需要的属性。设置为如下所示的新字段。
-
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 }]);
答案 1 :(得分:0)
如果您的要求对我来说没有代码(插件),那么使用JavaScript来实现同样的做法似乎有点作弊。
您应该调查使用CRM工作流程可以完成多少工作,制定一个可由功能支持人员而不是技术人员支持的解决方案。
然后,您可以选择使用JavaScript
触发工作流程