'Nome       : Invent.std
'Tipo       : LST
'Data       : 2010/04/02
'Versao     : 2.2
'Descricao  : Inventario de Stocks

'=============================================================================
'#VER - Historia de modificacoes
'=============================================================================
'- Versao : 2.2   ____/__/__ -------------------------------------------------
'Listagem de inventario de um armazem para ELCEL
'Ajustes diversos

'- Versao : 2.1a  2008/07/22 -------------------------------------------------
'Correccao de listagem de inventario por armazem discriminado+listagem grafica

'- Versao : 2.1   2008/02/15 -------------------------------------------------
'Ao apresentar a taxa de IVA, considerar o pais definido na empresa

'- Versao : 2.0b  2007/11/29 -------------------------------------------------
'Inventario por armazens, listar 4 armazens

'- Versao : 2.0a  2007/09/11 -------------------------------------------------
'Na listagem grafica por armazem nao apresentava o numero do armazem

'- Versao : 2.0   2006/10/10 -------------------------------------------------
'Listagem para Excel

'- Versao : 1.4d  2006/09/28 -------------------------------------------------
'Correccao estetica das listagens graficas

'- Versao : 1.4c  2006/07/27 -------------------------------------------------
'Permitir listar linha Resumo (Res)

'- Versao : 1.4b  2005/10/20 -------------------------------------------------
'correcção ortográfica

'- Versao : 1.4a  2003/07/29 -------------------------------------------------
'Disponibilizar limites usados pelo programa
'Criacao de inventario mais completo
'Ajustes de margens no controlo de existencias

'- Versao : 1.4   2003/02/27 -------------------------------------------------
'Impressao grafica

'- Versao : 1.3   2002/05/16 -------------------------------------------------
'permitir listar um maximo de 100 armazens em vez de 20

'- Versao : 1.2b  2001/10/16 -------------------------------------------------
'ajustar contador de linhas ao imprimir os  totais

'- Versao : 1.2a  2000/10/24 -------------------------------------------------
'imprimir total de quantidades no controle de existencias

'- Versao : 1.2   2000/03/03 -------------------------------------------------
'alteracoes nos formatos de impressao

'- Versao : 1.1d  1999/12/28 -------------------------------------------------
'Controlo de existencias - nao usava as opcoes de valorizacao definidas no video
'de listagem

'- Versao : 1.1c  1999/11/19 -------------------------------------------------
'Inventarios de artigos - nao usava as opcoes de valorizacao definidas no video
'de listagem
'Inventario de Um armazem - Correccao de listagem de totais

'- Versao : 1.1b  1999/10/04 -------------------------------------------------
'inventarios de artigos - nao mostrava existencias em valor

'- Versao : 1.1a  1999/05/24 -------------------------------------------------
'valor das existencias, a ser consultado por funcao 

'- Versao : 1.1   1999/05/06 -------------------------------------------------
'Correccao dos valores no inventario

'- Versao : 1.0a  1998/11/29 -------------------------------------------------
'Correccao de totalizadores e titulos

'- Versao : 1.0   1998/10/09 -------------------------------------------------
'Versao base


'==============================================================================
#DEF - Definicao global do documento
'==============================================================================
Caracteres invalidos             [CarInv]=#
Subtotalizadores                 [SbtNiv]=2
##


'==============================================================================
#ESP - Campos especificos
'==============================================================================
Tipo de armazens                    [TARZ]=?
Numero de armazens                  [NARZ]=?
##


'==============================================================================
#DOC - Inventario de artigos
'==============================================================================
Tipo                       [DocTip]=InvArt
Nome                       [DocNom]=InvArtL,Artigos

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=LstTot=1
                           [DocEsp]=LstTit=1
'funcoes de listagem
Listar cabecalho            [FxCAB]=InvArt_Cab
Listar linhas               [FxLIN]=InvArt_Lin;Inf,3;Res
Listar fim                  [FxFIM]=InvArt_Fim
##


'==============================================================================
#DOC - Inventario de artigos
'==============================================================================
Tipo                       [DocTip]=InvArt
Nome                       [DocNom]=InvArtL2,Artigos (Exi+Prc_Org+Pv)

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=LstTot=1
                           [DocEsp]=LstTit=1
'funcoes de listagem
Listar cabecalho            [FxCAB]=InvArt2_Cab
Listar linhas               [FxLIN]=InvArt2_Lin; Inf,3 ;Res
Listar fim                  [FxFIM]=InvArt2_Fim
##


'==============================================================================
#DOC - Inventario de artigos (Grafico)
'==============================================================================
Tipo                       [DocTip]=InvArt
Nome                       [DocNom]=InvArtL_G,Artigos

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=57
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=LstTot=1
                           [DocEsp]=LstTit=1
'funcoes de listagem
Listar cabecalho            [FxCAB]=InvArtG_Cab
Listar linhas               [FxLIN]=InvArtG_Lin; Inf; Res
Listar fim                  [FxFIM]=InvArtG_Fim
##


'==============================================================================
#DOC - Inventario de artigos (Grafico)
'==============================================================================
Tipo                       [DocTip]=InvArt
Nome                       [DocNom]=InvArt2L_G,Artigos (Exi+Prc_Org+Pv)

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=57
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=LstTot=1
                           [DocEsp]=LstTit=1
'funcoes de listagem
Listar cabecalho            [FxCAB]=InvArt2G_Cab
Listar linhas               [FxLIN]=InvArt2G_Lin;Inf
Listar fim                  [FxFIM]=InvArt2G_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=InvArt
Nome                       [DocNom]=InvArt_XLS,Artigos (XLS)

'formato
Saida/Impressora           [DocPrt]=NULA
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=LstTot=1
                           [DocEsp]=LstTit=1

'funcoes de listagem
Base para documento         [FxDOC]=XlsInvArt
Listar cabecalho            [FxCAB]=XlsInvArt_Cab
Listar linhas               [FxLIN]=XlsInvArt_Lin,0; Inf,0
Listar fim                  [FxFIM]=XlsInvArt_Fim

Matriz auxiliar            [DocMat]=StcInv.xls
##


'==============================================================================
#DOC - Controlo Existencias
'==============================================================================
Tipo                       [DocTip]=CtrExi
Nome                       [DocNom]=CtrExiL,Controlo de Existências

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=132
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=LstTot=1
                           [DocEsp]=LstTit=1
'funcoes de listagem
Listar cabecalho            [FxCAB]=CExi_Cab
Listar linhas               [FxLIN]=CExi_Lin;Inf,3;Res
Listar fim                  [FxFIM]=CExi_Fim
##


'==============================================================================
#DOC - Controlo Existencias  (Grafico)
'==============================================================================
Tipo                       [DocTip]=CtrExi
Nome                       [DocNom]=CtrExiL_G,Controlo de Existências

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=56
Colunas por linha          [DocCol]=132
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=LstTot=1
                           [DocEsp]=LstTit=1
'funcoes de listagem
Listar cabecalho            [FxCAB]=CExiG_Cab
Listar linhas               [FxLIN]=CExiG_Lin;Inf;Res
Listar fim                  [FxFIM]=CExig_Fim
##


'==============================================================================
#DOC - Inventario Um Armazem
'==============================================================================
Tipo                       [DocTip]=InvArz
Nome                       [DocNom]=InvArz,Um Armazém

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=ArzLstTip=2
                           [DocEsp]=ArzLst=?1
                           [DocEsp]=LstTot=1
                           [DocEsp]=LstTit=1
'funcoes de listagem
Listar cabecalho            [FxCAB]=InvArz_Cab
Listar linhas               [FxLIN]=InvArz_Lin;Inf,3;Arz;Res
Listar fim                  [FxFIM]=InvArz_Fim
##


'==============================================================================
#DOC - Inventario Um Armazem  - (Grafico)
'==============================================================================
Tipo                       [DocTip]=InvArz
Nome                       [DocNom]=InvArz_G,Um Armazém

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=ArzLstTip=2
                           [DocEsp]=ArzLst=?1
                           [DocEsp]=LstTot=1
                           [DocEsp]=LstTit=1
'funcoes de listagem
Listar cabecalho            [FxCAB]=InvArzG_Cab
Listar linhas               [FxLIN]=InvArzG_Lin;Inf;Arz;Res
Listar fim                  [FxFIM]=InvArzG_Fim
##


'==============================================================================
#DOC - Inventario Um Armazem
'==============================================================================
Tipo                       [DocTip]=InvArz
Nome                       [DocNom]=InvArz_Xls,Um Armazém (XLS)

'formato
Saida/Impressora           [DocPrt]=NULA
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=ArzLstTip=2
                           [DocEsp]=ArzLst=?1
                           [DocEsp]=LstTot=1
                           [DocEsp]=LstTit=1
'funcoes de listagem
Base para documento         [FxDOC]=XlsInvArz
Listar cabecalho            [FxCAB]=XlsInvArz_Cab
Listar linhas               [FxLIN]=XlsInvArz_Lin,0; Inf,0; Arz,0; Res,0
Listar fim                  [FxFIM]=XlsInvArz_Fim


Matriz auxiliar            [DocMat]=StcInv.xls
##


'==============================================================================
#DOC - Inventario por armazem
'==============================================================================
Tipo                       [DocTip]=InvArzM
Nome                       [DocNom]=InvArzM,Por Armazém

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=132
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=ArzLstTip=2
                           [DocEsp]=ArzLst=1,2,3,4
                           [DocEsp]=LstTot=1
                           [DocEsp]=LstTit=1
'funcoes de listagem
Listar cabecalho            [FxCAB]=InvArzM_Cab
Listar linhas               [FxLIN]=InvArzM_Lin;Inf,3;Res
Listar fim                  [FxFIM]=InvArzM_Fim
##


'==============================================================================
#DOC - Inventario por armazem (grafico)
'==============================================================================
Tipo                       [DocTip]=InvArzM
Nome                       [DocNom]=InvArzM_G,Por Armazém

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=57
Colunas por linha          [DocCol]=132
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=ArzLstTip=2
                           [DocEsp]=ArzLst=1,2,3,4
                           [DocEsp]=LstTot=1
                           [DocEsp]=LstTit=1
'funcoes de listagem
Listar cabecalho            [FxCAB]=InvArzMG_Cab
Listar linhas               [FxLIN]=InvArzMG_Lin;Inf;Res
Listar fim                  [FxFIM]=InvArzMG_Fim
##


'==============================================================================
#DOC - Inventario armazem descriminado
'==============================================================================
Tipo                       [DocTip]=InvArzD
Nome                       [DocNom]=InvArzD,Armazém (Discriminado)

'formato
Saida/Impressora           [DocSai]=1
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=ArzLstTip=1
                           [DocEsp]=LstTot=1
                           [DocEsp]=LstTit=1

'funcoes de listagem
Listar cabecalho            [FxCAB]=InvArzD_Cab
Listar linhas               [FxLIN]=InvArzD_Lin,2;Inf,3; Arz; Res
Listar fim                  [FxFIM]=InvArzD_Fim
##


'==============================================================================
#DOC - Inventario armazem descriminado (grafico)
'==============================================================================
Tipo                       [DocTip]=InvArzD
Nome                       [DocNom]=InvArzD_G,Armazém (Discriminado)

'formato
Saida/Impressora           [DocPrt]=PAG_W
Linhas por pagina          [DocLpg]=56
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0
Especifico do documento    [DocEsp]=ArzLstTip=1
                           [DocEsp]=LstTot=1
                           [DocEsp]=LstTit=1

'funcoes de listagem
Listar cabecalho            [FxCAB]=InvArzDG_Cab
Listar linhas               [FxLIN]=InvArzDG_Lin,2;Inf;Arz;Res
Listar fim                  [FxFIM]=InvArzDG_Fim
##


'==============================================================================
#VAR - Variaveis
'==============================================================================
Pag       = Doc_CntPag
DataExt   = FrmVal$(Sig_DtHoje,45,0)
LimArt    = "Artigos: "+ MemTxt$(2)
ValStk    = "Valorização: "+ MemTxt$(3)
Art       = StcCodFrm$("")                

Nom       = left$(Stc_Mst_Nome1$,27)
Nom35     = left$(Stc_Mst_Nome1$,35)
Nome      = Stc_Mst_Nome1$

Qent      = StcQuFrm$(Stc_Acm_Qent,13,"")
Qsai      = StcQuFrm$(Stc_Acm_Qsai,13,"")

Vent      = FrmMoe$("",14,Stc_Acm_Vent)
Vsai      = FrmMoe$("",14,Stc_Acm_Vsai)

TQent     = StcQuFrm$(Total(Qent),13,"")
TQsai     = StcQuFrm$(Total(Qsai),13,"")
TQexi     = StcQuFrm$(Total(ExiQ),13,"")
TVent     = FrmMoe$("",14,Total(Vent))
TVsai     = FrmMoe$("",14,Total(Vsai))
TVexi     = FrmMoe$("",14,Total(ExiV))

TgQu      = FrmVal$(Total(Qu),21,15.3)
TgVt      = FrmMoe$("",17,Total(Vt))
Qu        = StcQuFRm$(StcArtExi$("Q"),14,"")
Vu        = FrmMoe$("",9,MemNum(50)/StcArtExi$("Q"))
Vt        = FrmMoe$("",11,MemNum(50))

Frn       = Stc_Mst_FrnUlt$
Upc       = FrmMoe$("",10,Stc_Acm_Upc)
PO        = FrmMoe$("",10,Stc_Mst_PrcOrg)
PV1       = FrmMoe$("",10,Stc_Mst_PV1)
PV2       = FrmMoe$("",10,Stc_Mst_PV2)
Iva       = " "+EmpTabCon$("IVA",EmpTabCon$("PAIS",Emp_Inf_Pais,"IVA"),Stc_Mst_CodIva,"PER")+"%"

TxInf1    = MemTxt$(11)
TxInf2    = MemTxt$(12)
TxInfTot  = MemTxt$(11)+" : "+MemTxt$(12)

ExiQ      = StcQuFrm$(StcArtExi$("Q"),13,"")
ExiV      = FrmMoe$("",14,MemNum(50))

TPExiQ    = StcQuFrm$(Total(ExiQ,1),15,"")
TPExiV    = FrmMoe$("",18,Total(ExiV,1))

ArzNum1   = MemNum(101)
ArzNum2   = MemNum(102)
ArzNum3   = MemNum(103)
ArzNum4   = MemNum(104)

ExiArzQT  = StcQuFrm$(MemNum(200),12,"")
ExiArzQ1  = StcQuFrm$(MemNum(201),12,"")
ExiArzQ2  = StcQuFrm$(MemNum(202),12,"")
ExiArzQ3  = StcQuFrm$(MemNum(203),12,"")
ExiArzQ4  = StcQuFrm$(MemNum(204),12,"")

ExiArzVT  = FrmMoe$("",13,MemNum(300))
ExiArzV1  = FrmMoe$("",13,MemNum(301))
ExiArzV2  = FrmMoe$("",13,MemNum(302))
ExiArzV3  = FrmMoe$("",13,MemNum(303))
ExiArzV4  = FrmMoe$("",13,MemNum(304))

TExiArzQ1 = StcQuFrm$(Total(ExiArzQ1),12,"")
TExiArzQ2 = StcQuFrm$(Total(ExiArzQ2),12,"")
TExiArzQ3 = StcQuFrm$(Total(ExiArzQ3),12,"")
TExiArzQ4 = StcQuFrm$(Total(ExiArzQ4),12,"")
TExiArzQT = StcQuFrm$(Total(ExiArzQT),12,"")

TExiArzV1 = FrmMoe$("",13,Total(ExiArzV1))
TExiArzV2 = FrmMoe$("",13,Total(ExiArzV2))
TExiArzV3 = FrmMoe$("",13,Total(ExiArzV3))
TExiArzV4 = FrmMoe$("",13,Total(ExiArzV4))
TExiArzVT = FrmMoe$("",13,Total(ExiArzVT))

TitTotFam  = "Total de Familia          :    "+MemTxt$(12)
TitTotSfam = "Total de Sub-Familia :    "+MemTxt$(12)

'inventario por armazem discriminado
vArzDisN   = MemNum(101)

vArzDisQ   = StcQuFrm$(MemNum(201),12,"")
vArzDisV   = FrmMoe$("",13,MemNum(301))

tArzDisQ   = StcQuFrm$(Total(vArzDisQ),12,"")
tArzDisV   = FrmMoe$("",13,Total(vArzDisV))

##


'==============================================================================
#INC - Variaveis comuns
'==============================================================================
Variaveis  comuns                 =[SIG_Dir.Div],LsComVar.std
##


'==============================================================================
#PGM - Programa/Funcoes
'==============================================================================
'- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
'- (13) --->'Comentario
'- (25) --------------->'Comentario
'- (28) ------------------>'Comentario
'- (40) ------------------------------>'Comentario
'- (43) --------------------------------->'Comentario
'- (46) ------------------------------------>'Comentario
'- (49) --------------------------------------->'Comentario
'- (52) ------------------------------------------>'Comentario
'- (55) --------------------------------------------->'Comentario
'- (58) ------------------------------------------------>'Comentario
'- (61) --------------------------------------------------->'Comentario
'- (64) ------------------------------------------------------>'Comentario
'- (67) --------------------------------------------------------->'Comentario
'- (70) ------------------------------------------------------------>'Comentario


'------------------------------------------------------------------------------
'DIV - Funcoes diversas
'------------------------------------------------------------------------------
Sub Lst_AJT 'ajuste
'nada a executar
end sub


Sub FxIni 'funcao de inicializacao
Call SigLstIni                                           'inicializar listagem
FimDoc=272                                               'posicao final do documento
End sub


Sub AjtCntLin 'ajustar contador de linhas
if MemNum(11) = 302 then                                 'total de subfamilia
   cnt=Doc_CntLin-2                                      'ajustar contagem
   tmp=CntLin("FRC",cnt)                                 'decrementar contador linhas
end if

if MemNum(11)=301 then                                   'total de familia
   cnt=Doc_CntLin-2                                      'ajustar contagem
   tmp=CntLin("FRC",cnt)                                 'decrementar contador linhas
end if
End sub


'------------------------------------------------------------------------------
'- Inventario de Artigos ------------------------------------------------------
'------------------------------------------------------------------------------
Sub InvArt_Cab 'listar cabecaçho
FxDiv LstIde,10CPI,0
?
print TxTit$("TT=12CPI, LD, PT=48C, TL=10CPI","Inventario de Artigos")
?Data : @DataExt                                                 Folha No : @Pag#
?@LimArt                                                      @ValStk           #
?================================================================================
?    Codigo              Designacao           Quant    Unitario  Valor Total  Iva
?================================================================================
end sub


Sub InvArt_Lin 'listar linha
?@Art           @Nom                       @Qu          @Vu       @Vt        @Iva#
end sub


Sub InvArt_LinInf 'listar informacao
'Listar Titulos
if MemNum(11)=201                   'titulo de familia
?--------------------------------------------------------------------------------
?@TxInf2        @TxInf1                                                         #
?--------------------------------------------------------------------------------
end if

if MemNum(11)=202                   'titulo de subfamilia
?--------------------------------------------------------------------------------
?@TxInf2        @TxInf1                                                         #
?--------------------------------------------------------------------------------
end if

'Listar Totais
if MemNum(11)=301 then                                   'total de familia
   print tab(12) "Total da Familia : " MemTxt$(12);
   print tab(37) FrmVal$(Total("Qu",1),21,12.3);        
   print tab(60) FrmMoe$("",17,Total("Vt",1))        
   x=TotLpz(1)                                           'azerar totalizador de familia
end if

if MemNum(11)=302 then                                   'total de subfamilia
   print tab(10) "Total da Sub-Familia : " MemTxt$(12);
   print tab(37) FrmVal$(Total("Qu",2),21,12.3);
   print tab(60) FrmMoe$("",17,Total("Vt",2))
   x=TotLpz(2)                                           'azerar totalizador de sub-familia
end if
Call AjtCntLin                                           'ajustar contador linhas
end Sub


SUB InvArt_Fim 'terminar listagem
?================================================================================
?           Total Geral           @TgQu                     @TgVt               #
?================================================================================
FxDiv LstPer,SP
end sub


'------------------------------------------------------------------------------
'- Inventario de Artigos  (Precos e existencias) ------------------------------
'------------------------------------------------------------------------------
Sub InvArt2_Cab 'listar cabecalho
FxDiv LstIde,10CPI,0
?
print TxTit$("TT=12CPI, LD, PT=48C, TL=10CPI","Inventario de Artigos,  Existências e Preços")
?Data : @DataExt                                                Folha No : @Pag#
Print PrtCmd$("[16CPILN]");
?==================================================================================================================================
?      Codigo      Designacao                    Fornecedor   Quantidade   Preço Orig.   U.P.Compra   P.Venda 1   P.Venda 2   Iva
?==================================================================================================================================
end sub


Sub InvArt2_Lin 'listar linha
?@Art           @Nom35                              @FRN        @Qu          @PO          @UPC        @PV1        @PV2        @IVA#
End sub


Sub InvArt2_LinInf 'listar informacao
Listar Titulos
if MemNum(11)=201                   'titulo de familia
?----------------------------------------------------------------------------------------------------------------------------------
?Familia: @TxInf2        @TxInf1                                               #
?----------------------------------------------------------------------------------------------------------------------------------
end if

if MemNum(11)=202                   'titulo de subfamilia
?----------------------------------------------------------------------------------------------------------------------------------
?@TxInf2        @TxInf1                                                        #
?----------------------------------------------------------------------------------------------------------------------------------
end if

'Listar Totais
if MemNum(11)=301 then                                   'total de familia
   print tab(12) "Total da Familia : " MemTxt$(12);
   print tab(62) FrmVal$(Total("Qu",1),21,12.3)        
   x=TotLpz(1)                                           'azerar totalizador de familia
end if

if MemNum(11)=302 then                                   'total de subfamilia
   print tab(12) "Total da Sub-Familia : " MemTxt$(12);
   print tab(62) FrmVal$(Total("Qu",2),21,12.3)
   x=TotLpz(2)                                           'azerar totalizador de sub-familia
end if
Call AjtCntLin                                           'ajustar contador linhas
end Sub


SUB InvArt2_Fim 'terminar listagem
?==================================================================================================================================
?           Totais:                                             @Qu                                                               #
?==================================================================================================================================
FxDiv LstPer,SP
end sub


'------------------------------------------------------------------------------
'- Controlo de Existencias ----------------------------------------------------
'------------------------------------------------------------------------------
SUB CExi_Cab 'listar cabecalho
FxDiv LstIde,16CPI,0
Print TxTit$("TT=16CPI, LD, PT=66C, TL=16CPI","Controlo de Existencias")
?Data : @DataExt                                                                                                   Folha No : @Pag#
?@LimArt                                                                                                         @ValStk          #
?==================================================================================================================================
?                                                 Entradas                         Saidas                      Existencias
?     Codigo         Designacao            Quantidade          Valor    Quantidade          Valor    Quantidade          Valor
?==================================================================================================================================
end sub


SUB CExi_Lin 'listar linha
?@Art            @Nom                      @Qent         @Vent          @Qsai         @Vsai          @ExiQ         @ExiV          #
End sub


Sub CExi_LinInf 'listar informacao
'Listar Titulos
if MemNum(11)=201                   'titulo de familia
?----------------------------------------------------------------------------------------------------------------------------------
?@TxInf2                 @TxInf1                                                        #
?----------------------------------------------------------------------------------------------------------------------------------
end if

if MemNum(11)=202                   'titulo de subfamilia
?----------------------------------------------------------------------------------------------------------------------------------
?@TxInf2                 @TxInf1                                                        #
?----------------------------------------------------------------------------------------------------------------------------------
end if

'Listar Totais
if MemNum(11)=301 then                                   'total de familia
   print tab(12) "Total da Familia     : " MemTxt$(12);
   print tab(52) FrmMoe$("",19,Total("Vent",1));        
   print tab(81) FrmMoe$("",19,Total("Vsai",1));
   print tab(110) FrmMoe$("",19,Total("ExiV",1))        
   x=TotLpz(1)                                           'azerar totalizador de familia
end if

if MemNum(11)=302 then                                   'total de subfamilia
   print tab(12) "Total da Sub-Familia : " MemTxt$(12);
   print tab(52) FrmMoe$("",19,Total("Vent",2));        
   print tab(81) FrmMoe$("",19,Total("Vsai",2));
   print tab(110) FrmMoe$("",19,Total("ExiV",2))        
   x=TotLpz(2)                                           'azerar totalizador de sub-familia
end if
Call AjtCntLin                                           'ajustar contador linhas
end Sub


SUB CExi_Fim 'terminar listagem
?==================================================================================================================================
?      Total Geral                         @TQent        @TVent         @TQsai        @TVsai         @TQexi        @TVExi         #
?==================================================================================================================================
FxDiv LstPer,SP
end sub


'------------------------------------------------------------------------------
'- Inventario de um armazem ---------------------------------------------------
'------------------------------------------------------------------------------
Sub InvArz_Cab 'listar cabecalho
FxDiv LstIde,10CPI,0
?
tit$="Inventario do Armazem :"+str$(MemNum(101))
print TxTit$("TT=12CPI, LD, PT=48C, TL=10CPI",tit$)
?Data : @DataExt                                                Folha No : @Pag#
?@LimArt                                                      @ValStk          #
?================================================================================
?Codigo                  Nome                      Exi. Qu.        Exi. Valor
?================================================================================
end sub


Sub InvArz_LinArz 'listar linha de armazem
?@Art             @Nom                            @ExiArzQ1       @ExiArzV1     #
end sub


Sub InvArz_LinInf 'listar informacao
'Listar Titulos
if MemNum(11)=201                   'titulo de familia
?--------------------------------------------------------------------------------
?@TxInf2        @TxInf1                                                         #
?--------------------------------------------------------------------------------
end if

if MemNum(11)=202                   'titulo de subfamilia
?--------------------------------------------------------------------------------
?@TxInf2        @TxInf1                                                         #
?--------------------------------------------------------------------------------
end if

'Listar Totais
if MemNum(11)=301 then                                   'total de familia
   print tab(12) "Total da Familia : " MemTxt$(12);
   print tab(46) FrmVal$(Total("ExiArzQ1",1),21,12.3);        
   print tab(61) FrmMoe$("",18,Total("ExiArzV1",1))        
   x=TotLpz(1)                                           'azerar totalizador de familia
end if

if MemNum(11)=302 then                                   'total de subfamilia
   print tab(12) "Total da Sub-Familia : " MemTxt$(12);
   print tab(46) FrmVal$(Total("ExiArzQ1",2),21,12.3);        
   print tab(61) FrmMoe$("",18,Total("ExiArzV1",2))        
   x=TotLpz(2)                                           'azerar totalizador de sub-familia
end if
Call AjtCntLin                                           'ajustar contador linhas
end Sub


SUB InvArz_Fim 'terminar listagem
?================================================================================
?Totais                                           @TExiArzQ1      @TExiArzV1    #
?================================================================================
FxDiv LstPer,SP
end sub


'------------------------------------------------------------------------------
'- Inventario por armazem (multiplos armazens) --------------------------------
'------------------------------------------------------------------------------
Sub InvArzM_Cab 'listar cabecalho
FxDiv LstIde,16CPI,0
print TxTit$("TT=16CPI, LD, PT=66C, TL=16CPI","Inventario por Armazem")
?Data : @DataExt                                                                                                    Folha No : @Pag#
?@LimArt                                                                                                          @ValStk          #
?===================================================================================================================================================================
?Codigo                  Nome                        ArZm @ArzNum1           ArZm @ArzNum2          ArZm @ArzNum3           ArZm @ArzNum4          Total           #
?                                               Quant.       Valor      Quant.      Valor      Quant.       Valor      Quant.       Valor     Quant.       Valor   #
?===================================================================================================================================================================
end sub


Sub InvArzM_Lin 'listar linha
?@Art            @Nom                       @ExiArzQ1  @ExiArzV1    @ExiArzQ2  @ExiArzV2    @ExiArzQ3  @ExiArzV3    @ExiArzQ4  @ExiArzV4    @ExiArzQT  @ExiArzVT   #
'                                           <23456789.><23456789.12><23456789.><23456789.12><23456789.><23456789.12><23456789.><23456789.12><23456789.><23456789.12>
end sub

?===================================================================================================================================================================
'@Art            @Nom                      @ExiArzQ1 @ExiArzV1      @ExiArzQ2 @ExiArzV2      @ExiArzQ3 @ExiArzV3      @ExiArzQ4 @ExiArzV4    @ExiArzQT @ExiArzVT   #
                                           <A1 467.12><V345,789.1><A2 467.12><V345,789.1><A3 467.12><V345,789.1><A4 467.12><V345,789.1><VT 467.12><V345,789.1>
                                            <23456789.><23456789.12><23456789.><23456789.12><23456789.><23456789.12><23456789.><23456789.12><23456789.><23456789.12>


Sub InvArzM_LinInf 'listar informacao
'Listar Titulos
if MemNum(11)=201                   'titulo de familia
?-------------------------------------------------------------------------------------------------------------------------------------------------------------------
?@TxInf2                 @TxInf1                                                        #
?-------------------------------------------------------------------------------------------------------------------------------------------------------------------
end if

if MemNum(11)=202                   'titulo de subfamilia
?-------------------------------------------------------------------------------------------------------------------------------------------------------------------
?@TxInf2                 @TxInf1                                                        #
?-------------------------------------------------------------------------------------------------------------------------------------------------------------------
end if


'Listar Totais
if MemNum(11)=301 then                                   'total de familia
   print tab(002) "Total da Familia     : " MemTxt$(12);

   print tab(045) FrmNum$(07.2,Total("ExiArzQ1",1));
   print tab(055) FrmNum$(10.2,Total("ExiArzV1",1));

   print tab(069) FrmNum$(07.2,Total("ExiArzQ2",1));
   print tab(079) FrmNum$(10.2,Total("ExiArzV2",1));

   print tab(093) FrmNum$(07.2,Total("ExiArzQ3",1));
   print tab(103) FrmNum$(10.2,Total("ExiArzV3",1));

   print tab(117) FrmNum$(07.2,Total("ExiArzQ4",1));
   print tab(127) FrmNum$(10.2,Total("ExiArzV4",1));

   print tab(141) FrmNum$(07.2,Total("ExiArzQT",1));
   print tab(151) FrmNum$(10.2,Total("ExiArzVT",1))       

   x=TotLpz(1)                                           'azerar totalizador de familia
end if

if MemNum(11)=302 then                                   'total de subfamilia
   print tab(002) "Total da Sub-Familia : " MemTxt$(12);

   print tab(045) FrmNum$(07.2,Total("ExiArzQ1",1));
   print tab(055) FrmNum$(10.2,Total("ExiArzV1",1));

   print tab(069) FrmNum$(07.2,Total("ExiArzQ2",1));
   print tab(079) FrmNum$(10.2,Total("ExiArzV2",1));

   print tab(093) FrmNum$(07.2,Total("ExiArzQ3",1));
   print tab(103) FrmNum$(10.2,Total("ExiArzV3",1));

   print tab(117) FrmNum$(07.2,Total("ExiArzQ4",1));
   print tab(127) FrmNum$(10.2,Total("ExiArzV4",1));

   print tab(141) FrmNum$(07.2,Total("ExiArzQT",1));
   print tab(151) FrmNum$(10.2,Total("ExiArzVT",1))       

   x=TotLpz(2)                                           'azerar totalizador de sub-familia
end if
Call AjtCntLin                                           'ajustar contador linhas
end Sub


SUB InvArzM_Fim 'terminar listagem
?===================================================================================================================================================================
?         Totais                            @TExiArzQ1 @TExiArzV1   @TExiArzQ2 @TExiArzV2   @TExiArzQ3 @TExiArzV3   @TExiArzQ4 @TExiArzV4   @TExiArzqT @TExiArzVT  #
?===================================================================================================================================================================
FxDiv LstPer,SP
end sub


'------------------------------------------------------------------------------
'- Inventario de Armazens (Discriminado) --------------------------------------
'------------------------------------------------------------------------------
Sub InvArzD_Cab 'listar cabecalho
FxDiv LstIde,16CPI,0
?
print TxTit$("TT=12CPI, LD, PT=48C, TL=10CPI","Inventario Discriminado de Armazem")
?Data : @DataExt                                                Folha No : @Pag#
?@LimArt                                                      @ValStk          #
?===============================================================================
?                                                        Existencia
?Codigo            Nome                         Quantidade          Valor
?===============================================================================
end sub


Sub InvArzD_Lin 'linha de artigo
?
?@Art             @Nom                           @ExiQ           @ExiV         #
end sub


Sub InvArzD_LinArz 'linha de armazem
?    Armazem : @vArzDisN                          @vArzDisQ       @vArzDisV    #

'x=TotLpz(1)                                         'azerar totalizador parcial                                                                 
end sub


Sub InvArzD_LinInf 'listar informacao
'Listar Titulos
if MemNum(11)=201                   'titulo de familia
?-------------------------------------------------------------------------------
?@TxInf2        @TxInf1                                                        #
?-------------------------------------------------------------------------------
end if

if MemNum(11)=202                   'titulo de subfamilia
?-------------------------------------------------------------------------------
?@TxInf2        @TxInf1                                                        #
?-------------------------------------------------------------------------------
end if

'Listar Totais
if MemNum(11) = 301 then                                 'total de familia
   txEq$ = FrmVal$(TotCon("vArzDisQ",1),21,12.3)         'formatar quantidade
   txEv$ = FrmMoe$("",16,Total("vArzDisV",1))            'formatar valor

   print tab(12) "Total da Familia     : " MemTxt$(12);  'identificacao
   print tab(46) txEq$;                                  'quantidade
   print tab(63) txEv$                                   'valor

   x=TotLpz(1)                                           'azerar totalizador de familia
end if

if MemNum(11) = 302 then                                 'total de subfamilia
   txEq$ = FrmVal$(TotCon("vArzDisQ",2),21,12.3)         'formatar quantidade
   txEv$ = FrmMoe$("",16,Total("vArzDisV",2))            'formatar valor

   print tab(12) "Total da Sub-Familia : " MemTxt$(12);  'identificacao
   print tab(46) txEq$;                                  'quantidade
   print tab(63) txEv$                                   'valor

   x=TotLpz(2)                                           'azerar totalizador de sub-familia
end if

Call AjtCntLin                                           'ajustar contador linhas
end Sub


SUB InvArzD_Fim 'terminar listagem
?===============================================================================
FxDiv LstPer,SP
end sub


'==============================================================================
'GRF - Formato dos documentos em modo grafico ---------------------------------
'==============================================================================
Sub Listar_TitulosG 'titulos da listagem
PrWIN AJT_B,  Margem, InicioLinhas+Doc_CntLin*4          'posicao base
Listar=0

If MemNum(11)=201 then 
   Listar=1                  'titulo familia
end if

If MemNum(11)=202 then
   Listar=1                  'titulo sub-familia
end if

if Listar=1 then
   PrWIN COR_T,CorTraco                                  'cor de linhas
   PrWIN GR_LI,     0,  0, Cmax, 0                       'linha
   PrWIN GR_LI,     0,  4, Cmax, 4            	         'linha
   PrWIN COR_T,     CorTit
   PrWIN FON, "BOLD+"
   PrWIN  TX_N,     Col1+10, 0   ,@txinf2
   PrWIN  TX_N,     Col2+20, 0   ,@txinf1
   PrWIN FON, "BOLD-"
end if
End sub


'------------------------------------------------------------------------------
'- Inventario de Artigos - (Grafico) ------------------------------------------
'------------------------------------------------------------------------------
Sub InvArtG_Cab 'listar cabecalho
SigCabNorOpcTit=2 		                         'alterar origem do titulo
Titulo$="Inventário de Artigos"
Call SigLstCab

Lin1=0.5                                                 'linha 1
Lin2=5                                                   'linha 2

TCol1=   5
TCol2=  60
TCol3= 100
TCol4= 123
TCol5= 152
TCol6= 182
TCol7= 190
Cmax=TCol7

PrWIN COR_T,  CorTitLst                                  'cor de titulo
PrWIN FON  ,   10,   1                                   'activar fonte
PrWIN AJT_B,  Margem, 30                                 'posicao base

PrWIN TX_N,  Col1, -5, @LimArt
PrWIN TX_N,   160, -5, @ValStk

PrWIN FON, "BOLD+"
PrWIN TX_N,  TCol1,Lin1,"Código"
PrWIN TX_N,  TCol2,Lin1,"Designação"
PrWIN TX_N,  TCol3,Lin1,"Quantidade"
PrWIN TX_N,  TCol4,Lin1,"Pr.Unitário"
PrWIN TX_N,  TCol5,Lin1,"Valor total"
PrWIN TX_N,  TCol6,Lin1,"IVA"
PrWIN FON, "BOLD-"

PrWIN COR_T,CorTraco                                     'cor de linhas
PrWIN GR_LI, 0, 0, Cmax, 0                               'linha
PrWIN GR_LI, 0, 5, Cmax, 5                               'linha

PrWIN FON  ,   9,   1                                    'activar fonte
PrWIN COR_T,CorLin                                       'cor de linhas
InicioLinhas=32
end sub


Sub InvArtG_Lin 'listar linha
LCol1=   0
LCol2=  30
LCol3=  93
LCol4= 130
LCol5= 158
LCol6= 184
LCol7= 190
Cmax=LCol7

PrWIN AJT_B,  Margem, InicioLinhas+Doc_CntLin*4          'posicao base
PrWIN COR_T,    CorLin
PrWIN TX_N,     LCol1,0,               @Art
PrWIN TX_DMX,   LCol2,0,LCol3-LCol2,   @Nom35
PrWIN TX_NP,    LCol3,0          ,"N", @Qu
PrWIN TX_NP,    LCol4,0          ,"N", @Vu
PrWIN TX_NP,    LCol5,0          ,"N", @Vt
PrWIN TX_N,     LCol6,0          ,     @Iva
end sub


Sub InvArtG_LinInf 'listar informacao
call Listar_titulosG
PrWIN COR_T,     CorTit

if MemNum(11)=301 then                                 'total de familia
   PrWIN TX_N,      LCol1+10, 0   ,@TitTotFam
   PrWIN TX_NP,     LCol3-4, 0 , "N",FrmNum$(12.2,Total("Qu",1))
   PrWIN TX_NP,     LCol5-7, 0 , "N",FrmMoe$("",15,Total("Vt",1))
   x=TotLpz(1)                                         'azerar totalizador de familia
end if

if MemNum(11)=302 then                                  'total de subfamilia
   PrWIN TX_N,      LCol1+10, 0      ,@TitTotSfam
   PrWIN TX_NP,     LCol3-4, 0 , "N" ,FrmNum$(12.2,Total("Qu",2))
   PrWIN TX_NP,     LCol5-7, 0 , "N" ,FrmMoe$("",15,Total("Vt",2))
   x=TotLpz(2)                                          'azerar totalizador de sub-familia
end if
end Sub


SUB InvArtG_Fim 'terminar listagem
PrWIN COR_T,CorTraco                                     'cor de linhas
PrWIN AJT_B,Margem,FimDoc-4                              'posicao base
PrWIN GR_LI,     0,  0, Cmax, 0            	         'linha
PrWIN GR_LI,     0,  5, Cmax, 5                          'linha

PrWIN COR_T,     CorTotGer                               'cor para totais
PrWIN FON, "BOLD+"
PrWIN TX_N,     LCol2,0.5 ,"Totais :"
PrWIN TX_NP,    LCol3-10,0.5 ,"N",@TgQu
PrWIN TX_NP,    LCol5-10,0.5 ,"N",@TgVt
PrWIN FON, "BOLD-"
Call SigLstRod
PrWin FP
end sub


'------------------------------------------------------------------------------
'- Inventario de Artigos - (Exi+PRC.ORG+PV) -----------------------------------
'------------------------------------------------------------------------------
Sub InvArt2G_Cab 'listar cabecalho
SigCabNorOpcTit=2  		                         'alterar origem do titulo
Titulo$="Inventário de Artigos"
Call SigLstCab

Lin1=1                                                   'linha 1
Lin2=5                                                   'linha2
esp=16

TCol1 =   3
TCol2 =  35
TCol3 =  75
TCol4 =  96
TCol5 = 116
TCol6 = 130
TCol7 = 150
TCol8 = 166
TCol9 = 183
TCol10= 190
Cmax=TCol10

PrWIN COR_T,  CorTitLst                                  'cor de titulo
PrWIN FON  ,   8 ,   1                        	         'activar fonte
PrWIN AJT_B,  Margem, 30                                 'posicao base

PrWIN TX_N, TCol1, -5, @LimArt
PrWIN TX_N,   160, -5, @ValStk

PrWIN FON,"BOLD+"
PrWIN TX_N, TCol1, Lin1 ,"Código"
PrWIN TX_N, TCol2, Lin1 ,"Designação"
PrWIN TX_N, TCol3, Lin1 ,"Fornecedor"
PrWIN TX_N, TCol4, Lin1 ,"Quantidade"
PrWIN TX_N, TCol5, Lin1 ,"Pr. Orig."
PrWIN TX_N, TCol6, Lin1 ,"U.P.Compra"
PrWIN TX_N, TCol7, Lin1 ,"P.Venda 1"
PrWIN TX_N, TCol8, Lin1 ,"P.Venda 2"
PrWIN TX_N, TCol9, Lin1 ,"IVA"
PrWIN FON,"BOLD-"

PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN GR_LI, 0, 0, Cmax, 0                      'linha
PrWIN GR_LI, 0, 5, Cmax, 5                      'linha

PrWIN FON  ,   7,   1                           'activar fonte
PrWIN COR_T,CorLin                              'cor de linhas
InicioLinhas=32
end sub


Sub InvArt2G_Lin 'listar linha
Col1=   0
Col2=  25
Col3=  70
Col4=  92
Col5= 116
Col6= 132
Col7= 150
Col8= 167
Col9= 185
Col10=190
Cmax=Col10

PrWIN AJT_B,  Margem, InicioLinhas+Doc_CntLin*4          'posicao base
PrWIN COR_T,    CorLin
PrWIN TX_N,     Col1,0,               @Art
PrWIN TX_DMX,   Col2,0,Col3-Col2,     @Nom35
PrWIN TX_N,     Col3,0          ,     @Frn
PrWIN TX_NP,    Col4,0          ,"N", @Qu
PrWIN TX_NP,    Col5,0          ,"N", @Po
PrWIN TX_NP,    Col6,0          ,"N", @Upc
PrWIN TX_NP,    Col7,0          ,"N", @Pv1
PrWIN TX_NP,    Col8,0          ,"N", @Pv2
PrWIN TX_NP,    Col9,0          ,"N", @Iva
end sub


Sub InvArt2G_LinInf 'listar informacao
call Listar_titulosG
PrWIN COR_T,     CorTit
if MemNum(11)=301 then                                 'total de familia
   PrWIN TX_N,      Col1+10, 0   ,@TitTotFam
   PrWIN TX_NP,     Col4-3 , 0 , "N",FrmNum$(12.2,Total("Qu",1))
   x=TotLpz(1)                                         'azerar totalizador de familia
end if

if MemNum(11)=302 then                                  'total de subfamilia
   PrWIN TX_N,      Col1+10, 0      ,@TitTotSfam
   PrWIN TX_NP,     Col4-3, 0 , "N" ,FrmNum$(12.2,Total("Qu",2))
   x=TotLpz(2)                                          'azerar totalizador de sub-familia
end if
end Sub


SUB InvArt2G_Fim 'terminar listagem
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN AJT_B,Margem,FimDoc-4                     'posicao base
PrWIN GR_LI,     0,  0, Cmax, 0            	'linha
PrWIN GR_LI,     0,  5, Cmax, 5            	'linha

PrWIN COR_T,     CorTotGer                      'cor para totais
PrWIN FON  ,   8,   1                        	'activar fonte
PrWin FON,"BOLD+"                               'activar bold
PrWIN TX_N ,    Col2     , 1.0 ,"Total de Quantidades :"
PrWIN TX_NP,    Col4-10.0, 1.0 ,"N",@TgQu
PrWin FON,"BOLD-"                               'desactivar bold
Call SigLstRod
PrWin FP
end sub


'------------------------------------------------------------------------------
'- Controlo de Existencias ----------------------------------------------------
'------------------------------------------------------------------------------
SUB CExiG_Cab 'listar cabecalho
SigCabNorOpcTit=2 		                 'alterar origem do titulo
Titulo$="Controlo de Existências"
Call SigLstCab

Lin1=1                                           'linha 1
Lin2=5                                           'linha 2
espV=20
espQ=16

T2Col1 =   84
T2Col2 =  124
T2Col3 =  162

T1Col1 =    0
T1Col2 =   35
T1Col3 =   74
T1Col4 =   94
T1Col5 =  114
T1Col6 =  134
T1Col7 =  154
T1Col8 =  174
T1Col9 =  186
Cmax  =192

PrWIN COR_T,  CorTitLst                        'cor de titulo
PrWIN AJT_B,  Margem, 30                       'posicao base
PrWIN FON , "BOLD+"

PrWIN FON  ,   9,   1                        	'activar fonte
PrWIN TX_N, TCol1, -5, @LimArt
PrWIN TX_N,   160, -5, @ValStk

PrWIN FON ,   8,   1                        	'activar fonte
PrWIN TX_N, T1Col1,Lin2,"Código"
PrWIN TX_N, T1Col2,Lin2,"Designação"

PrWIN TX_N, T2Col1,Lin1,"Entradas"
PrWIN TX_N, T1Col3,Lin2,"Quantidade"
PrWIN TX_N, T1Col4,Lin2,"Valor"

PrWIN TX_N, T2Col2,Lin1,"Saídas"
PrWIN TX_N, T1Col5,Lin2,"Quantidade"
PrWIN TX_N, T1Col6,Lin2,"Valor"

PrWIN TX_N, T2Col3,Lin1,"Existências"
PrWIN TX_N, T1Col7,Lin2,"Quantidade"
PrWIN TX_N, T1Col8,Lin2,"Valor"
PrWIN FON  , "BOLD-"

PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN GR_LI, 0, 0, Cmax, 0                      'linha
PrWIN GR_LI, 0, 9, Cmax, 9                      'linha

PrWIN FON  ,   7,   1                           'activar fonte
PrWIN COR_T,CorLin                              'cor de linhas
InicioLinhas=36
end sub


SUB CExiG_Lin 'listar linha
LCol1 =   0
LCol2 =  24
LCol3 =  72
LCol4 =  90
LCol5 = 112
LCol6 = 130
LCol7 = 151
LCol8 = 168
LCol9 = 186
Cmax =LCol9

PrWIN AJT_B,  Margem, InicioLinhas+Doc_CntLin*4          'posicao base
PrWIN COR_T,    CorLin
PrWIN TX_N,     LCol1,0,              @Art
PrWIN TX_DMX,   LCol2,0,LCol3-LCol2,  @Nom35
PrWIN TX_NP,    LCol3,0            ,"N",@Qent
PrWIN TX_NP,    LCol4,0            ,"N",@Vent
PrWIN TX_NP,    LCol5,0            ,"N",@Qsai
PrWIN TX_NP,    LCol6,0            ,"N",@Vsai
PrWIN TX_NP,    LCol7,0            ,"N",@ExiQ
PrWIN TX_NP,    LCol8,0            ,"N",@ExiV
end sub


Sub CExiG_LinInf 'listar informacao
Call Listar_TitulosG
'listar totais
PrWIN COR_T,     CorTit
if MemNum(11)=301 then                                 'total de familia
   PrWIN TX_N,      LCol1+10, 0   ,@TitTotFam
   PrWIN TX_NP,     LCol4-1, 0 , "N",FrmNum$(12.2 ,Total("Vent",1))
   PrWIN TX_NP,     LCol6-4, 0 , "N",FrmMoe$("",17,Total("Vsai",1))
   PrWIN TX_NP,     LCol8-4, 0 , "N",FrmMoe$("",17,Total("ExiV",1))
   x=TotLpz(1)                                         'azerar totalizador de familia
end if

if MemNum(11)=302 then                                  'total de subfamilia
   PrWIN TX_N,      LCol1+10, 0      ,@TitTotSfam
   PrWIN TX_NP,     LCol4-1, 0 , "N",FrmNum$(12.2 ,Total("Vent",2))
   PrWIN TX_NP,     LCol6-4, 0 , "N",FrmMoe$("",17,Total("Vsai",2))
   PrWIN TX_NP,     LCol8-4, 0 , "N",FrmMoe$("",17,Total("ExiV",2))
   x=TotLpz(2)                                          'azerar totalizador de sub-familia
end if
end Sub


SUB CExiG_Fim 'terminar listagem
FCol1 =  10
FCol2 =  24
FCol3 =  72
FCol4 =  90
FCol5 = 112
FCol6 = 130
FCol7 = 151
FCol8 = 168
FCol9 = 190
Cmax =FCol9

PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN AJT_B,Margem,FimDoc-4                     'posicao base
PrWIN GR_LI,     0,  0, Cmax, 0            	'linha
PrWIN GR_LI,     0,  5, Cmax, 5            	'linha

PrWIN COR_T,     CorTotGer                      'cor para totais
PrWIN FON , "BOLD+"
PrWIN TX_N ,   FCol1,1.0,"Totais :"
PrWIN TX_NP,   FCol3,1.0   ,"N",@TQent
PrWIN TX_NP,   FCol4,1.0   ,"N",@TVent
PrWIN TX_NP,   FCol5,1.0   ,"N",@TQsai
PrWIN TX_NP,   FCol6,1.0   ,"N",@TVsai
PrWIN TX_NP,   FCol7,1.0   ,"N",@TQexi
PrWIN TX_NP,   FCol8,1.0   ,"N",@TVexi
PrWIN FON , "BOLD-"
Call SigLstRod
PrWin FP
end sub


'------------------------------------------------------------------------------
'- Inventario de um armazem - (Grafico) ---------------------------------------
'------------------------------------------------------------------------------
Sub InvArzG_Cab 'listar cabecalho
SigCabNorOpcTit=2 		                 'alterar origem do titulo
Titulo$="Inventário do Armazém :"+str$(MemNum(101))

Call SigLstCab

Lin1=1            'linha 1
Lin2=5            'linha 2

TCol1=  5
TCol2= 65
TCol3=130
TCol4=165
TCol5=190
Cmax=TCol5

PrWIN COR_T,  CorTitLst                         'cor de titulo
PrWIN FON  ,   9,   1                        	'activar fonte
PrWIN AJT_B,  Margem, 26                    	'posicao base

PrWIN FON, "BOLD+"
PrWIN TX_N, TCol1,Lin1,"Código"
PrWIN TX_N, TCol2,Lin1,"Designação"
PrWIN TX_N, TCol3,Lin1,"Quantidade"
PrWIN TX_N, TCol4,Lin1,"Valor"
PrWIN FON, "BOLD-"

PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN GR_LI, 0, 0, Cmax, 0                      'linha
PrWIN GR_LI, 0, 5, Cmax, 5                      'linha

PrWIN FON  ,   9,   1                           'activar fonte
PrWIN COR_T,CorLin                              'cor de linhas
InicioLinhas=28
end sub


Sub InvArzG_LinArz 'listar linha de armazem
Col1=  0
Col2= 45
Col3=125
Col4=155
Col5=190
Cmax=Col5

PrWIN AJT_B,  Margem, InicioLinhas+Doc_CntLin*4          'posicao base
PrWIN COR_T,    CorLin
PrWIN TX_N,     Col1,0,              @Art
PrWIN TX_DMX,   Col2,0,Col3-Col1,    @Nom
PrWIN TX_NP,    Col3,0          ,"N",@ExiArzQ1
PrWIN TX_NP,    Col4,0          ,"N",@ExiArzV1
end sub


Sub InvArzG_LinInf 'listar informacao
Call Listar_TitulosG
PrWIN COR_T,     CorTit
if MemNum(11)=301 then                                 'total de familia
   PrWIN TX_N,      Col1+10, 0   ,@TitTotFam
   PrWIN TX_NP,     Col3-2, 0 , "N",FrmNum$(12.2,Total("ExiArzQ1",1))
   PrWIN TX_NP,     Col4+2, 0 , "N",FrmMoe$("",17,Total("ExiArzV1",1))
   x=TotLpz(1)                                         'azerar totalizador de familia
end if

if MemNum(11)=302 then                                  'total de subfamilia
   PrWIN TX_N,      Col1+10, 0      ,@TitTotSfam
   PrWIN TX_NP,     Col3-2, 0 , "N" ,FrmNum$(12.2,Total("ExiArzQ1",2))
   PrWIN TX_NP,     Col4+2, 0 , "N" ,FrmMoe$("",17,Total("ExiArzV1",2))
   x=TotLpz(2)                                          'azerar totalizador de sub-familia
end if
end Sub


SUB InvArzG_Fim 'terminar listagem
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN AJT_B,Margem,FimDoc-4                     'posicao base
PrWIN GR_LI,     0,  0, Cmax, 0            	'linha
PrWIN GR_LI,     0,  5, Cmax, 5            	'linha

PrWIN COR_T,     CorTotGer                      'cor para totais
PrWIN FON, "BOLD+"
PrWIN TX_N ,    Col2,1.0  ,"TOTAIS :"
PrWIN TX_NP,    Col3,1.0  ,"N",@TExiArzQ1
PrWIN TX_NP,    Col4,1.0  ,"N",@TExiArzV1
PrWIN FON, "BOLD-"
Call SigLstRod
PrWin FP
end sub


'------------------------------------------------------------------------------
'- Inventario por armazem (multiplos armazens) --------------------------------
'------------------------------------------------------------------------------
Sub InvArzMG_Cab 'listar cabecalho
SigCabNorOpcTit=2 		                 'alterar origem do titulo
Titulo$="Inventário por Armazém "
Call SigLstCab

Lin1=1                                           'linha 1
Lin2=5                                           'linha 2

TCol1=  2
TCol2=  20
TCol3=  60
TCol4=  65
TCol5=  80
TCol6=  90
TCol7=  105
TCol8=  115
TCol9=  130
TCol10= 140
TCol11= 155
TCol12= 165
TCol13= 175
TCol14= 180
Cmax=   190

PrWIN COR_T,  CorTitLst                        'cor de titulo
PrWIN FON  ,   7,   1                          'activar fonte
PrWIN AJT_B,  Margem, 26                       'posicao base

PrWIN FON, "BOLD+"
PrWIN TX_N,  TCol1,Lin1,"Código"
PrWIN TX_N,  TCol2,Lin1,"Nome"
PrWIN TX_N,  TCol4,Lin1,"Armazém "+str$(MemNum(101))
PrWIN TX_N,  TCol6,Lin1,"Armazém "+str$(MemNum(102))
PrWIN TX_N,  TCol8,Lin1,"Armazém "+str$(MemNum(103))
PrWIN TX_N,  TCol10,Lin1,"Armazém "+str$(MemNum(104))
PrWIN TX_N,  TCol13,Lin1,"Total"

PrWIN TX_N,  TCol4,Lin2,"Quant."
PrWIN TX_N,  TCol6,Lin2,"Quant."
PrWIN TX_N,  TCol8,Lin2,"Quant."
PrWIN TX_N,  TCol10,Lin2,"Quant."
PrWIN TX_N,  TCol12,Lin2,"Quant."
PrWIN TX_N,  TCol5,Lin2,"Valor"
PrWIN TX_N,  TCol7,Lin2,"Valor"
PrWIN TX_N,  TCol9,Lin2,"Valor"
PrWIN TX_N,  TCol11,Lin2,"Valor"
PrWIN TX_N,  TCol14,Lin2,"Valor"

PrWIN FON, "BOLD-"

PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN GR_LI, 0, 0, Cmax, 0                      'linha
PrWIN GR_LI, 0,10, Cmax, 10                     'linha

PrWIN FON  ,   7,   1                           'activar fonte
PrWIN COR_T,CorLin                              'cor de linhas
InicioLinhas=35
end sub


Sub InvArzMG_Lin 'listar linha
Col1=  2
Col2=  20
Col3=  60
Col4=  70
Col5=  85
Col6=  95
Col7=  110
Col8=  120
Col9=  135
Col10= 145
Col11= 160
Col12= 170
Cmax=  190

PrWIN AJT_B,  Margem, InicioLinhas+Doc_CntLin*4      'posicao base
PrWIN COR_T,    CorLin
PrWIN FON  ,   6,   1                           'activar fonte
PrWIN TX_N,     Col1,0,              @Art
PrWIN TX_N,     Col2,0          ,@Nom
'PrWIN FON  ,   7,   1                           'activar fonte
PrWIN TX_NP,    Col3,0          ,"N",@ExiArzQ1
PrWIN TX_NP,    Col5,0          ,"N",@ExiArzQ2
PrWIN TX_NP,    Col7,0          ,"N",@ExiArzQ3
PrWIN TX_NP,    Col9,0          ,"N",@ExiArzQ4
PrWIN TX_NP,    Col11,0         ,"N",@ExiArzQT

PrWIN TX_NP,    Col4,0          ,"N",@ExiArzV1
PrWIN TX_NP,    Col6,0          ,"N",@ExiArzV2
PrWIN TX_NP,    Col8,0          ,"N",@ExiArzV3
PrWIN TX_NP,    Col10,0         ,"N",@ExiArzV4
PrWIN TX_NP,    Col12,0         ,"N",@ExiArzVT
PrWIN FON  ,   7,   1                           'activar fonte
end sub


Sub InvArzMG_LinInf 'listar informacao
Call Listar_TitulosG
ajc=2
PrWIN COR_T,     CorTit
PrWIN FON  ,   6,   1                              'activar fonte
if MemNum(11)=301 then                             'total de familia
   PrWIN TX_N,      Col1+10, 0   ,@TitTotFam
   PrWIN TX_NP,     Col3-ajc, 0 , "N",FrmNum$(8.2,Total("ExiArzQ1",1))
   PrWIN TX_NP,     Col5-ajc, 0 , "N",FrmNum$(8.2,Total("ExiArzQ2",1))
   PrWIN TX_NP,     Col7-ajc, 0 , "N",FrmNum$(8.2,Total("ExiArzQ3",1))
   PrWIN TX_NP,     Col9-ajc, 0 , "N",FrmNum$(8.2,Total("ExiArzQ4",1))
   PrWIN TX_NP,     Col11-ajc, 0 , "N",FrmNum$(8.2,Total("ExiArzQT",1))

   PrWIN TX_NP,     Col4-ajc, 0 , "N",FrmNum$(12.2,Total("ExiArzV1",1))
   PrWIN TX_NP,     Col6-ajc, 0 , "N",FrmNum$(12.2,Total("ExiArzV2",1))
   PrWIN TX_NP,     Col8-ajc, 0 , "N",FrmNum$(12.2,Total("ExiArzV3",1))
   PrWIN TX_NP,     Col10-ajc, 0 , "N",FrmNum$(12.2,Total("ExiArzV4",1))
   PrWIN TX_NP,     Col12-ajc, 0 , "N",FrmNum$(12.2,Total("ExiArzVT",1))

   x=TotLpz(1)                                     'azerar totalizador de familia

   PrWIN FON  ,   7,   1                           'activar fonte
end if

if MemNum(11)=302 then                             'total de subfamilia
   PrWIN FON  ,   6,   1                           'activar fonte
   PrWIN TX_N,      Col1+10, 0  ,@TitTotSfam
   PrWIN TX_NP,     Col3-ajc, 0 , "N",FrmNum$(8.2,Total("ExiArzQ1",2))
   PrWIN TX_NP,     Col5-ajc, 0 , "N",FrmNum$(8.2,Total("ExiArzQ2",2))
   PrWIN TX_NP,     Col7-ajc, 0 , "N",FrmNum$(8.2,Total("ExiArzQ3",2))
   PrWIN TX_NP,     Col9-ajc, 0 , "N",FrmNum$(8.2,Total("ExiArzQ4",2))
   PrWIN TX_NP,     Col11-ajc, 0 , "N",FrmNum$(8.2,Total("ExiArzQT",2))

   PrWIN TX_NP,     Col4-ajc, 0 , "N",FrmNum$(12.2,Total("ExiArzV1",1))
   PrWIN TX_NP,     Col6-ajc, 0 , "N",FrmNum$(12.2,Total("ExiArzV2",1))
   PrWIN TX_NP,     Col8-ajc, 0 , "N",FrmNum$(12.2,Total("ExiArzV3",1))
   PrWIN TX_NP,     Col10-ajc, 0 , "N",FrmNum$(12.2,Total("ExiArzV4",1))
   PrWIN TX_NP,     Col12-ajc, 0 , "N",FrmNum$(12.2,Total("ExiArzVT",1))

   x=TotLpz(2)                                     'azerar totalizador de sub-familia

   PrWIN FON  ,   7,   1                           'activar fonte
end if
end Sub


SUB InvArzMG_Fim 'terminar listagem
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN AJT_B,Margem,FimDoc-4                     'posicao base
PrWIN GR_LI,     0,  0, Cmax, 0            	'linha
PrWIN GR_LI,     0,  5, Cmax, 5            	'linha

PrWIN COR_T,     CorTotGer                      'cor para totais

PrWIN FON  ,   6,   1                           'activar fonte
PrWIN FON, "BOLD+"
PrWIN TX_N,     Col2,1.0   ,"Total de Armazéns"
PrWIN TX_NP,    Col3,1.0   ,"N",@TExiArzQ1
PrWIN TX_NP,    Col5,1.0   ,"N",@TExiArzQ2
PrWIN TX_NP,    Col7,1.0   ,"N",@TExiArzQ3
PrWIN TX_NP,    Col9,1.0   ,"N",@TExiArzQ4
PrWIN TX_NP,    Col11,1.0   ,"N",@TExiArzQT

PrWIN TX_NP,    Col4,1.0   ,"N",@TExiArzV1
PrWIN TX_NP,    Col6,1.0   ,"N",@TExiArzV2
PrWIN TX_NP,    Col8,1.0   ,"N",@TExiArzV3
PrWIN TX_NP,    Col10,1.0   ,"N",@TExiArzV4
PrWIN TX_NP,    Col12,1.0   ,"N",@TExiArzVT

PrWIN FON, "BOLD-"

PrWIN FON  ,   7,   1                           'activar fonte
Call SigLstRod
PrWin FP
end sub


'------------------------------------------------------------------------------
'- Inventario de Armazens (Discriminado) --------------------------------------
'------------------------------------------------------------------------------
Sub InvArzDG_Cab 'listar cabecalho
SigCabNorOpcTit=2 		                 'alterar origem do titulo
Titulo$="Inventário discriminado de Armazém"
Call SigLstCab

Lin1=1
Lin2=5

Col1=  0
Col2= 45
Col3=115
Col4=150
Col5=190
Cmax=Col5

PrWIN COR_T,  CorTitLst                         'cor de titulo
PrWIN FON  ,   9,   1                        	'activar fonte
PrWIN AJT_B,  Margem, 26                    	'posicao base

PrWIN FON, "BOLD+"
PrWIN TX_CTR,  Col1,Lin1,Col2,Lin1,"Código"
PrWIN TX_CTR,  Col2,Lin1,Col3,Lin1,"Designação"
PrWIN TX_CTR,  Col3,Lin1,Col4,Lin1,"Quantidade"
PrWIN TX_CTR,  Col4,Lin1,Col5,Lin1,"Valor"
PrWIN FON, "BOLD-"

PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN GR_LI, 0, 0, Cmax, 0                      'linha
PrWIN GR_LI, 0, 5, Cmax, 5                      'linha

PrWIN FON  ,   9,   1                           'activar fonte
PrWIN COR_T,CorLin                              'cor de linhas
InicioLinhas=28
end sub


Sub InvArzDG_Lin 'listar linha
PrWIN AJT_B,  Margem, InicioLinhas+Doc_CntLin*4          'posicao base
PrWIN COR_T,    CorLin
PrWin
PrWIN TX_N,     Col1,0,              @Art
PrWIN TX_DMX,   Col2,0,Col3-Col1,    @Nom
PrWIN TX_NP,    Col3,0          ,"N",@ExiQ
PrWIN TX_NP,    Col4,0          ,"N",@ExiV
end sub


Sub InvArzDG_LinArz 'listar linha de armazem
PrWIN AJT_B,  Margem, InicioLinhas+Doc_CntLin*4          'posicao base
PrWIN COR_T,     CorTit
PrWIN TX_N,  Col1+10,0,"Armazém:"
PrWIN TX_N,     Col2,0,@vArzDisN
PrWIN TX_NP,    Col3+2,0,"N",@vArzDisQ
PrWIN TX_NP,    Col4+2,0,"N",@vArzDisV
'tmp=CntLin("INC",1)                             'contar linha

'x=TotLpz(1)                                     'azerar totalizador parcial                                                                 
end sub


Sub InvArzDG_LinInf 'listar informacao
call Listar_titulosG
PrWIN COR_T,     CorTit

if MemNum(11)=301 then                                   'total de familia
   txEq$ = FrmVal$(TotCon("vArzDisQ",1),21,12.3)         'formatar quantidade
   txEv$ = FrmMoe$("",16,Total("vArzDisV",1))            'formatar valor

   PrWIN TX_N ,Col1+10,0,@TitTotFam
   PrWIN TX_NP,Col3-5 ,0, "N",txEq$
   PrWIN TX_NP,Col4-4 ,0, "N",txEv$
   x=TotLpz(1)                                           'azerar totalizador de familia
end if

if MemNum(11)=302 then                                   'total de subfamilia
   txEq$ = FrmVal$(TotCon("vArzDisQ",2),21,12.3)         'formatar quantidade
   txEv$ = FrmMoe$("",16,Total("vArzDisV",2))            'formatar valor

   PrWIN TX_N ,Col1+10,0,@TitTotSfam
   PrWIN TX_NP,Col3-5 ,0,"N",txEq$
   PrWIN TX_NP,Col4-4 ,0,"N",txEv$
   x=TotLpz(2)                                           'azerar totalizador de sub-familia
end if
end Sub


SUB InvArzDG_Fim 'terminar listagem
PrWIN COR_T,CorTraco                               'cor de linhas
PrWIN AJT_B,Margem,FimDoc                          'posicao base
PrWIN GR_LI,     0,  0, Cmax, 0                    'linha
Call SigLstRod                                     'listar rodape
PrWin FP                                           'fim de pagina
end sub


'=============================================================================
'XLS - Listahem para EXCEL
'=============================================================================
Sub XlsInv_IncLin 'incrementar linha	
call XlsComLin_IncRep                              'incrementar linha + repor formato normal
end sub


Sub XlsInvCom_Lin 'linha de valores - comum
call XlsInvArt_IncLin                              'incrementar linha	

'valores a listar
art$      = StcCodFrm$("")                         'codigo artigo
nom$      = Stc_Mst_Nome1$                         'nome artigo
'qua       = StcArtExi$("Q")                        'quantidade
'vun       = MemNum(50)/StcArtExi$("Q")             'valor unitario
'vto       = MemNum(50)                             'valor total
iva$      = " "+EmpTabCon$("IVA",EmpTabCon$("PAIS",Emp_Inf_Pais,"IVA"),Stc_Mst_CodIva,"PER")+"%"

'listar
res = XlsLst(liUsa, coArt, art$)                   'codigo artigo
res = XlsLst(liUsa, coNom, nom$)                   'nome
res = XlsLst(liUsa, coQua, qua)                    'quantidade
res = XlsLst(liUsa, coVun, vun)                    'valor unitário
res = XlsLst(liUsa, coVto, vto)                    'valor total
res = XlsLst(liUsa, coIva, iva$)                   'codigo iva

'acumular
res = AcmExe("QU", qua)                            'acumular quantidades (sub-totais)
res = AcmExe("VT", vto)                            'acumular valores (sub-totais)
end sub


'------------------------------------------------------------------------------
' Inventario de Artigos (EXCEL)
'------------------------------------------------------------------------------
Sub XlsInvArt_DocIni 'inicializar documento
xlsOpcNfi$ = "RND:StcInv.xls"                      'nome do ficheiro a gerar
xlsOpcWks$ = ""                                    'nome da woorksheet

call XlsComDoc_IniMat                              'inicializar documento por matriz

'preparacao especifica
res = XlsWks("Valores")                            'activar worksheet

'preparar cabecalho
empNum$ = Emp_Inf_Cod$                             'numero da empresa
empNom$ = Emp_Inf_Nome$                            'nome da empresa
lstTit$ = MemTxt$(1)                               'titulo da listagem
lstTip$ = MemTxt$(2)                               'tipo da listagem
lstDt$  = FrmDt$("EXT", Sig_DtHoje)                'data para listagem
lstLim$ = "Artigos: "+ MemTxt$(2)                  'limites
lstVls$ = "Valorização: "+ MemTxt$(3)              'valorizacao stock

res = XlsIdeLst("Emp_Num", empNum$)                'numero da empresa
res = XlsIdeLst("Emp_Nome", empNom$)               'nome da empresa
res = XlsIdeLst("Lst_Tit", lstTit$)                'titulo da listagem
res = XlsIdeLst("Lst_Tipo", lstTip$)               'tipo da listagem
res = XlsIdeLst("Lst_Data", lstDt$)                'data
res = XlsIdeLst("Lim_Art", lstLim$)                'limites

res = XlsIdeLst("Arz_Ide", "")                     'limpar armazem
res = XlsIdeLst("Val_Stk", lstVls$)                'valorizacao stock

'res = XlsIdeLst("Lst_Tit", "")                     'anular titulo da listagem
call XlsComLin_Ini                                 'iniciar linhas

'definicao das colunas
coArt = 2                                          'codigo do artigo
coNom = 3                                          'nome do artigo
coQua = 4                                          'quantidade
coVun = 5                                          'valor unitario
coVto = 6                                          'valor total
coIva = 7                                          'IVA
end sub


Sub XlsInvArt_DocFim 'terminar documento
'res = XlsWksAct("A", 1)                            'activar worksheet
call XlsComDoc_Fim                                 'terminar/mostrar documento
end sub


Sub XlsInvArt_IncLin 'incrementar linha	
call XlsComLin_IncRep                              'incrementar linha + repor formato normal
end sub


Sub XlsInvArt_Lin 'linha de valores
qua       = StcArtExi$("Q")                        'quantidade
vun       = MemNum(50)/StcArtExi$("Q")             'valor unitario
vto       = MemNum(50)                             'valor total

call XlsInvCom_Lin                                 'linha de valores - comum
end sub


Sub XlsInvArt_LinSep 'linha de separacao
'call XlsInvArt_IncLin                              'incrementar linha
end sub


Sub XlsInvArt_LinInf 'titulo de grupo
call XlsInvArt_IncLin                              'incrementar linha

codF$ = "Família "+MemTxt$(11)                     'codigo da familia
nomF$ = MemTxt$(12)                                'nome da familia

codS$ = "Sub-Família "+MemTxt$(11)                 'codigo da sub-familia
nomS$ = MemTxt$(12)                                'nome da sub-familia

TotFn$= "Total da Família : "+MemTxt$(12)          'nome da familia 

TquF  = Total("Qu",1)                              'total quantidades Familia
TvlF  = Total("Vt",1)                              'total valor Familia

TotSn$= "Total da Sub-Família : "+MemTxt$(12)      'total de sub-familia
TquS  = Total("Qu",2)                              'total quantidades Familia
TvlS  = Total("Vt",2)                              'total valor Familia

if MemNum(11) = 201                                'titulo de familia
   res = XlsLst(liUsa,coArt, nomF$)                'escrever nome
   res = XlsLst(liUsa,coNom, codF$)                'escrever codigo
end if

if MemNum(11) = 202                                'titulo de sub-familia
   res = XlsLst(liUsa,coArt, nomS$)                'escrever nome
   res = XlsLst(liUsa,coNom, codS$)                'escrever codigo
end if

'Listar Totais
if MemNum(11) = 301 then                           'total de familia
   res = XlsLst(liUsa,coNom, TotFn$)               'nome
   res = XlsLst(liUsa,coQua, TquF)                 'quantidade
   res = XlsLst(liUsa,coVto, TvlF)                 'valor
   res = XlsFon(zon$, ",,B+I+")                    'activar fonte bold, italico
   call XlsInvArt_IncLin                           'incrementar linha	

   x=TotLpz(1)                                     'azerar totalizador de familia
end if

if MemNum(11) = 302 then                           'total de subfamilia
   res = XlsLst(liUsa,coNom, TotSn$)               'nome
   res = XlsLst(liUsa,coQua, TquS)                 'quantidade
   res = XlsLst(liUsa,coVto, TvlS)                 'valor
   res = XlsFon(zon$, ",,B+I+")                    'activar fonte bold, italico
   call XlsInvArt_IncLin                           'incrementar linha	

   x=TotLpz(2)                                     'azerar totalizador de sub-familia
end if

'call XlsComLin_ActB                               'activar linha em BOLD
call XlsComLin_ActBI                               'activar linha em BOLD+ITALICO
end sub


Sub XlsInvArt_Fim 'terminar listagem
call XlsComLin_Fim                                 'fim de linhas

'valores a listar
TotQu = Total("Qu",0)                              'quantidades totais finais
TotVl = Total("Vt",0)                              'valor total final

'listar
liUsa = linFim                                     'linha a usar
res = XlsLst(liUsa, coQua, TotQu)                  'total quantidades
res = XlsLst(liUsa, coVto, TotVl)                  'total valor
end sub


'------------------------------------------------------------------------------
' Inventario de um armazem (EXCEL)
'------------------------------------------------------------------------------
Sub XlsInvArz_DocIni 'inicializar documento
call XlsInvArt_DocIni                              'inicializar documento

arzNum = MemNum(101)                               'numero do armazem
arzIde$ = "Armazem: " + str$(arzNum)               'identificacao do armazem
res = XlsIdeLst("Arz_Ide", arzIde$)                'mostrar armazem
end sub


Sub XlsInvArz_DocFim 'terminar documento
call XlsInvArt_DocFim                              'terminar documento
end sub


Sub XlsInvArz_LinArz 'linha de armazem
qua       = MemNum(201)                            'quantidade
vto       = MemNum(301)                            'valor total
vun       = vto/qua                                'valor unitario

call XlsInvCom_Lin                                 'linha de valores - comum
end sub


Sub XlsInvArz_LinSep 'linha de separacao
call XlsInvArt_LinSep                              'linha de separacao
end sub


Sub XlsInvArz_LinInf 'titulo de grupo
call XlsInvArt_LinInf                              'titulo de grupo
end sub


Sub XlsInvArz_Fim 'terminar listagem
call XlsInvArt_Fim                                 'terminar
end sub

##


'==============================================================================
#INC - Funcoes comuns
'==============================================================================
Funcoes comuns                         =[SIG_Dir.Div],LsComPgm.std
Funcoes comuns XLS                     =[SIG_LST_DIR.XLS],XlsCom_Pgm.inc
##

