สมอง SML

คลังความรู้ / หน้าจอทีละจอ

#screens#process

พิมพ์ป้ายชื่อ/ที่อยู่จัดส่งสินค้า (เมนู 5005 เจ้าหนี้ / 6006 ลูกหนี้)

จอเลือกผู้รับจากทะเบียนที่อยู่จัดส่ง (ap_ar_transport_label) เข้าคิว กำหนดจำนวนดวง แล้วดูตัวอย่างป้ายสติ๊กเกอร์ มี 2 เมนูใช้คอมโพเนนต์เดียว ต่างกันที่พารามิเตอร์ custType: 5005 = เจ้าหนี้ (custType=2), 6006 = ลูกหนี้ (custType=1) (screenRegistry.tsx:715-740) ทะเบียนที่อยู่จัดส่งเองดู ที่อยู่จัดส่ง/ป้ายขนส่งของเจ้าหนี้-ลูกหนี้ (ap_ar_transport_label) ส่วนรายงานที่อยู่จัดส่ง 5004/6005 (เมนู report_ap/report_ar) และการนำเข้า 5006/6007 เป็นเมนูแยก ดู จอรายงานกลาง (UniversalReportScreen)

วิธีเปิด

เมนูเจ้าหนี้ 5005 menu_ap_transport_label_print หรือเมนูลูกหนี้ 6006 menu_ar_transport_label_print (ชื่อเมนู "พิมพ์ที่อยู่จัดส่งสินค้า" ส่วนหัวจอ fallback "พิมพ์ป้ายชื่อขนส่ง") กลไกเมนูดู ทะเบียนหน้าจอและโครงเมนู (Screen registry & smlMenu)

โครงจอ

  • ซ้าย: รายชื่อผู้รับ (รหัสเจ้าหนี้/ลูกหนี้, ชื่อผู้รับ/ร้านค้า, โทรศัพท์) จาก ap_ar_transport_label เรียงรหัส+ลำดับ ดึงสูงสุด 300 แถว (:82-126) ค้นจากรหัส/ชื่อ/ที่อยู่/โทรศัพท์ คลิกแถว หรือ ดับเบิลคลิก = เพิ่มเข้าคิวพิมพ์ (addToQueue, :134-147) ถ้ารายนั้นอยู่ในคิวอยู่แล้ว (รหัสและชื่อตรงกัน) ระบบ บวกจำนวนดวงอีก 1 แทนการเพิ่มแถวใหม่ กลไกรายการดู รายการข้อมูล ค้นหา lookup และ dialog กลาง (SmlDataList / SmlLookupModal / SmlDialog)
  • ขวาบน: แผงตั้งค่าการพิมพ์
  • ขวากลาง: ตารางรายการพิมพ์ (คิว)
  • ขวาล่าง: แผงตัวอย่างป้าย (เปิด/ปิดได้)
  • ปุ่มแถบเครื่องมือ: แสดงตัวอย่าง (สลับแผงตัวอย่าง), พิมพ์, ล้างรายการ, ปิดหน้าจอ (มีเมื่อเปิดเป็นแท็บ)

แผงตั้งค่าการพิมพ์

ช่อง ตัวเลือก
โหมดการพิมพ์ 0 = พิมพ์ตามแบบฟอร์ม / 1 = พิมพ์สติ๊กเกอร์ต่อเนื่อง
เครื่องพิมพ์ ข้อความพิมพ์เอง (ค่าเริ่มต้น "Default Label/A4 Printer")
แบบฟอร์ม FORM-A4-3X8 (A4 24 ดวง) / FORM-A4-2X5 (A4 10 ดวง) / FORM-100X150 (ใบปะหน้า 4x6 นิ้ว)
กลุ่ม "-- ทุกกลุ่ม --" หรือกลุ่มเจ้าหนี้/ลูกหนี้ (อ่านจาก ap_group/ar_group สูงสุด 100 กลุ่ม, :66-80) กรองรายการซ้ายตาม group_main ของ ap_supplier_detail/ar_customer_detail
แถวเริ่ม / คอลัมน์เริ่ม ตัวเลข (ค่าเริ่มต้น 1, 1) ใช้บอกว่าเริ่มวางป้ายที่ช่องไหนของแผ่นสติ๊กเกอร์ แสดงในแผงตัวอย่าง

ช่องติ๊ก "พิมพ์กระดาษสติ๊กเกอร์ A4" (ค่าเริ่มต้นติ๊ก) อยู่ในแผงเดียวกัน แต่ค่านี้ไม่ได้ถูกใช้ต่อที่ไหนในไฟล์ (:55,291)

ตารางรายการพิมพ์

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

  • เปิดจอครั้งแรก ถ้ารายการซ้ายโหลดได้และคิวว่าง ระบบเติมคิวด้วย 5 แถวแรกของรายการ ให้เอง (:121-123) ต้องล้างรายการก่อนถ้าไม่ต้องการ

ข้อควรระวัง

  • ปุ่ม "พิมพ์" ยังไม่ได้ส่งงานพิมพ์จริง: กดแล้วเปิดแผงตัวอย่างและขึ้นข้อความ "สั่งพิมพ์ป้ายชื่อขนส่ง N รายการ เรียบร้อยแล้ว" เท่านั้น (:203-208) ไฟล์นี้ไม่มีการเรียก window.print หรือ API ใด ๆ ตัวเลือกโหมดพิมพ์/เครื่องพิมพ์ ไม่ถูกใช้ต่อ ส่วนแบบฟอร์มและแถว/คอลัมน์เริ่มปรากฏแค่ในหัวแผงตัวอย่าง ถ้าต้องการป้ายจริงให้ใช้รายงานที่อยู่จัดส่ง 5004/6005 (ที่ Go เรนเดอร์จาก ap_ar_transport_label เดียวกัน ดู ที่อยู่จัดส่ง/ป้ายขนส่งของเจ้าหนี้-ลูกหนี้ (ap_ar_transport_label))
  • ตัวกรองฝั่งเจ้าหนี้ใช้ ar_ap_type IN (0, 2) ฝั่งลูกหนี้ใช้ = 1 (:86-89) ส่วน ที่อยู่จัดส่ง/ป้ายขนส่งของเจ้าหนี้-ลูกหนี้ (ap_ar_transport_label) ระบุแค่ชนิด 0 (เจ้าหนี้) และ 1 (ลูกหนี้) จึงไม่เห็นที่มาของค่า 2 คอมเมนต์หัวไฟล์พูดถึง cust_type = 2; ที่ใช้จริงคือคอลัมน์ ar_ap_type
  • ตัวอย่างป้ายแสดงรหัส ชื่อ ที่อยู่ โทรศัพท์ ขนส่ง และ "xN ดวง" เป็นการ์ดสามคอลัมน์ ไม่ใช่ภาพหน้าตาตามแบบฟอร์มพิมพ์จริง
  • รหัสเมนูเก่าที่ฝังในโค้ดคือ 5.1.4 และ 6.1.9 (ค่าเริ่มต้น menuCode) ส่วนรหัสจริงปัจจุบันคือ 5005/6006

ที่มาในโค้ด