[K2 SmartForms] – Nested If ที่ใฝ่หา

สวัสดีครับ ห่างหายไปนาน วันนี้ผมกลับมาพร้อมกับ feature ที่หลายๆ คนต้องการ นั่นคือ การทำ If ซ้อน If นั่นเอง แต่อย่าเพิ่งดีใจไป เพราะ feature ยังไม่มา!!! ที่มามีแต่วิธีที่ทำให้ได้ผลลัพธ์แบบเหมือนกันเท่านั้นเอง

ดังที่เข้าใจกัน จนถึง version ที่เขียนอยู่คือ K2 4.6.11 ยังคงไม่สามารถทำ Nested If ได้ แต่ SmartForms มีสิ่งที่เราสามารถใช้ทดแทนกันได้ นั่นคือ การ execute another rule นั่นเอง (ทำเสียง echo) หลายคนอ่านแล้วคงคิดว่า มันเกี่ยวกันอย่างไร จะช้าอยู่ไย เราไปดูกันเลยดีกว่า

Sample Screen

สมมุติว่า เรามีหน้าจออยู่อันนึง ต้องการตรวจสอบข้อมูลตอนกดปุ่ม Submit ดังนี้

  1. End Date ต้องมากกว่า Start Date
  2. ถ้าผ่าน condition แรก ต้องมาตรวจสอบ Amount ว่า มากกว่า 5,000 ไหม

ถ้าเราทำ coding ก็จะบอกเลยว่า ง่าย ทำ if ซ้อน if เลย แต่ถ้าเป็น SmartForms ที่ทำไม่ได้ล่ะ จะทำอย่างไรดี? ติ๊กต่อก…ติ๊กต่อก…ติ๊กต่อก…ถูกต้องนะคร้าบบบบ ใช้ execute another rule

ขั้นแรก สร้าง rule ที่ตรวจสอบ Amount มากกว่า 5,000 ไว้ก่อน โดยเป็น rule ที่ไม่ต้องผูกกับ event ใดๆ

Check Amount

ขั้นที่สอง สร้าง rule ตอนกดปุ่ม Submit ให้ตรวจสอบ End Date มากกว่า Start Date ถ้าผ่านก็ให้ไป Execute Another Rule ที่เราสร้างไว้ในขั้นแรกก็เป็นอันเสร็จเรียบร้อย ได้ Nested If มาใช้แล้ว

Another Rule

BtnClick

ในตัวอย่างนี้ ทำแค่ชั้นเดียว แต่เท่าที่จำได้เคยลองแบบหลายๆ ชั้นแล้วก็ใช้งานได้นะครับ ยังไงก็ใช้กันไปจนกว่าจะมี Nested If จริงๆ ก็แล้วกันครับ 🙂

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s