Dynamics crm 复选框=如果更新了特定字段,则为true
我正在Dynamics CRM 365和QuickBooks Desktop之间同步帐户和联系人信息 我在CRM中尝试做的是设置一个复选框,名为“自上次QB同步以来地址已更新”。它是锁定的,因此用户不能触摸它,当用户更新特定字段时,应该自动检查它:公司名称、地址、电话、电子邮件 试图用业务规则实现这一点,但显然不可能。是处理这个问题的最佳方式(web资源、业务流程等) 将是您的最佳选择。编写一个C#插件,在目标实体中设置复选框(bool)属性(如果这四个属性中的任何一个发生了更改) 将目标实体注册为联系人,即使您可以在插件步骤的过滤属性中过滤这四个属性 这避免了显式的记录更新,而且该插件仅在这四个字段中的任何一个字段更新时才会启动,并且该标志将作为附加属性设置在同一个DB事务中。将是您的最佳选择。编写一个C#插件,在目标实体中设置复选框(bool)属性(如果这四个属性中的任何一个发生了更改) 将目标实体注册为联系人,即使您可以在插件步骤的过滤属性中过滤这四个属性Dynamics crm 复选框=如果更新了特定字段,则为true,dynamics-crm,crm,microsoft-dynamics,dynamics-crm-online,dynamics-365,Dynamics Crm,Crm,Microsoft Dynamics,Dynamics Crm Online,Dynamics 365,我正在Dynamics CRM 365和QuickBooks Desktop之间同步帐户和联系人信息 我在CRM中尝试做的是设置一个复选框,名为“自上次QB同步以来地址已更新”。它是锁定的,因此用户不能触摸它,当用户更新特定字段时,应该自动检查它:公司名称、地址、电话、电子邮件 试图用业务规则实现这一点,但显然不可能。是处理这个问题的最佳方式(web资源、业务流程等) 将是您的最佳选择。编写一个C#插件,在目标实体中设置复选框(bool)属性(如果这四个属性中的任何一个发生了更改) 将目标实体注
这避免了显式的记录更新,而且该插件仅在这四个字段中的任何一个字段更新时才会启动,并且该标志将作为附加属性设置在同一个DB事务中。您还可以创建一个工作流流程,当某些属性更新时触发该流程,这更符合MSFT推荐的使用定制策略,缺点是您必须为每个实体创建一个工作流
希望它Hepls-M.Acosta.D您还可以创建一个工作流流程,在某些属性更新时触发,这更符合MSFT建议的使用自定义策略,缺点是您必须为每个实体创建一个工作流
希望它Hepls-M.Acosta.D我最后做的是创建一个web资源,并将其分配给我想要监视的字段的
OnChange
事件:
function fieldChanged() {
Xrm.Page.getAttribute("new_updatessincelastqbsync").setValue(true);
}
address1\u composite
有点棘手,因为它没有检测到OnChange
事件。Had必须将组成组合的字段添加为隐藏字段,并将web资源添加到这些字段的OnChange
事件中。现在它100%工作。我最后做的是创建一个web资源,并将其分配给我要监视更改的字段的OnChange
事件:
function fieldChanged() {
Xrm.Page.getAttribute("new_updatessincelastqbsync").setValue(true);
}
address1\u composite
有点棘手,因为它没有检测到OnChange
事件。Had必须将组成组合的字段添加为隐藏字段,并将web资源添加到这些字段的OnChange
事件中。现在它100%工作。Approach@Arun还处理从UI以外的任何其他方式创建/更新任何帐户/联系人记录的场景。Approach@Arun还处理从UI以外的任何其他方式创建/更新任何帐户/联系人记录的场景。使用web资源可能会带来风险,因为web资源会仅在其父CRM窗体打开时处于“活动”状态。这意味着,如果其他进程更新这些字段,则web资源中包含的代码将不会执行Arun的答案不会有这个问题。使用web资源可能会带来风险,因为web资源只有在其父CRM表单打开时才会处于“活动”状态。这意味着,如果其他进程更新这些字段,则web资源中包含的代码将不会执行Arun的答案不会有这个问题