โมเดล โมดูล และแอป

โมเดลกำหนดโครงสร้างเชิงตรรกะของฐานข้อมูลและวิธีการจัดเก็บ จัดระเบียบ และจัดการข้อมูล กล่าวอีกนัยหนึ่ง โมเดลคือตารางข้อมูลที่สามารถเชื่อมโยงกับตารางอื่นได้ โมเดลมักแสดงถึงแนวคิดทางธุรกิจ เช่น คำสั่งขาย ผู้ติดต่อ หรือ สินค้า

โมดูลและแอปประกอบด้วยองค์ประกอบต่างๆ เช่น โมเดล มุมมอง ไฟล์ข้อมูล ตัวควบคุมเว็บ และข้อมูลเว็บแบบคงที่

Note

แอปทั้งหมดเป็นโมดูล โมดูลขนาดใหญ่ที่เป็นอิสระมักถูกเรียกว่าแอป ในขณะที่โมดูลอื่นๆ มักทำหน้าที่เป็นส่วนเสริมของแอปเหล่านั้น

ฟีเจอร์ที่แนะนำ

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

Example

การสร้างโมเดลที่เปิดใช้งานฟีเจอร์ รูปภาพ และ ขั้นตอนไปป์ไลน์ จะเพิ่มภาพในเลย์เอาต์การ์ดของ:ref:มุมมอง Kanban <studio/views/multiple-records/kanban>

การผสมผสานฟีเจอร์รูปภาพและขั้นตอนไปป์ไลน์ในมุมมอง Kanban

รายละเอียดการติดต่อ

การเลือก รายละเอียดผู้ติดต่อ จะเพิ่ม:ref:ฟิลด์ Many2One <studio/views/general/form> ที่เชื่อมโยงกับโมเดล ผู้ติดต่อ และ:ref:ฟิลด์ที่เกี่ยวข้อง <studio/fields/relational-fields-many2one> สองฟิลด์ไปยัง:ref:มุมมองฟอร์ม <studio/fields/relational-fields-related-field>: โทรศัพท์ และ อีเมล ฟิลด์ ผู้ติดต่อ จะถูกเพิ่มไปยัง:ref:มุมมองรายการ <studio/views/multiple-records/list> และ:ref:`มุมมองแผนที่ <studio/views/multiple-records/map>`จะถูกเปิดใช้งาน

Example

ฟีเจอร์รายละเอียดผู้ติดต่อในมุมมองฟอร์ม

การมอบหมายผู้ใช้

การเลือก การมอบหมายผู้ใช้ จะเพิ่ม:ref:ฟิลด์ Many2One <studio/views/general/form> ที่เชื่อมโยงกับโมเดล ผู้ติดต่อ ไปยัง:ref:มุมมองฟอร์ม <studio/fields/relational-fields-many2one> พร้อม:guilabel:โดเมน`ต่อไปนี้: `Share User is not set เพื่ออนุญาตให้เลือกเฉพาะ ผู้ใช้ภายใน เท่านั้น นอกจากนี้ ยังใช้วิดเจ็ต many2one_avatar_user เพื่อแสดงอวาตาร์ของผู้ใช้ ฟิลด์ ผู้รับผิดชอบ จะถูกเพิ่มไปยัง:ref:`มุมมองรายการ <studio/views/multiple-records/list>`ด้วย

Example

ฟีเจอร์การมอบหมายผู้ใช้ในมุมมองฟอร์ม

วันที่และปฏิทิน

การเลือก วันที่และปฏิทิน จะเพิ่ม:ref:ฟิลด์วันที่ <studio/views/general/form> ไปยัง:ref:มุมมองฟอร์ม <studio/fields/simple-fields-date> และเปิดใช้งาน:ref:มุมมองปฏิทิน <studio/views/timeline/calendar>

ช่วงวันที่และแกนต์

การเลือก ช่วงวันที่และ Gantt จะเพิ่ม:ref:ฟิลด์วันที่ <studio/views/general/form> สองฟิลด์ไปยัง:ref:มุมมองฟอร์ม <studio/fields/simple-fields-date> โดยอยู่ติดกัน: หนึ่งฟิลด์สำหรับกำหนดวันที่เริ่มต้น อีกฟิลด์หนึ่งสำหรับกำหนดวันที่สิ้นสุด โดยใช้วิดเจ็ต daterange และเปิดใช้งาน:ref:มุมมอง Gantt <studio/views/timeline/gantt>

ขั้นตอนไปป์ไลน์

การเลือก ขั้นตอนไปป์ไลน์ จะเปิดใช้งาน:ref:มุมมอง Kanban <studio/views/multiple-records/kanban> เพิ่มฟิลด์หลายฟิลด์ เช่น ลำดับความสำคัญ และ สถานะ Kanban และสามขั้นตอน: ใหม่, กำลังดำเนินการ, และ เสร็จสิ้น แถบสถานะไปป์ไลน์ และฟิลด์ สถานะ Kanban จะถูกเพิ่มไปยัง:ref:มุมมองฟอร์ม <studio/views/general/form> ฟิลด์ สี จะถูกเพิ่มไปยัง:ref:มุมมองรายการ <studio/views/multiple-records/list>

Note

ฟีเจอร์ ขั้นตอนไปป์ไลน์ สามารถเพิ่มได้ในภายหลัง

แท็ก

การเลือก แท็ก จะเพิ่ม:ref:studio/views/general/form`ฟิลด์แท็ก:ref:`studio/views/multiple-records/list ไปยังมุมมอง:ref:ฟอร์มและรายการ <studio/fields/relational-fields-tags> โดยสร้างโมเดล แท็ก พร้อมสิทธิ์การเข้าถึงที่กำหนดไว้ล่วงหน้าในกระบวนการ

รูปภาพ

การเลือก รูปภาพ จะเพิ่ม:ref:ฟิลด์รูปภาพ <studio/views/general/form> ไปยังมุมบนขวาของ:ref:มุมมองฟอร์ม <studio/fields/simple-fields-image>

Note

ฟีเจอร์ รูปภาพ สามารถเพิ่มได้ในภายหลัง

รายการ

การเลือก Lines จะเพิ่ม ฟิลด์ Lines ลงใน มุมมองแบบฟอร์ม ภายในส่วนประกอบ Tab

โน้ต

การเลือก Notes จะเพิ่ม ฟิลด์ Html ลงใน มุมมองแบบฟอร์ม โดยใช้ความกว้างเต็มของฟอร์ม

ค่าของเงิน

การเลือก Monetary value จะเพิ่ม ฟิลด์ Monetary ลงในมุมมอง ฟอร์ม และ รายการ นอกจากนี้มุมมอง กราฟ และ หมุน จะถูกเปิดใช้งานด้วย

Note

ฟิลด์ Currency จะถูกเพิ่มและซ่อนจากมุมมอง

บริษัท

การเลือก บริษัท จะเพิ่ม ฟิลด์ Many2One ที่เชื่อมโยงกับโมเดล Company ลงในมุมมอง ฟอร์ม และ รายการ

Note

สิ่งนี้มีประโยชน์เฉพาะเมื่อคุณทำงานในสภาพแวดล้อมหลายบริษัทเท่านั้น

การเรียงลำดับแบบกำหนดเอง

การเลือก Custom Sorting จะเพิ่มไอคอนจับลากลงใน มุมมองรายการ เพื่อจัดเรียงระเบียนด้วยตนเอง

Example

คุณสมบัติการเรียงลำดับแบบกำหนดเองในมุมมองรายการ

แชท

การเลือก ช่องแชท จะเพิ่มฟังก์ชันช่องแชท ลงใน มุมมองแบบฟอร์ม (การส่งข้อความ การบันทึกบันทึก และการกำหนดตารางกิจกรรม)

Note

สามารถเพิ่มฟีเจอร์ ช่องแชท ได้ภายหลัง

Example

ฟีเจอร์ช่องแชทบนมุมมองแบบฟอร์ม

กำลังเก็บถาวร

การเลือก Archiving จะเพิ่มการกระทำ Archive ลงในมุมมอง ฟอร์ม และ รายการ และซ่อนระเบียนที่เก็บถาวรจากการค้นหาและมุมมองโดยค่าเริ่มต้น

ส่งออกและนำเข้าการปรับแต่ง

When you do any customization with Studio, a new module named studio_customization is added to your database. You can export this module as a ZIP file using the Studio Export function. The module can then be imported into another NightPOS database. This may be useful, for example, when setting up a new module or for training purposes.

Note

Exporting and importing customizations in this way, rather than using the standard NightPOS export and import functions, means data is imported in a logical way. For example, if the module contains customers and sales orders, the customers are created first, since these are required for the sales orders to be created.

ส่งออกการปรับแต่ง

To export customizations, click the (Toggle Studio) button on the main NightPOS dashboard, then Export, then either:

กำหนดค่าข้อมูลเพื่อส่งออก

เพื่อเลือกโมเดลเฉพาะที่จะส่งออก ให้คลิก New ที่หน้าจอ Studio Export จากนั้นเริ่มพิมพ์ชื่อของโมเดลที่เกี่ยวข้องหรือเลือกจากรายการ

Tip

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

เลือกตัวเลือกต่อไปนี้ตามความเหมาะสม:

  • Demo: หากต้องการให้ระเบียนที่ส่งออกถูกพิจารณาเป็นข้อมูลสาธิตเมื่อนำเข้า

  • Attachments: หากต้องการรวมไฟล์แนบที่เกี่ยวข้องกับระเบียนที่ส่งออกในการส่งออก

  • Updatable: หากต้องการให้ระเบียนที่ส่งออกสามารถอัปเดตได้ระหว่างการอัปเดตโมดูล

หากจำเป็น ให้แก้ไข Domain เพื่อกำหนดว่าระเบียนใดของโมเดลควรได้รับการส่งออก คลิกปุ่ม Edit Domain หรือ (Modify filter) จากนั้น Edit Domain ตามความเหมาะสม ดำเนินการเปลี่ยนแปลงที่จำเป็น

หลังจากกำหนดค่าโมเดลสำหรับการส่งออกแล้ว ให้คลิก Studio Export เพื่อกลับไปยังหน้าจอหลัก ในการดาวน์โหลดไฟล์ ZIP ที่มีการปรับแต่งสำหรับโมเดลทั้งหมดที่แสดงในรายการ ให้คลิก Export

Note

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

ในหน้าต่าง Studio Export:

  • ไม่ต้องติ๊กช่องเพื่อส่งออกเฉพาะการปรับแต่งที่ทำด้วยสตูดิโอ

  • ติ๊ก Include Data เพื่อรวมข้อมูลจากโมเดลที่เลือกในการส่งออก

  • ติ๊ก Include Demo Data เพื่อรวมข้อมูลจากโมเดลที่เลือกซึ่งถูกตั้งค่าสถานะเป็นข้อมูลสาธิต การติ๊กตัวเลือกนี้จะติ๊ก Include Data ด้วย

คลิกปุ่ม Export เพื่อดาวน์โหลดไฟล์ ZIP

การเลือกส่งออกทั้งข้อมูลและข้อมูลสาธิต

นำเข้าการปรับแต่ง

Warning

Before importing, make sure the destination database is on the same NightPOS version and contains the same apps and modules as the source database. Studio does not add the underlying modules as dependencies of the exported module.

To import and install Studio customizations in another NightPOS database:

  1. เชื่อมต่อกับฐานข้อมูลปลายทาง

  2. Click the (Toggle Studio) button on the main NightPOS dashboard, then Import.

  3. อัปโหลดไฟล์ ZIP ที่ส่งออก หากควรนำเข้าข้อมูลสาธิต ให้ติ๊ก Load demo data

  4. คลิก Install