หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
โฟลว์กระบวนการธุรกิจ ช่วยให้คุณสามารถสร้างกระบวนการขาย การบริการ และกระบวนการทางธุรกิจอื่นๆ ที่มีประสิทธิภาพและคล่องตัวมากขึ้น โดยจะสร้างการจัดรูปแบบการแสดงของกระบวนการทางธุรกิจของคุณโดยการใส่ตัวควบคุมพิเศษที่ด้านบนของฟอร์มเอนทิตี ผู้ใช้จะได้รับคำแนะนำผ่านขั้นตอนต่างๆ ของกระบวนการขาย การตลาด หรือบริการจนเสร็จสมบูรณ์ แต่ละกระบวนการจะสนับสนุนลำดับขั้นและขั้นตอนต่างๆ คุณสามารถเพิ่มหรือลบขั้นตอนออก เปลี่ยนลำดับขั้น หรือเพิ่มเอนทิตีใหม่ไปยังโฟลว์กระบวนการธุรกิจ
อินสแตนซ์โฟลว์กระบวนการธุรกิจที่แตกต่างกันสามารถเรียกใช้พร้อมกันกับเรกคอร์ดเอนทิตีเดียวกันได้ ผู้ใช้สามารถสลับไปมาระหว่างอินสแตนซ์กระบวนการทางธุรกิจที่เกิดขึ้นพร้อมกัน และดำเนินงานในลำดับขั้นปัจจุบันในกระบวนการต่อได้
หัวข้อนี้จะมีข้อมูลเกี่ยวกับวิธีที่คุณสามารถทำงานกับโฟลว์กระบวนการธุรกิจในเชิงภาษาโปรแกรม
Note
คุณไม่จำเป็นต้องเขียนโค้ดเพื่อทำงานกับโฟลว์กระบวนการธุรกิจ สําหรับข้อมูลเกี่ยวกับการใช้ไคลเอ็นต์ Dynamics 365 Customer Engagement (UI) เพื่อสร้างและจัดการโฟลว์กระบวนการธุรกิจ โปรดดู ภาพรวมโฟลว์กระบวนการธุรกิจ
ข้อกำหนดเบื้องต้นสำหรับโฟลว์กระบวนการธุรกิจ
เอนทิตีแบบกำหนดเองและเอนทิตีที่มีฟอร์ม UI ที่อัปเดต สามารถเข้าร่วมในโฟลว์กระบวนการธุรกิจได้ เอนทิตี UI ที่อัปเดตมีคุณสมบัติ IsAIRUpdated ที่ตั้งค่าเป็น true
เมื่อต้องการเปิดใช้งานเอนทิตีสำหรับโฟลว์กระบวนการธุรกิจ ให้ตั้งค่าคุณสมบัติ IsBusinessProcessEnabled เป็น true
สําคัญ
การเปิดใช้งานเอนทิตีสำหรับโฟลว์กระบวนการธุรกิจเป็นกระบวนการแบบทางเดียว คุณไม่สามารถย้อนกลับได้
กำหนดโฟลว์กระบวนการธุรกิจ
ใช้ตัวออกแบบโฟลว์กระบวนการธุรกิจแบบภาพเพื่อกำหนดโฟลว์กระบวนการธุรกิจ ข้อมูลเพิ่มเติม: สร้างโฟลว์กระบวนการทางธุรกิจ
ตามค่าเริ่มต้น เรกคอร์ดโฟลว์กระบวนการธุรกิจจะถูกสร้างขึ้นในสถานะ Draft
ข้อกำหนดของโฟลว์กระบวนการธุรกิจจะถูกเก็บไว้ในเอนทิตี workflow และข้อมูลลำดับขั้นสำหรับโฟลว์กระบวนการธุรกิจจะถูกเก็บไว้ในเอนทิตี processstage
เริ่มการใช้งานโฟลว์กระบวนการธุรกิจ
ก่อนที่คุณจะสามารถเปิดใช้งานโฟลว์กระบวนการได้ คุณต้องเริ่มการใช้งาน เมื่อต้องการเริ่มการใช้งาน คุณต้องมีสิทธิ์การใช้งาน prvActivateBusinessProcessFlow สำหรับเอนทิตี Workflow ใช้ข้อความ UpdateRequest เพื่อตั้งค่าสถานะของเรกคอร์ดเอนทิตี Workflow เป็น Activated ข้อมูลเพิ่มเติม: ทำการดำเนินงานแบบพิเศษโดยใช้การอัปเดต
Note
นอกจากนี้ คุณยังสามารถใช้ตัวออกแบบโฟลว์กระบวนการธุรกิจเพื่อเริ่มใช้งานโฟลว์กระบวนการธุรกิจได้อีกด้วย
เอนทีตีโฟลว์กระบวนการธุรกิจ
เมื่อคุณเปิดใช้งานข้อกำหนดโฟลว์กระบวนการธุรกิจโดยการเปลี่ยนสถานะของเรกคอร์ดเอนทิตี Workflow ที่สอดคล้องกันหรือโดยการใช้ตัวออกแบบโฟลว์กระบวนการธุรกิจ เอนทิตีแบบกำหนดเองที่มีชื่อต่อไปนี้จะถูกสร้างขึ้นโดยอัตโนมัติเพื่อจัดเก็บอินสแตนซ์โฟลว์กระบวนการธุรกิจที่มีการเริ่มการใช้งาน: "<activesolutionprefix>_<uniquename>" โดยที่ uniquename จะได้มาจากชื่อที่คุณระบุ
ตัวอย่างเช่น ถ้าคุณระบุ "BPF แบบกำหนดเองของฉัน" เป็นชื่อของข้อกำหนดโฟลว์กระบวนการธุรกิจ และกำลังใช้ผู้เผยแพร่เริ่มต้น (ใหม่) สำหรับโซลูชันที่ใช้งานของคุณ ชื่อของเอนทิตีแบบกำหนดเองที่สร้างขึ้นสำหรับการจัดเก็บอินสแตนซ์กระบวนการจะเป็น "new_mycustombpf"
ถ้าไม่มีการระบุค่า uniquename สำหรับข้อกำหนดโฟลว์กระบวนการธุรกิจ ตัวอย่างเช่น ถ้ามีการนำเข้าโฟลว์กระบวนการทางธุรกิจมาเป็นส่วนหนึ่งของโซลูชันจากเวอร์ชันก่อนหน้า ชื่อเริ่มต้นของเอนทิตีแบบกำหนดเองจะเป็น "<activesolutionprefix>_bpf_<GUID_BPF_Definition>:
สําคัญ
เรกคอร์ดโฟลว์กระบวนการธุรกิจตัวอย่างที่มีอยู่ใน Dynamics 365 ใช้เอนทิตีของระบบเพื่อจัดเก็บเรกคอร์ดของอินสแตนซ์โฟลว์กระบวนการธุรกิจที่สอดคล้องกัน เรกคอร์ดเอนทิตีโฟลว์กระบวนการธุรกิจตัวอย่างสองรายการคือ เอนทิตี OpportunitySalesProcess และ เอนทิตี LeadToOpportunitySalesProcess
อย่างไรก็ตาม ข้อกำหนดของโฟลว์กระบวนการธุรกิจใหม่ใดๆ ที่คุณสร้าง จะใช้เอนทิตีแบบกำหนดเองเพื่อจัดเก็บเรกคอร์ดของอินสแตนซ์ตามที่อธิบายไว้ก่อนหน้านี้
คุณสามารถเรียกดูชื่อของเอนทิตีโฟลว์กระบวนการธุรกิจของคุณโดยใช้วิธีใดก็ได้ต่อไปนี้:
การใช้ UI: ใช้ UI ของการแก้ไข/ปรับปรุงตามคำสั่งเพื่อเรียกดูเอนทิตีโฟลว์กระบวนการธุรกิจของคุณ:
การใช้ API เว็บ: ใช้คำขอต่อไปนี้:
ขอร้อง
GET [Organization URI]/api/data/v9.1/workflows?$filter=name eq 'My Custom BPF'&$select=uniquename HTTP/1.1การตอบสนอง
{ "@odata.context":"[Organization URI]/api/data/v9.1/$metadata#workflows(uniquename)", "value":[ { "@odata.etag":"W/\"1084677\"", "uniquename":"new_mycustombpf", "workflowid":"2669927e-8ad6-4f95-8a9a-f1008af6956f" } ] }การใช้บริการองค์กร: ใช้ตัวอย่างรหัสต่อไปนี้:
QueryExpression query = new QueryExpression { EntityName = "workflow", ColumnSet = new ColumnSet("uniquename"), Criteria = new FilterExpression { Conditions = { new ConditionExpression { AttributeName = "name", Operator = ConditionOperator.Equal, Values = { "My Custom BPF" } } } } }; Workflow Bpf = (Workflow)_serviceProxy.RetrieveMultiple(query).Entities[0];
Note
คุณสมบัติ IsBPFEntity เป็น true สำหรับเอนทิตีโฟลว์กระบวนการธุรกิจ คุณสามารถเรียกใช้เอนทิตีโฟลว์กระบวนการธุรกิจทั้งหมดได้ในอินสแตนซ์ของคุณ โดยการเรียกใช้คำขอ API สำหรับเว็บต่อไปนี้:
GET [Organization URI]/api/data/v9.1/EntityDefinitions?$select=SchemaName,LogicalName,DisplayName&$filter=IsBPFEntity eq true HTTP/1.1
จัดการความปลอดภัยสำหรับโฟลว์กระบวนการธุรกิจ
เอนทิตีแบบกำหนดเองที่สร้างขึ้นโดยอัตโนมัติบนการเปิดใช้งานโฟลว์กระบวนการทางธุรกิจเพื่อจัดเก็บอินสแตนซ์โฟลว์กระบวนการทางธุรกิจ จะยึดตามแบบจำลองความปลอดภัยมาตรฐานสำหรับเอนทิตีแบบกำหนดเองใดๆ ใน Customer Engagement นี่บ่งชี้ว่า สิทธิ์การใช้งานที่มอบให้กับเอนทิตีเหล่านี้จะกำหนดสิทธิ์รันไทม์สำหรับผู้ใช้สำหรับโฟลว์กระบวนการธุรกิจ
เอนทิตีโฟลว์กระบวนการธุรกิจแบบกำหนดเองมีขอบเขตองค์กร สิทธิ์การใช้งานในการสร้าง เรียกใช้ อัปเดต และลบแบบทั่วไปบนเอนทิตีนี้ จะกำหนดสิทธิ์ที่ผู้ใช้จะมี โดยขึ้นอยู่กับบทบาทที่ได้รับมอบหมายของพวกเขา ตามค่าเริ่มต้น เมื่อมีการสร้างเอนทิตีแบบกำหนดเองของโฟลว์กระบวนการธุรกิจ มีเพียง Security role ของ ผู้ดูแลระบบ และ ผู้กำหนดค่าระบบ เท่านั้นที่ได้รับสิทธิ์ในการเข้าถึง และคุณต้องให้สิทธิ์อย่างชัดเจนแก่เอนทิตีโฟลว์กระบวนการธุรกิจใหม่ (ตัวอย่างเช่น BPF แบบกำหนดเองของฉัน) สำหรับ Security role อื่นๆ ตามความจำเป็น
สร้าง เรียกใช้ อัปเดต และลบเรกคอร์ดเอนทิตีโฟลว์กระบวนการธุรกิจ (อินสแตนซ์กระบวนการ)
เอนทิตีแบบกำหนดเองที่ถูกสร้างขึ้นโดยอัตโนมัติในการเปิดใช้งานข้อกำหนดของโฟลว์กระบวนการธุรกิจ จะจัดเก็บอินสแตนซ์กระบวนการทั้งหมดสำหรับข้อกำหนดของโฟลว์กระบวนการธุรกิจ เอนทิตีแบบกำหนดเองสนับสนุนการสร้างเชิงโปรแกรมมาตรฐานและการจัดการของเรกคอร์ด (อินสแตนซ์กระบวนการ) โดยใช้จุดสิ้นสุด API สำหรับเว็บและ CRM 2011
สําคัญ
การสลับไปยังอินสแตนซ์กระบวนการอื่นสำหรับเรกคอร์ดเอนทิตีได้รับการสนับสนุนผ่าน UI (ไคลเอนต์) หรือทางโปรแกรมเท่านั้น โดยใช้ข้อมูลที่พร้อมใช้งานในส่วนนี้ คุณไม่สามารถใช้ข้อความ SetProcess (SetProcess Action หรือ SetProcessRequest) ในการสลับกระบวนการโดยทางโปรแกรม (ตั้งค่าโฟลว์กระบวนการธุรกิจอื่นเป็นอินสแตนซ์กระบวนการที่ใช้งานอยู่) สำหรับเรกคอร์ดเอนทิตีเป้าหมายได้อีกต่อไป
มาพิจารณาตัวอย่างต่อไปนี้ที่ซึ่งเรามีโฟลว์กระบวนการธุรกิจระหว่างเอนทิตี "BPF แบบกำหนดเองของฉัน" ที่มี 3 ขั้นตอน: S1:ลูกค้าองค์กร S2:ลูกค้าองค์กร และ S3:ผู้ติดต่อ
เรียกใช้เรกคอร์ดทั้งหมด (อินสแตนซ์) สำหรับเอนทิตีโฟลว์กระบวนการธุรกิจ
ถ้าชื่อของเอนทิตีโฟลว์กระบวนการธุรกิจของคุณคือ "new_mycustombpf" ใช้การสอบถามต่อไปนี้เพื่อเรียกใช้เรกคอร์ดทั้งหมด (อินสแตนซ์กระบวนการ) สำหรับเอนทิตีโฟลว์กระบวนการธุรกิจของคุณ:
GET [Organization URI]/api/data/v9.1/new_mycustombpfs HTTP/1.1
ณ จุดนี้ คุณอาจไม่ได้รับอินสแตนซ์ใดๆ ในการตอบกลับของคุณ เนื่องจากยังไม่มีอินสแตนซ์ เรียกใช้คำขอนี้หลังจากที่สร้างอินสแตนซ์ของข้อกำหนดโฟลว์กระบวนการธุรกิจของคุณภายหลังในหัวข้อนี้
Note
เมื่อต้องทราบวิธีการเรียกใช้ชื่อของเอนทิตีโฟลว์กระบวนการธุรกิจของคุณ โปรดดูส่วนก่อนหน้า เอนทิตีโฟลว์กระบวนการธุรกิจ
สร้างเรกคอร์ดเอนทิตีโฟลว์กระบวนการธุรกิจ (อินสแตนซ์ของกระบวนการ)
สร้างเรกคอร์ดเอนทิตีโฟลว์กระบวนการธุรกิจ (อินสแตนซ์ของกระบวนการ) โดยทางโปรแกรม หากคุณต้องการสลับไปยังโฟลว์กระบวนการธุรกิจอื่นสำหรับเรกคอร์ดเอนทิตีโดยไม่ใช้ UI
(!หมายเหตุ) เมื่อคุณสร้างเรกคอร์ดในส่วนติดต่อแบบรวมและคุณไม่ต้องการให้มีโฟลว์กระบวนการธุรกิจที่เชื่อมโยงกับเรกคอร์ด ให้สร้างสคริปต์ onload ที่เรียกใช้ setActiveProcess และส่งผ่าน processID (GUID) ที่ว่างเปล่า ตัวอย่างโค้ด formcontext.data.process.setActiveProcess('00000000-0000-0000-0000-000000000000', (a)=>{alert("changed -- " + a)})
เพื่อสร้างเรกคอร์ดเอนทิตีโฟลว์กระบวนการธุรกิจ คุณจำเป็นต้องระบุค่าต่อไปนี้:
เชื่อมโยงเรกคอร์ดเอนทิตีโฟลว์กระบวนการธุรกิจกับเรกคอร์ดเอนทิตีหลัก โดยการตั้งค่าคุณสมบัติการนำทางที่เป็นค่าเดียวโดยใช้คำอธิบายประกอบ
@odata.bindเมื่อต้องการค้นหาชื่อคุณสมบัติการนำทางที่ชี้ไปยังเรกคอร์ดเอนทิตีหลักสำหรับข้อกำหนดโฟลว์กระบวนการธุรกิจของคุณ ให้ใช้ เอกสาร CSDL $metadataเชื่อมโยงเรกคอร์ดเอนทิตีโฟลว์กระบวนการธุรกิจกับลำดับขั้นที่ถูกต้องที่ระบุไว้ในข้อกำหนดโฟลว์กระบวนการธุรกิจ โดยการตั้งค่าคุณสมบัติการนำทางที่เป็นค่าเดียวโดยใช้คำอธิบายประกอบ
@odata.bindเมื่อต้องการค้นหาชื่อคุณสมบัติการนำทาง (โดยปกติactivestageid) ที่ชี้ไปยังเรกคอร์ดของลำดับขั้นสำหรับข้อกำหนดโฟลว์กระบวนการธุรกิจของคุณ ให้ใช้ เอกสาร CSDL $metadataนอกจากนี้ คุณสามารถเรียกดูข้อมูลเกี่ยวกับลำดับขั้นทั้งหมดสำหรับข้อกำหนดโฟลว์กระบวนการธุรกิจได้โดยใช้คำขอ API เว็บต่อไปนี้ โดยสมมติว่า ID ของข้อกำหนดโฟลว์กระบวนการธุรกิจของคุณคือ 2669927e-8ad6-4f95-8a9a-f1008af6956f:
ขอร้อง
GET [Organization URI]/api/data/v9.1/processstages?$select=stagename&$filter=processid/workflowid eq 2669927e-8ad6-4f95-8a9a-f1008af6956f HTTP/1.1การตอบสนอง
{ "@odata.context": "[Organization URI]/api/data/v9.1/$metadata#processstages(stagename)", "value": [ { "@odata.etag": "W/\"858240\"", "stagename": "S1", "processstageid": "9a9185f5-b75b-4bbb-9c2b-a6626683b99b" }, { "@odata.etag": "W/\"858239\"", "stagename": "S3", "processstageid": "a107e2fd-7543-4c1a-b6b4-b8060ecb1a1a" }, { "@odata.etag": "W/\"858238\"", "stagename": "S2", "processstageid": "19a11fc0-3398-4214-8522-cb2a97f66e4b" } ] }
จากนั้น ให้ใช้คำขอต่อไปนี้เพื่อสร้างอินสแตนซ์ของข้อกำหนดโฟลว์กระบวนการธุรกิจสำหรับเรกคอร์ดบัญชีผู้ใช้ (ID=a176be9e-9a68-e711-80e7-00155d41e206) และกำหนดลำดับขั้นที่ใช้งานอยู่เป็นลำดับขั้นแรกของอินสแตนซ์ของกระบวนการ S1 (ID=9a9185f5-b75b-4bbb-9c2b-a6626683b99b):
ขอร้อง
POST [Organization URI]/api/data/v9.1/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)"
}
การตอบสนอง
HTTP/1.1 204 No Content
OData-Version: 4.0
OData-EntityId: [Organization URI]/api/data/v9.1/new_mycustombpfs(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
โปรดทราบว่า หากคุณต้องการสร้างอินสแตนซ์ของข้อกำหนดโฟลว์กระบวนการธุรกิจที่มีการกำหนดลำดับขั้นที่ใช้งานอยู่เป็นลำดับขั้น อื่น นอกจากลำดับขั้นแรก คุณยังต้องระบุ traversedpath ในคำขอของคุณด้วย เส้นทางที่ตรวจสอบเป็นสตริงที่คั่นด้วยจุลภาคของรหัสลำดับขั้นของกระบวนการ ซึ่งแสดงถึงลำดับขั้นที่เข้าเยี่ยมชมของอินสแตนซ์ของโฟลว์กระบวนการธุรกิจ คำขอต่อไปนี้จะสร้างอินสแตนซ์สำหรับเรกคอร์ดบัญชีผู้ใช้ (ID=679b2464-71b5-e711-80f5-00155d513100) และกำหนดลำดับขั้นที่ใช้งานอยู่เป็นลำดับขั้น S2 (ID=19a11fc0-3398-4214-8522-cb2a97f66e4b)
POST [Organization URI]/api/data/v9.1/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(679b2464-71b5-e711-80f5-00155d513100)",
"activestageid@odata.bind": "/processstages(19a11fc0-3398-4214-8522-cb2a97f66e4b)",
"traversedpath":"9a9185f5-b75b-4bbb-9c2b-a6626683b99b,19a11fc0-3398-4214-8522-cb2a97f66e4b"
}
อัปเดตเรกคอร์ดเอนทิตีโฟลว์กระบวนการธุรกิจ (อินสแตนซ์ของกระบวนการ)
คุณสามารถอัปเดตอินสแตนซ์ของกระบวนการเพื่อย้ายไปยังลำดับขั้นถัดไปหรือก่อนหน้า ยกเลิกอินสแตนซ์ของกระบวนการ เปิดใช้งานอินสแตนซ์ของกระบวนการใหม่ หรือดำเนินการอินสแตนซ์ของกระบวนการจนเสร็จเรียบร้อย
การนำทางของลำดับขั้น
เมื่อต้องการนำทางไปยังลำดับขั้นอื่น คุณต้องอัปเดตเรกคอร์ดของอินสแตนซ์ของกระบวนการเพื่อเปลี่ยนรหัสของลำดับขั้นที่ใช้งานอยู่ และอัปเดตพาธที่ตรวจสอบตามลำดับ โปรดทราบว่าคุณต้องย้ายไปยังลำดับขั้นถัดไปหรือก่อนหน้าเท่านั้น ในขณะที่อัปเดตอินสแตนซ์ของโฟลว์กระบวนการธุรกิจ
ในการดำเนินการนำทางของลำดับขั้น คุณจะต้องใช้รหัสของอินสแตนซ์ของโฟลว์กระบวนการธุรกิจที่คุณต้องการอัปเดต เมื่อต้องการเรียกดูอินสแตนซ์ทั้งหมดของโฟลว์กระบวนการธุรกิจของคุณ โปรดดู เรียกดูเรกคอร์ดทั้งหมด (อินสแตนซ์) สำหรับเอนทิตีโฟลว์กระบวนการธุรกิจ ก่อนหน้านี้
สมมติว่า ID ของอินสแตนซ์ของกระบวนการที่คุณต้องการอัปเดตคือ dc2ab599-306d-e811-80ff-00155d513100 ให้ใช้คำขอต่อไปนี้เพื่ออัปเดตลำดับขั้นที่ใช้งานจาก S1 เป็น S2:
PATCH [Organization URI]/api/data/v9.1/new_mycustombpfs(dc2ab599-306d-e811-80ff-00155d513100) HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"activestageid@odata.bind": "/processstages(19a11fc0-3398-4214-8522-cb2a97f66e4b)",
"traversedpath": "9a9185f5-b75b-4bbb-9c2b-a6626683b99b,19a11fc0-3398-4214-8522-cb2a97f66e4b"
}
เปลี่ยนสถานะของอินสแตนซ์ของกระบวนการ: ยกเลิก เปิดใช้งานใหม่ หรือเสร็จสิ้น
อินสแตนซ์ของกระบวนการสามารถมีสถานะใดสถานะหนึ่งต่อไปนี้ได้: ใช้งานอยู่เสร็จเรียบร้อย หรือ ยกเลิกแล้ว สถานะจะถูกกำหนดโดยแอตทริบิวต์ต่อไปนี้ในเรกคอร์ดของอินสแตนซ์ของกระบวนการ:
statecode: จะแสดงสถานะของอินสแตนซ์ของกระบวนการ
ค่า ฉลาก 0 เน้นประธาน 1 ปิดการใช้งาน statuscode: แสดงข้อมูลเกี่ยวกับสถานะของอินสแตนซ์ของกระบวนการ
ค่า ฉลาก 1 เน้นประธาน 2 เสร็จสิ้นแล้ว 3 ยกเลิกแล้ว
ดังนั้น หากต้องการ ยกเลิก อินสแตนซ์ของกระบวนการ ให้ใช้คำขอต่อไปนี้เพื่อกำหนดค่า statecode และค่า statuscode อย่างเหมาะสม:
PATCH [Organization URI]/api/data/v9.1/new_mycustombpfs(dc2ab599-306d-e811-80ff-00155d513100) HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"statecode" : "1",
"statuscode": "3"
}
Note
คุณสามารถยกเลิกอินสแตนซ์ของกระบวนการในลำดับขั้นใดก็ได้
ในทำนองเดียวกัน หากต้องการเปิดใช้อินสแตนซ์ของกระบวนการใหม่ ให้แทนที่ค่า statecode และค่า statuscode ในรหัสด้านบนด้วย 0 และ 1 ตามลำดับ
สุดท้าย หากต้องการตั้งค่าสถานะอินสแตนซ์ของกระบวนการเป็น เสร็จเรียบร้อย ซึ่งจะสามารถทำได้เฉพาะในลำดับขั้นสุดท้ายของอินสแตนซ์ของกระบวนการเท่านั้น ให้แทนที่ค่า statecode และค่า statuscode ในรหัสด้านบนด้วย 0 และ 2 ตามลำดับ
การนำทางระหว่างเอนทิตี
สำหรับการนำทางระหว่างเอนทิตีในตัวอย่างนี้ คุณต้องตั้งค่าลำดับขั้นที่ใช้งานอยู่ของอินสแตนซ์ของกระบวนเป็นลำดับขั้นสุดท้าย S3 (ID=a107e2fd-7543-4c1a-b6b4-b8060ecb1a1a) และอัปเดตเส้นทางที่ตรวจสอบตามลำดับ รวมถึงตั้งค่าเรกคอร์ดผู้ติดต่อเป็นเรกคอร์ดเอนทิตีหลักตามข้อกำหนดโฟลว์กระบวนการทางธุรกิจ
PATCH [Organization URI]/api/data/v9.1/new_mycustombpfs(dc2ab599-306d-e811-80ff-00155d513100) HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"activestageid@odata.bind": "/processstages(a107e2fd-7543-4c1a-b6b4-b8060ecb1a1a)",
"traversedpath":"9a9185f5-b75b-4bbb-9c2b-a6626683b99b,19a11fc0-3398-4214-8522-cb2a97f66e4b,a107e2fd-7543-4c1a-b6b4-b8060ecb1a1a",
"bpf_contactid@odata.bind": "/contacts(0e3f10b0-da33-e811-80fc-00155d513100)"
}
ลบเรกคอร์ดเอนทิตีของโฟลว์กระบวนการธุรกิจ (อินสแตนซ์ของกระบวนการ)
ใช้คำขอ API สำหรับเว็บต่อไปนี้:
ขอร้อง
DELETE [Organization URI]/api/data/v9.1/new_mycustombpfs(dc2ab599-306d-e811-80ff-00155d513100) HTTP/1.1
การตอบสนอง
ถ้ามีเรกคอร์ดอยู่ คุณจะได้รับการตอบกลับตามปกติพร้อมสถานะ 204 เพื่อระบุว่าการลบสำเร็จแล้ว ถ้าไม่พบเอนทิตี คุณจะได้รับการตอบกลับพร้อมสถานะ 404
ใช้ข้อความ RetrieveProcessInstances และ RetrieveActivePath
ใช้ข้อความ RetrieveProcessInstances (RetrieveActivePath Function หรือ RetrieveProcessInstancesRequest) เพื่อดึงอินสแตนซ์ของโฟลว์กระบวนการธุรกิจทั้งหมดสำหรับเรกคอร์ดเอนทิตีในข้อกำหนดโฟลว์กระบวนการธุรกิจทั้งหมด อินสแตนซ์ของโฟลว์กระบวนการธุรกิจที่ส่งกลับสำหรับเอนทิตี จะถูกจัดเรียงตามแอตทริบิวต์ modifiedon สำหรับอินสแตนซ์ ตัวอย่างเช่น อินสแตนซ์ของโฟลว์กระบวนการธุรกิจที่ปรับเปลี่ยนครั้งล่าสุดจะเป็นเรกคอร์ด แรก ในคอลเลกชันที่ส่งกลับ อินสแตนซ์ของโฟลว์กระบวนการธุรกิจที่ปรับเปลี่ยนครั้งล่าสุดเป็นอินสแตนซ์ที่ใช้งานอยู่ใน UI สำหรับเรกคอร์ดเอนทิตี
เรกคอร์ดอินสแตนซ์ของโฟลว์กระบวนการธุรกิจแต่ละรายการที่ส่งกลับสำหรับเรกคอร์ดเอนทิตีเนื่องจากการใช้ข้อความ RetrieveProcessInstances จะจัดเก็บรหัสของลำดับขั้นที่ใช้งานอยู่ในแอตทริบิวต์ processstageid ที่สามารถใช้เพื่อค้นหาลำดับขั้นที่ใช้งานอยู่ แล้วจากนั้น ย้ายไปยังลำดับขั้นก่อนหน้าหรือถัดไป ในการดำเนินการดังกล่าว ขั้นแรกคุณต้องค้นหาพาธที่ใช้งานอยู่ของอินสแตนซ์ของโฟลว์กระบวนการธุรกิจและลำดับขั้นต่างๆ ที่พร้อมใช้งานในอินสแตนซ์กระบวนการธุรกิจโดยใช้ข้อความ RetrieveActivePath (RetrieveActivePath Function หรือ RetrieveActivePathRequest)
เมื่อคุณมีลำดับขั้นที่ใช้งานอยู่และข้อมูลพาธที่ใช้งานอยู่สำหรับอินสแตนซ์ของโฟลว์กระบวนการธุรกิจ คุณสามารถใช้ข้อมูลเพื่อย้ายไปลำดับขั้นถัดไปหรือก่อนหน้าในพาธที่ใช้งานอยู่ได้ ต้องดำเนินการนำทางไปข้างหน้าของลำดับขั้นตามลำดับ นั่นคือ คุณควรย้ายไปยังลำดับขั้นต่อไปในพาธที่ใช้งานอยู่เท่านั้น
สำหรับตัวอย่างทั้งหมดที่โค้ดแสดงการใช้งานของทั้งสองวิธีและการนำทางของลำดับขั้นโดยใช้ บริการองค์กร โปรดดู ตัวอย่าง: ทำงานกับโฟลว์กระบวนการธุรกิจ
ใช้โฟลว์กระบวนการธุรกิจ ในขณะที่สร้างเรกคอร์ดเอนทิตี
ส่วนนี้จะมีข้อมูลเกี่ยวกับลักษณะเริ่มต้นสำหรับการนำโฟลว์กระบวนการธุรกิจไปใช้โดยอัตโนมัติในเรกคอร์ดเอนทิตีใหม่ที่สร้างขึ้นใน Customer Engagement และวิธีที่คุณสามารถแทนที่เพื่อใช้โฟลว์กระบวนการธุรกิจที่คุณต้องการสำหรับเรกคอร์ดเอนทิตีใหม่
ตามค่าเริ่มต้น สำหรับเอนทิตีที่มีโฟลว์กระบวนการธุรกิจหลายรายการที่กำหนด ระบบจะนำโฟลว์กระบวนการธุรกิจไปใช้ในเรกคอร์ดเอนทิตีใหม่โดยใช้ตรรกะหลายขั้นตอนต่อไปนี้:
- ระบุโฟลว์กระบวนทางธุรกิจทั้งหมดที่สามารถใช้ได้กับเรกคอร์ดเอนทิตีใหม่โดยยึดตามแอตทริบิวต์ Workflow.PrimaryEntity ของเรกคอร์ดข้อกำหนดโฟลว์กระบวนการธุรกิจ
- ระบุข้อกำหนดโฟลว์กระบวนการธุรกิจที่ผู้ใช้ปัจจุบันมีสิทธิ์เข้าถึง สำหรับข้อมูลเกี่ยวกับวิธีที่การเข้าถึงโฟลว์กระบวนการธุรกิจถูกกำหนดและจัดการ โปรดดู จัดการความปลอดภัยสำหรับโฟลว์กระบวนการธุรกิจ ก่อนหน้าในหัวข้อนี้
- ข้อกำหนดโฟลว์กระบวนการธุรกิจทั้งหมดในระบบอยู่ภายใต้ลำดับส่วนกลางสำหรับแต่ละเอนทิตี ลำดับของโฟลว์กระบวนการธุรกิจจะถูกเก็บไว้ในแอตทริบิวต์ Workflow.ProcessOrder ข้อกำหนดโฟลว์กระบวนการธุรกิจสำหรับเอนทิตีจะถูกจัดเรียงโดยยึดตามลำดับนี้ และจะมีการเลือกลำดับที่มีค่าลำดับต่ำสุด
- สุดท้าย ถ้ามีการสร้างเรกคอร์ดเอนทิตีขึ้นจากแอปธุรกิจ (โมดูลแอป) จะมีการใช้การกรองระดับที่มากขึ้นเพื่อเลือกโฟลว์กระบวนการธุรกิจที่จะนำมาใช้กับเรกคอร์ดเอนทิตีใหม่โดยอัตโนมัติ เมื่อทำงานในแอป ผู้ใช้สามารถเข้าถึงเฉพาะเอนทิตี โฟลว์กระบวนการธุรกิจ มุมมอง และฟอร์มที่เกี่ยวข้องเท่านั้น ซึ่งผู้ใช้เข้าถึงได้โดยอาศัย Security role ที่กำหนดให้กับแอปธุรกิจ
- ถ้าแอปธุรกิจไม่มีโฟลว์กระบวนการธุรกิจใดๆ อยู่ จากนั้น ระบบจะนำโฟลว์กระบวนการธุรกิจมาใช้ตามที่อธิบายไว้จนถึงขั้นตอนที่ 3
- ถ้าแอปธุรกิจมีโฟลว์กระบวนการธุรกิจอย่างน้อยหนึ่งโฟลว์ จากนั้น เฉพาะโฟลว์กระบวนการธุรกิจที่มีอยู่ในแอปเท่านั้นที่สามารถใช้งานได้ ในกรณีนี้ เมื่อผู้ใช้กำลังทำงานในบริบทแอปธุรกิจ รายการของโฟลว์กระบวนการธุรกิจจากขั้นตอนที่ 3 จะถูกกรองไปยังส่วนที่เป็นส่วนหนึ่งของแอปธุรกิจที่อยู่ภายในโมดูลแอป และจะถูกจัดเรียงตามลำดับกระบวนการ
- ถ้าไม่มีโฟลว์กระบวนการธุรกิจในแอปธุรกิจสำหรับเอนทิตีหรือที่ผู้ใช้มีสิทธิ์เข้าถึง ระบบจะไม่นำโฟลว์กระบวนการธุรกิจไปใช้สำหรับเรกคอร์ดเอนทิตีใหม่
คุณสามารถแทนที่ตรรกะเริ่มต้นของโฟลว์กระบวนการธุรกิจที่จะนำไปใช้โดยอัตโนมัติกับเรกคอร์ดเอนทิตีใหม่ได้ เมื่อต้องการทำเช่นนั้น ให้ตั้งค่าแอตทริบิวต์ ProcessId ของเอนทิตีเป็นค่าใดค่าหนึ่งต่อไปนี้ ในขณะที่สร้างเรกคอร์ดเอนทิตีใหม่:
- ตั้งค่าเป็น Guid.Empty เพื่อข้ามการตั้งค่าโฟลว์กระบวนการธุรกิจสำหรับเรกคอร์ดเอนทิตีใหม่ คุณอาจต้องการทำเช่นนั้น ถ้าคุณมีการสร้างเรกคอร์ดเอนทิตีจำนวนมาก แต่ไม่ต้องการนำโฟลว์กระบวนการธุรกิจมาใช้
- ตั้งค่าให้เป็นเอนทิตีโฟลว์กระบวนการธุรกิจโดยเฉพาะ (เป็นการอ้างอิงเอนทิตี) ในกรณีนี้ ระบบจะใช้โฟลว์กระบวนการธุรกิจที่ระบุ แทนตรรกะเริ่มต้น
ถ้าคุณไม่ได้กำหนดค่าสำหรับแอตทริบิวต์ ProcessId ในขณะที่สร้างเรกคอร์ดเอนทิตีใหม่ ระบบจะใช้ตรรกะเริ่มต้นตามที่อธิบายไว้ก่อนหน้านี้
Note
การแทนที่ตรรกะเริ่มต้นของโฟลว์กระบวนการธุรกิจที่จะนำไปใช้โดยอัตโนมัติกับเรกคอร์ดเอนทิตีใหม่ จะได้รับการสนับสนุนในเชิงภาษาโปรแกรมเท่านั้น คุณไม่สามารถทำขั้นตอนนี้ได้โดยใช้ UI
แอตทริบิวต์ที่เกี่ยวข้องกับกระบวนการเดิมในเอนทิตี
แอตทริบิวต์ที่เกี่ยวข้องกับกระบวนการเดิม (ProcessId, StageId และ TraversedPath) ในเอนทิตีที่เปิดใช้งานสำหรับโฟลว์กระบวนการธุรกิจ พร้อม API ไคลเอ็นต์ setProcess ไม่มีการสนับสนุนแล้ว การจัดการแอตทริบิวต์ที่เกี่ยวข้องกับกระบวนการเดิมสำหรับเรกคอร์ดเอนทิตีเป้าหมาย หรือการใช้ API ไคลเอ็นต์ setProcess ไม่ได้รับรองถึงความสอดคลองกันของสถานะโฟลว์กระบวนการธุรกิจ และไม่ใช่สถานการณ์ที่มีการสนับสนุน วิธีที่แนะนำก็คือการใช้แอตทริบิวต์ของเอนทิตีโฟลว์กระบวนการธุรกิจตามที่อธิบายไว้ก่อนหน้าในส่วน สร้าง เรียกใช้ อัปเดต และลบเรกคอร์ดเอนทีตีโฟลว์กระบวนการธุรกิจ (อินสแตนซ์ของกระบวนการ)
ข้อยกเว้นเดียวสำหรับกรณีนี้คือการปรับเปลี่ยนแอตทริบิวต์ ProcessId ในเชิงภาษาโปรแกรม ในขณะที่สร้างเรกคอร์ดเอนทิตีเพื่อแทนที่แอปพลิเคชันเริ่มต้นของโฟลว์กระบวนการธุรกิจไปยังเรกคอร์ดใหม่ตามที่อธิบายไว้ในส่วนก่อนหน้า: ใช้โฟลว์กระบวนการธุรกิจในขณะที่สร้างเรกคอร์ดเอนทิตี
การสนับสนุนการเขียนโปรแกรมฝั่งไคลเอ็นต์สำหรับโฟลว์กระบวนการธุรกิจ
ด้วย Dynamics 365 มีออบเจ็กต์ฝั่งไคลเอ็นต์ที่คุณสามารถใช้เพื่อโต้ตอบกับโฟลว์กระบวนการธุรกิจในสคริปต์ฟอร์มของคุณ โฟลว์กระบวนการธุรกิจจะทริกเกอร์เหตุการณ์ฝั่งไคลเอ็นต์ทุกครั้งที่มีการใช้กระบวนการกับเรกคอร์ด ลำดับขั้นมีการเปลี่ยนแปลง หรือสถานะมีการเปลี่ยนแปลงเป็น ActiveFinished หรือ Aborted ข้อมูลเพิ่มเติม: formContext.data.process (การอ้างอิง API ไคลเอ็นต์)
จำนวนสูงสุดของกระบวนการ ขั้นตอน และขั้นตอน
สำหรับแต่ละเอนทิตี ค่าเริ่มต้นสำหรับจำนวนของโฟลว์กระบวนการธุรกิจที่เปิดใช้งานสูงสุดคือ 10 คุณสามารถระบุค่าอื่นได้โดยใช้แอตทริบิวต์ Organization.MaximumActiveBusinessProcessFlowsAllowedPerEntity อย่างไรก็ตาม หากค่ามากกว่า 10 คุณอาจเห็นประสิทธิภาพของระบบของคุณลดลง เมื่อคุณสลับกระบวนการหรือเปิดเรกคอร์ดที่มีโฟลว์กระบวนการธุรกิจที่กำหนดไว้ นี่อาจเห็นได้ชัดเจนโดยเฉพาะอย่างยิ่งถ้ากระบวนการดังกล่าวครอบคลุมหลายเอนทิตี
การตั้งค่าต่อไปนี้ไม่สามารถกำหนดเองได้:
จำนวนสูงสุดของลำดับขั้นสำหรับแต่ละเอนทิตีในกระบวนการคือ 30
จำนวนสูงสุดของขั้นตอนในแต่ละลำดับขั้นคือ 30
จำนวนสูงสุดของเอนทิตีที่สามารถเข้าร่วมในโฟลว์กระบวนการคือ 5