เรียกใช้ Power App (ตัวอย่าง)

การดําเนินการ เรียกใช้ Power App จะเปิดใช้แอปโดยตรงจากโฟลว์เดสก์ท็อปและสร้างช่องทางการสื่อสารระหว่างทั้งสอง เมื่อใช้การรวมนี้ โฟลว์ของเดสก์ท็อปสามารถเรียกประสบการณ์การใช้งาน Power App ส่งผ่านอินพุต และรับเอาต์พุตได้ แนวทางนี้ช่วยให้สามารถผสานรวมแบบเนทีฟได้อย่างเต็มรูปแบบสำหรับสถานการณ์ของระบบอัตโนมัติแบบ attended แทนการพึ่งพาระบบอัตโนมัติที่อิง UI

ด้วยความสามารถนี้ คุณสามารถ:

  • เรียกใช้แอปโดยตรงจากโฟลว์เดสก์ท็อป
  • เรียกใช้แอปโดยตรงจากโฟลว์เดสก์ท็อป
  • ส่งผ่านข้อมูลป้อนเข้าจากโฟลว์เดสก์ท็อปลงในแอป
  • ดึงเอาผลลัพธ์จากแอปกลับเข้าสู่โฟลว์
  • เรียกใช้โฟลว์ย่อยจากเหตุการณ์ในแอป

ซึ่งจะเปิดใช้งานสถานการณ์เช่น:

  • แบบฟอร์มแนะนำแบบไดนามิกหลายขั้นตอนสำหรับระบบอัตโนมัติแบบมีผู้ใช้กำกับ
  • ประสบการณ์การใช้แอปที่ทันสมัยแทนที่ฟอร์มแบบกําหนดเองแบบดั้งเดิม
  • ระบบอัตโนมัติแบบมีผู้ใช้กำกับที่ขับเคลื่อนด้วยเหตุการณ์ ซึ่งการกระทำของผู้ใช้เป็นตัวกำหนดการทำงานของโฟลว์
  • แอปพลิเคชันระบบคลาวด์ที่ทันสมัยการเชื่อมโยงระบบอัตโนมัติแบบดั้งเดิมของเดสก์ท็อป

ข้อกําหนดและความพร้อมใช้งาน

  • Minimum Power Automate สําหรับเวอร์ชันเดสก์ท็อป: 2.68 หรือใหม่กว่า
  • ความพร้อมใช้งานระบบคลาวด์: พร้อมใช้งานในระบบ คลาวด์สาธารณะเท่านั้น

Note

คุณลักษณะนี้อยู่ในช่วงตัวอย่าง และอาจมีการเปลี่ยนแปลงก่อนความพร้อมใช้งานทั่วไป

ข้อกำหนดเบื้องต้น

ก่อนที่คุณจะเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมี:

  • Power Automate สําหรับเดสก์ท็อป (PAD) version 2.68 หรือใหม่กว่า ติดตั้งแล้ว
  • เข้าถึง Power Apps ในสภาพแวดล้อมเดียวกัน
  • โฟลว์ย่อยบนเดสก์ท็อปที่คุณสามารถเรียกใช้จากแอปได้
  • Microsoft Edge WebView2 Runtime ติดตั้งแล้ว (จําเป็นเพื่อแสดง Power App ในระหว่างรันไทม์)

Important

  • สร้างกระแสย่อย ภายในเครื่อง และกําหนดตัวแปรอินพุต/เอาต์พุตในขอบเขตกระแสย่อยถ้าจําเป็น
  • ชื่อกระแสย่อยต้องเริ่มต้นด้วยตัวอักษร มีเพียงอักขระละตินเท่านั้น และไม่มีช่องว่าง กระแสย่อยที่ไม่ได้ทําตามกฎการตั้งชื่อเหล่านี้จะไม่แสดงใน Power Apps Studio และไม่พร้อมใช้งานสําหรับการเรียก

ขั้นตอนที่ 1: สร้างกระแสย่อยที่สามารถเรียกได้ในโฟลว์เดสก์ท็อปของคุณ

  1. เปิดโฟลว์เดสก์ท็อปของคุณในตัวออกแบบของ PAD
  2. สร้างโฟลว์ย่อยเฉพาะที่อย่างน้อยหนึ่งรายการ
  3. (ไม่บังคับ) สําหรับแต่ละกระแสย่อย ให้กําหนด:
    • ตัวแปรอินพุต: ค่าที่แอปส่งผ่านไปยังกระแสย่อย
    • ตัวแปรผลลัพธ์: ให้ค่ากระแสย่อยส่งกลับไปยังแอป

Note

คุณยังสามารถสร้างกระแสย่อยที่ไม่ต้องการอินพุตหรือเอาต์พุตได้ แอปสามารถเรียกใช้โฟลว์ย่อยเหล่านี้เพื่อดําเนินการตรรกะโดยไม่ต้องส่งผ่านหรือส่งกลับข้อมูล ทําให้แต่ละกระแสย่อยเน้นไปที่การดําเนินการเดียว (ตัวอย่างเช่น ค้นหาข้อมูล ตรวจสอบความถูกต้องของการป้อนข้อมูล เขียนลงในระบบ)

ขั้นตอนที่ 2: สร้างการเชื่อมต่อการเขียนไปยัง Power Apps Studio

เมื่อต้องการแสดงกระแสย่อยของคุณใน Power Apps Studio (เพื่อให้ปรากฏเป็นฟังก์ชันที่คุณสามารถเรียกใช้ได้) ให้เปิดแอปผ่านบริดจ์การเขียน PAD

  1. เพิ่มการดําเนินการ เรียกใช้ Power App (ตัวอย่าง) ให้กับโฟลว์เดสก์ท็อปของคุณ
  2. ในคุณสมบัติการดําเนินการ อย่างใดอย่างหนึ่ง:
    • เลือกแอปที่มีอยู่ หรือ
    • สร้างแอปใหม่

Note

ถ้าคุณสร้างแอปใหม่:

  • หน้า Power Automate สําหรับบริดจ์เดสก์ท็อปจะเปิดขึ้นโดยอัตโนมัติ ในเบราว์เซอร์เริ่มต้นของคุณ
  • บันทึกและเผยแพร่แอปในตัวออกแบบ Power Apps
  • กลับไปยังการดําเนินการ และเลือก รีเฟรช
  • เลือกแอปของคุณจากรายการดรอปดาวน์
  1. เลือก เปิดแอป

    เบราว์เซอร์เริ่มต้นของคุณเปิดหน้า Power Automate>Power Automate สําหรับเดสก์ท็อป ที่จะแนะนําคุณในการเชื่อมต่อกับ Power Apps Studio

  2. บนหน้าต่างเบราว์เซอร์ ให้เลือก Open Designer

    แท็บเบราว์เซอร์ใหม่จะเปิดขึ้นพร้อมกับ Power Apps Studio พร้อมกับแอปที่เลือกเปิดอยู่แล้ว

  3. เปิดหน้าเบราว์เซอร์ของ Power Automate สำหรับเดสก์ท็อปไว้จนกว่าจะแสดงว่าเชื่อมต่ออยู่.

    ถ้าคุณปิดหน้าก่อนที่แอปจะเสร็จสิ้นการโหลด คุณป้องกันไม่ให้สร้างการเชื่อมต่อระหว่างโฟลว์เดสก์ท็อปและแอป Power

ขั้นตอนที่ 3: เรียกกระแสย่อยบนเดสก์ท็อปจาก Power App

หลังจากที่คุณสร้างการเชื่อมต่อตัวออกแบบ Power Apps Studio จะแสดงวัตถุโฮสต์ที่ชื่อว่า PowerAutomateDesktop วัตถุนี้จะแสดงกระแสย่อยบนเดสก์ท็อปของคุณเป็นฟังก์ชันที่สามารถเรียกได้

รูปแบบการเรียก (ทั่วไป)

วิธีเรียกกระแสย่อยบนเดสก์ท็อปจาก Power Apps:

  • ใช้วัตถุPowerAutomateDesktop
  • เรียกกระแสย่อยตามชื่อ
  • ส่งผ่านข้อมูลป้อนเข้าเป็นพารามิเตอร์ฟังก์ชัน
  • เข้าถึงค่าผลลัพธ์จากผลลัพธ์ที่ส่งกลับ

ไวยากรณ์ทั่วไป:

PowerAutomateDesktop.SubflowName(input1, input2, ...).OutputVariableName;

ตัวอย่าง

ในตัวอย่างนี้:

  • กระแสย่อยมีชื่อว่าGetCustomerData
  • ซึ่งยอมรับพารามิเตอร์การป้อนข้อมูลเดียว ตัวอย่างเช่น: varCustomerId
  • ซึ่งจะส่งกลับค่าผ่านตัวแปรผลลัพธ์ที่ชื่อ out_customer_dataว่า ซึ่งถูกเก็บไว้ในตัวแปร varResultส่วนกลาง

เมื่อต้องการเรียกใช้กระแสย่อย ส่งผ่านค่าของ varCustomerId และจัดเก็บเอาต์พุตที่ส่งกลับมาในตัวแปรส่วนกลาง varResult:

Set(customer_data_result, PowerAutomateDesktop.GetCustomerData(varCustomerId));

ขั้นตอนที่ 4: ส่งกลับค่าเพื่อ Power Apps

  • Power Automate สําหรับเดสก์ท็อปจะส่งกลับค่าทั้งหมดเป็นสตริง ใน Power Apps ให้แปลงค่าเหล่านี้เป็นประเภทที่เหมาะสม
  • เมื่อคุณเรียกใช้โฟลว์ย่อยของโฟลว์เดสก์ท็อป จะส่งกลับ ตัวแปรผลลัพธ์ทั้งหมด เป็นค่าเรกคอร์ดเดียว
  • คุณสามารถเข้าถึงตัวแปรเอาต์พุตแต่ละตัวเป็นคุณสมบัติของระเบียนนั้นได้

ตัวอย่าง: รับและใช้ตัวแปรเอาต์พุตใน Power Apps

Set(globalVariable, PowerAutomateDesktop.GetCustomerData(inputVariable))

ตัวอย่างนี้จัดเก็บตัวแปรผลลัพธ์ทั้งหมดจากกระแสย่อยในglobalVariable

เพื่อเข้าถึงตัวแปรเอาต์พุตเฉพาะ ตัวอย่างเช่น out_var1:

globalVariable.out_var1

ส่งกลับค่าที่ซับซ้อน

ถ้าคุณต้องการส่งกลับค่าที่ซับซ้อน (ออบเจ็กต์แบบกําหนดเองหรือรายการ) ให้ส่งกลับเป็นตัวแปรเอาต์พุตและแยกวิเคราะห์ใน Power Apps

  1. ในกระแสย่อยเดสก์ท็อป สร้างวัตถุแบบกําหนดเอง
  2. ส่งกลับวัตถุแบบกําหนดเองเป็นตัวแปรเอาต์พุต
  3. ใน Power Apps ให้ใช้ ParseJSON เพื่อแยกวิเคราะห์ค่าที่ส่งกลับ และเข้าถึงคุณสมบัติ
Set(parsedValue, ParseJSON(globalVariable.out_customer_data))

Note

Power Automate สําหรับเดสก์ท็อปจะส่งกลับค่าทั้งหมดเป็นสตริง ก่อนที่จะใช้ค่าเหล่านี้ในแอป ให้แคสต์เป็นประเภทที่เหมาะสม (ตัวอย่างเช่น ใช้ Value หรือ Boolean)

การสนับสนุน IntelliSense

เมื่อคุณเรียกกระแสย่อยของเดสก์ท็อปใน Power Apps Power Apps Studio มี IntelliSense เพื่อช่วยให้คุณค้นหา และใช้ความสามารถที่พร้อมใช้งาน

ขณะที่คุณพิมพ์ในแถบสูตร:

  • วัตถุ PowerAutomateDesktop แสดงชื่อกระแสย่อยที่พร้อมใช้งาน
  • พารามิเตอร์ป้อนเข้าสําหรับกระแสย่อยที่เลือกจะแสดงตามลําดับที่ถูกต้อง
  • ระบบจะแนะนําชื่อตัวแปรเอาต์พุตหลังจากการเรียกใช้ฟังก์ชัน

การสนับสนุนนี้จะช่วยคุณ:

  • ค้นหากระแสย่อยที่พร้อมใช้งานได้อย่างรวดเร็ว
  • ทําความเข้าใจอินพุตที่จําเป็นโดยไม่ต้องอ้างอิงกลับไปยังโฟลว์เดสก์ท็อป
  • เลือกตัวแปรเอาต์พุตที่ถูกต้องโดยไม่ต้องจดจําชื่อ

ตําแหน่งที่คุณสามารถเรียกใช้กระแสย่อย

เรียกใช้กระแสย่อยจากคุณสมบัติที่สามารถดําเนินการได้ เช่น:

  • OnSelect ของปุ่ม
  • คุณสมบัติเหตุการณ์ของตัวควบคุม (ตัวอย่างเช่น OnChange) เมื่อเหมาะสมสําหรับการออกแบบแอปของคุณ

ลักษณะการทํางานของรันไทม์

เมื่อโฟลว์เดสก์ท็อปทำงานและการดำเนินการมาถึง เรียกใช้ Power App:

  1. แอปจะเปิดขึ้น
  2. แอปจะสร้างช่องทางการสื่อสารโดยอัตโนมัติ

การดําเนินการ Run Power App ทํางานเสร็จสิ้นเมื่อผู้ใช้ปิดหน้าต่าง Power Apps หรือหยุดโฟลว์ด้วยตนเอง

ข้อจํากัดและข้อควรพิจารณา

  • การดำเนินการแบบลำดับ: กระบวนการจะจัดการการเรียกใช้โฟลว์ย่อยทีละรายการ อย่าทริกเกอร์การเรียกใหม่ก่อนการเรียกใช้ก่อนหน้าจะเสร็จสิ้น
  • การเผยแพร่มีผล: หลังจากเผยแพร่การเปลี่ยนแปลงในแอปแล้ว การอัปเดตอาจใช้เวลาสักครู่ก่อนที่จะปรากฏเมื่อเปิดแอปอีกครั้งจาก Power Automate for desktop
  • พร้อมท์ลงชื่อเข้าใช้: ในบางสถานการณ์ ผู้ใช้อาจได้รับพร้อมท์ให้ลงชื่อเข้าใช้เมื่อเปิดใช้งานแอป

การแก้ไขปัญหา

คุณไม่สามารถดูวัตถุ PowerAutomateDesktop ในตัวออกแบบ Power Apps

  • ตรวจสอบให้แน่ใจว่าคุณใช้ เปิดแอป ในการดําเนินการ PAD จากนั้นเลือก เปิดตัวออกแบบ ในเบราว์เซอร์และรอจนกว่าตัวออกแบบจะโหลดแอป
  • เปิดหน้าเบราว์เซอร์ PAD ไว้จนกว่าจะมีการเชื่อมต่อสําเร็จ

ฉันไม่เห็นโฟลว์ย่อยใหม่หรือที่อัปเดตแล้วใน Power Apps Studio

  • เปิดแอปอีกครั้งผ่าน Run Power Apps > เปิดแอป > Open Designer ดังนั้น schema จึงรีเฟรช

การเปลี่ยนแปลงใน Power App จะไม่ปรากฏเมื่อเรียกใช้จาก Power Automate for desktop

  • ตรวจสอบให้แน่ใจว่าคุณได้เผยแพร่การเปลี่ยนแปลงล่าสุดของคุณใน Power Apps
  • หลังจากเผยแพร่ ให้รอสักครู่ก่อนเรียกใช้แอปอีกครั้ง เนื่องจากการอัปเดตอาจใช้เวลาสักครู่ในการเผยแพร่และจะพร้อมใช้งานเมื่อเปิดใช้งานจาก Power Automate สําหรับเดสก์ท็อป ถ้าคุณไม่ต้องการรอ คุณสามารถเรียกใช้แอปอีกครั้งโดยใช้การดําเนินการ เรียกใช้ Power App เพื่อโหลดเวอร์ชันล่าสุดทันทีได้

แอปจะไม่ปรากฏขึ้นในระหว่างการทํางาน

Power Apps แสดงผลโดยใช้ Microsoft Edge WebView2 Runtime

  • ตรวจสอบให้แน่ใจว่ามี WebView2 Runtime การติดตั้งอยู่บนเครื่องของคุณ คุณสามารถตรวจสอบได้โดย:

    • ตรวจสอบรายการของแอปพลิเคชันที่ติดตั้งไว้ในการตั้งค่า Windows (แอป>แอปที่ติดตั้ง) หรือ
    • เรียกใช้ Power Automate สําหรับตัวแก้ไขปัญหาเดสก์ท็อป
  • ถ้าไม่ได้ติดตั้งไว้ ให้ดาวน์โหลดและติดตั้งจาก Microsoft Edge WebView2

    บนหน้าดาวน์โหลด เลือก Evergreen Bootstrapper และเรียกใช้ตัวติดตั้ง