VARIAVEL Z_AAMM = Substr(Dtos(date()),3,4)
VARIAVEL Z_MOVE = ""
VARIAVEL Z_FAT  = ""
VARIAVEL Z_PRERM= ""
*
VARIAVEL Z_NUMPED = 0
VARIAVEL Z_NUMROM = 0
VARIAVEL Z_CLI = 0
VARIAVEL Z_CABDUPS = 0
VARIAVEL Z_CABPRDS = 0
VARIAVEL Z_PRODS = 0
VARIAVEL Z_UNIDS = 0
VARIAVEL Z_TVALOR = 0
VARIAVEL Z_TCUST = 0

T10,10,18,60,Parametros
T2,2,Ano e Mes (AaMm) ....:,4,z_aamm,9999
T4,2,Romaneio de Separacao:,6,z_numrom,999999

COMANDO ANTES DbGoBottom()
COMANDO DEPOIS Z_MOVE = "MOVE"+Z_AAMM
COMANDO DEPOIS Z_FAT  = "FAT"+Z_AAMM
COMANDO DEPOIS Z_PRERM= "PRER"+Z_AAMM

ARQUIVO (Z_PRERM) Z_PreRm+".c" froman
OUTROARQ (Z_FAT) Z_FAT+".p" FNUMPED
OUTROARQ (z_MOVE) z_MOVE+".p" fnumped
OUTROARQ SCCRCLI
OUTROARQ SE_PROD SEIP_C PCOD
OUTROARQ SE_GPRE SE_GPRE GRUPO
OUTROARQ SCCRDUP SCRID_ND CR_NUM_PED

VARIAVEL Z_TIPOVND = ""
VARIAVEL Z_PRAZO = ""

COMANDO ANTES DbSeek(z_numROM)
REPITA ENQUANTO Z_NUMROM = FROMAN

SUBLIST Z_MOVE
COMANDO ANTES Z_NUMPED = Z_PRERM->FNUM
COMANDO ANTES Z_FAT->(DbSeek(z_numPED))
COMANDO ANTES z_CLI = Z_FAT->FCLI
COMANDO ANTES Z_FDATAEMI = Z_FAT->FDATAEMI
COMANDO ANTES Z_FVAL = Z_FAT->FVAL
COMANDO ANTES Z_TIPOVND = "VdaMista"
COMANDO ANTES Z_TIPOVND = Z_FAT->(IF(FTIPOVEN="1","DINHEIRO",z_tipovnd))
COMANDO ANTES Z_TIPOVND = Z_FAT->(IF(FTIPOVEN="2","CHEQUE",Z_TIPOVND))
COMANDO ANTES Z_TIPOVND = Z_FAT->(IF(FTIPOVEN="3","CARTAO",Z_tIPOVND))
COMANDO ANTES Z_TIPOVND = Z_FAT->(IF(FTIPOVEN="4","DUPLICATA",Z_TIPOVND))
COMANDO ANTES Z_PRAZO = Z_FAT->(IF(DAY(FBOMPARA)>0,DTOC(FBOMPARA)+" ("+str(FBOMPARA-FDATAEMI,3)+"dd) ",""))
COMANDO ANTES SCCRCLI->(DbGoto( Z_CLI ))
COMANDO ANTES DbSeek(Z_Numped)
COMANDO ANTES Z_CABPRDS = 0

C Romaneio de entrega a cliente  pag [pag 999]  (Em [Z_FDATAEMI] as [FHORA])
C Cod Descricao                         Quant       Vl. Unit       Vl. Total
C[Repl("-",80)]
REPITA ENQUANTO FNUMPED = Z_NUMPED
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_TVALOR = Z_TVALOR + MVALOR
COMANDO DURANTE Z_PRUNIT = MVALOR/MQUANT
COMANDO DURANTE SE_GPRE->(DbSeek(SE_PROD->PGPRECO))
COMANDO DURANTE Z_MARKUP = if(se_gpre->markup>0, se_gpre->markup, 42.85)
COMANDO DURANTE Z_MVALCUST = MVALOR / (1+Z_MARKUP/100)
COMANDO DURANTE Z_TCUST  = Z_TCUST + Z_MVALCUST
COMANDO DURANTE Z_CAIXAS = MQUANT / IF(SE_PROD->PITENS>0,SE_PROD->PITENS,1)
COMANDO DURANTE Z_CABPRDS = Z_CABPRDS + 1

FILTRO MFGES="S".and.fnumped=z_numped.and.mcodforc=z_cli

FILTROIMP Z_CABPRDS = 1
D[repl(".",80)]

FILTROIMP Z_CABPRDS = 1
DCli[z_cli 9999] [sccrcli->cr_nome]  [z_numped 999999] [Z_TIPOVND] [z_prazo] [PCOD 9999] [SE_PROD->PDESC @s30] [MQUANT @E 9999] [z_prunit @E 999.99]
FILTROIMP Z_CABPRDS <> 1
D.                                       [PCOD 9999] [SE_PROD->PDESC @s30] [MQUANT @E 9999.999]     [z_prunit @E 999,999.99]      [mvalor @E 999,999.99]
FILTROIMP Z_FVAL > 0
ULTPAG.                           Valor do pedido: [Z_FAT->FVAL]

*9999 XXXXXxxxxxXXXXXxxxxxXXXX 999 (9999) 9999.99 9999.99 (9999.99) 99.99.99
FIM SUBLIST

ULTPAG
ULTPAG ** Numero de Produtos.........: [z_prods 9999]
ULTPAG ** Numero de Unidades de Venda: [z_unids @E 9999.999]
ULTPAG ** TOTAL DA VENDA ............: [z_tvalor 999,999,999.99]
