VARIAVEL Z_AAMM = right( str(year(date()),4), 2) + strzero( month(date()) ,2) 
VARIAVEL z_pfnum = 0 
VARIAVEL z_pfnumped = 0 
VARIAVEL z_pffor = 0 
* 
VARIAVEL Z_MOVE = "" 
VARIAVEL Z_FATF = "" 
T10,10,18,60,Parametros 
T5,2,Ano e Mes (AaMm) da Nota Fiscal.....:,4,z_aamm,9999 
 
COMANDO ANTES DbGoBottom() 
COMANDO DEPOIS Z_MOVE = "MOVE"+Z_AAMM 
COMANDO DEPOIS Z_FATF = "FATF"+Z_AAMM 
 
ARQUIVO (Z_FATF) Z_FATF PFNUM 
OUTROARQ (z_MOVE) z_MOVE+".f" mfnum 
OUTROARQ SCCPFOR 
OUTROARQ SE_PROD SEIP_C PCOD 
VARIAVEL Z_NUMNOTAS = 0 
VARIAVEL Z_PRODS = 0 
VARIAVEL Z_UNIDS = 0 

*- FILTRO PFNUM>0 .and. pficmBnorm+pficmBfont+pficmisent <> pfbaseicms
FILTRO PFNUM>0 .and. pficmBnorm+pficmBfont+pficmisent =0 

C[SISTEMA]                                       pag [Z_NUMNOTAS 999] 
CConsistencia nas Bases de ICMs                           em [s_datual] as [time()] 
C[repl("-",80)] 
CFornecedor     Prds Unds     NF  Chegada CFOP    Valor %ICMs  BASEICMS  bsNORMAL bsFONTE ISENTAs  ICMnormal ICMfonte difBASE difCRED
C[Repl("=",80)] 

COMANDO DURANTE z_pfnum  = pfnum
COMANDO DURANTE z_pffor  = PFFOR
COMANDO DURANTE z_pfnumped = PFNUMPED

COMANDO DURANTE Z_PFFOR     = PFFOR 
COMANDO DURANTE Z_PFDATACHE = PFDATACHE 
COMANDO DURANTE Z_PFVAL     = PFVAL 
COMANDO DURANTE Z_PFTOTICMS = PFTOTICMS 
COMANDO DURANTE Z_PFVALRET  = PFVALRET 
COMANDO DURANTE Z_PRCUSTO   = PFVAL - PFVALRET 

COMANDO DURANTE Z_NUMNOTAS   = Z_NUMNOTAS + 1 
COMANDO DURANTE Z_PRODS      = 0 
COMANDO DURANTE Z_UNIDS      = 0 
COMANDO DURANTE Z_PFICMBNORM = 0

SUBLIST Z_MOVE 

   COMANDO ANTES DbSeek(z_pfnum) 
   REPITA ENQUANTO MFNUM = z_pfnum 
   FILTRO MFGES="E".and.mquant>0.and.mfnum=z_pfnum.and.mcodforc=z_pffor.and.fnumped=z_pfnumped
   COMANDO DURANTE Z_PCOD = PCOD 
   COMANDO DURANTE Z_PRODS = Z_PRODS + 1 
   COMANDO DURANTE Z_UNIDS = Z_UNIDS + MQUANT 
   COMANDO DURANTE sccpfor->(DBgoto(Z_pffor)) 
   COMANDO DURANTE SE_PROD->(DBSEEK(Z_PCOD)) 

   COMANDO DURANTE Z_PFICMBNORM = Z_PFICMBNORM + if(.not."F"$se_prod->pcategoria.and..not."I"$se_prod->pcategoria,mvalor,0)
   
   COMANDO DEPOIS z_fg_atua = (z_prods>0)
   COMANDO DEPOIS if(z_fg_atua,z_fatf->(reglock()),)
   COMANDO DEPOIS if(z_fg_atua,z_fatf->(Put_Var("pfIcmBNorm",Z_PFICMBNORM)),)
   COMANDO DEPOIS if(z_fg_atua,z_fatf->(Put_Var("pfIcmBFont",pfbaseicms-pfIcmBNorm-pficmisent)),)
   COMANDO DEPOIS if(z_fg_atua,z_fatf->(Put_Var("pfIcmFonte",pfIcmBFont*pftaxaicms/100)),)
   COMANDO DEPOIS if(z_fg_atua,z_fatf->(Put_Var("pfIcmNorma",pftoticms-pfIcmFonte)),)
   
   COMANDO DEPOIS zstring = z_fatf->( str(pfnum,6)+" "+dtoc(pfdatache)+" "+PFCODOP+" "+str(PFVAL,8,2)+" "+str(pftaxaicms,5,2)+"% " )
   COMANDO DEPOIS zstring = zstring+" "+z_fatf->( str(PFBASEICMS,8,2)+" "+str(pfIcmBNorm,8,2)+" "+str(pfIcmBfont,8,2)+" "+str(pfIcmIsenta,8,2)+" "+str(pfIcmNorma,8,2)+" "+str(pfIcmfonte,8,2) )
   COMANDO DEPOIS ZDIF1    = z_fatf->( PFBASEICMS - pfIcmBNorm - pfIcmBfont )
   COMANDO DEPOIS ZDIF2    = z_fatf->( PFTOTICMS  - pfIcmNormA - pfIcmfontE )
   COMANDO DEPOIS zstring = zstring+" "+str(zdif1,8,2)+" "+str(zdif2,8,2)

   ULTPAG [z_pffor 999]-[sccpfor->cp_fantasi @s10] [z_prods 999] [z_unids 9999] [zstring]

FIM SUBLIST 
 
ULTPAG *** Notas Listadas: [Z_NUMNOTAS 9999]