external id : string = param; { idn dokumentu } var sn,sv,sb: real; n22,v22,n7,v7,n5,v5,n3,v3,n0,nz,br: real; rr,dat,pref,mag,kth,nr,dd,tp,stan,plik,ll: string; ok: boolean; fx,i,l: integer; {----} procedure PlikName; begin { pref/99999/05 -> pref + 99999/05 } i:=pos('/', id); l:=length(id); pref:=copy(id,1,i-1); plik:=copy(id,i+1,l-i); { 99999/05 -> 99999 } i:=pos('/', plik); plik:=copy(plik,1,i-1); plik:='..\DoSQL\'+pref+plik; end; {----} begin ok:=On; stan:=fs_Dok('FLAGA'); { message(id+' >'+stan+'<');} if ( stan <> 'T' ) and ( stan <> 'X' ) and ( stan <> 'A' ) then begin dat:=fs_Dok('DW'); { data wpisu } kth:=fs_Dok('KTH'); { kontrahent } mag:=fs_Dok('MAG1'); { magazyn } nr :=fs_Dok('NP'); { obcy nr dokumentu } dd :=fs_Dok('DWP'); { z dnia - data obcego } tp :=fs_Dok('TP'); { termin p’atno˛ci } rr :=fs_Dok('rf'); { rodzaj nic/RR } sn:=fr_Dok('n','Sum'); sn:=round(sn,-2); sv:=fr_Dok('v','Sum'); sv:=round(sv,-2); sb:=fr_Dok('b','Sum'); sb:=round(sb,-2); n22:=fr_Dok('n','22'); n22:=round(n22,-2); v22:=fr_Dok('v','22'); v22:=round(v22,-2); n7:=fr_Dok('n','7'); n7:=round(n7,-2); v7:=fr_Dok('v','7'); v7:=round(v7,-2); n5:=fr_Dok('n','5'); n5:=round(n5,-2); v5:=fr_Dok('v','5'); v5:=round(v5,-2); n3:=fr_Dok('n','3'); n3:=round(n3,-2); v3:=fr_Dok('v','3'); v3:=round(v3,-2); n0:=fr_Dok('n','0'); n0:=round(n0,-2); nz:=fr_Dok('n','Zw'); nz:=round(nz,-2); br:=fr_Dok('n','Br'); br:=round(br,-2); Call PlikName; fx:=fi_OpenTxtEmpty(plik); ok:=fb_WriteTxt(fx,'Z|'+id); ll:='|'+id+'|,|'+dat+'|,|'+nr+'|,|'+kth+'|,|'+rr+'|,'; ok:=fb_WriteTxt(fx,ll+n22+','+v22+','+n7+','+v7+','+n5+','+v5+','+n3+','+v3+','+n0+','+nz+','+br); ok:=fb_Close(fx); end else if ( stan = 'T' ) then begin Call PlikName; fx:=fi_OpenTxtEmpty(plik); ok:=fb_WriteTxt(fx,'A|'+id); ok:=fb_Close(fx); end; ok:=On; return(ok); end.