【问题标题】:How to populate lookup field dynamically in client side如何在客户端动态填充查找字段
【发布时间】:2018-05-17 14:37:45
【问题描述】:

我正在使用动态 crm 2016,我的任务是在客户端复制一条记录(无插件),因此使用 onload 事件我正在调用一个函数来获取具有我所有属性的对象(要复制到.. ),我可以简单地填写表单中的所有字段,除了查找字段。我的数据中有 3 个要使用的值: 名称:字段中显示的数据' value:实体引用的 guid 和一些类型.. 要填充查找字段,我需要实体的名称、id 和类型。 ***代码必须是通用的 提出了两个问题:

1。类型值是否可用于填充实体类型字段,如果是,那么如何填充?
2。我可以在新字段中填充名称属性吗?和旧领域的一样?

我得到的数据示例:

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}"

【问题讨论】:

  • 了解到需要根据entityType查询元数据获取实体名称,所以如果有人有简单的Idea。

标签: javascript dynamics-crm lookup dynamics-crm-2016 xrm


【解决方案1】:
  1. 不确定您从何处获得实体类型代码,即 objecttypecode (10026),您可能需要更改源以存储实体类型名称(逻辑名称)。由于对象数组用于存储查找值预计 guid,因此显示名称和类型如[{ id: recordid, name: recordName, entityType: entityName }]。否则,就像您评论的那样,您需要从元数据中提取或将一些键:值对存储为枚举。

  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 }]);

【讨论】:

  • 感谢 Arun,经过调查,我发现我的问题是从 web.api 获取实体名称,该部分丢失,正在寻找如何使用 CRM web api 的完整示例
【解决方案2】:

如果您的要求对我来说没有代码(插件),那么使用 JavaScript 来实现同样的目的似乎有点作弊。

您应该调查使用 CRM 工作流可以完成多少工作,制定一个可由职能支持人员而非技术人员支持的解决方案。

然后您可以选择使用 JavaScript 触发工作流

【讨论】:

    猜你喜欢
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    • 1970-01-01
    相关资源
    最近更新 更多