VARIAVEL LST_TP = 58
COMANDO ANTES DbGoBottom()
COMANDO ANTES SetAliasAaMm( Z_aamm )

ARQUIVO (wsf_fatF) wsf_fatF PFNUM
OUTROARQ (wse_mov) wse_mov_F mfnum
OUTROARQ SCCPFOR
OUTROARQ SE_PROD SEIP_C PCOD
VARIAVEL Z_NUMNOTAS = 0
VARIAVEL Z_PRODS = 0
VARIAVEL Z_UNIDS = 0
VARIAVEL Z_TPVENDA = 0
VARIAVEL Z_MARGEM    = 0
VARIAVEL Z_MARKUP    = 0

COMANDO ANTES zfgFound = DbSeek(Z_nf)
COMANDO ANTES znil = if( zfgFound, alert('achou '+str(Z_nf)), alert('NAO achou '+str(Z_nf)))
REPITA ENQUANTO Z_NF = PFNUM
FILTRO (z_numped=0.OR.Z_NUMPED=pfnumped) .AND. (Z_FORN=0.OR.Z_FORN=PFFOR)
* COMANDO DURANTE z_numped    = if(z_numped=0,pfnumped,z_numped)
* COMANDO DURANTE z_forn      = if(z_Forn=0,pffor,z_forn)
COMANDO DURANTE Z_NUMNOTAS  = Z_NUMNOTAS + 1
COMANDO DURANTE Z_PFFOR     = PFFOR
COMANDO DURANTE SCCPFOR->(DBGOTO(Z_PFFOR))
COMANDO DURANTE Z_PFNUMPED  = PFNUMPED
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_NIL       = if(Z_NUMNOTAS>1,__Eject(),"")
COMANDO DURANTE Z_PRODS     = 0
COMANDO DURANTE Z_UNIDS     = 0
COMANDO DURANTE Z_TPVENDA    = 0
* COMANDO DURANTE DbGoBottom()

D[SISTEMA]                                       pag [Z_NUMNOTAS 999]
DProdutos de Nota de Entrada                              em [s_datual] as [time()]
D[repl("-",80)]
DNota Fiscal: [strzero(z_nf,6)]   Pedido: [strzero(z_pfnumped,6)]   Chegada: [z_pfdatache]   Forn: ([z_pffor 9999]) [sccpfor->cp_fantasi @s10]
D[Repl("-",80)]
DCod  Apresentacao                  Quant PrCusto PrVenda Margem  Markup  PrTotal
D[Repl("=",80)]

SUBLIST wse_mov

COMANDO ANTES DbSeek(Z_Nf)
REPITA ENQUANTO MFNUM = Z_Nf
FILTRO MFGES$"EN".and.mquant>0.and.(z_nf=0.or.mfnum=z_nf).and.(z_pffor=0.or.mcodforc=z_pffor).and.(z_pfnumped=0.or.fnumped=z_pfnumped)
COMANDO DURANTE Z_PCOD = PCOD
COMANDO DURANTE SE_PROD->(DBSEEK(Z_PCOD))
COMANDO DURANTE Z_PRODS = Z_PRODS + 1
COMANDO DURANTE Z_UNIDS = Z_UNIDS + MQUANT
COMANDO DURANTE Z_TPVENDA = Z_TPVENDA + se_prod->Pvluvenda*Mquant
COMANDO DURANTE Z_PCU = MVALOR/MQUANT
COMANDO DURANTE Z_PVU = SE_PROD->PVLUVENDA
COMANDO DURANTE Z_MARGEM = IF(Z_PVU>0, (Z_PVU-Z_PCU)/Z_PVU*100, 0)
COMANDO DURANTE Z_MARKUP = IF(Z_PCU>0, Z_PVU/Z_PCU*100, 0) - 100
COMANDO DURANTE Z_MCODFORC = MCODFORC
COMANDO DURANTE SCCPFOR->(DbGoto(Z_MCODFORC))

D[PCOD 999999] [SE_PROD->PDESC] [mquant 9999] [Z_PCU 9999.99] [Z_PVU 9999.99] [Z_MARGEM 99.99]% [Z_MARKUP 999.99]% [MVALOR 9999.99][SE_PROD->PGPRECO]

COMANDO DEPOIS Z_MARGEM = IF(Z_TPVENDA>0, (Z_TPVENDA-Z_PFVAL)/Z_TPVENDA*100, 0)
COMANDO DEPOIS Z_MARKUP = IF(Z_PRCUSTO>0, Z_TPVENDA/Z_PRCUSTO*100-100, 0)
ULTPAG[Repl("-",80)]
ULTPAG** Prods:[z_prods 9999]   Total_da_NF:[Z_pfval 999,999.99]   Pr_Custo:[Z_PrCusto 999,999.99]   Margem_NF:[z_Margem 999.99]%
ULTPAG** Unids:[z_unids 9999]   ICM_Retido.:[Z_pfvalRET 999,999.99]   Pr_Venda:[Z_TPVENDA 999,999.99]   Markup_NF:[z_Markup 999.99]%
ULTPAG[Repl(".",80)]
FIM SUBLIST
