'Nome       : PRECARIO.STD
'Tipo       : LST
'Data       : 2008/02/15
'Versao     : 2.0b
'Descricao  : Precario de Artigos

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 2.0c 2008/02/15 -------------------------------------------------
'Ao apresentar a taxa de IVA, considerar o pais definido na empresa

'- Versao : 2.0b 2007/09/18 -------------------------------------------------
'No precario normal em modo grafico, nao apresentava nome do artigo
'Ajustes na impressao dos titulos das familias e sub-familias 
'No precario configuravel, adicionada a taxa de IVA

'- Versao : 2.0a 2006/09/27 -------------------------------------------------
'correccao estetica de listagens graficas

'- Versao : 2.0  2006/05/29 -------------------------------------------------
'listagem para EXCEL

'- Versao : 1.6b 2003/09/02 -------------------------------------------------
'Precario normal, apresentar nome dos artigos completo

'- Versao : 1.6a 2003/07/07 -------------------------------------------------
'Precario configuravel, apresentar nome dos artigos completo

'- Versao : 1.6  2003/03/05 -------------------------------------------------
'Impressao grafica
'formatar precos consoante decimais definidos no programa

'- Versao : 1.5  2000/08/03 -------------------------------------------------
'Mostrar taxa de iva e nao o codigo de iva

'- Versao : 1.4  2000/03/14 -------------------------------------------------
'Tamanho para mostrar os precos, foi alterado para 'FrmMoe' com 12 digitos

'- Versao : 1.3  1999/11/23 -------------------------------------------------
'Tamanho para mostrar os precos, foi aumentado para 8.3
'acerto ao contar as linhas dos titulos das familias

'- Versao : 1.0  1998/10/06 -------------------------------------------------
'Versao Base


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


'==============================================================================
#ESP - Campos especificos
'==============================================================================
##


'==============================================================================
#SQL - Comandos SQL
'==============================================================================
Base de dados           [BD]=EmpFic$("EMP","Cemp,Emp_Dat.mdb")
'Base de dados           [BD]=EmpFic$("EMP","Stc,Stc.mdb")
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=PrcArt
Nome                       [DocNom]=PrcArtL,Preçário de 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=0
                           [DocEsp]=LstTit=1

'funcoes de listagem
Listar cabecalho            [FxCAB]=Prc_Cab
Listar linhas               [FxLIN]=Prc_Lin;Inf,3
Listar fim                  [FxFIM]=Prc_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=PrcArt
Nome                       [DocNom]=PrcArtL_G,Preçário de 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=0
                           [DocEsp]=LstTit=1

'funcoes de listagem
Listar cabecalho            [FxCAB]=PrcG_Cab
Listar linhas               [FxLIN]=PrcG_Lin;Inf
Listar fim                  [FxFIM]=PrcG_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=PrcArt
Nome                       [DocNom]=PrcArt_XLS,Preçário de 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=0
                           [DocEsp]=LstTot=1

'funcoes de listagem
Base para documento         [FxDOC]=XlsPrcArt
Listar cabecalho            [FxCAB]=XlsPrcArt_Cab
Listar linhas               [FxLIN]=XlsPrcArt_Lin,0; Inf,0
Listar fim                  [FxFIM]=XlsPrcArt_Fim

Matriz auxiliar            [DocMat]=StcPrc.xls
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=PrcArt
Nome                       [DocNom]=PrcArtG_XLS,Preçário de Artigos-Geral (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=0
                           [DocEsp]=LstTot=1

'funcoes de listagem
Base para documento         [FxDOC]=XlsPrcArtG
Listar cabecalho            [FxCAB]=XlsPrcArtG_Cab
Listar linhas               [FxLIN]=XlsPrcArtG_Lin,0; Inf,0
Listar fim                  [FxFIM]=XlsPrcArtG_Fim

Matriz auxiliar            [DocMat]=StcPrcG.xls
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=PrcArt:C
Nome                       [DocNom]=PrcArtC,Preçário Configurável

'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=0
                           [DocEsp]=LstTit=1

'funcoes de listagem
Listar cabecalho            [FxCAB]=Prc132_Cab
Listar linhas               [FxLIN]=Prc132_Lin;Inf,3
Listar fim                  [FxFIM]=Prc132_Fim
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=PrcArt:C
Nome                       [DocNom]=PrcArtC_G,Preçário Configurável

'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=0
                           [DocEsp]=LstTit=1

'funcoes de listagem
Listar cabecalho            [FxCAB]=Prc132G_Cab
Listar linhas               [FxLIN]=Prc132G_Lin;Inf
Listar fim                  [FxFIM]=Prc132G_Fim
##


'==============================================================================
#VAR - Variaveis
'==============================================================================
Pag      = Doc_CntPag
DataExt  = FrmVal$(SIG_DtHoje,45,0)

'variaveis a listar
Art      = StcCodFrm$("")                
Nom1     = left$(Stc_Mst_Nome1$,23)
Nom      = Stc_Mst_Nome1$
Unid     = Stc_Mst_Unid$

PoR      = StcPrcFrm$(12,Stc_Mst_PrcOrg)
Pv1      = StcPrcFrm$(12,Stc_Mst_Pv1)
Pv2      = StcPrcFrm$(12,Stc_Mst_Pv2)
Pv3      = StcPrcFrm$(12,Stc_Mst_Pv3)
Pv4      = StcPrcFrm$(12,Stc_Mst_Pv4)
Iva      =" "+EmpTabCon$("IVA",EmpTabCon$("PAIS",Emp_Inf_Pais,"IVA"),Stc_Mst_CodIva,"PER")+"%"

Upc      = StcPrcFrm$(12,Stc_Acm_Upc)
Pmc      = StcPrcFrm$(12,Stc_Acm_Pmc)

'para as linhas de titulos 
txinf1   = MemTxt$(11)
txinf2   = MemTxt$(12)
TxInfTot = MemTxt$(11)+" : "+MemTxt$(12)

ColTit    =MemTxt$(30)
ColPrc    =MemTxt$(31)
##


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


'==============================================================================
#PGM - Programa/Funcoes
'==============================================================================
SUB Lst_AJT
end sub

'-----------------------------------------------------------------------------
' Formato do documento
'-----------------------------------------------------------------------------

'- Precario de Artigos -------------------------------------------------------
SUB Prc_Cab
FxDiv LstIde,16CPI,0
?
print TxTit$("TT=12CPI, LD, PT=48C, TL=10CPI","Precario de Artigos")
?Data : @DataExt                                               Folha No : @Pag#
?==============================================================================
?  Codigo             Designacao            Und    Preco 1     Preco 2     Iva
?==============================================================================
end sub


SUB Prc_Lin
?@Art              @Nom1                   @Unid @Pv1         @Pv2         @Iva
end sub


Sub Prc_LinInf
'Listar Titulos
if MemNum(11)=201                   'titulo de familia
?------------------------------------------------------------------------------
?@txinf2                 @Txinf1                                              #
?------------------------------------------------------------------------------
end if

if MemNum(11)=202                   'titulo de subfamilia
?------------------------------------------------------------------------------
?@txinf2                 @Txinf1                                              #
?------------------------------------------------------------------------------
end if
end Sub


SUB Prc_Fim
?==============================================================================
FxDiv LstPer,SP
end sub



'- Precario de Artigos em 132 colunas programavel -----------------------------
SUB Prc132_Cab
FxDiv LstIde,16CPI,0
?
print TxTit$("TT=12CPI, LD, PT=66C, TL=16CPI","Precario de Artigos")
?Data : @DataExt                                                                                                     Folha No : @Pag#
?====================================================================================================================================
?  Codigo           Designacao                           Und    @ColTit                                                          Iva
?====================================================================================================================================
print string$(132,"-")
end sub


SUB Prc132_Lin
?@Art           @Nom                                     @Unid  @ColPrc                                                         @Iva#
end sub


Sub Prc132_LinInf
'Listar Titulos
if MemNum(11)=201                   'titulo de familia
print string$(132,"-")
?@txinf2                 @Txinf1                                              #
print string$(132,"-")
end if

if MemNum(11)=202                   'titulo de subfamilia
print string$(132,"-")
?@txinf2                 @Txinf1                                              #
print string$(132,"-")
end if

end Sub


SUB Prc132_Fim
print string$(132,"=")
FxDiv LstPer,SP
end sub



'==============================================================================
' *****  Formato dos documentos em modo grafico  ****
'==============================================================================
SUB FxIni 'funcao de inicializacao
Call SigLstIni
FimDoc=273
End sub


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
   PrWIN COR_T,CorLin        'cor de linhas
end if

If MemNum(11)=202 then
   Listar=1                  'titulo sub-familia
   PrWIN COR_T,  CorTitLst   'cor de titulo
end if

if Listar=1 then
  PrWIN FONT, "BOLD+"
  PrWIN COR_T,CorTraco                          'cor de linhas
  PrWIN GR_LI,     0,  0, Cmax, 0            	'linha
  PrWIN COR_T,     CorTit


'  PrWIN  TX_N,     Col1+10, 0   ,@txinf2      'std anulado - codigo familia/sub-familia
'  PrWIN  TX_N,     Col2-10, 0   ,@txinf1      'std anulado - nome   familia/sub-familia


  PrWIN TX_CTR, Col1,  0, Col2-10,  0,@txinf2  'centrado codigo familia/sub-familia
  PrWIN TX_CTR, Col1,  0, Cmax,     0,@txinf1  'centrado nome   familia/sub-familia


  PrWIN GR_LI,     0,  4, Cmax, 4            	'linha
  PrWIN FONT, "BOLD-"
end if
End sub



'- Precario de Artigos -------------------------------------------------------
SUB PrcG_Cab
SigCabNorOpcTit=2                       'alterar origem do titulo
Titulo$="Preçário de Artigos"           'titulo

Call SigLstCab
Lin1=1                                  'linha 1
Lin2=5                                  'linha2
esp=30

TCol1=  5
TCol2= 60
TCol3=102
TCol4=122
TCol5=155
TCol6=182
TCol7=190
Cmax=TCol7


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,"Unidade"
PrWIN TX_N, TCol4,Lin1,"Preço 1"
PrWIN TX_N, TCol5,Lin1,"Preço 2"
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, 6, Cmax, 6                      'linha

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


SUB PrcG_Lin 'linha
LCol1=  0
LCol2= 32
LCol3=105
LCol4=122
LCol5=154
LCol6=182
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-lCol1, @Nom
PrWIN TX_N,    LCol3,0,           @Unid
PrWIN TX_NP,   LCol4,0          ,"N",@Pv1
PrWIN TX_NP,   LCol5,0          ,"N",@Pv2
VL.TxIva=@Iva
PrWIN TX_NP,    LCol6,0        ,"N",FrmVal$(VL.TxIva,21,2.0)
PrWIN TX_N,    LCol6+3.5,0     ,"%"
end sub


Sub PrcG_LinInf

Col1=0
Col2=25
Col3=105
Col4=Col3+8
Col5=190
Cmax=Col5

call Listar_TitulosG
end Sub


SUB PrcG_Fim
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN AJT_B,Margem,FimDoc                       'posicao base
PrWIN GR_LI,     0,  0, Cmax, 0            	'linha
Call SigLstRod
PrWin FP
end sub



'- Precario de Artigos em 132 colunas programavel -----------------------------
SUB Prc132G_Cab
SigCabNorOpcTit=2 		                 'alterar origem do titulo
Titulo$="Preçário de Artigos"
Call SigLstCab
Lin1=1                            		'linha 1
Lin2=5                                    'linha2
esp=12

Col1=0
Col2=25
Col3=105
Col4=Col3+8
Col5=190
Cmax=Col5
Col6=182

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

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,"Unid."
PrWIN TX_NP,   Col4,Lin1,"N", @ColTit
PrWIN TX_CTR,  Col6,Lin1,Col6+10,Lin1,"IVA"

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  ,   8,   1                           'activar fonte
PrWIN COR_T,CorLin                              'cor de linhas
InicioLinhas=35
end sub


SUB Prc132G_Lin
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_N,     Col3,0,           @Unid
PrWIN TX_NP,    Col4,0          ,"N",@ColPrc

VL.TxIva=@Iva
PrWIN TX_NP,     Col6+2,0        ,"N",FrmVal$(VL.TxIva,21,2.0)
PrWIN TX_N,      Col6+5.5,0    ,"%"
end sub


Sub Prc132G_LinInf
call Listar_TitulosG
end Sub


SUB Prc132G_Fim
PrWIN COR_T,CorTraco                            'cor de linhas
PrWIN AJT_B,Margem,FimDoc                       'posicao base
PrWIN GR_LI,     0,  0, Cmax, 0            	'linha
Call SigLstRod
PrWin FP
end sub


'=============================================================================
' XLS - Funcoes comuns
'=============================================================================
Sub Xls_DocIni 'inicializar documento
dfi$ = FicEmp$("EMP","Ext","dExcel",cmo$)          'directorio de documentos EXCEL
nfi$ = "RND:StcPrc.xls"                            'nome do ficheiro
cmo$ = SigCmoCur$("MIX")                           'modulo corrente
ficDoc$ = FicTmp$(dfi$, nfi$)                      'ficheiro para documento
res = DirCri("D", dfi$)                            'criar directorio para documento

xlsMatNom$ = DocOpc$("DocMat")                     'nome do ficheiro matriz
xlsMat$    = DocOpc$("DocMat+SBT")                 'endereco do ficheiro matriz

res = FicCop(xlsMat$, ficDoc$)                     'criar ficheiro (copia de matriz)
res = XlsPrp(0)                                    'preparar EXCEL
res = XlsDocLer(ficDoc$)                           'ler ficheiro

'res = XlsDocCri("")                                'criar documento
end sub


Sub Xls_DocFim 'terminar documento
res = XlsLinEli(xlsLin, 1)                         'eliminar linha - ultima
res = XlsLinEli(xlsLba, 1)                         'eliminar linha - primeira

res = XlsDocDir$("A", dfi$)                        'activar directorio
res = XlsDocGrv(ficDoc$)                           'gravar ficheiro

'res = XlsPrt(1)                                    'listar worksheet
'res = XlsVer(0)                                    'mostrar EXCEL - normal
res = XlsVer(1)                                    'mostrar EXCEL - maximizado
res = XlsLib(0)                                    'libertar EXCEL
end sub


Sub Xls_DocCab 'cabecalho do documento
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

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
end sub


Sub Xls_LinInc 'incrementar linha
xlsLsa = xlsLin                                    'linha de saida
res = XlsLinIns(xlsLin, 1)                         'juntar linha

'seguinte
xlsLin = xlsLin + 1                                'contar linha
end sub


Sub Xls_LinIni 'iniciar linhas
res = XlsIdePsq("PO_BAS")                          'pesquisar posicao base
linBav = XlsIdePsqRes("L")                         'linha da posicao base

xlsLba = linBav                                    'linha base
xlsLin = linBav + 1                                'contador de linhas usadas
end sub


Sub Xls_LinFim 'fim de linhas
res = XlsLinEli(xlsLin, 1)                         'eliminar linha - ultima
res = XlsLinEli(xlsLba, 1)                         'eliminar linha - primeira

res = XlsIdePsq("PO_FIM")                          'pesquisar posicao final
linFim = XlsIdePsqRes("L")                         'linha da posicao final
end sub


'=============================================================================
' Precario de Artigos (EXCEL)
'=============================================================================
Sub XlsPrcArt_DocIni 'inicializar documento
call Xls_DocIni                                    'inicializar documento
call XlsPrcArt_Prep                                'preparar
end sub


Sub XlsPrcArt_DocFim 'terminar documento
call Xls_DocFim                                    'terminar/mostrar documento
end sub


Sub XlsPrcArt_Prep 'preparar para listar
res = XlsWks("Valores")                            'activar worksheet
call Xls_DocCab                                    'cabecalho do documento
res = XlsIdeLst("Lst_Tit", "")                     'anular titulo da listagem
call Xls_LinIni                                    'iniciar linhas

'definicao das colunas
coCod = 2                                          'codigo do artigo
coDes1= 3                                          'nome
coDes2= 4                                          'nome suplementar
coUni = 5                                          'unidade
coPr1 = 6                                          'preco 1
coPr2 = 7                                          'preco 2
coIva = 8                                          'iva
end sub


Sub XlsPrcArt_IncLin 'incrementar linha	
call Xls_LinInc                                    'incrementar linha
liUsa =  xlsLsa                                    'linha a usar

zon$= XlsZonNum$("L", liUsa)                       'zona da linha
res = XlsFon(zon$, ",,B-I-")                       'desactivar fonte bold, italico
end sub


Sub XlsPrcArt_Lin 'linha de valores
call XlsPrcArt_IncLin                              'incrementar linha	

'valores a listar
cod$ = StcCodFrm$("")                
de1$ = Stc_Mst_Nome1$
de2$ = Stc_Mst_Nome2$
Uni$ = Stc_Mst_Unid$

Pv1  = Stc_Mst_Pv1
Pv2  = Stc_Mst_Pv2

iva$ = EmpTabCon$("IVA",1,Stc_Mst_CodIva,"PER")+" %"

'listar
res = XlsLst(liUsa, coCod, cod$)                   'codigo
res = XlsLst(liUsa, coDes1,de1$)                   'nome do artigo
res = XlsLst(liUsa, coDes2,de2$)                   'nome suplementar
res = XlsLst(liUsa, coUni, uni$)                   'unidade
res = XlsLst(liUsa, coPr1, Pv1)                    'preco 1
res = XlsLst(liUsa, coPr2, Pv2)                    'preco 2
res = XlsLst(liUsa, coIva, iva$)                   'iva
end sub


Sub XlsPrcArt_LinInf 'titulo de grupo
call XlsPrcArt_IncLin                              'incrementar linha

msgbox "","INF"

txi1$ = MemTxt$(11)
txi2$ = MemTxt$(12)

if MemNum(11)=201                                   'titulo de familia
   res = XlsLst(liUsa, coDes1, txi1$)               'escrever codigo
   res = XlsLst(liUsa, coDes2, txi2$)               'escrever nome
end if

if MemNum(11)=202                                   'titulo de sub-familia
   res = XlsLst(liUsa, coDes1, txi1$)               'escrever codigo
   res = XlsLst(liUsa, coDes2, txi2$)               'escrever nome
end if

zon$= XlsZonNum$("L", liUsa)                        'zona da linha
res = XlsFon(zon$, ",,B+I+")                        'activar fonte bold, italico
end sub



Sub XlsPrcArt_LinSep 'linha de separacao
call XlsPrcArt_IncLin                              'incrementar linha
end sub


Sub XlsPrcArt_Fim 'terminar
call Xls_DocFim

'mostrar
res = XlsWksAct("A", 1)                            'activar worksheet
end sub


'=============================================================================
' [XLS] - Precario de Artigos Geral
'=============================================================================
Sub XlsPrcArtG_DocIni 'inicializar documento
call Xls_DocIni                                    'inicializar documento
call XlsPrcArtG_Prep                                'preparar
end sub


Sub XlsPrcArtG_DocFim 'terminar documento
call Xls_DocFim                                    'terminar/mostrar documento
end sub


Sub XlsPrcArtG_Prep 'preparar para listar
res = XlsWks("Valores")                            'activar worksheet
call Xls_DocCab                                    'cabecalho do documento
res = XlsIdeLst("Lst_Tit", "")                     'anular titulo da listagem
call Xls_LinIni                                    'iniciar linhas

'definicao das colunas
coCod = 2                                          'codigo do artigo
coDes1= 3                                          'nome
coUni = 4                                          'unidade
coPrO = 5                                          'preco origem
coPr1 = 6                                          'preco 1
coPr2 = 7                                          'preco 2
coPr3 = 8                                          'preco 3
coPr4 = 9                                          'preco 4
coPr5 =10                                          'preco medio custo
coPr6 =11                                          'ultimo preço compra
coIva =12                                          'iva
end sub


Sub XlsPrcArtG_IncLin 'incrementar linha	
call Xls_LinInc                                    'incrementar linha
liUsa =  xlsLsa                                    'linha a usar

zon$= XlsZonNum$("L", liUsa)                       'zona da linha
res = XlsFon(zon$, ",,B-I-")                       'desactivar fonte bold, italico
end sub


Sub XlsPrcArtG_Lin 'linha de valores
call XlsPrcArt_IncLin                              'incrementar linha	

'valores a listar
cod$ = StcCodFrm$("")                
de1$ = Stc_Mst_Nome1$
de2$ = Stc_Mst_Nome2$
Uni$ = Stc_Mst_Unid$

Por  = Stc_Mst_PrcOrg
Pv1  = Stc_Mst_Pv1
Pv2  = Stc_Mst_Pv2
Pv3  = Stc_Mst_Pv3
Pv4  = Stc_Mst_Pv4
Pmc  = Stc_Acm_Pmc
Upc  = Stc_Acm_Upc

iva$ = EmpTabCon$("IVA",1,Stc_Mst_CodIva,"PER")+" %"

'listar
res = XlsLst(liUsa, coCod, cod$)                   'codigo
res = XlsLst(liUsa, coDes1,de1$)                   'nome do artigo
res = XlsLst(liUsa, coUni, uni$)                   'unidade
res = XlsLst(liUsa, coPrO, PoR)                    'preco origem
res = XlsLst(liUsa, coPr1, Pv1)                    'preco 1
res = XlsLst(liUsa, coPr2, Pv2)                    'preco 2
res = XlsLst(liUsa, coPr3, Pv3)                    'preco 3
res = XlsLst(liUsa, coPr4, Pv4)                    'preco 4
res = XlsLst(liUsa, coPr5, Pmc)                    'preco medio custo
res = XlsLst(liUsa, coPr6, Pmc)                    'ultimo preco compra
res = XlsLst(liUsa, coIva, iva$)                   'iva
end sub


Sub XlsPrcArtG_LinInf 'titulo de grupo
call XlsPrcArt_IncLin                              'incrementar linha

msgbox "","INF"

txi1$ = MemTxt$(11)
txi2$ = MemTxt$(12)

if MemNum(11)=201                                   'titulo de familia
   res = XlsLst(liUsa, coDes1, txi1$)               'escrever codigo
   res = XlsLst(liUsa, coDes2, txi2$)               'escrever nome
end if

if MemNum(11)=202                                   'titulo de sub-familia
   res = XlsLst(liUsa, coDes1, txi1$)               'escrever codigo
   res = XlsLst(liUsa, coDes2, txi2$)               'escrever nome
end if

zon$= XlsZonNum$("L", liUsa)                        'zona da linha
res = XlsFon(zon$, ",,B+I+")                        'activar fonte bold, italico
end sub



Sub XlsPrcArtG_LinSep 'linha de separacao
call XlsPrcArt_IncLin                              'incrementar linha
end sub


Sub XlsPrcArtG_Fim 'terminar
call Xls_DocFim

'mostrar
res = XlsWksAct("A", 1)                            'activar worksheet
end sub
##

##


'==============================================================================
#INC - Funcoes comuns
'==============================================================================
Funcoes comuns                    =[SIG_Dir.Div],LsComPgm.std
##



