XRM Web API |在D365 CE(CRM)中动态检索和设置客户字段

在里面Microsoft Dynamics 365 CRM解决方案(否则称为CE),是电力平台提供客户列,该客户列是可以是DATVERSE中的两个表中的一个,并且在设置客户端脚本中的值时必须以不同的方式处理。业务要求可以在JavaScript Web资源中使用客户端脚本设置客户列的曲线。您无法将客户列设置,如您可以像帐户,联系人或机会一样的其他查找;客户列是唯一的,因为它可以是帐户或联系人引用。

解决方案

以下代码片段和方案遵循克隆从自定义按钮启动的记录的业务要求。通过XRM.Webapi方法,将检索发票数据,然后创建新发票。然后它将打开新创建的记录并刷新功能区上的按钮。

通过xrm.webapi.retrieverecord检索数据

由于XRM.Webapi对象的成立,检索或设置数据的方法不同CRM.客户端脚本。以下是Microsoft文档retriemord方法。对于这种特定的场景,代码需要当前记录的ID来检索该记录的所有信息,该记录可能是也可能不是表单。

XRM.

建立记录的ID后,我们调用ReteVerecord方法,传递表的逻辑名称并通过记录ID传递。从那里,我们将责任传递给不同的函数,命名为createInvoice。

XRM.

createInvoice.函数将设置某些变量,然后创建一个全新的记录。这是该功能的骨架结构:

XRM.

检索非客户查找值

为了提供更全面的查找解释,我将添加有关如何检索和设置查找列的值的说明。以下是如何检索机会的ID的示例:

XRM.

注意列以下划线为前排,它由_Value后缀。机会ID是列的逻辑名称。

检索客户价值观

检索客户值与从任何其他查找的检索数据相同,因为列名称被如下所需的信息包围:

XRM.

设置非查找值

根据列类型,在客户端脚本中设置列值是不同的。使用文本列,下面是如何设置值的一个很好的示例:

方法1

XRM.

方法2.

XRM.

设置查找值

使用查找列,我们需要将更多数据添加到名称和值对。下面的示例是设置查找的机会ID:

方法1

XRM.

方法2.

XRM.

机会ID是指定表(发票)上列的名称:

XRM.

机会是该表的多个名称,其中字段点数是:

XRM.

设置客户价值

现在我们将涵盖博客最重要的一点,因为之前提到的一切都提供了对概念的基础了解。188比分直播吧旧版

由于客户专栏可以是一个帐户或联系人,因此我们需要使用这样的客户类型来考虑我们的编码策略:

XRM.

上面的代码正在检索我们将用于确定我们将如何设置客户值的信息。

对于我们的场景,它将产生两个结果中的一个:

“_customerid_value@Microsoft.Dynamics.CRM.associatednavigationproperty”:“customerid_account”

或者

“_customerid_value@microsoft.dynamics.crm.associationnavigationProperty”:“customerId_Contact”,

我们将其分配给Customer_type变量,然后将客户值分配给新创建的记录,如下所示:

XRM.

添加所有其他代码(联系我们进行代码),我们现在准备测试它。单击自定义按钮时,将使用填充的客户查找创建新记录。

自定义按钮

XRM.

使用来自父发票的正确数据填充客户列:

XRM.

联系我们有关此解决方案的完整代码。如果您对此主题或D365 CE(CRM)有任何疑问,请请与我们联系

动态365 CE(CRM)如何为eguide

41页的动态365客户参与(CRM)中的6个不同关键任务的逐步说明。包括与PowerApps和Flow的互动!

得到精致

动态365 CE(CRM)如何为eguide

得到精致