มีใบตรวจฝั่งลูกค้าแล้ว เลยคิดต่อ ทำฝั่งบริษัทผู้จำหน่ายด้วยเลย แถมให้ครับ Take it, modify it and use it as you like. Human's knowledge belongs to the world.

(ยืมคำมาจากในหนังน่ะ ฮะฮะ) อยากสร้างให้เป็น จุดศูนย์รวมควบคุมเจ้าหนี้ (และลูกหนี้) Control center for AP and AR ดูแล้วสะดวกดีเลยคันมือ ขีดขีดเขียนเขียนเล่นครับดีดนิ้วไม่กี่ที แต่มีประโยชน์ต่อมวลชน ถ้า Express อยากนำไปบรรจุไว้ในโปรแกรมก็เชิญได้ตามสบายเลยครับ (แปะชื่อ
ppitaksu@yahoo.com ไว้หน่อยก็พอ ขอเอี่ยวแค่ชื่อ

อิอิ) นำรายงานนี้ไปทับใน เมนูจ่าหน้าซองเจ้าหนี้ (ซื้อข้อ6) ลองดูนะครับ ถ้าพบข้อผิดพลาดขอได้โปรดช่วยแก้ไขและแจ้งเพื่อทราบจักขอบคุณยิ่ง
* APMASCRE.RL -- พิมพ์ใบตรวจสอบวงเงินสินเชื่อ
*
[report frame]
Ti::~T_RR1 ~T_RR2 ~T_CP1 ~T_CP2 ~T_GR1 ~T_GR2 ~T_PS1 ~T_PS2 ~T_HP1 ~T_HP2
Ti:~RESET_PAGE ^$Bใบตรวจสอบวงเงินสินเชื่อ $B^
Ti: หน้า ~PAGE
Ti:รหัสบริษัท ~SUPCOD ประเภท ~SUPTYP วันที่ \DATE
Ti:ชื่อ ~SUPNAM
Bo:ที่อยู่ ~ADDR01
Bo: ~ADDR_02 ยอดยกมา ~BEGBAL
Bo:โทร. ~TELNUM ยอดซื้อเครดิต ~TOTPUR
Bo:เครดิต ~TRM วัน เงื่อนไขการชำระเงิน ~PAYCOND ยอดชำระรวม ~TOTPS
Bo:หมายเหตุ ~REMARK ยอดคงค้าง $B~BALANCE $B
Bo: ยอดซื้อสด ~TOTHPUR
Bo:$Eสถานะหนี้สิน$E ~CLRSUM
*
Ih: ***ใบกำกับคงค้าง*** ;1 APTRN->SUPCOD APMAS->SUPCOD
Ih: เลขที่ วันที่ เลขบิลเจ้าหนี้ วันครบกำหนด จำนวนเงิน
Ih: ---------- -------- ---------- ---------- -------------
*Ib: ~F~RRCNUM ~RRCDAT ~RRSNUM ~RRCDUE ~RRCAMT ;1
Ib: ~RRCNUM ~RRCDAT ~RRSNUM ~RRCDUE ~RRCAMT ;1
If: ------------- ;1
If: รวม ~SUMRRC
If: =============
If:
*
Ih: ***ใบสั่งซื้อค้างรับ*** ;2 POPRIT->SUPCOD APMAS->SUPCOD
Ih: เลขที่ วันที่ วันที่นัดรับ ค้างรับ จำนวนเงิน สินค้า
Ih: ---------- -------- ---------- -------- ------------- -----------------------------------
Ib: ~PONUM ~N ~PODAT ~PORCV ~POREMQ ~POAMT ~POSTKDES ;2
If: ------------- ;2
If: รวม ~SUMPO
If: =============
*If: $Bหมายเหตุ:$B เอกสารที่มีเครื่องหมาย '>' นำหน้า คือ เอกสารที่รออนุมัติให้เกินวงเงิน
If:
*
Ih: ***เช็คที่ยังไม่ผ่านบัญชี*** ;3 BKTRN->CUSCOD+BKTRN->CHQSTAT APMAS->SUPCOD+'0'
Ih: วันที่เช็ค เลขที่เช็ค ธนาคาร จำนวนเงิน อ้างถึงใบกำกับ จำนวนเงิน
Ih: -------- ---------- ------ -------------
Ib: ~CHQDAT ~CHQNUM ~BANK ~CHQAMT ;3
Ih:: ;5 APRCPCQ->CHQNUM BKTRN->CHQNUM
Ib: ~REFRCP ~REFAMT ;5
If: ------------- ;3
If: รวม ~SUMCHQ
If: =============
If:
**
*Ih: ***รายการประวัติเช็คคืน*** ;4 BKTRN->CUSCOD+BKTRN->CHQSTAT APMAS->SUPCOD+'2'
*Ih: วันที่เช็ค เลขที่เช็ค ธนาคาร จำนวนเงิน เหตุผลเช็คคืน
*Ih: -------- ---------- ------ ------------- --------------------------------------------
*Ib: ~CHQDAT ~CHQNUM ~BANK ~RETAMT ~CHQREM ;4
**Ih:: ;5 APRCPCQ->CHQNUM BKTRN->CHQNUM
**Ib: ~REFRCP ~REFAMT ;5
*If: ------------- ;4
*If: รวม ~SUMRET
*If: =============
Ih: ***เงินมัดจำจ่ายคงเหลือ*** ;6 APTRNX->SUPCOD APMAS->SUPCOD
Ih: เลขที่ วันที่ จำนวนเงินเดิม จำนวนเงินคงเหลือ
Ih: ---------- -------- ------------- --------------
Ib: ~AENUM ~AEDAT ~AENET ~AEAMT ;6
If: -------------- ;6
If: รวม ~SUMAE
If: ==============
If:
*
Su:
Su:$Eสรุป$E
Su: วงเงินอนุมัติ ~CRLINE บาท
Su: ใบกำกับคงค้าง ~SUMRRC ~SUMRRC_OK
Su: เช็คจ่ายยังไม่ผ่าน ~SUMCHQ ~SUMCHQ_OK
Su: รวมยอดหนี้ $B~TOTDEB $B
Su: เกินวงเงิน ~OVRLINE
Su: -------------
Su: บวก ใบสั่งซื้อค้างรับ ~SUMPO
Su: หัก ใบจ่ายเงินมัดจำคงเหลือ $_~SUMAE $_
Su: -------------
Su: เกินวงเงินสินเชื่อทั้งสิ้น ~TOTOVR
Su: =============
Su: หมายเหตุ: ~HREM1
Su: ~HREM2
Su: ~HREM3
Su: ~HREM4
Su: ~HREM5
Su:
*Su: จัดทำโดย ตรวจสอบโดย อนุมัติโดย
*Su: ______________ ______________ ______________
[end frame]
[print options]
Top=0
Right=105
Lines=123
*Output=Select, Printer, Screen, File,
Output=Screen
File Name=APMAST.TXT
Fix Foot Line=OFF
Select Scope=OFF
*Form=ON
Select Page=OFF
Select Paper=15_Inch, 8_Inch, Default
*8_Inch=\027\033\004
8_Inch=\027\033\000\027\103
15_Inch=\027\033\001
*Fix Summary Line=ON
*Condition=SLMCOD='1234567890'.and.AREACOD='12'
[range of report]
From=CUR
[master file]
File=APMAS
Alias=A
Tag=APMAS1
System=DATA_PATH
Filter=CRLINE > 0
[item file]
File=APTRN
Alias=B
Tag=APTRN9
System=DATA_PATH
File=POPRIT
Alias=C
Index=POPRITT.TMP
Tag=POPRIT
Key=SUPCOD
System=DATA_PATH
*Filter=REMQTY > 0 .and. PORECTYP = '0' <---ที่ฟิลเตอร์ ต้องระบุให้แสดงเฉพาะ เรคคอร์ดที่ไม่ถูกลบ ด้วย ตามบรรทัดล่างนี้
Filter=REMQTY > 0 .and. PORECTYP = '0' .and. .not.deleted()
File=BKTRN
Alias=D
Tag=BKTRN8
System=DATA_PATH
File=APRCPCQ
Alias=E
Tag=APRCPCQ2
System=DATA_PATH
File=APTRNX
Clone From=APTRN
Alias=X
Tag=APTRN9
System=DATA_PATH
Filter=APTRNX->RECTYP='0'.AND.APTRNX->REMAMT#0
[relate file]
*File=OESLM
*Alias=R
*Tag=OESLM1
*System=DATA_PATH
*Master file=ARMAS
*Master-Related Field=SLMCOD
File=POPR
Alias=S
Tag=POPR1
System=DATA_PATH
Master file=POPRIT
Master-Related Field=PONUM
File=APBAL
Alias=T
Tag=APBAL1
System=DATA_PATH
Master file=APMAS
Master-Related Field=SUPCOD
File=BKMAS
Alias=L
Tag=BKMAS1
System=DATA_PATH
Master file=BKTRN
Master-Related Field=BNKACC
[data spec]
* len (0)default, (>0)cut, (<0)cut to new line
*~dat: len, "pict", "data", "exp"
~T_RR1: 0, "", "", "t_rr = APBAL->RR1+APBAL->RR2+APBAL->RR3+APBAL->RR4+APBAL->RR5+APBAL->RR6+APBAL->RR7+APBAL->RR8+APBAL->RR9+APBAL->RR10+APBAL->RR11+APBAL->RR12"
~T_RR2: 0, "", "", "t_rr = t_rr +APBAL->RR1NY+APBAL->RR2NY+APBAL->RR3NY+APBAL->RR4NY+APBAL->RR5NY+APBAL->RR6NY+APBAL->RR7NY+APBAL->RR8NY+APBAL->RR9NY+APBAL->RR10NY+APBAL->RR11NY+APBAL->RR12NY"
~T_CP1: 0, "", "", "t_cp = APBAL->CP1+APBAL->CP2+APBAL->CP3+APBAL->CP4+APBAL->CP5+APBAL->CP6+APBAL->CP7+APBAL->CP8+APBAL->CP9+APBAL->CP10+APBAL->CP11+APBAL->CP12"
~T_CP2: 0, "", "", "t_cp = t_cp +APBAL->CP1NY+APBAL->CP2NY+APBAL->CP3NY+APBAL->CP4NY+APBAL->CP5NY+APBAL->CP6NY+APBAL->CP7NY+APBAL->CP8NY+APBAL->CP9NY+APBAL->CP10NY+APBAL->CP11NY+APBAL->CP12NY"
~T_GR1: 0, "", "", "t_gr = APBAL->GR1+APBAL->GR2+APBAL->GR3+APBAL->GR4+APBAL->GR5+APBAL->GR6+APBAL->GR7+APBAL->GR8+APBAL->GR9+APBAL->GR10+APBAL->GR11+APBAL->GR12"
~T_GR2: 0, "", "", "t_gr = t_gr +APBAL->GR1NY+APBAL->GR2NY+APBAL->GR3NY+APBAL->GR4NY+APBAL->GR5NY+APBAL->GR6NY+APBAL->GR7NY+APBAL->GR8NY+APBAL->GR9NY+APBAL->GR10NY+APBAL->GR11NY+APBAL->GR12NY"
~T_PS1: 0, "", "", "t_ps = APBAL->PS1+APBAL->PS2+APBAL->PS3+APBAL->PS4+APBAL->PS5+APBAL->PS6+APBAL->PS7+APBAL->PS8+APBAL->PS9+APBAL->PS10+APBAL->PS11+APBAL->PS12"
~T_PS2: 0, "", "", "t_ps = t_ps +APBAL->PS1NY+APBAL->PS2NY+APBAL->PS3NY+APBAL->PS4NY+APBAL->PS5NY+APBAL->PS6NY+APBAL->PS7NY+APBAL->PS8NY+APBAL->PS9NY+APBAL->PS10NY+APBAL->PS11NY+APBAL->PS12NY"
~T_HP1: 0, "", "", "t_hp = APBAL->HP1+APBAL->HP2+APBAL->HP3+APBAL->HP4+APBAL->HP5+APBAL->HP6+APBAL->HP7+APBAL->HP8+APBAL->HP9+APBAL->HP10+APBAL->HP11+APBAL->HP12"
~T_HP2: 0, "", "", "t_hp = t_hp +APBAL->HP1NY+APBAL->HP2NY+APBAL->HP3NY+APBAL->HP4NY+APBAL->HP5NY+APBAL->HP6NY+APBAL->HP7NY+APBAL->HP8NY+APBAL->HP9NY+APBAL->HP10NY+APBAL->HP11NY+APBAL->HP12NY"
~RESET_PAGE: 0, "", "", "page=0"
~PAGE: 0, "999", "page", "page=page+1"
~SUPCOD: 0, "", "A->SUPCOD", ""
~SUPTYP: 0, "", "p_istab( A->SUPTYP,46,1,40)", ""
~SUPNAM: 0, "", "name", "name = A->PRENAM - ' ' - A->SUPNAM"
~ADDR01: 0, "", "A->ADDR01", ""
~ADDR02: 0, "", "A->ADDR02", ""
~ADDR03: 0, "", "A->ADDR03", ""
~ADDR_02: 0, "", "addr_02", "addr_02 = IIF(A->ADDR03=' ', A->ADDR02 - ' ' - A->ZIPCOD, A->ADDR02+' ')"
~ADDR_03: 0, "", "addr_03", "addr_03 = IIF(A->ADDR03#' ', A->ADDR03 - ' ' - A->ZIPCOD, A->ADDR03+' ')"
~ADDR: 0, "", "addr", "addr = A->ADDR01 - ' ' - A->ADDR02 - ' ' - A->ADDR03 - ' ' - A->ZIPCOD"
~ZIP: 0, "", "APMAS->ZIPCOD", ""
~TELNUM: 0, "", "A->TELNUM", ""
~CONTRACT: 0, "", "A->CONTRACT", ""
~TRM: 0, "", "A->PAYTRM", ""
~PAYCOND: 0, "", "A->PAYCOND", ""
~REM_NB: 0, "", "has_remark", "has_remark=IIF(A->REMARK=' ',': ','หมายเหตุ')"
~REMARK: 0, "", "A->REMARK", ""
~CRLINE: 0, "99,999,999.99", "A->CRLINE", ""
*~SLMCOD: 0, "", "A->SLMCOD", ""
*~SLMNAM: 20, "", "OESLM->SLMNAM", ""
*~AREA: 20, "", "p_istab( A->AREACOD, 40, 1, 30 )", ""
~BEGBAL: 0, "99,999,999.99", "APBAL->BEGBAL", ""
~TOTPUR: 0, "999,999,999.99", "totpur", "totpur=t_rr+t_cp"
~TOTPS: 0, "999,999,999.99", "totps", "totps=t_gr+t_ps"
~BALANCE: 0, "99,999,999.99", "A->BALANCE", ""
~TOTHPUR: 0, "999,999,999.99", "tothpur", "tothpur=t_hp"
~CLRSUM: 0, "", "", "sumrrc=0; sumpo=0; sumchq=0; sumret=0; sumae=0"
~F: 0, "", "ovrline", "ovrline=IIF(APTRN->DOCSTAT='O',' >',' ' )"
~RRCNUM: 0, "", "APTRN->DOCNUM", ""
~RRSNUM: 0, "", "APTRN->REFNUM", ""
~RRCDAT: 0, "", "dat", "dat=IIF(APTRN->RECTYP='9',APTRN->DUEDAT,APTRN->DOCDAT)"
~RRCDUE: 0, "", "dat", "dat=IIF(APTRN->RECTYP='9',APTRN->DOCDAT,APTRN->DUEDAT)"
~RRCAMT: 0, "99,999,999.99", "rrcamt", "rrcamt=IIF(APTRN->RECTYP='5',APTRN->REMAMT*-1,APTRN->REMAMT); sumrrc=sumrrc+rrcamt"
~RRCTRM: 0, "", "APTRN->PAYTRM", ""
*~RRCSLM: 0, "", "APTRN->SLMCOD", ""
~SUMRRC: 0, "99,999,999.99", "sumrrc", ""
~SUMRRC_OK: 0, "", "sumrrc_ok", "sumrrc_ok = IIF(STR(sumrrc,15,2)=STR(APMAS->BALANCE,15,2), ' ', '<-ยอดไม่ถูกต้อง')"
~PONUM: 0, "", "POPRIT->PONUM", ""
~N: 0, "", "POPRIT->SEQNUM", ""
~PODAT: 0, "", "POPR->PODAT", ""
~PORCV: 0, "", "POPRIT->RCVDAT", ""
~POAMT: 0, "99,999,999.99", "remain", "remain=( POPRIT->TRNVAL / POPRIT->ORDQTY) * POPRIT->REMQTY; sumpo=sumpo+remain"
~SUMPO: 0, "99,999,999.99", "sumpo", ""
~POSTKDES: 35, "", "POPRIT->STKDES", ""
~POREMQ: 0, "9,999.99", "poremq", "poremq=POPRIT->REMQTY"
~CHQDAT: 0, "", "BKTRN->CHQDAT", ""
~CHQNUM: 0, "", "BKTRN->CHQNUM", ""
*~BANK: 0, "", "p_istab( BKTRN->BNKCOD, 01, 0, 6 )", ""
*~BANK: 0, "", "BKTRN->BNKACC", ""
~BANK: 0, "", "BKMAS->SHORTNAM", ""
~CHQAMT: 0, "99,999,999.99", "BKTRN->NETAMT", "sumchq=sumchq+BKTRN->NETAMT"
~CHQREM: 44, "", "BKTRN->REMARK", ""
~SUMCHQ: 0, "99,999,999.99", "sumchq", ""
~SUMCHQ_OK: 0, "", "sumchq_ok", "sumchq_ok = IIF(STR(sumchq,15,2)=STR(APMAS->CHQPAY,15,2), ' ', '<-ยอดไม่ถูกต้อง')"
~REFRCP: 0, "", "APRCPCQ->RCPNUM", ""
~REFAMT: 0, "99,999,999.99", "APRCPCQ->PAYAMT", ""
~RETAMT: 0, "99,999,999.99", "BKTRN->NETAMT", "sumret=sumret+BKTRN->NETAMT"
~SUMRET: 0, "99,999,999.99", "sumret", ""
~TOTDEB: 0, "99,999,999.99", "totdeb", "totdeb = sumrrc+sumchq"
~OVRLINE: 0, "99,999,999.99", "overline", "overline = APMAS->BALANCE + APMAS->CHQPAY - APMAS->CRLINE; over=overline+sumpo-sumae; overline=IIF(overline<=0, 0, overline)"
~TOTOVR: 0, "**,***,**9.99", "over", "over = IIF(over > 0, over, 0)"
~AENUM: 0, "", "aenum", "aenum=APTRNX->DOCNUM"
~AEDAT: 0, "", "dat", "dat=APTRNX->DOCDAT"
~AENET: 0, "99,999,999.99", "aenet", "aenet=APTRNX->NETAMT"
~AEAMT: 0, "99,999,999.99", "aeamt", "aeamt=APTRNX->REMAMT; sumae=sumae+aeamt"
~SUMAE: 0, "99,999,999.99", "sumae", ""
~HREM1: 0, "", "x1", "x1=@p_hrem( A->SUPCOD,1 )"
~HREM2: 0, "", "x2", "x2=@p_hrem( A->SUPCOD,2 )"
~HREM3: 0, "", "x3", "x3=@p_hrem( A->SUPCOD,3 )"
~HREM4: 0, "", "x4", "x4=@p_hrem( A->SUPCOD,4 )"
~HREM5: 0, "", "x5", "x5=@p_hrem( A->SUPCOD,5 )"