问题描述
您好,我正在尝试切换记录上的活动业务流程。基本上,我有两个业务流程,我想将记录(潜在客户)移动到第二个业务流程,它目前在第一个业务流程上。
我曾尝试使用 SetProcess Action。请求成功 (204),但未将记录上的业务流程更新为正确的。
这是我发送的请求:
url = "[Org Url]SetProcess"
data = data_action = {
'Target': f'leads({leadid})','NewProcess': 'workflows(9e5b9ac9-2e14-4293-bc22-076e8accb444)',}
但是当我在 Dynamics 中刷新记录时,它仍然显示旧的业务流程。工作流 ID 是正确的业务流程。
感谢任何帮助!
解决方法
从用户界面的角度来看——当你想中止现有的 BPF 时,完全切换到一个新的 BPF,只需点击一两次,平台就会在后台为你做一切。
而从 SDK/API 的角度来看 - 我们必须处理一些事情。它曾经是存储关联 BPF 的流程和阶段 ID 的同一 CRM 记录(例如帐户、潜在客户)中的属性。后来它变成了任何活动 BPF 的 N:N 表存储过程和阶段 ID,这是为了满足用例,例如 - 不同的团队可以在同一 CRM 记录(例如帐户或潜在客户)上拥有不同的 BPF,并且可以放弃 BPF 和可以使用新的 BPF 重新开始。
现在,当你想启动一个新的 BPF 实例并放弃旧的 BPF 实例时,当你只是创建一个新的 BPF 的新实例时,它并没有完全处理,因此需要删除 BPF 表中的旧条目。然后,一旦创建并导航到该表单,新实例就会生效。
您可以通过 Web api 调用来完成这些操作。下面的一些示例负载:
使用以下请求为帐户行创建业务流程定义的实例
POST [Organization URI]/api/data/v9.0/new_mycustombpfs HTTP/1.1
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
{
"bpf_accountid@odata.bind": "/accounts(a176be9e-9a68-e711-80e7-00155d41e206)","activestageid@odata.bind": "/processstages(9a9185f5-b75b-4bbb-9c2b-a6626683b99b)"
}
删除一个业务流程流表行(流程实例)
DELETE [Organization URI]/api/data/v9.0/new_mycustombpfs(dc2ab599-306d-e811-80ff-00155d513100) HTTP/1.1
,
我实际上能够做到这一点,必须从旧 BPF 的 PBF 实体中删除您不想要的实体记录,然后将其添加到新的 BPF 实体中。