หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
สําคัญ
Dynamics 365 Project Service Automation ได้พัฒนาเป็น Dynamics 365 Project Operations สำหรับข้อมูลเพิ่มเติม โปรดดู การเปลี่ยนแปลงของ Project Service Automation
เขตข้อมูลชนิด
Dynamics 365 Project Service Automation ขึ้นอยู่กับเขตข้อมูลชนิด (msdyn_ordertype) ของเอนทิตีโอกาสทางการขาย ใบเสนอราคา ลําดับ และใบแจ้งหนี้ เพื่อแยกความแตกต่างระหว่างเวอร์ชันที่ทํางานของเอนทิตีเหล่านี้กับเวอร์ชันตามรายการและบริการ เวอร์ชันที่ทํางานของเอนทิตีเหล่านี้ได้รับการจัดการโดย PSA ตรรกะทางธุรกิจจํานวนมากบนฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์ของโซลูชันขึ้นอยู่กับเขตข้อมูลชนิด ดังนั้นจึงเป็นสิ่งสําคัญที่ต้องเตรียมใช้งานเขตข้อมูลด้วยค่าที่ถูกต้องเมื่อมีการสร้างเอนทิตี ค่าที่ไม่ถูกต้องอาจทําให้เกิดลักษณะการทํางานที่ไม่ถูกต้อง และตรรกะทางธุรกิจบางอย่างอาจทํางานไม่ถูกต้อง
การสลับฟอร์มโดยอัตโนมัติ
เพื่อหลีกเลี่ยงความเสียหายของข้อมูลที่อาจเกิดขึ้นและลักษณะการทํางานที่ไม่คาดคิดที่มีสาเหตุจากการเริ่มต้นและการแก้ไขเรกคอร์ดเอนทิตีการขายที่ไม่ถูกต้อง PSA จึงมีตรรกะสําหรับการสลับฟอร์มอัตโนมัติในฟอร์มนอกกรอบ ตรรกะนี้นําผู้ใช้ไปยังฟอร์มที่ถูกต้องสําหรับการทํางานกับเวอร์ชันที่ทํางานหรือเอนทิตีโอกาสทางการขายใบเสนอราคาคําสั่งซื้อหรือใบแจ้งหนี้ประเภทอื่น ๆ เมื่อผู้ใช้เปิดเอนทิตีโอกาสทางการขายใบเสนอราคาคําสั่งซื้อหรือใบแจ้งหนี้เวอร์ชันที่ทํางานแบบฟอร์มจะสลับไปเป็นข้อมูลโครงการ
ตรรกะการสลับฟอร์มอัตโนมัติขึ้นอยู่กับการแมประหว่างค่า formId และเขตข้อมูล msdyn_ordertype ฟอร์มแบบใช้ทันทีทั้งหมดถูกเพิ่มไปยังการแมปนั้นแล้ว อย่างไรก็ตาม ต้องเพิ่มฟอร์มแบบกําหนดเองด้วยตนเองเพื่อระบุเวอร์ชันของเอนทิตีที่มีวัตถุประสงค์เพื่อจัดการ ซึ่งจะยึดตามเขตข้อมูล msdyn_ordertype ถ้าการสลับฟอร์มหายไปจากการแมป ตรรกะจะสลับไปยังฟอร์มแบบใช้งานทันที ตามค่าที่บันทึกไว้ในเขตข้อมูล msdyn_ordertype ของเอนทิตี
เพิ่มฟอร์มแบบกําหนดเองและเปิดใช้งานตรรกะการสลับฟอร์ม
ตัวอย่างต่อไปนี้แสดงวิธีการเพิ่มฟอร์มแบบกําหนดเอง ข้อมูลโครงการของฉัน เพื่อให้ทํางานกับโอกาสการทํางาน กระบวนการเดียวกันถูกใช้เพื่อเพิ่มฟอร์มแบบกําหนดเองเพื่อให้ทํางานกับใบเสนอราคา คําสั่งซื้อ และใบแจ้งหนี้
ทําตามขั้นตอนเหล่านี้เพื่อสร้างฟอร์ม ข้อมูลโครงการ ในเวอร์ชันแบบกําหนดเอง
ในเอนทิตี โอกาสทางการขาย ให้เปิดฟอร์ม ข้อมูลโครงการ และบันทึกสําเนาภายใต้ชื่อ ข้อมูลโครงการของฉัน
เปิดฟอร์มใหม่ จากนั้นในคุณสมบัติ ตรวจสอบให้แน่ใจว่าสคริปต์การเตรียมใช้งานแบบฟอร์มจากฟอร์ม ข้อมูลโครงการ ปรากฏอยู่
สําคัญ
อย่านําสคริปต์ออก มิฉะนั้น อาจมีการเตรียมใช้งานข้อมูลบางอย่างไม่ถูกต้อง
ตรวจสอบว่าฟิลด์ ชนิด (msdyn_ordertype) แสดงอยู่ในแบบฟอร์ม
สําคัญ
อย่าลบเขตข้อมูลนี้ มิฉะนั้น สคริปต์การเตรียมใช้งานจะล้มเหลว
ค้นหาค่า formId ของฟอร์มใหม่ คุณสามารถทําขั้นตอนนี้ให้เสร็จสมบูรณ์ได้สองวิธี:
- ส่งออกข้อมูล โครงการของฉัน ฟอร์มเป็นส่วนหนึ่งของโซลูชันที่ไม่มีการจัดการ แล้วค้นหาค่า formId ในไฟล์ customization.xml ของโซลูชันที่ส่งออก
- เปิดฟอร์ม ข้อมูลโครงการของฉัน ในตัวแก้ไขฟอร์ม จากนั้นค้นหาตัวระบุที่ไม่ซ้ํากันทั่วโลก (GUID) ถัดจากพารามิเตอร์ fromId ใน URL ดังที่แสดงในภาพประกอบต่อไปนี้
สร้างการแมป msdyn_ordertype สําหรับค่า formId โดยการแก้ไขทรัพยากรบนเว็บ msdyn_/SalesDocument/PSSalesDocumentCustomFormIds.js ลบรหัสออกจากทรัพยากรและแทนที่ด้วยรหัสต่อไปนี้
define(["require", "exports"], function (require, exports) { "use strict"; var SalesDocumentCustomFormIds = (function () { function SalesDocumentCustomFormIds() { } SalesDocumentCustomFormIds.overwriteFormIds = function (mappedFormIds) { /* ---- Notes ---- mappedFormIds[SalesEntity][OrderType] => The array of forms IDs that support particular entity and order type Add or overwrite customized formId for the particular entity and order type by calling: mappedFormIds[<EntityType>][<msdyn_ordertype>].push("<formId>"); Allowed msdyn_ordertype values for reference: ServiceBased: 690970002 (Field Service version of the entity) WorkBased: 192350001 (PSA version of the entity) ItemBased: 192350000 (Regular out of the box entity) Uncomment and update one of the following lines to register custom PSA form for required entity: */ //mappedFormIds[1][192350001].push("<formId>"); //Quote //mappedFormIds[5][192350001].push("<formId>"); //Quote Line //mappedFormIds[2][192350001].push("<formId>"); //Sales Order //mappedFormIds[6][192350001].push("<formId>"); //Sales Order Line // In this example we have added new form for Opportunity mappedFormIds[0][192350001].push("192EE537-DCC4-45D3-B7AF-EA694B9113D2"); //Opportunity //mappedFormIds[4][192350001].push("<formId>"); //Opportunity Line }; return SalesDocumentCustomFormIds; }()); exports.default = SalesDocumentCustomFormIds; });บันทึกแล้วเผยแพร่การกําหนดเอง