#screens#master
กำหนดเจ้าหนี้ (SupplierScreen) และรายละเอียดเจ้าหนี้ (SupplierDetailScreen)
ฝั่งซื้อของทะเบียนคู่ค้า ในกลุ่ม 5001-5006 "ทะเบียนเจ้าหนี้ คู่ค้า และที่อยู่จัดส่ง" เป็นคู่เดียวกับฝั่งขาย กำหนดลูกหนี้ และรายละเอียดสมาชิก (CustomerScreen, DealerScreen) / รายละเอียดลูกหนี้ สินเชื่อ ผู้ติดต่อ รูปภาพ (CustomerDetailScreen) โครงจอเหมือนกัน (ซ้ายรายการ ขวาฟอร์ม, ปุ่ม แก้ไข/เพิ่มใหม่/ลบ/บันทึก/ปิดหน้าจอ) ตาราง ทะเบียนเจ้าหนี้/ผู้ขาย (ap_supplier) และ รายละเอียดเงื่อนไขเจ้าหนี้ (ap_supplier_detail) กลไกเมนูดู ทะเบียนหน้าจอและโครงเมนู (Screen registry & smlMenu)
วิธีเปิด
| รหัส | เมนู | จอ | ผูกที่ |
|---|---|---|---|
| 5001 | กำหนดเจ้าหนี้ (menu_ap_detail, รหัสเก่า 5.1.1) |
SupplierScreen |
screenRegistry.tsx:581-586 |
| 5002 | รายละเอียดเจ้าหนี้ (menu_ap_detail_2, รหัสเก่า 5.1.2) |
SupplierDetailScreen |
screenRegistry.tsx:587-592 |
| เมนู 5003 "ข้อมูลคู่ค้า" เป็นจอมาตรฐานที่สร้างจากสคีมา ไม่ใช่จอนี้ ดู หน้าจอข้อมูลหลัก + ตารางย่อย (MasterDetailScreen) |
5001 กำหนดเจ้าหนี้
รายการซ้าย (รหัส · ชื่อ · ที่อยู่ · โทรศัพท์) ค้นแบบ SML จำกัด 500 แถว ดับเบิลคลิก = แก้ไข (:147) ฟอร์มขวา (สคีมา apSupplier.ts):
| ช่อง | ข้อกำหนด |
|---|---|
| รหัสผู้จำหน่าย | ไม่เกิน 25 ตัว บังคับ; เพิ่มใหม่ระบบใส่รหัสถัดไปให้ ออกจากช่องแล้วรันตามรูปแบบ (กลไกเดียวกับลูกหนี้ ชนิด supplier) ดู ข้อมูลหลักแบบหัว-รายการ รหัสอัตโนมัติ และเลย์เอาต์รายการ (Master-detail, code auto-run, DataList) |
| สถานะผู้จำหน่าย | บุคคลธรรมดา (0) / นิติบุคคล (1) ค่าเริ่มต้นเพิ่มใหม่ = นิติบุคคล (ต่างจากลูกหนี้ที่เริ่มเป็นบุคคลธรรมดา) |
| คำนำหน้า · ชื่อ · นามสกุล | 15 · 50 · 70 |
| ชื่อผู้จำหน่าย 1 | ไม่เกิน 100 บังคับ |
| ชื่อ (อังกฤษ) 1 | ไม่เกิน 100 |
| ที่อยู่ · จังหวัด · อำเภอ/เขต · ตำบล/แขวง · ไปรษณีย์ · ประเทศ | 255 · ค้นหา erp_province / erp_amper / erp_tambon · 10 · 255 (ค่าเริ่มต้น "ไทย") |
| โทรศัพท์ · โทรสาร · อีเมล์ · เว็บไซต์ | 150 · 50 · 255 · 255 |
| ประเภทผู้จำหน่าย | ค้นหา ap_type |
| เลขประจำตัวผู้เสียภาษี · เลขที่บัตรประชาชน | 50 · 50 |
| สถานประกอบการ · เลขที่สาขา | สำนักงานใหญ่ / สาขา (25) |
| หมายเหตุ · สถานะ | 255 · ใช้งาน/ไม่ใช้งาน |
| ตำแหน่งผู้จำหน่าย | แผนที่ ประเภท SUPPLIER (:1569) |
| ข้อมูลเฉพาะธุรกิจ | การ์ด BusinessExtFieldsCard (:1584) |
- บันทึก (
:395-650): สิทธิ์ → "กรุณาระบุ 'รหัสผู้จำหน่าย'" → "กรุณาระบุ 'ชื่อผู้จำหน่าย 1'" → ถ้าเลือกสาขา เลขสาขาต้องเป็นตัวเลข 5 หลักและไม่ใช่00000→ เลขผู้เสียภาษีที่กรอกต้องเป็น 13 หลัก ("เลขประจำตัวผู้เสียภาษีอากร ไม่ครบ 13 หลัก") และ คู่ (เลขภาษี + ประเภทสถานประกอบการ + เลขที่สาขา) ต้องไม่ซ้ำกับเจ้าหนี้รายอื่น (:463-492) → เพิ่มใหม่ตรวจรหัสซ้ำ เสนอรหัสถัดไป จากนั้นชุดคำสั่งเดียวเขียนap_supplierกับap_supplier_detail(UPDATE ก่อน แล้ว INSERT ถ้ายังไม่มี) พร้อมประวัติ สำเร็จขึ้น "บันทึกข้อมูลเจ้าหนี้เสร็จเรียบร้อย" - ลบ (
:660-775): ห้ามถ้ารหัสถูกใช้ในic_trans,ic_trans_detail,ap_ar_trans,ap_ar_trans_detail("มีการใช้งานรหัสดังกล่าวในเอกสารหรือรายการซื้อแล้ว ไม่สามารถลบได้") ผ่านแล้วถามยืนยัน ลบap_item_by_supplier,ap_contactor, รูป (images),ap_supplier_detail,ap_supplierและบันทึกประวัติ - Ctrl+S บันทึก Esc ยกเลิกการแก้ (
:784) กดแก้ไขขึ้นกล่องเตือนว่าโปรแกรมจะตรวจว่ามีผู้อื่นเปิดแก้อยู่หรือไม่ พร้อมช่องติ๊ก "ต้องการแสดงหน้าจอนี้อีกในครั้งต่อไป" เป็นกล่องเตือนตามจอเดิมเท่านั้น (:335-360)
5002 รายละเอียดเจ้าหนี้
หน้าเดียวยาว มีแถบ "ข้ามไปยังส่วน" (:1872-1886) ให้เลื่อนไปแต่ละส่วน หัวจอแสดงรหัส 5002:
| ส่วน | เนื้อหา |
|---|---|
| 1 ข้อมูลหลัก | ชุดเดียวกับ 5001 |
| 2 รายละเอียดทั่วไป (และสินเชื่อ) | พนักงานจ่ายเงิน (ค้นหา erp_user) · วิธีการชำระเงิน · วิธีการวางบิล · เงื่อนไขการชำระ · เครดิตการซื้อ · ส่วนลดสินค้า · ส่วนลดท้ายบิล · จำนวนวันเครดิต · กำหนดประเภทภาษี · ประเภทภาษี (ภาษีแยกนอก 0, รวมใน 1, อัตราศูนย์/ยกเว้น 2) · อัตราภาษี % · การขนส่ง · ผูกรหัสบัญชี (ค้นหา gl_chart_of_account) · ระยะเวลาส่งของ (วัน) |
| 3 มิติและกลุ่มเจ้าหนี้ | มิติเจ้าหนี้ 1-10 (ค้นหา ap_dimension) · กลุ่มเจ้าหนี้หลัก (ap_group) และกลุ่มย่อย (ap_group_sub) |
| 4 ผู้ติดต่อ (N) | ลำดับ · ชื่อผู้ติดต่อ · โทรศัพท์ · มือถือ · อีเมล · แผนก · ตำแหน่ง · ที่อยู่ |
| 5 สินค้าตามเจ้าหนี้ (N) | ลำดับ · รหัสสินค้า · ชื่อสินค้า · หมายเหตุ · สถานะ |
| 6 รูปภาพ (5) | ช่องรูป 5 ช่อง อัปโหลดแล้วเก็บ URL ที่ images |
- ชื่อผู้จำหน่าย 1 ถูกประกอบจาก คำนำหน้า+ชื่อ+นามสกุล เมื่อเป็นบุคคลธรรมดา (
updateFullNameIfPersonality,:592) - บันทึก (
:625-910): ตรวจรหัส/ชื่อ → เลขภาษี 13 หลัก + ไม่ซ้ำเฉพาะเลขภาษี (:660-675ต่างจาก 5001 ที่นับสาขาด้วย) → เลขสาขา 5 หลัก → รหัสซ้ำเมื่อเพิ่มใหม่ → ชุดคำสั่ง: INSERT/UPDATEap_supplier, ลบแล้ว INSERT ใหม่ap_supplier_detail, ซิงก์ลบ-ใส่ใหม่ap_contactorและap_item_by_supplier, รูปภาพเฉพาะช่องที่เปลี่ยน, ประวัติ สำเร็จขึ้น "บันทึกข้อมูลรายละเอียดเจ้าหนี้เสร็จเรียบร้อย" (:807-905) - ลบ (
:915-1030) เช็คเหมือน 5001 และลบข้อมูลย่อยตามไปด้วย - Ctrl+S / Esc ที่
:1162; ปุ่ม "ใส่รหัสถัดไปอัตโนมัติ" ที่ช่องรหัส (:1362) - อัปโหลดรูปไม่สำเร็จขึ้น "อัปโหลดรูปภาพไม่สำเร็จ: ..." (
:1145)
ข้อควรระวัง
- กฎตรวจเลขภาษีไม่เหมือนกันระหว่างสองจอเจ้าหนี้: 5001 ยอมให้เลขภาษีเดียวกันซ้ำได้ถ้าเลขสาขาต่างกัน ส่วน 5002 ไม่ยอมซ้ำเลย เจ้าหนี้ที่มีหลายสาขาเลขภาษีเดียวกันจึงบันทึกที่ 5002 ไม่ผ่าน (ตามโค้ดสองไฟล์)
- ลูกหนี้ 6001 ตรวจเลขภาษีไม่ซ้ำแบบไม่นับสาขาเช่นกัน ดู กำหนดลูกหนี้ และรายละเอียดสมาชิก (CustomerScreen, DealerScreen)
- ตรวจแค่ 13 หลัก ไม่ตรวจหลักตรวจสอบ (check digit)
- เจ้าหนี้ถูกอ้างในเอกสารผ่านคอลัมน์
cust_codeของic_trans(ชื่อคอลัมน์ร่วมกับลูกหนี้) ดู หัวเอกสารสินค้า/ซื้อ/ขาย (ic_trans)
ที่มาในโค้ด
frontend/account/master/SupplierScreen.tsx:147รายการ;:194-235โหลด;:275-290รหัสอัตโนมัติ;:335-360เตือนแก้ไข;:395-650บันทึก;:660-775ลบ;:784คีย์ลัดfrontend/account/master/SupplierDetailScreen.tsx:209รายการ;:262-390โหลด;:592ประกอบชื่อ;:625-910บันทึก;:915-1030ลบ;:1162คีย์ลัด;:1872-1886แถบข้ามส่วน;:2313-2323ผู้ติดต่อ;:2511-2518สินค้าfrontend/src/config/schemas/apSupplier.ts:26-195,apSupplierDetail.ts:197-330frontend/account/tabs/screenRegistry.tsx:581-592- ดูเพิ่ม: รายการจอข้อมูลหลักแบบตารางเดียว (IC_MASTER_CONFIGS) · สารบัญหน้าจอทั้งหมดของ SML Ai Account (ต้นไม้เมนู → หน้าจอ → โน้ต)