應付票據(簽收單)
範圍選擇 |
原始程式
原始檔-起始 /*---------( FSACRC72.C )--------*/ #include "W_FSAC.H" #define SX 20 /*左內框 */ #define SY 10 /*上內框 */ #define SC 34 /*內框寬, 多少行 */ #define CNO 2 #define RNO 7 void ShowData(); void ShowLast(); /*================================================================*/ FSACF001_T ACF001; FSACF011_T ACF011; unchar Buf[CNO][RNO][6][32]; double Sum; int Count; int Cnow,Rnow; char *Table="\ \ 應付票據(簽收單) \ ================================ \ 傳票日期: -------- 到: -------- \ \ 資料輸出裝置:-------- \ "; /*===========================================================================*/ void main() { USetBXYN(Table,SX,SY,SC); OPEN_ACF001; OPEN_ACF011; ACF001Tx(); NamS=GET_NAME; while(1) { #include <RPT1.H> if(Field==1) UReadM(BXN(1),&Sday,0,V_WUSR,V_READ); if(Field==2) UReadM(BXN(2),&Eday,0,V_WUSR,V_READ); #include <RPT2.H> /*條件設定完畢*/ /*------------------------------------------------------------------*/ if((Sa=ChkYM(Sday,ON))==0) continue; Sm=Sday.Y*12+Sday.M; Ugd_Open("檔 案 處 理 中 請 稍 候 ....."); Sp=Usp_Open(); READ1(ACF011) { if(memcmp(p->AC,"2141",4)!=0) continue; if(p->DC=='D') continue; if(UMidDate(Sday,p->YM,Eday)==OFF) continue; /* if(p->AC[4]<=SPACE) continue; */ USprint(BufS,"%S-%S-----",&p->RM[8],p->RM); Usp_InsIp(Sp,BufS,L); } READ2 Ugd_Close(); /*------------------------------------------------------------------*/ Ugd_Open("列印中 Ctr_F7:結束列印"); while(RetKey!=ESC) { if(Usp_GetIp(Sp,&L)==OFF) break; lseek(ACF011K->ffd,L*sizeof(ACF011),SEEK_SET); read(ACF011K->ffd,&ACF011,sizeof(ACF011)); Utx_GetS(Tx,Skey,ACF011.AC,8); USprint(BufS,"1102%S-",&ACF011.RM[8]); Utx_GetS(Tx,Ekey,BufS,8); USprint(Buf[Cnow][Rnow][0],"科目: %S------------------ ",Skey); USprint(Buf[Cnow][Rnow][1],"摘要: %S-------------------",&ACF011.RM[12]); USprint(Buf[Cnow][Rnow][2],"金額: %F,$<------- ",ACF011.AMT); USprint(Buf[Cnow][Rnow][3],"帳號: %S------------------ ",Ekey); USprint(Buf[Cnow][Rnow][4],"支票: %S----- 傳票:%S----",ACF011.RM,ACF011.KEY); Sum+=ACF011.AMT; Count++; if(++Rnow>=RNO) { Rnow=0; if(++Cnow>=CNO) ShowData(); } } if(Buf[0][0][0][0]>SPACE) ShowData(); Usp_Close(Sp); LineReturn(OFF); } } /*===========================================================================*/ void ShowHead() { #ifdef HP-5L /*1998/8/27*/ LockItemHead(0,"~I",NamS,"~Z2W1G2L12X16"); #else LockItemHead(0,"~IZ2G2L12X1","","~Z1"); #endif sprintf(TmpS,"%02d.%02d",Sday.Y,Sday.M); UPrint("#傳票自:%M------ 至:%M------ ",Sday,Eday); if(Psf=='V') UPrint(" ------------------------------------------------------ ------------------------------------------------------ "); } /*===========================================================================*/ void ShowData() { int j; UPrint("┌──────────────┬────────────┐ ┌──────────────┬────────────┐"); for(I=0; I<RNO; I++) { if(Buf[0][I][0][0]<=SPACE) continue; if(I!=0) UPrint("├──────────────┼────────────┤ ├──────────────┼────────────┤"); UPrint("│%S------------------------- │ │ │%S--------------------------│ │",Buf[0][I][0],Buf[1][I][0]); UPrint("│%S------------------------- │ │ │%S--------------------------│ │",Buf[0][I][1],Buf[1][I][1]); if(Psf=='P') { #ifdef HP-5L /*1998/8/27*/ UPrint("~Z3;│~W2X10;%S----------------~W1X12; ~X16; │ │ │~W2X10;%S----------------~W1X12; ~X16; │ │~Z2",Buf[0][I][2],Buf[1][I][2]); #else UPrint("~Z2X12;│%S----------------│~X1; │~X12; │%S----------------│~X1; │~Z1;",Buf[0][I][2],Buf[1][I][2]); #endif } else UPrint("│%S---------------- │ │ │%S---------------- │ │",Buf[0][I][2],Buf[1][I][2]); UPrint("│%S------------------------- │ │ │%S--------------------------│ │",Buf[0][I][3],Buf[1][I][3]); UPrint("│%S------------------------- │ │ │%S--------------------------│ │",Buf[0][I][4],Buf[1][I][4]); } UPrint("└──────────────┴────────────┘ └──────────────┴────────────┘"); Cnow=Rnow=0; if(Buf[1][RNO-1][0][0]==NULL) ShowLast(); if(Psf=='P'){ fprintf(Stream,"%c",12); K0=0; } memset(Buf,NULL,sizeof(Buf)); } /*===========================================================================*/ void ShowLast() { K0=1; UPrint(" "); UPrint(" 合計: %f,----------- 共 %I-- 張 ",Sum,Count); Sum=0f; Count=0; } 原始檔-結束
Byron Wey Oct.21.1998