‏إظهار الرسائل ذات التسميات Appsheet. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات Appsheet. إظهار كافة الرسائل

EP4 การสร้างแบบฟอร์มชำระเงินค่าสินค้า

 สำหรับตอนนี้เรา จะมากรองข้อมูลสินค้าตามบิลขายในตะกร้าสินค้า   เงื่อนไขเดียวคือ ถ้าไม่ ชำระเงินสินค้าก็จะปิดการขายของรหัสบิลขายปัจจุบันยังไม่ได้ ถ้าเลือกสินค้าเข้ามาก็จะต่อท้ายไปเรื่อยๆ 555 

ขั้นแรก สร้างตัวกรองข้อมูล

ไปที่แท็บดาต้า คลิกตาราง Sales และสร้างตัวกรอง 

CurrentCartSlice

ฟิลเตอร์ [CheckedOut?] = FALSE


กลับมาที่หน้า UX สร้างมุมมองใหม่ ตั้งชื่อเป็น ตะกร้าสินค้า 

Source เป็น CurrentCartSlice

มุมมองหรือ viewtype เป็นรายละเอียด detail 

สร้าง Action สำหรับยืนยันการชำระเงินสินค้า หรือ checkedOUt ให้เปลี่ยนสถานะจาก FALSE เป็น TRUE


ที่ตาราง cart 

ชื่อ Mark as Checked Out

Set the value of some column 

Chekedout=TRUE



ชื่อ Create Sale Detail from Cart

Add a new row to 

add to : Sales detail 

SalesID

ProductID

Quantity

Price

Amount


ชื่อ Checkout Cart Item

Grouped:exec

Add : Create Sale Detail from Cart

Mark as Checked Out


สร้าง Action ตาราง Sales

ชื่อ Create New Sale

Go to another view

LINKTOFORM(

  "Cart_Form 2",

  "SalesID", CONCATENATE("SO", TEXT(TODAY(), "YYMMDD"), UNIQUEID()),

  "SalesDate", TODAY()

)


ชื่อ Mark Sale as Checked Out

Set the value of some column 

Chekedout=TRUE


ชื่อ Run Checkout on Cart

execu an action an a set of row

table : cart

ref row : SELECT(Cart[CartID], AND([SalesID] = [_THISROW].[SalesID], [CheckedOut?] = FALSE))

ref action : Checkout Cart Item


ชื่อ Full Checkout Process

Group :exec

Add:

run checkout on cart

mark sales as checkout



EP3 | สร้างปุ่ม "หยิบใส่ตะกร้า" พร้อมระบบเตรียมชำระเงิน

คลิก Data เลือกตารางสินค้า product กำหนดชนิดของดาต้า ดังนี่

ProductID  เป็น text   ค่าเริ่มต้น UNIQUEID() และเป็น key หลักของตาราง 

ตาราง Cart 

cartID  เป็น text   ค่าเริ่มต้น UNIQUEID() และเป็น key หลักของตาราง 

SalesID ref ตาราง Sales

ProductID ref ตาราง product 

คอลัมน์ Price   ใส่ [ProductID].[Price]

Amount ใส่ [Quantity]*[Price]


สร้างหน้าตะกร้าสินค้า Cart_frm

ตาราง cart

มุมมอง form


คำสั่ง Action ตารางสินค้า Product 

ชื่อ Create Sales If None

Do this : Add a new row 

table to add to : Sales 

salesID = UNIQUEID() 

CheckedOut? =False

SalesDate = NOW()

อย่าลืมคลิกที่ behavior 

ใส่ค่า

ISBLANK(

  ANY(

    SELECT(

      Sales[SalesID],

      [CheckedOut?] = FALSE

    )

  )

)


คำสั่ง Action ชื่อ Go To Cart Form

ตาราง product

do this : Go to another view

LINKTOFORM(

  "Cart_Form 2",

  "SalesID", ANY(SELECT(sales[SalesID], [CheckedOut?] = FALSE)),

  "ProductID", [ProductID],

  "Quantity", 1

)

สร้างอีก 1 action ชื่อ  Add to card

do this : Group execute a sequence of action 

add สองแอคชั่น ที่สร้างก่อนหน้า 



ทดสอบ action script แล้ว พบว่า salesID ไม่ถูกสร้างในครั้งแรก และส่งค่าไปยังตะกร้าสินค้า 

ตรวจสอบแล้ว ขั้นต้น แนวทางแก้ไข

ไปที่แท็บ Data แล้วสร้าง CurrentCartSlice  ของตารางขาย Sales ใส่ฟิลเตอร์เพื่อกรอง [CheckedOut?] = FALSE


แล้วทดสอบ โค้ดใหม่ พบว่า script สามารถ gen ค่าบิลขายสินค้าให้ตอนหยิบสินค้าลงตะกร้า แล้ว 

สำหรับ ep3 น่าจะจบเท่านี้ก่อน 

"EP2 | ฟอร์มสินค้า + หมวดหมู่ : ตั้งต้นระบบขายใน AppSheet"

 

มาเริ่มต้นระบบขายของเราให้เป็นรูปเป็นร่าง! EP นี้เราจะสอนวิธีสร้างแบบฟอร์มเพิ่มสินค้าอย่างง่ายใน AppSheet พร้อมเทคนิคการแยกหมวดหมู่สินค้า เช่น ขนม, เครื่องดื่ม, ของใช้ และยังสอนวิธีนำเข้าสินค้าตัวอย่างจาก Google Sheets เข้าแอปแบบรวดเร็ว เหมาะกับร้านค้าขนาดเล็กที่อยากเริ่มต้นใช้ Mini POS เป็นของตัวเองในไม่กี่นาที!


🧩  (สรุปโครงสร้าง):

  1. เริ่มจากการสร้างตารางสินค้า ใน Google Sheets

    • Column แนะนำ: ProductID, ProductName, Category, Price, Stock

  2. เพิ่มข้อมูลตัวอย่างลงไป

    • 5–10 รายการ พร้อมใส่หมวดหมู่ เช่น ขนม, เครื่องดื่ม, ของใช้

  3. เชื่อม Google Sheets เข้ากับ AppSheet

    • ตั้งค่า Data Type ให้เหมาะ เช่น Price เป็น Decimal, Stock เป็น Number

  4. สร้างฟอร์มเพิ่มสินค้าใน AppSheet

    • ปรับ UX ให้ดูง่าย ใช้งานสะดวก

    • ใช้ Enum หรือ EnumList สำหรับหมวดหมู่

  5. Preview & ทดสอบการกรอกฟอร์มสินค้า

Mini POS ด้วย AppSheet EP1


1. เตรียม Google Sheets (ฐานข้อมูลเบื้องต้น)

ขั้นแรก ไปที่ Drive ของ gmail ส่วนตัวของเรา
สร้างโฟลเดอร์ขึ้นมาเก็บไฟล์ฐานข้อมูล
New Folder กำหนดชื่อ เป็น Mini Pos V3
และคลิกสร้างตารางงาน New Sheet

ตารางสินค้า product

ProductID ProductName Price StockQty Category ProductImage

ตาราง Sales

SalesID SalesDate CheckedOut?

ตาราง ตะกร้าสินค้า Cart

CartID SalesID ProductID Quantity Price Amount CheckedOut?

ตารางเก็บรายละเอียดการขาย Sales detail

DetailID SalesID ProductID Quantity Price Amount


ขั้นตอนต่อมา



2. นำเข้า Google Sheets เข้า AppSheet



เข้าเว็บ https://www.appsheet.com

ล็อกอินด้วยบัญชี Google ของคุณ

กด Make a new app

เลือก Start with your own data

เลือกไฟล์ Google Sheets ที่เตรียมไว้

AppSheet จะนำเข้าตารางทั้ง 4 มาเป็นตารางในแอป

ตรวจสอบว่าแต่ละตารางถูกตั้งค่า Key column เรียบร้อย (เช่น ProductID เป็น Key ใน Products, CartID ใน Cart)


กด Save
 

3. สรุป



เราได้สร้างฐานข้อมูลเบื้องต้นสำหรับ Mini POS

พร้อมเพิ่มตาราง Cart เพื่อเก็บข้อมูลสินค้าที่อยู่ในตะกร้าก่อนสั่งซื้อ

นำเข้าข้อมูลทั้งหมดไปยัง AppSheet เรียบร้อย

ตอนต่อไปจะเริ่มสร้างฟอร์มใส่สินค้าในตะกร้า และสร้างหน้าจอตะกร้าสินค้าในแอป



"MiniPOS" – แอปขายของขนาดเล็ก ใช้ได้จริง ไม่ต้องเขียนโค้ด

🎯 จุดประสงค์:

  • บันทึกการขาย (ขายสินค้า รับเงิน ดูยอดขายรายวัน)

  • จัดการสินค้า (เพิ่ม/ลบ/ปรับราคา)

  • สรุปยอดขาย รายงานกำไร

  • ใช้งานง่ายผ่านมือถือ/แท็บเล็ต

  • ไม่มีค่าใช้จ่าย (ใช้ Google Sheet + AppSheet)

ProductID ProductName Category Price Stock Image
P001 กาแฟลาเต้ เครื่องดื่ม 45 30 (ลิงก์รูป)

SaleID Date ProductID Qty Total PaymentMethod
S001 2025-05-27 P001 2 90 เงินสด

UserID Name Role
U001 พิมพ์ เจ้าของร้าน

Date TotalSales TotalItems TotalIncome
2025-05-27 15 34 1,530

📱 หน้าจอใน AppSheet ที่ควรมี:

  1. หน้า "ขายสินค้า" (Sell)

    • เลือกสินค้า → ใส่จำนวน → คำนวณยอดรวม → กดบันทึก

    • เลือกวิธีชำระเงิน: เงินสด / โอน / พร้อมเพย์

  2. 📦 หน้า "สินค้า" (Products)

    • ดูรายการสินค้า

    • เพิ่มสินค้าใหม่ / แก้ไขราคา / ดูสต๊อกคงเหลือ

  3. 📊 หน้า "รายงานยอดขาย" (Dashboard)

    • กราฟยอดขายรายวัน

    • รายงานสินค้าไหนขายดี

    • ยอดรวมรายสัปดาห์ / เดือน

  4. 👥 (เสริม) หน้า "ผู้ใช้งาน" – กำหนดสิทธิ์หรือให้หลายคนใช้ร่วมกัน


🧠 ไอเดียเสริมสำหรับตอนต่อไปใน YouTube:

  • EP2: “วิธีเพิ่มสินค้า + ตั้งราคาใน Google Sheet สำหรับ POS”

  • EP3: “สร้างหน้าบันทึกการขายด้วย AppSheet ง่าย ๆ”

  • EP4: “สร้างรายงานยอดขายอัตโนมัติ ดูได้ทุกวัน”

  • EP5: “แปลง Google Sheet เป็น POS ใช้บนมือถือ”



ทำแอพเชคชื่อใน 15 นาที ด้วย Appsheet ep2

 ตอนที่ 2 เราจะมาขยายความสามารถของแอพ ในการสร้างตารางเพิ่ม เพื่อเรียกดูข้อมูล การบันทึกเวลา เข้างานออกงาน ของแต่ละคน กันครับ 

🔁 ถามตัวเองก่อนจะสร้าง Table ใหม่:

คำถามถ้าคำตอบคือ "ใช่" → สร้าง Table ใหม่
ต้องการคำนวณผลต่างของเวลา (IN - OUT)?
ต้องสรุปผลรายวัน/รายเดือนของแต่ละพนักงาน?
ต้องการดูค่าเฉลี่ยเวลาทำงานหรือสะสม?

ตามเหตุผล เรามาสร้างตารางเพิ่มก่อน ตามคำแนะนำ ด้านล่าง 

🔧 ขั้นตอนที่ 1: เตรียม Google Sheet

  1. ไปที่ไฟล์ Google Sheet ของคุณ

  2. เพิ่มแผ่นใหม่ ชื่อว่า DailyWorkSummary

  3. ใส่หัวตารางแบบนี้:

SummaryIDEmployeeIDDateInTimeOutTimeWorkHours
(Auto ID)E0012025-05-2508:00 AM05:00 PM9.0

นำเข้าข้อมูลไปที่ Appsheet และกำหนดชนิดของคอลัมน์ ดังนี้

🔧 ขั้นตอนที่ 2: ตั้งค่า Column ใน AppSheet

  1. ไปที่ Data > Columns > DailyWorkSummary

  2. ตรวจสอบและตั้งค่า:

    • SummaryID: Key (Auto)

    • EmployeeID: Type = Ref → Table = Employee

    • Date: Type = Date

    • InTime / OutTime: Type = DateTime

    • WorkHours: Type = Decimal (หรือ Duration ก็ได้)


วิธี : ใช้สูตร Virtual Column คำนวณเวลาจาก TimeLogs

🔧 วิธีเพิ่ม Virtual Column ใน DailyWorkSummary

🧩 Virtual Column 1: In Time

MIN(

  SELECT(

    TimeLogs[เวลา],

    AND(

      [EmployeeID] = [_THISROW].[EmployeeID],

      [ประเภท] = "เวลาเข้า",

      DATE([เวลา]) = [_THISROW].[Date]

    )

  )

)

สร้างอีกคอลัมน์จำลอง 

🧩 Virtual Column 2: Out Time

MAX(

  SELECT(

    TimeLogs[เวลา],

    AND(

      [EmployeeID] = [_THISROW].[EmployeeID],

      [ประเภท] = "เวลาออก",

      DATE([เวลา]) = [_THISROW].[Date]

    )

  )

)



🔧 ขั้นตอนที่ 3: สร้างกราฟสรุปจาก DailyWorkSummary

  1. ไปที่ UX > Views

  2. กด “New View”

  3. ตั้งชื่อ: กราฟเวลาทำงาน

  4. View type: Chart

  5. For table: DailyWorkSummary

  6. Chart type: Column หรือ Line

  7. Label: Date

  8. Series: WorkHours

  9. Group by: EmployeeID หรือ Name


🎯 เสริม: เพิ่มใน Dashboard

  1. ไปที่ UX > Views

  2. New View → Type = Dashboard

  3. เพิ่ม View:

    • Table ของ DailyWorkSummary

    • Form (ถ้ามี)

    • Chart ที่สร้างไว้

วิธีป้องกันการลงเวลาเข้างานซ้ำในแต่ละวัน

✅ สูตร Valid If (เช็คทั้ง "เวลาเข้า" และ "เวลาออก")

IF(
  [ประเภท] = "เวลาเข้า",
  ISBLANK(
    FILTER(
      "TimeLogs",
      AND(
        ([EmployeeID] = [_THISROW].[EmployeeID]),
        ([วันที่] = [_THISROW].[วันที่]),
        ([ประเภท] = "เวลาเข้า")
      )
    )
  ),
  IF(
    [ประเภท] = "เวลาออก",
    AND(
      ISBLANK(
        FILTER(
          "TimeLogs",
          AND(
            ([EmployeeID] = [_THISROW].[EmployeeID]),
            ([วันที่] = [_THISROW].[วันที่]),
            ([ประเภท] = "เวลาออก")
          )
        )
      ),
      NOT(
        ISBLANK(
          FILTER(
            "TimeLogs",
            AND(
              ([EmployeeID] = [_THISROW].[EmployeeID]),
              ([วันที่] = [_THISROW].[วันที่]),
              ([ประเภท] = "เวลาเข้า")
            )
          )
        )
      )
    ),
    TRUE
  )
)



"AppSheet ทำระบบเช็คชื่อใน 15 นาที"

 “อยากมีระบบเช็คชื่อโดยไม่ต้องเขียนโค้ด? วันนี้ผมจะพาคุณทำระบบเช็คชื่อใน 5 นาที ด้วย AppSheet ฟรี ใช้ได้จริง!”

เป้าหมาย

  • พนักงานใช้มือถือในการ “เช็คชื่อเข้า” และ “เช็คชื่อออก”

  • ผู้บริหารดูรายงานเข้า-ออกงาน รายวัน/รายเดือน ได้จาก Google Sheet

  • ระบบใช้งานได้ใน 1 วัน ไม่ต้องตั้ง Server

โครงสร้าง Google Sheets

🔹 ชื่อชีต: Employees

EmployeeIDชื่อ-สกุลตำแหน่งสถานะ
E001สมชาย ใจดีธุรการทำงานอยู่
E002สมหญิง รักงานการเงินลาออก


🔹 ชื่อชีต: TimeLogs

LogIDวันที่เวลาEmployeeIDประเภทหมายเหตุ
12025-05-2408:02:15 AME001เข้า
22025-05-2405:13:10 PME001ออกเลิกงานตามเวลา


เมนูการใช้งานใน AppSheet

👤 ผู้ใช้งาน (พนักงาน)

เมนูฟังก์ชัน
🔘 ลงชื่อเข้าบันทึกเวลาปัจจุบัน → ประเภท "เข้า" → ระบบบันทึกอัตโนมัติ
🔘 ลงชื่อออกบันทึกเวลาปัจจุบัน → ประเภท "ออก" → เพิ่มหมายเหตุ (ถ้ามี)
📄 ประวัติของฉันดูรายการเข้า-ออกย้อนหลัง (Filter ด้วย Email หรือ EmployeeID)

🧑‍💼 ผู้ดูแลระบบ (HR/ผู้จัดการ)

เมนูฟังก์ชัน
📊 สรุปเวลาเข้าออกรายงานรวมต่อวัน/เดือน → แสดงว่าใครเข้า-ออกกี่โมง
👥 รายชื่อพนักงานเพิ่ม/ลบ/แก้ไขข้อมูลพนักงาน
📤 ส่งออกข้อมูลดึงข้อมูลจาก TimeLogs เป็น Excel หรือ PDF

🎨 หน้า Form ตัวอย่างใน AppSheet

  • วันที่ → NOW() หรือ TODAY() (ซ่อน)

  • เวลา → NOW() (ซ่อน)

  • EmployeeID → จากระบบ Login หรือเลือกจาก Drop-down

  • ประเภท → Drop-down "เข้า / ออก"

  • หมายเหตุ → ช่องเสริม (เช่น “มาสาย”, “ออกไปประชุม”)


📈 Dashboard ที่สร้างได้

  • กราฟ bar chart: จำนวนเข้า/ออกรายวัน

  • ตาราง pivot: แสดงการเข้า-ออกของพนักงานแต่ละคน

  • Heatmap: ใครมาทำงานวันไหนบ้าง (ปฏิทิน)

🔹 CheckType (เลือกเข้า / ออก)

  • Type: Enum

  • Values: "เข้า", "ออก"

  • Allow other values: FALSE


📱 การออกแบบ หน้าจอเช็คชื่อ

✅ View: “เช็คชื่อ”

  • Type: Form

  • Source table: TimeLogs

  • ชื่อ View: ลงชื่อเข้า/ออก

  • Show columns:

    1. EmployeeID → แบบ Drop-down หรือกรอกอัตโนมัติ

    2. CheckType → “เข้า” / “ออก”

    3. Note → ถ้ามี

  • Columns ที่ “ซ่อน”:

    • Timestamp (ยังใช้งานอยู่แต่ไม่ต้องให้ผู้ใช้กรอก)

    • LogID

✅ เมื่อผู้ใช้กรอกเสร็จ → ระบบจะสร้างเรคคอร์ดพร้อม Timestamp ทันที


🗂 View สำหรับดูประวัติ (พนักงาน)

✅ View: “ประวัติของฉัน”

  • Type: Table

  • Source: TimeLogs

  • Slice: Filter ให้แสดงเฉพาะ EmployeeID ของผู้ใช้ปัจจุบัน
    (ถ้าเปิด User Login Authentication)

  • Group by: Date


📊 View สำหรับผู้ดูแล (HR)

  • Dashboard รวม:

    • 🔹 Chart: จำนวนนับเข้า-ออกต่อวัน

    • 🔹 Table: พนักงานที่มาทำงานวันนี้

    • 🔹 Filter: ดูรายบุคคล



สร้างแอพกาแฟอย่างง่ายด้วยตนเอง Coffee POS app by Appsheet

 ขั้นตอนแรก แนวคิดการออกแบบ เน้นง่าย และเป็นการฝึกการใช้งาน สร้างความเข้าใจพื้นฐาน การสร้างความสัมพันธ์ระหว่างตาราง Table relationship 

ออกแบบตารางฐานข้อมูลสำหรับโปรเจคง่ายๆ นี้กัน ดังนี้ 

ตาราง Sale บันทึกข้อมูลบิลขายสินค้า วันเวลาที่ขายสินค้า 

ตาราง Sale detail บันทึก รายละเอียดการขาย รายการขาย จำนวนที่ขาย คิดค่าสินค้า 


ตาราง product บันทึกข้อมูลสินค้า ในนี้คือ กาแฟ ชนิดต่างๆ 

ตาราง Customer ข้อมูล ลูกค้า อาจจะมีหรือไม่มีก็ได้ 


การออกแบบฟอร์มขาย UX View จำนวน 3 เมนูคือ สินค้า ขายสินค้า และ ลูกค้า ตามภาพประกอบ 

รู้จักกับ Main form คือ Sale Form กำหนดรหัสบิลขาย หรือ sale ID เป็นคีย์หลัก ห้ามซ้ำ โดยใส่ค่าเริ่มต้นของคอลัมน์เป็น QuiqueID  

การสร้างความสัมพันธ์ระหว่างตาราง Sale กับ Sale detail คอลัมน์ Sale ID ของตาราง Sale detail เลือก ref และแหล่งข้อมูลเป็นตาราง Sale และติ้ก Is a part of ถูกด้วย เพื่อให้เกิดการเชื่อมโยงเมนูในการเรียกใช้งานแบบฟอร์มย่อย 



สูตรและคำสั่งที่จำเป็นในการสร้างแอพ 

[Product ID].[Price]*[Quantity]

คิดยอดขายแต่ละแก้ว 


[Pay by Cash]-[Total Price]

คิดเงินทอน 


SUM([Related Sale details][total price])

คิดยอดรวมการขายแต่ละบิลขาย 

How to create action in Appsheet to update the column in the table EP2

 In this EP2 I would show you guys how to create the bot to work automation for us let see.

from the left menu navigate to the Automation 

Create New bot

Name the bot like "Update book Status when borrow"


On Event select Data Change 

Add data 

Add a step 

name a step like : run action book borrow"

choose 

Run action on row

referenced table : Books

reference rows :  Select(Books[Book ID],[Book ID]=[_THISROW].[Book ID])

 Referenced action select : Change book status to Borrowed

Save


Create 2nd bot to run the action when the book was returned 

Go to Automation 

New  bot and name :  update book status when return


On Event select Data Change 

 data update  

Add a step 

name a step like : run action when book was returned "

choose 

Run action on row

referenced table : Books

reference rows :  Select(Books[Book ID],[Book ID]=[_THISROW].[Book ID])

 Referenced action select : Change book status to Available

Save




How to create action in Appsheet to update the column in the table EP1

For today learning Appsheet tips I would like to focus on Action or Behavior to do some tasks for us 

Action can do many things for us ,but today I will focus on how to update the column in the table 

This is a leaning project about the School library 

First step let's go to Google drive make new folder like School Library 

On the Books table is consisted of 

Book ID

Book Title

Book image

Book Author

Book Status (Enum : Borrowed / Available )


Book borrow table consisted of 


Borrow ID

Book ID

Date begin

Date end

Date return

Borrow Status (Enum : Borrowed / Returned )


NOTE: consider to Add some books data sample for learning steps into the books table

Create first Action to update the books status whenever the book was borrowed and added into the borrow table.


On Appsheet left menu panel navigate to The Behavior Section

Select + under the Books table 

Action name like : Change book status to Borrowed

Table : Books

Do this Data : set the values of some columns 

Set these column : Book status = Borrowed 

And save



Create a 2nd action

Select + under the Books table 

Action name like : Change book status to Available

Table : Books

Do this Data : set the values of some columns 

Set these column : Book status = Available

And save


Test Action 

Navigate to UX

On Book menu view

Click on the action icon and open the table to see the result 



วิธีสร้างแอพจัดการหนังสือที่บ้านด้วยตนเอง EP3

 สำหรับ ep ที่สาม ในส่วนของ text สำหรับอธิบายคนชอบอ่าน มากกว่าชอบดูและฟัง 

ขั้นตอนแรก คือ การสร้าง Action สำหรับอัพเดท คอลัมน์ Book status ตาราง Books 

ไปที่แท็บ Data 

เลือกตาราง Books

ไปที่เมนู Behavior 

คลิกคำสั่ง Actions

คลิกปุ่ม + ตั้งชื่อว่า Update book status checkout 

rocord of this table = books

do this = set the value of some column in the row 

เลือก คอลัมน์ book status = "ถูกยืม"

คลิก save 


สร้างอีก 1 action สำหรับอัพเดทสถานะหนังสือ ให้กลับมา ปกติ พร้อมใช้งาน อัตโนมัติ เมื่อ ตารางยืมหนังสือ มีการเปลี่ยนแปลงสถานะหนังสือ จาก ถูกยืม เป็น ส่งคืน 


เลือกตาราง Books

ไปที่เมนู Behavior 

คลิกคำสั่ง Actions

คลิกปุ่ม + ตั้งชื่อว่า Update book status when return

rocord of this table = books

do this = set the value of some column in the row 

เลือก คอลัมน์ book status = "พร้อมใช้งาน"

คลิก save 


ไปสร้าง bot เพื่อผูกหรือโยง 2 actions ดังกล่าวให้ทำงานกัน 

ไปที่คำสั่ง Automation 

สร้าง bot ตัวแรกว่า update book status to checkout

สร้าง event หรือเหตุการณ์ เฉพาะเจาะจงขึ้นมาในตารางของการบันทึกยืมหนังสือ Borrow 

การทำงานคือ Data change กำหนด add data คือ มีการบันทึกยืมหนังสือเข้ามา 

การเพิ่ม Step หรือขั้นตอนการทำงาน 

Run action on row

referenced table เลือก Books

การกำหนดค่า  reference rows ในการอ้างอิง 

Select(Books[Book ID],[Book ID]=[_THISROW].[Book ID])

ตรง Referenced action เลือก Update book status checkout 

คลิก Save


สร้าง Bot เพิ่มอีก 1 ตัว 

ไปที่คำสั่ง Automation 

สร้าง bot ตัวสองว่า update book status when return

สร้าง event หรือเหตุการณ์ เฉพาะเจาะจงขึ้นมาในตารางของการบันทึกยืมหนังสือ Borrow 

การทำงานคือ Data change กำหนด Update  คือ มีการแก้ไขข้อมูลตอนคืนหนังสือ 

การเพิ่ม Step หรือขั้นตอนการทำงาน 

Run action on row

referenced table เลือก Books

การกำหนดค่า  reference rows ในการอ้างอิง 

Select(Books[Book ID],[Book ID]=[_THISROW].[Book ID])

ตรง Referenced action เลือก Update book status when return

คลิก Save


 



วิธีสร้างแอพจัดการหนังสือที่บ้านด้วยตนเอง EP2

หลังจาก ออกแบบตารางฐานข้อมูลด้วย Google sheet 
ขั้นต่อมาไปที่ appsheet
สร้าง new แอพ เลือกตารางฐานข้อมูล ไปที่ตาราง google sheet ที่สร้างไว้ นำเข้ามาให้ครบทั้ง 3 ตาราง
ขั้นต่อมา 
กำหนดคุณสมบัติเฉพาะของแต่ละคอลัมน์ 
ดังนี้

โดยที่ตาราง Books บันทึกข้อมูลหนังสือ จะมี 6 คอลัมน์ ได้ แก่ 

Book ID       text เป็น key หลัก ค่าเริ่มต้น initial ใส่ uniqeid()

Book title    test 

Book cover    image 

Book cate    ref    (สร้างตารางเพิ่ม )

Book author    text 

Book status  enum เพิ่มสถานะ  ถูกยืม และ พร้อมใช้งาน 

 

ตาราง Borrowed บันทึกข้อมูลการยิมหนังสือ จำนวน 7 คอลัมน์ ได้แก่ 

Borrow ID   text เป็น key หลัก ค่าเริ่มต้น initial ใส่ uniqeid()

Book ID   ref โยงไปที่ตารางหนังสือ books

Member ID   ref โยงไปที่ตารางหนังสือ Members

Date start   วันที่ date

Date end  วันที่ date

Date return   วันที่ date

Borrow status    enum เพิ่มเงื่อนไข  ถูกยืม และ ส่งคืน 


ตาราง Members บันทึกข้อมูลสมาชิก จำนวน 4 คอลันน์ ประกอบด้วย 

Member ID   text เป็น key หลัก ค่าเริ่มต้น initial ใส่ uniqeid()

Member name   text ข้อความ 

Mphone    phone 

Date register    date วันที่ 


การสร้างวิวหรือ มุมมอง UX

จำนวน 4 มุมมอง    คือ 

หมวดหมู่ 

หนังสือ

ยืมหนังสือ

สมาชิก


ขั้นตอนและวิธีการสร้าง สามารถชมได้จากคลิปวีดีโอ ครับ 


การบันทึกข้อมูลสมาชิก ข้อมูลหนังสือ การจัดกลุ่มการแสดงผล 


จบ ep2 ไปตามต่อ ep3 สร้าง action และ bot มาติดตามสถานะ การยืมและการคืนหนังสือ 





วิธีสร้างแอพจัดการหนังสือที่บ้านด้วยตนเอง EP1

 สำหรับบทความแนว How to ในวันนี้แอดมินจะมาเอาใจพิเศษคนรักหนังสือ หรือชอบสะสมหนังสือ โดยจะมาสอนวิธีการสร้างแอพจัดการข้อมูลหนังสือที่บ้าน หรือสำนักงานขนาดเล็กๆ ด้วยตนเอง 

โดยใช้โปรแกรม Appsheet และฐานข้อมูล Google drive 

ตามแนวคิดหรือ concept ของแอพ เน้นที่ประสิทธิภาพและความง่ายในการใช้งาน 

โดยจะแบ่งออกเป็น 3 ตอนด้วยกัน คือ 

  • สร้างฐานข้อมูลด้วย Google Sheet 
  • สร้างแอพจัดการหนังสือด้วย  Appsheet 
  • การสร้างระบบงาน workflow เพื่อตรวจสอบสถานะการยืมและส่งคืนหนังสือ 


ขั้นตอนแรก เริ่มจากการออกแบบตารางฐานข้อมูล 3 ตาราง คือ Books , Borrowed , และ Members 

โดยที่ตาราง Books บันทึกข้อมูลหนังสือ จะมี 6 คอลัมน์ ได้ แก่ 

Book ID

Book title 

Book cover 

Book cate

Book author 

Book status

 

ตาราง Borrowed บันทึกข้อมูลการยิมหนังสือ จำนวน 7 คอลัมน์ ได้แก่ 

Borrow ID

Book ID

Member ID

Date start

Date end

Date return

Borrow status


ตาราง Members บันทึกข้อมูลสมาชิก จำนวน 4 คอลันน์ ประกอบด้วย 

Member ID

Member name

Mphone

Date register





สอนทำแอพบันทึกข้อมูลการเช่ารถด้วย Appsheet

สูตรที่ใช้งาน 

ตาราง car inventory 

คอลัมน์ จำลอง current stock 

SUM(

SELECT(

Stock in[QTY],

[item code] = [_THISROW].[item code]

)) - 

SUM(

SELECT(

Stock out[QTY],

[item code] = [_THISROW].[item code]

)) + 

[Available stock]


ตารางส่งคืนรถ car in

คอลัมน์ item name 

Any(select(car inventory[item name],[_THISROW].[item code]=[item code]))

คอลัมน์ unit price

Any(select(car inventory[unit price],[_THISROW].[item code]=[item code]))

คอลัมน์ Amount 

[unit price]*[QTY]

สร้างคอลัมน์จำลอง 2 คอลัมน์ 

คอลัมน์ Available stock

Any(Select(car inventory[Available stock],[_THISROW].[item code]=[item code]))

คอลัมน์  New available stock

[Available Stock]-[QTY]



ตารางให้เช่ารถ car out

คอลัมน์ item name 

Any(select(car inventory[item name],[_THISROW].[item code]=[item code]))

คอลัมน์ unit price

Any(select(car inventory[unit price],[_THISROW].[item code]=[item code]))

คอลัมน์ Amount 

[unit price]*[QTY]

สร้างคอลัมน์จำลอง 2 คอลัมน์ 

คอลัมน์ Available stock

Any(Select(car inventory[Available stock],[_THISROW].[item code]=[item code]))

คอลัมน์  New available stock

[Available Stock]-[QTY]


ตาราง car in form

คอลัมน์ Receipt No

ค่าเริ่มต้นระบุเป็น randbetween(10000,100000)

เพิ่ม 2 คอลัมน์จำลอง 

คอลัมน์ car in 

ref_rows("car in","Receipt No")

คอลัมน์ Total amount

Sum(Select(car in[Amount],[_THISROW].[Receipt No]=[Receipt No]))


ตาราง car out form

คอลัมน์ Receipt No

ค่าเริ่มต้นระบุเป็น randbetween(10000,100000)

เพิ่ม 2 คอลัมน์จำลอง 

คอลัมน์ car out 

ref_rows("car out","Receipt No")

คอลัมน์ Total amount

Sum(Select(car out[Amount],[_THISROW].[Receipt No]=[Receipt No]))


การสร้าง view ในส่วนของหน้าจอหลัก Main navigation จำนวน วิวหลักคือ 

car inventory  แหล่งตาราง car inventory  มุมมอง Desk


car in   แหล่งตาราง car in form       มุมมอง form

finish view เป็น car in form_detail

car out   แหล่งตาราง car out form   มุมมอง form

finish view เป็น car out  form_detail


ทดสอบ แก้ไข และปรับเพิ่ม ตามต้องการ 


ตาราง car in และตาราง car out 

คอลัมน์ item code ไปที่ data validity >valid if

ใส่สูตร select(car inventory[item code],true)


ทดสอบการใช้งานแอพ ในเรื่องการบันทึกเช่ารถ และคืนรถ 

พบ error นิดหน่อย

แก้ไข โดยไปที่ตารางชื่อว่า car in form กับ car out form 

กำหนดคีย์หลักตารางเป็น receipt no

และลาเบลเป็น customer Name



สร้างแอพควบคุมสินทรัพย์คอมพิวเตอร์ หน่วยงานหรือองค์กรด้วย Appsheet กัน

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

ออกแบบตารางฐานข้อมูลก่อน ไปที่ Google drive แล้วสร้าง new Folder ขึ้นมา กำหนดชื่อเป็น Printers 

เข้าไปในโฟลเดอร์ที่เราสร้าง แล้ว คลิก New file สร้างไฟล์ตาราง Google sheet ขึ้นมา กำหนดชื่อเป็น Printers 

ข้อมูลที่ต้องการจัดเก็บ ดังนี้

ID

หน่วยใช้งาน

ยี่ห้อ

รุ่น

หมายเลข SN

ภาพถ่าย

วันเดือนปีที่ได้รับมา

รหัส qrcode

ชนิดของเครื่องพิมพ์ 

สถานะ

เอกสาร

วันเดือนปีที่บันทึก

ผู้บันทึก


ขั้นสองไปที่แอพชีพ สร้าง new app ขึ้นมา ลิงค์ ตาราง data จากกูเกิลไดร์ฟ ที่เราสร้างขั้นตอนก่อนหน้า

การจัดการ data type หรือ ชนิดของข้อมูล 

กำหนดชนิดของ data type ดังนี้

ID      uniqueID()

หน่วยใช้งาน ref 

ยี่ห้อ  ref

รุ่น  text 

หมายเลข SN   text 

ภาพถ่าย    image 

วันเดือนปีที่ได้รับมา   date

รหัส qrcode   image

ชนิดของเครื่องพิมพ์    enum

สถานะ   enum 

เอกสาร   file 

วันเดือนปีที่บันทึก  date 

ผู้บันทึก   useremail()


กำหนดในส่วนของหน้าตาใช้งานหรือ view ต่างๆ 

การลอง Add หรือบันทึกข้อมูลด้วยแอพ 


การสร้างรหัส Qrcode ประจำตัวบุคคลด้วย Appsheet

 บทความแนว How to วันนี้ นำเสนอในวิธีการ สร้าง QR CODE ประจำตัวบุคคล เช่น นักเรียน พนีกงาน เป็นต้น 

ขั้นตอนและวิธีการ 

สิ่งที่จำเป็นต้องใช้ โปรแกรม Appsheet และ Google Sheet

ขั้นตอนแรก ไปที่ Google Sheet สร้างตารางเก็บข้อมูลขึ้นมา ประกอบด้วย

ID

Prename

Name

Photo

Qrcode


ขั้นตอนสอง ไปที่ Appsheet แล้วนำเข้าตารางข้อมูลที่สร้างไว้ 

กำหนดค่าของ data type หรือชนิดของข้อมูล 

ID                      uniqueid

Prename           enum

Name                text 

Photo              image

Qrcode           image


โดยในคอลัมน์ Qrcode ให้ใส่สูตรสำหรับการสร้างภาพรหัส qrcode อัตโนมัติ คือ "https://barcode.tec-it.com/barcode.ashx?data="&[MYID]&"&code=MobileQRCode&dpi=96&dataseparator="



ในวิวหรือ UX สร้างมุมมองแบบ Desk ขึ้นมาสำหรับการแสดงข้อมูล โดยการทดสอบ Add หรือเพิ่มข้อมูล นักเรียน หรือ พนักกงาน ลงไปสัก 2-3 คน 


ชมวีดีโอประกอบการสอนตามตัวอย่าง

How to create income and expense tracking App

for data table go to Google drive and create new folder such as My Daily expense and then inside the folder click new Google sheet and name the sheet as "Money app"

then add the column name as follow 

ID   

Date   

Time

Type :Enum as income and expense

Topic

Amount

document

image

email user


go to Appsheet.com

new App and select the data table from the previous 

then 

go to data tab and set the data type for each column 



add 3 virtual column : 

sum income : SUM(Select(My expense[Amount],[Type]="Income"))

sum expense : SUM(Select(My expense[Amount],[Type]="expense"))

Total balance: [Sum income]-[Sum Expense]


on UX view

Add primary view and name "Add income-expense" 

view type :table

column as follow 

Date 

Type

amount


Then Add another menu view "Sum income-Expense"

view type : table

group by type

sum : Amount

column as follow

Date 

amount 

Total balance


สร้างแอพบันทึกรายรับ-จ่ายอย่างง่ายด้วยตนเอง Appsheet

 บทความนี้เราจะมาทดลองสร้างแอพ เพื่อบันทึกรายรับ รายจ่ายของเราด้วย Appsheet และ Google sheet กันครับ

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

เริ่มจาก ไปที่ กูเกิลไดร์ฟ ของเรา แล้ว คลิก สร้าง new โฟลเดอร์ขึ้นมาก่อน ตั้งชื่อตามถนัด เช่น My Money App V2 เป็นต้น 

จากนั้นคลิกเข้าไปในโฟลเดอร์ที่สร้างขึ้นมา แล้วคลิกสร้าง new ไฟล์ Sheet ขึ้นมา 

ตั้งชื่อ sheet ที่สอดคล้องกับแอพที่เรากำลังสร้างเช่น my money 

กำหนดชื่อคอลัมน์ ดังนี้ 

ID

วันที่ 

เวลา 

ประเภท

รายการ

จำนวน

หลักฐาน

รูปภาพ

ผู้บันทึก

จากนั้นให้เราไปที่ appsheet แล้วสร้าง new แอพ โดยเข้าไปเลือกฐานข้อมูล google sheet ที่เราสร้างไว้แล้วนำเข้ามา 

จากนั้น เช่นเคย เราต้องไปที่การกำหนด data type หรือชนิดของข้อมูล รวมทั้งกำหนดค่าเริ่มต้น ต่างๆ 


เราจะสร้าง คอลัมน์จำลองขึ้นมา ช่วยในการแสดงข้อมูล 3 คอลัมน์ แบบกำหนดเงื่อนไข คือ 
sum income สรุปรายรับ SUM(Select(data1[จำนวน],[ประเภท]="รายรับ"))
sum expense สรุปรายจ่าย SUM(Select(data1[จำนวน],[ประเภท]="รายจ่าย"))
Total balance สรุปยอดคงเหลือ [Sum income]-[Sum Expenses]
ในส่วนของ UX เราจะสร้างเมนูด้านล่างในการตอบโต้ผู้ใช้งาน คือ 
บันทึกรายรับ-จ่าย
สรุปรายรับ-จ่าย 





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


วิธีการแจ้งเตือนทางอีเมล์ด้วย Appsheet

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

ก่อนอื่นให้เราไปที่กูเกิลไดร์ฟ ของเรา สร้างโพลเดอร์ขึ้นมา สมมุตเป็น Leave Approve 

จากนั้น คลิกเข้าไปข้างในโฟลเดอร์ที่พึ่งสร้างขึ้นมา

จากนั้นคลิก new สร้างไฟล์ตาราง Google sheet ขึ้นมา

ประกอบด้วย คอลัมน์ ID ,ผู้ลา ,วันที่ลา ,ลาถึงวันที่ ,เรื่อง , เหตุผลการลา ,การอนุมัติ ,วันที่อนุมัติ



-------------------

มาที่ Appsheet บ้าง

สร้างแอพใหม่ขึ้นมา ตั้งชื่อแอพเป็น leave approve V1 

สร้างจาก Database ที่มีอยู่แล้ว ไปลิงค์เอาตาราง ที่เราสร้างไว้บนไดร์ฟเข้ามา 

ไปที่แท็บตาราง data กำหนดชนิดของข้อมูล 

ชนิดของข้อมูล วันที่ลา ,ลาถึงวันที่ และวันที่อนุมัติ เป็น Date

ที่เหลือเป็น text

เว้น การอนุมัติ เป็น Enum ใส่ตัวเลือกเป็น อนุมัติ ไม่อนุมัติ  รอตรวจสอบ 


------------------------------------



ขั้นการใช้งาน bot เพื่อสร้างคำสั่งส่งอีเมล์ไปให้ผู้ลงนามอนุมัติ โดยอัตโนมัติ

คลิกที่ new bot ตั้งชื่อเป็น when recode create  send email

เพิ่มขั้นตอนหรือ step เป็น send email 

กำหนดค่า setting ดังนี้

send an email

email type :embedded app view

to : Useremail()

app view: กำหนดเป็น Form view 

-----------------------------

คลิก save ลองดูแล้วเราก็จะได้ ผลการทำงานที่ต้องการ โดยลองบันทึกข้อมูลในแอพ แล้ว save

จากนั้น ไปที่ email ของเรา เปิดเมลดู จะพบข้อมูล



รีวิวการสร้างแอพขายกาแฟ Coffee Pos 2023 V1

 บทความนี้เราจะมาฝึกสร้างแอพขายกาแฟด้วยตัวเอง โดยใช้ฐานข้อมูล Google Drive กับ Appsheet กัน 

ขั้นตอนแรกสุดให้เราไปที่กูเกิลไดร์ฟ ส่วนตัวของเรา สร้างโฟลเดอร์ขึ้นมา Coffee Pos V7

คลิกเข้าไปข้างในโฟลเดอร์ แล้วคลิก Create เพื่อสร้างไฟล์ตารางฐานข้อมูล กำหนดชื่อไฟล์ Google Drive เป็น Coffee Pos V7

สร้างตารางแรกชื่อว่า products

จำนวน 2 คอลัมน์คือ 

ID

Product name

สร้างตารางขึ้นมากำหนดชื่อเป็น items

จำนวน 7 คอลัมน์

ID

Category

Name

Sub category

Unit price

Photo

Qty

จากนั้นไปที่ appsheet.com

คลิก New App 

เลือกสร้างแอพ จากฐานข้อมูล Google sheet 

ตั้งชื่อแอพเป็น Coffee Pos V7 

แท็บ data คลิกตาราง Products กำหนด ชนิดของข้อมูลที่เหมาะสม และสอดคล้องกับความต้องการใช้งาน 

ID เป็น Text และ ค่าเริ่มต้นเป็น UNIQUEID() และเป็น Key หลักของตารางด้วย

Product name เป็น Text และกำหนดแสดงป้ายข้อมูล Label


ตาราง items

คอลัมน์ Category กำหนดเป็น Enum  และเพิ่มตัวเลือกเป็น กาแฟ   ชา   นม  โซดา

คอลัมน์ Sub category เป็น Enume ตัวเลือก ร้อน เย็น ปั่น

คอลัมน์ Name เป็น Ref และระบุตารางเป็น Products

คอลัมน์ Qty ในช่อง show ใส่สูตร 

Context("Viewtype")<>"Form"





มาที่ UX มุมมอง Product เป็นแบบ Desk หรือ Table  แต่ตำแหน่ง Position เป็น Menu 

ให้บันทึกข้อมูล กาแฟที่มีขายในตลาดลงไป สัก 2 ถึง 3 รายการ 

เช่น ลาเต้   คาปูชิโน่   เอสเพราโซ่ 



สำหรับวิว items

ให้เรา กำหนดเป็น Desk และตำแหน่งเป็น Ref

ปิด Action bar ด้วย

จากนั้นเพิ่มสินค้าเข้ามาในระบบ 2 -3 รายการ พร้อมรูปภาพ 

จบ EP1 ---------

เริ่ม EP2 ------เราจะสร้างตารางเพิ่มอีก 2 ตาราง คือ Sales และ Invoice  

ตารางแรก Sales มีคอลัมน์ 

ID         

status

Date time

Item ID

Item Name

Unit price

Qty

Subtotal

Invoice no


สูตรที่ต้องใช้งาน 
คอมลันน์ Unit price
lookup([_thisrow].[Item id],"Items","Item ID","Unit Price")

คอลัมน์ Subtotal
[unit price]*[QTY]

ค่าเริ่มต้น
คอลัมน์ invoice no ใส่
MAX(Invoice[Invoice])+1

คอลัมน์ Item name เป็น Ref แหล่งตารางเป็น Products


ตาราง Invoice
มีจำนวน 1 คอลัมน์ คือ Invoice 
ใส่ค่าแรกลงไปด้วยกำหนดเป็น 20230000

การสร้างตัวกรองข้อมูล slice จากตาราง Sales 
ตั้งชื่อตัวกรองเป็น Cart 
กำหนดเงื่อนไขเป็น 
isblank([status])

ติ้กไม่อนุญาติการเพิ่ม Add ข้อมูล

การสร้างวิวมุมมอง 2 วิวด้วยกันคือ 
Cart เป็นชนิดตาราง แหล่งตารางคือ Cart  ตำแหน่งเป็น Ref
จัดกลุ่มโดย Date time
Group aggerate เป็น SUM: Subtotal

เรียงคอลัมน์ Item name,    Unit price,     Qty,     Subtotal

 ต่อไปสร้างมุมมองขึ้นมาคือ POS โดยกำหนดเป็น Dashboard 
เพิ่ม entries เข้ามาแสดงจำนวน 2 วิวด้วยกันคือ 
Items   และ 
Cart

--------- EP3-------------
จะเป็นการใช้คำสั่ง Action เพื่อควบคุมการทำงานของแอพพลิเคชั่นให้ทำงาน ตามที่เราต้องการ 
คลิกแท็บ Action ไปตาราง Items คลิก + 
กำหนดชื่อเป็น Add to cart
Do this : add a new row to another table...

Table to add to: Sales

Set these columns:
Item id = [Item ID]
Item name = [name]
Qty = [Qty]
ติ้ก Do not display 
-----------------------------

สร้าง action สองคือ Input Qty

Do this: Set the value of some column in this row

Set these columns: Qty = input(qty,"")

ติ้ก Do not display 
---------------------

สร้าง action สามคือ Set qty to zero

Do this: Set the value of some column in this row

Set these columns: Qty = " "

ติ้ก Do not display 

-----------------------------------------
จัดเรียงลำดับการทำงานของแอกชั่น โดยสร้าง Group action
กำหนดชื่อเป็น Item group action

Do this: Grouped execute a sequence of actions

เรียงแอคชั่น ตามลำ
Input Qty
add to cart
set qty to zero
ติ้ก Do not display 
-----------------------------------

กลับไปที่แท็บ UX 
มุมมอง POS คลิก behavior 
ตรง Event Actions เลือก Item group action
คลิก Save

----------------- จบ EP3----------------------

 _______ EP4___________
ขั้นแรกไปที่แท็บ UX แล้วคลิกวิวหรือมุมมอง Item 
ไปที่ คำสั่ง behavior แล้วกำหนดค่าของ Event action เป็น item group action 
คลิก Save 
สร้างตารางเก็บข้อมูลชำระเงินค่าสินค้า คือ payment จำนวน 10 คอลัมน์ดังนี้
ID
Date
Time
Payment type
Amount paid
Invoice no
Total sale
Change
Cashier ID
Customer

นำเข้าตารางในแอพให้เรียบร้อยแล้วคลิก แท็บ data และตาราง payment เพื่อกำหนดค่าแต่ละคอลัมน์
ดังนี้
ค่า key หลักตารางคือคอลัมน์ Invoice no

คอลัมน์ payment type เป็น Enum ใส่ค่า เงินสด และ ลงบิล


isblank([_THIS]) ในเงื่อนไข show ของคอลัมน์ Date และ Time

คอลัมน์ Total sale ใส่สูตร Sum(Select(Sales[Subtotal],[Invoice no]=[_THISROW].[invoice no]))

คอลัมน์เงินทอน Change ใส่สูตร [amount paid]-[total sale]
และเงื่อนไข show ใส่ [amount paid]>=[total sale]


คอลัมน์ invoice no ใส่ค่าเริ่มต้น Max(Invoice[Invoice])+1

ดูเพิ่มคอลัมน์เสมือน ขึ้นมาเองจากระบบคือ related sale

สร้างเอง 1 คอลัมน์ ชื่อ File และใส่สูตร Concatenate([invoice no],".pdf")

จากนั้นไปที่แท็บ UX
สร้างมุมมองชนิด เมนูขึ้นมาชื่อ payment
จัดกลุ่ม by Date

Group aggerate : Sum total sale
เรียงคอลัมน์ Order 
Date
Time
Invoice no
Payment type
Total sale
Amount paid

จบขั้นตอนของ EP4 ----------

-----------ตอนที่ EP5 --------------- สร้างไอค่อนจ่ายเงินค่าสินค้า


มาที่แท็บ Action 
คลิก + ตาราง sale เพื่อสร้าง action ขึ้นมาสำหรับการคัดลอกหมายเลขบิลขายจากตาราง sale ไปเขียนลงยังตาราง invoice 
ชื่อของ Action = copy invoice no
ตาราง : sale
Do this : add a new row to another table
Table to add to: invoice
set these column : invoice = [invoice no]
prominence = do not display

คลิก UX แล้วคลิกวิว payment Form  คลิก behavior แล้วคัดลอก LINKTOVIEW("Payment_Form")
กลับไปที่ แท็บ Action 
ตาราง sale คลิก + 
กำหนดชื่อเป็น payment form
table : sale
Do this : Go to another view 
Target: = LINKTOVIEW("Payment_Form")
prominence= Display as primary

เลื่อนลงไปที่ คำสั่ง behavior กำหนดค่าไอค่อนตะกร้าสินค้าแสดงเฉพาะมีรายการขายเท่านั้น ใช้สูตร 
isnotblank(Select(Cart[Subtotal],True))
คลิก need confirm information 
ข้อความเป็น ยืนยันชำระค่าสินค้า?

ตรวจสอบความสัมพันธ์ระหว่างตารางแม่และลูก
ไปที่แท็บดาต้า ตาราง sale 
คอลัมน์ invoice no เป็น ref และระบุแหล่ง source table เป็น payment 
อย่าลืมติ้ก is a part of 

---------- จบ EP5 --------------------------------