//RELATORIO DE PRODUTOS PARA BALANÇO COM LOTES
ALIAS SE_PROD

INDEX SEIP_N PDESC
OUTROARQ sccpfab
OUTROARQ se_lotes se_lotes str(pcod,6)+cr_situaca+plote
VARIAVEL LST_TP = 58                           
VARIAVEL Z_LETINI = " "
VARIAVEL Z_LETFIM = " "
VARIAVEL Z_numlst = recc()
VARIAVEL Z_posini = 1
VARIAVEL Z_Ordem = 0
VARIAVEL Z_Listados = 1
VARIAVEL Z_EOF = .F.
VARIAVEL Z_GIRO = " "
VARIAVEL Z_GPRECO = " "
VARIAVEL Z_tipolst = 0
VARIAVEL Z_POSICAO = SPAC(8)

variavel zpcod=0
variavel zpdesc = ""
variavel zpitens = 0
variavel zpeatual = 0

COMANDO ANTES Z_NIL = IF( Z_LETINI<>" ", DbSeek( Z_Letini ), "")
COMANDO DURANTE sccpfab->( DBGOTO(SE_PROD->PPRINCFORN) )
COMANDO DURANTE Z_FANTASIA = sccpfab->Cp_Fantasi
COMANDO DURANTE Z_ORDEM = Z_ORDEM + 1
COMANDO DURANTE Z_LISTADOS = IF(Z_ORDEM>=Z_Posini, Z_LISTADOS + 1, Z_LISTADOS)
COMANDO DURANTE Z_EOF = IF( (Z_LETFIM<>" ".AND.LEFT(PDESC,1)>Z_LETFIM) .or. z_listados>z_numlst, .t., .f.)

REPITA ENQUANTO !Z_EOF

FILTRO Z_POSICAO=SPAC(8).OR.ALLTRIM(Z_POSICAO)=LEFT(PPOSICAO,LEN(ALLTRIM(Z_POSICAO)))
FILTRO (Z_LETINI=" ".OR.LEFT(PDESC,1)>=Z_LETINI) .AND. (Z_LETFIM=" ".OR.LEFT(PDESC,1)<=Z_LETFIM)
FILTRO Z_LISTADOS <= Z_NUMLST .AND. (Z_GIRO=" ".OR.Z_GIRO=PABCFISICA) .and. (z_gpreco=" ".or.z_gpreco=pgpreco)
FILTRO Z_tipolst=0.or.(z_tipolst=1.and.peatual=0).or.(z_tipolst=2.and.peatual>0)

T07,07,18,73,Parametros
T2,2,Posicao a ser listada.............................:,8,z_posicao,@s8
T3,2,Letra Inicial a ser listada.......................:,1,z_letini,!
T4,2,Letra Final a ser listada.........................:,1,z_letfim,!
T5,2,Classe Volume a ser listada.......................:,1,z_giro,!
T6,2,Grupo de Precos a ser listado.....................:,1,z_gpreco,!
T7,2,Numero na pagina do primeiro produto a ser listado:,4,z_posini,9999
T8,2,Quantidade de produtos a listar para o Balanco....:,4,z_numlst,9999
T9,2,Produtos a Listar (0-Todos 1-Zerados 2-Com_Estoque:,1,z_tipolst,9

VARIAVEL sPrtLineLen = 93
C
C [Empresa] $ Data [Date()]
C [Sistema] $ Hora [Time()]
C Produtos para Balanco $ Pag [Pag 9999]
C *** Letra Inicial:[z_letini] ate [z_letfim], Quantidade: [z_numlst 999999] $ Numero_Inicial:[z_posini 9999]    
C---------------------------------------------------------------------------------------------
C[*TC 6L,25,3L,4L,4L,5,12,10,10]Cod$Apresentacao$Frc$Est$Un.Lot$Fabr$Lote$Venc
C---------------------------------------------------------------------------------------------

sublist se_lotes
comando antes zpcod=se_prod->pcod
comando antes se_lotes->(DbSeek(str(zpcod,6)))
comando antes zpdesc = se_prod->pdesc
comando antes zpitens = se_prod->pitens
comando antes zpeatual = se_prod->peatual
comando antes ztotlote = se_lotes->peatbal
comando antes ztotlmqu = se_lotes->Mquant
comando antes ztotlmqa = se_lotes->Mqatend
repita enquanto zpcod=pcod
filtro cr_situaca="A"
COMANDO DURANTE Z_LOTE = sE_LOTES->PLOTE
COMANDO DURANTE Z_Venc = sE_LOTES->data_venc
FILTROIMP Z_ORDEM >= Z_POSINI
D[zpcod 999999]$[zpdesc @s25]$[zpitens 999]$[zpeatual 9999]$[ztotlote+Mquant-Mqatend 9999]$[Z_FANTASIA @s12]$[z_lote @s10]$[z_venc]
fim sublist