เพียงแค่พูดว่า NO กับ Hard-coded ID

2
เพียงแค่พูดว่า NO กับ Hard-coded ID

อัปเดตล่าสุดเมื่อวันที่ 23 มีนาคม 2566 โดย Rakesh Gupta

แนวคิดใหญ่หรือคำถามที่ยืนยง:

  • คุณจะหลีกเลี่ยงการฮาร์ดโค้ด ID ใน Salesforce Flow ได้อย่างไร

วัตถุประสงค์:

โพสต์บล็อกนี้จะช่วยให้เราเข้าใจสิ่งต่อไปนี้

  • ทำความเข้าใจวิธีใช้ป้ายกำกับแบบกำหนดเองเพื่อหลีกเลี่ยงรหัสตายตัวของ ID ในโฟลว์
  • ทำความเข้าใจเกี่ยวกับวิธีใช้การตั้งค่าแบบกำหนดเองเพื่อหลีกเลี่ยงฮาร์ดโค้ดของรหัสในโฟลว์
  • ทำความเข้าใจวิธีใช้ประเภทข้อมูลเมตาที่กำหนดเองเพื่อหลีกเลี่ยงรหัสตายตัวของ ID ในโฟลว์

ดอนน่า เซอร์ดูล่า กำลังทำงานเป็นผู้ดูแลระบบที่ Gurukul On Cloud (GoC). เธอได้รับข้อกำหนดจากฝ่ายบริหารเมื่อใดก็ตามที่มีการสร้างบัญชีสำหรับอุตสาหกรรม ไม่แสวงหาผลกำไรสร้างกรณีและกำหนดโดยอัตโนมัติ ผู้เชี่ยวชาญที่ไม่แสวงหากำไร เข้าคิวเพื่อยืนยันสถานะองค์กรไม่แสวงหาผลกำไร

แนวทาง Automation Champion (I-do):

ใช่ บางครั้งเป็นความคิดที่ดีที่จะฮาร์ดโค้ดค่า (เช่น ในขณะที่กำลังเรียนรู้ เอเพ็กซ์ หรือ การไหลของ Salesforce หรือฮาร์ดโค้ด พาย ค่า ie 3.14) แต่ไม่มีกฎง่ายๆว่าเมื่อใด มันขึ้นอยู่กับบริบทอย่างสมบูรณ์ หากคุณกำลังเขียนโค้ดค่าคงที่แรงโน้มถ่วงของโลกอย่างยากเย็น ก็คงไม่มีใครสนใจ หากคุณฮาร์ดโค้ด รหัสระเบียน (รหัสคิว กลุ่ม หรือระเบียน Salesforce ฯลฯ) คุณกำลังประสบปัญหา

ครั้งแล้วครั้งเล่าฉันเห็น เอเพ็กซ์ รหัส หรือ กระแส ที่มีรหัสตายตัว ไม่ว่าจะเป็น คำอธิบาย สนาม ก รหัสผู้ใช้หรือแม้กระทั่งก รหัสกลุ่ม, เป็นต้น. ปัญหาเกี่ยวกับ ID การเข้ารหัสแบบตายตัวคือต้องทำการเปลี่ยนแปลงใดๆ กับโฟลว์เอง ทดสอบอีกครั้ง แล้วนำไปใช้กับองค์กรการผลิต

ID ของเร็กคอร์ดสามารถเปลี่ยนแปลงได้ เช่น ระหว่าง a กล่องทราย และ ก การผลิต สิ่งแวดล้อม. อาจเป็นไปได้ว่าก คิว (Nonprofit Experts) มี ID ที่แตกต่างกันใน กล่องทราย และ ก การผลิต องค์กร

ตอนนี้คุณสามารถอ้างถึง ผู้เชี่ยวชาญที่ไม่แสวงหาผลกำไร รหัสคิวขณะสร้างกรณีผ่าน Salesforce Flow

ปัญหาของแนวทางนี้ (รหัสคิวฮาร์ดโค้ด) คือ หากคุณกำลังพัฒนาในแซนด์บ็อกซ์ ID ของคิวที่สร้างขึ้นใหม่จะเปลี่ยนไปเมื่อคุณไปที่การผลิต และคุณต้องทำงานใหม่

–> ตามแนวทางปฏิบัติที่ดีที่สุดของ Salesforce ทุกคนจะแนะนำคุณ อย่าใช้รหัสฮาร์ดโค้ด ค้นหาพวกเขา. การปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดของ Salesforce เป็นเรื่องที่ดีเสมอ

แล้วอะไรต่อไป? จะหลีกเลี่ยงการเข้ารหัสรหัสแบบตายตัวในโฟลว์ได้อย่างไร

วิธีการหลีกเลี่ยงฮาร์ดโค้ดมีดังนี้

  1. ป้ายกำกับที่กำหนดเอง: – ป้ายกำกับแบบกำหนดเองคือค่าข้อความแบบกำหนดเองที่สามารถเข้าถึงได้จากคลาส Apex, เพจ Visualforce, Flows หรือคอมโพเนนต์ Lightning ขณะที่ปรับใช้ป้ายกำกับที่กำหนดเอง ข้อมูลของป้ายกำกับก็จะถูกปรับใช้ด้วย เพื่อหลีกเลี่ยงพฤติกรรมที่ไม่คาดคิด โปรดอัปเดตค่าป้ายกำกับที่กำหนดเองหลังการปรับใช้
  2. การตั้งค่าแบบกำหนดเอง: – การตั้งค่าแบบกำหนดเองคือตัวแปรที่คุณใช้ในโค้ดของคุณ แต่ตั้งค่าและแก้ไขนอกโค้ดของคุณ การตั้งค่าแบบกำหนดเองจะถูกเก็บไว้ มีประโยชน์อย่างยิ่งในการจัดเก็บข้อมูลที่จะเข้าถึงได้บ่อยๆ จากโค้ด Apex หรือโฟลว์ เนื่องจากจะทำงานได้ดีกว่าออบเจกต์แบบกำหนดเอง ไม่นับรวมกับขีดจำกัด SOQL เมื่อดึงข้อมูล. การตั้งค่าแบบกำหนดเอง ไม่นำข้อมูลมาเมื่อคุณปรับใช้
  3. ประเภทข้อมูลเมตาที่กำหนดเอง: – Custom Metadata Types คล้ายกับ Custom Settings ในขณะที่ปรับใช้ประเภทข้อมูลเมตาที่กำหนดเอง ข้อมูลจะถูกปรับใช้ด้วย

ก่อนที่จะพูดถึงวิธีแก้ปัญหา ผมขอแสดงไดอะแกรมของ Process Flow ในระดับสูง โปรดใช้เวลาสักครู่เพื่ออ่านแผนภาพโฟลว์ต่อไปนี้และทำความเข้าใจ มาเริ่มสร้างกระบวนการทำงานอัตโนมัตินี้กันเลย

แนวทางปฏิบัติ (เราทำ):

มี 2 ​​ขั้นตอนในการแก้ปัญหาความต้องการทางธุรกิจของ Donna โดยใช้ หลังจากบันทึก บันทึกการไหลทริกเกอร์. พวกเราต้อง:

  1. สร้างคิวผู้เชี่ยวชาญที่ไม่แสวงหากำไร
  2. ขั้นตอนการไหลของ Salesforce:

    1. กำหนดคุณสมบัติโฟลว์
    2. สูตรเพื่อตรวจสอบว่ามีการสร้างหรือปรับปรุงเรกคอร์ดหรือไม่
    3. เพิ่มองค์ประกอบการตัดสินใจเพื่อตรวจสอบอุตสาหกรรมบัญชี
    4. เพิ่มองค์ประกอบบันทึกรับเพื่อค้นหารหัสคิว
    5. เพิ่มองค์ประกอบการตัดสินใจเพื่อตรวจสอบคิวที่พบหรือไม่
    6. เพิ่มองค์ประกอบสร้างเรกคอร์ดเพื่อสร้างกรณีและปัญหาใหม่

ขั้นตอนที่ 1: การสร้าง Queue Nonprofit Experts

  1. คลิก ติดตั้ง.
  2. ในส่วนติดต่อผู้ใช้ พิมพ์ หาง.
  3. คลิกที่ ใหม่ ปุ่ม.
  4. เข้า ฉลาก เดอะ ชื่อคิว จะเติมอัตโนมัติ
  5. คลิก บันทึก.

ขั้นตอนที่ 2.1: กำหนดคุณสมบัติโฟลว์

  1. คลิก ติดตั้ง.
  2. ในช่อง Quick Find ให้พิมพ์ กระแส.
  3. เลือก กระแส จากนั้นคลิกที่ กระแสใหม่.
  4. เลือก บันทึกการไหลทริกเกอร์ ตัวเลือกคลิกที่ สร้าง และกำหนดค่าโฟลว์ดังนี้:

    1. วัตถุ: บัญชี
    2. กระตุ้นการไหลเมื่อ: บันทึกถูกสร้างขึ้นหรือปรับปรุง
    3. กำหนดเกณฑ์การเข้า

      1. ข้อกำหนดเงื่อนไข: ไม่มี

    4. เพิ่มประสิทธิภาพการไหลสำหรับ การดำเนินการและบันทึกที่เกี่ยวข้อง

  5. คลิก เสร็จแล้ว.

ขั้นตอนที่ 2.2: สูตรเพื่อตรวจสอบว่าผู้ใช้ถูกสร้างหรืออัปเดต

  1. ภายใต้ กล่องเครื่องมือเลือก ผู้จัดการ, จากนั้นคลิก ทรัพยากรใหม่ เพื่อพิจารณาว่าบันทึกนั้นใหม่หรือเก่า
  2. ป้อนข้อมูลต่อไปนี้:

    1. ทรัพยากร พิมพ์: สูตร
    2. ชื่อ API: forB_Isใหม่
    3. ประเภทข้อมูล: บูลีน
    4. สูตร: ใหม่()

  3. คลิก เสร็จแล้ว.

ขั้นตอนที่ 2.3: เพิ่มองค์ประกอบการตัดสินใจเพื่อตรวจสอบอุตสาหกรรมบัญชี

เราจะใช้ การตัดสินใจ องค์ประกอบ เพื่อตรวจสอบว่าอุตสาหกรรมบัญชีไม่แสวงหาผลกำไรหรือไม่

  1. บน Flow Designer คลิกที่ + ไอคอน และเลือก การตัดสินใจ องค์ประกอบ.
  2. ใส่ชื่อใน ฉลาก สนาม; เดอะ ชื่อ API จะเติมอัตโนมัติ
  3. ภายใต้ รายละเอียดผลลัพธ์, เข้าสู่ ฉลาก เดอะ ชื่อ API จะเติมอัตโนมัติ
  4. ข้อกำหนดเงื่อนไขในการดำเนินการผลลัพธ์: ตรงตามเงื่อนไขทั้งหมด (และ)

    1. แถวที่ 1:

      1. ทรัพยากร: {!$Record.Industry}
      2. ผู้ประกอบการ:เท่ากับ
      3. ค่า:ไม่แสวงหาผลกำไร

    2. คลิก เพิ่มการมอบหมาย
    3. แถวที่ 2:

      1. ทรัพยากร: {!forB_IsNew}
      2. โอเปอเรเตอร์: เท่ากับ
      3. ค่า: {!$GlobalConstant.True}

  5. เมื่อจะดำเนินการผลลัพธ์: หากตรงตามเงื่อนไขที่กำหนด.
  6. คลิก เสร็จแล้ว.

ขั้นตอนที่ 2.4: เพิ่มองค์ประกอบ Get Record เพื่อค้นหารหัสคิวสำหรับผู้เชี่ยวชาญที่ไม่แสวงหาผลกำไร

ขั้นตอนต่อไปคือการหาผู้เชี่ยวชาญที่ไม่แสวงหากำไร คิว.

  1. บน Flow Designer ด้านล่าง ไม่ใช่เพื่อผลกำไร โหนดคลิกที่ + ไอคอน และเลือก รับบันทึก องค์ประกอบ.
  2. ใส่ชื่อใน ฉลาก สนาม; เดอะ ชื่อ API จะเติมอัตโนมัติ
  3. เลือกบันทึก กลุ่ม วัตถุจากรายการแบบเลื่อนลง
  4. เลือก ตรงตามเงื่อนไขทั้งหมด (และ).
  5. กำหนดเงื่อนไขการกรอง

    1. แถวที่ 1:

      1. สนาม: ชื่อผู้พัฒนา
      2. โอเปอเรเตอร์: เท่ากัน
      3. ค่า: Nonprofit_Experts

    2. คลิก เพิ่มเงื่อนไข
    3. แถวที่ 2:

      1. สนาม: พิมพ์
      2. โอเปอเรเตอร์: เท่ากับ
      3. ค่า: คิว

  6. จำนวนระเบียนที่จะจัดเก็บ:

    1. เลือก บันทึกแรกเท่านั้น

  7. วิธีจัดเก็บข้อมูลบันทึก:

    1. เลือกตัวเลือกที่จะ จัดเก็บฟิลด์ทั้งหมดโดยอัตโนมัติ.

  8. คลิก เสร็จแล้ว.

ขั้นตอนที่ 2.5: เพิ่มองค์ประกอบการตัดสินใจเพื่อตรวจสอบ คิวจากตัวแปรเรกคอร์ด

ตอนนี้เราจะใช้ การตัดสินใจ องค์ประกอบ เพื่อตรวจสอบตัวแปรระเบียน จาก ขั้นตอนที่ 2.4 เพื่อดูว่ามันคืนคิวหรือไม่

  1. บน Flow Designer คลิกที่ + ไอคอน และเลือก การตัดสินใจ องค์ประกอบ.
  2. ใส่ชื่อใน ฉลาก สนาม; เดอะ ชื่อ API จะเติมอัตโนมัติ
  3. ภายใต้ รายละเอียดผลลัพธ์ป้อน ฉลาก เดอะ ชื่อ API จะเติมอัตโนมัติ
  4. ข้อกำหนดเงื่อนไขในการดำเนินการผลลัพธ์: ตรงตามเงื่อนไขทั้งหมด (และ)

    1. แถวที่ 1:

      1. ทรัพยากร: {!Get_คิว}
      2. ผู้ประกอบการ: เป็นโมฆะ
      3. ค่า: {!$GlobalConstant.False}

    2. คลิก เสร็จแล้ว.

ขั้นตอนที่ 2.6: สร้างบันทึก – สร้างกรณีและปัญหาและกำหนดให้กับคิวที่ไม่แสวงหาผลกำไร

เพื่อสร้างกรณีและปัญหาและกำหนดให้ ผู้เชี่ยวชาญที่ไม่แสวงหาผลกำไร คิวเราจะใช้ สร้างบันทึก องค์ประกอบ.

  1. บน Flow Designer คลิกที่ + ไอคอน และเลือก สร้างบันทึก องค์ประกอบ.
  2. ใส่ชื่อใน ฉลาก สนาม; เดอะ ชื่อ API จะเติมอัตโนมัติ
  3. ป้อนข้อมูลต่อไปนี้:

    1. จำนวนระเบียนที่จะสร้าง: หนึ่ง
    2. วิธีตั้งค่าฟิลด์บันทึก: ใช้ทรัพยากรแยกกันและค่าตามตัวอักษร
    3. วัตถุ: กรณี
    4. ตั้งค่าฟิลด์สำหรับกรณีและปัญหา

      1. แถวที่ 1:

        1. สนาม: สถานะ
        2. ค่า: ใหม่

      2. คลิก เพิ่มฟิลด์
      3. แถวที่ 2:

        1. สนาม: รหัสเจ้าของ
        2. ค่า: {!Get_Queue.Id}

      4. คลิก เพิ่มฟิลด์
      5. แถวที่ 3:

        1. สนาม: CurrencyIsoCode
        2. ค่า: ดอลล่าร์

      6. คลิก เพิ่มฟิลด์
      7. แถวที่ 4:

        1. สนาม: คำอธิบาย
        2. ค่า: ตรวจสอบสถานะองค์กรไม่แสวงหาผลกำไร

      8. คลิก เพิ่มฟิลด์
      9. แถวที่ 5:

        1. สนาม: หมายเลขบัญชี
        2. ค่า: {!$Record.Id}

  4. คลิก บันทึก.


ในที่สุดดอนน่า ไหล จะมีลักษณะเหมือนภาพหน้าจอต่อไปนี้:

เมื่อทุกอย่างดูดีแล้ว ให้ทำตามขั้นตอนด้านล่าง:

  1. คลิก บันทึก.
  2. เข้าสู่ ป้ายกำกับการไหล เดอะ ชื่อ API จะเติมอัตโนมัติ
  3. คลิก แสดงขั้นสูง.
  4. เวอร์ชัน API สำหรับการเรียกใช้โฟลว์: 56
  5. ป้ายสัมภาษณ์: อย่าฮาร์ดรหัสรหัส {!$Flow.CurrentDateTime}
  6. คลิก บันทึก.

เกือบจะมี! เมื่อทุกอย่างดูดีแล้ว ให้คลิก เปิดใช้งาน ปุ่ม.

หลักฐานของแนวคิด

ต่อจากนี้ไป หากผู้ใช้ทางธุรกิจสร้างบัญชีกับ Industry ไม่แสวงหาผลกำไรโฟลว์ที่ทริกเกอร์เรกคอร์ดจะสร้างกรณีและปัญหาใหม่โดยอัตโนมัติ ได้เวลาทดสอบกระบวนการแล้ว

  1. นำทางไปยัง บัญชี แท็บและสร้างบัญชีใหม่สำหรับอุตสาหกรรม ไม่แสวงหาผลกำไรดังที่แสดงในภาพหน้าจอต่อไปนี้:ใหม่ บัญชีไม่แสวงหาผลกำไร
  2. เมื่อเสร็จแล้ว คลิกที่ บันทึก โยนน. จะเปิดหน้ารายละเอียดบัญชีและตรวจสอบรายการที่เกี่ยวข้องกับกรณีดังที่แสดงในภาพหน้าจอต่อไปนี้:หลักฐานของแนวคิด

การประเมินรายทาง:

ฉันอยากได้ยินจากคุณ!

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