'Nome       : CasAcp.std
'Tipo       : LST
'Data       : 2005/09/26
'Versao     : 1.0
'Descricao  : Acordos de Copia

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 1.0   2005/??/?? --------------------------------------------------
'Versao base


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


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


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

Acordos de copia    [Cmd]=AcpMaq=+
+SELECT * FROM CasAcpMaq +
+WHERE [Sit$] = 'N' +
+ORDER BY [Cli$],[Tpm$] 

##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
'Tipo                       [DocTip]=AcpMaq
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=AcpMaq,Acordos de Cópia

'formato
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0

'funcoes de listagem
Listar cabecalho            [FxCAB]=AcpMaq_Cab
Listar linhas               [FxLIN]=AcpMaq_Lin
Listar fim                  [FxFIM]=AcpMaq_Fim

'controlo de listagem SQL
Gerador de dados a listar  [SQLDat]=AcpMaq
Subtotalizadores           [SQLSbt]=Cli$


'diversos
'parametros especificos
'Dados a listar            [DocEsp]=ConCmd=
##


'==============================================================================
#DOC - Configuracao do documento (Acordos de Copia - Excel)
'==============================================================================
'Tipo                       [DocTip]=AcpMaq
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=AcpMaqXls,Acordos de Cópia (Excel)

'formato
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=80
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0

'funcoes de listagem
Base para documento         [FxDOC]=XlsAcpMaq
Listar cabecalho            [FxCAB]=XlsAcpMaq_Cab
Listar linhas               [FxLIN]=XlsAcpMaq_Lin
Listar fim                  [FxFIM]=XlsAcpMaq_Fim

Matriz auxiliar            [DocMat]=AcpMaq.xls

'controlo de listagem SQL
Gerador de dados a listar  [SQLDat]=AcpMaq
Subtotalizadores           [SQLSbt]=Cli$


'diversos
'parametros especificos
'Dados a listar            [DocEsp]=ConCmd=
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=AcpCnt
'Tipo                       [DocTip]=SQL
Nome                       [DocNom]=AcpCnt,Contagens

'formato
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=132
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0

'funcoes de listagem
Listar cabecalho            [FxCAB]=AcpCnt_Cab
Listar linhas               [FxLIN]=AcpCnt_Lin; Bas; Cnt; Ide,2,3; Sbt,0
Listar fim                  [FxFIM]=AcpCnt_Fim

'controlo de listagem SQL
'Gerador de dados a listar  [SQLDat]=AcpCnt
'Subtotalizadores           [SQLSbt]=Cli$

'diversos
'parametros especificos
'Dados a listar            [DocEsp]=ConCmd=
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=AcpCnt
'Tipo                       [DocTip]=SQL
Nome                       [DocNom]=AcpCntXls,Contagens (Excel)

'formato
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=132
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0

'funcoes de listagem
Base para documento         [FxDOC]=XlsAcpCnt
Listar cabecalho            [FxCAB]=XlsAcpCnt_Cab
Listar linhas               [FxLIN]=XlsAcpCnt_Lin; Bas,0; Cnt,0; Ide,0; Sbt,0
Listar fim                  [FxFIM]=XlsAcpCnt_Fim

Matriz auxiliar            [DocMat]=AcpCnt.xls

##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=AcpCnt
'Tipo                       [DocTip]=SQL
Nome                       [DocNom]=AcpCntXlsA4,Contagens A4 (Excel)

'formato
Linhas por pagina          [DocLpg]=50
Colunas por linha          [DocCol]=132
Formato do papel           [DocPap]=72L
Ajustar pagina             [DocApg]=0

'funcoes de listagem
Base para documento         [FxDOC]=XlsAcpCnt
Listar cabecalho            [FxCAB]=XlsAcpCnt_Cab
Listar linhas               [FxLIN]=XlsAcpCnt_LinA4; Bas,0; Cnt,0; Ide,0; Sbt,0
Listar fim                  [FxFIM]=XlsAcpCnt_Fim

Matriz auxiliar            [DocMat]=AcpCntA4.xls

##



'==============================================================================
#VAR - Variaveis
'==============================================================================
Pag      = Doc_CntPag                                 'numero da pagina
DataExt  = FrmVal$(Sig_DtHoje,45,0)                   'data do dia


'acordos de copia
Cli      = SqlCmp$("Cli$")                            'cliente
Tpm      = SqlCmp$("Tpm$")                            'modelo de maquina
Maq      = SqlCmp$("Maq$")                            'numero de serie

maqCli   = FrmNum$( 6.0,TotCnt("Maq",1))              'maquinas do cliente
maqTot   = FrmNum$( 6.0,TotCnt("Maq",0))              'maquinas totais


'contagens
cntIdr    = FrmNum$( 6.0,Cas_AcpMaq_RecIde)           'IDR

cntCli    = Cas_AcpMaq_Cli$                           'cliente
cntTpm    = Cas_AcpMaq_Tpm$                           'modelo de maquina
cntMaq    = Cas_AcpMaq_Maq$                           'numero de serie

cntPer    = Cas_AcpCnt_Per$                           'periodo
cntPcc    = Cas_AcpCnt_Pcc$                           'pessoa de contacto
cntMaqCli = FrmNum$( 6.0,numMaqCli)                   'maquinas do cliente
cntMaqTot = FrmNum$( 6.0,numMaqTot)                   'maquinas totais

totMaqBas = FrmNum$( 6.0,numMaqBas)                   'maquinas sem contagem
totMaqCnt = FrmNum$( 6.0,numMaqCnt)                   'maquinas com contagem

'contadores do periodo
cntA3Pre  = FrmNum$(10.0,Cas_AcpCnt_A3CntPre)         'A3 contador       preto
cntA3Cor  = FrmNum$(10.0,Cas_AcpCnt_A3CntCor)         'A3 contador       cor
cntA4Pre  = FrmNum$(10.0,Cas_AcpCnt_A4CntPre)         'A4 contador       preto
cntA4Cor  = FrmNum$(10.0,Cas_AcpCnt_A4CntCor)         'A4 contador       cor

'inutilizadas do periodo
inuA3Pre  = FrmNum$( 8.0,Cas_AcpCnt_A3InuPre)         'A3 inutilizadas   preto
inuA3Cor  = FrmNum$( 8.0,Cas_AcpCnt_A3InuCor)         'A3 inutilizadas   cor
inuA4Pre  = FrmNum$( 8.0,Cas_AcpCnt_A4InuPre)         'A4 inutilizadas   preto
inuA4Cor  = FrmNum$( 8.0,Cas_AcpCnt_A4InuCor)         'A4 inutilizadas   cor


'contagens do periodo anterior
antPer       = VarCom$("AntPer$")                     'periodo da contagem
antA3CntPre  = FrmNum$( 8.0,VarCom("antA3CntPre"))    'A3 contagem       preto
antA3CntCor  = FrmNum$( 8.0,VarCom("antA3CntCor"))    'A3 contagem       cor
antA4CntPre  = FrmNum$( 8.0,VarCom("antA4CntPre"))    'A4 contagem       preto
antA4CntCor  = FrmNum$( 8.0,VarCom("antA4CntCor"))    'A4 contagem       cor

'contagens do periodo
perNum       = FrmNum$( 3.0,VarCom("perNum"))         'numero de periodos da contagem
perA3IncPre  = FrmNum$( 8.0,VarCom("perA3IncPre"))    'A3 incluidas      preto
perA3IncCor  = FrmNum$( 8.0,VarCom("perA3IncCor"))    'A3 incluidas      cor
perA4IncPre  = FrmNum$( 8.0,VarCom("perA4IncPre"))    'A4 incluidas      preto
perA4IncCor  = FrmNum$( 8.0,VarCom("perA4IncCor"))    'A4 incluidas      cor
perA3CntPre  = FrmNum$( 8.0,VarCom("perA3CntPre"))    'A3 contagem       preto
perA3CntCor  = FrmNum$( 8.0,VarCom("perA3CntCor"))    'A3 contagem       cor
perA4CntPre  = FrmNum$( 8.0,VarCom("perA4CntPre"))    'A4 contagem       preto
perA4CntCor  = FrmNum$( 8.0,VarCom("perA4CntCor"))    'A4 contagem       cor

##


'==============================================================================
#PGM - Programa/Funcoes
'==============================================================================
'---------------------------------------------------------->'Comentario (61)
'------------------------------------------------------->'Comentario (58)
'---------------------------------------------------->'Comentario (55)
'------------------------------------------------->'Comentario (52)
'------------------------------------->'Comentario (40)

'-----------------------------------------------------------------------------
' Funcoes para inicializacao
'-----------------------------------------------------------------------------
Sub FxIni 'funcao de inicializacao
end sub


Sub FxFim 'funcao de finalizacao
end sub


'-----------------------------------------------------------------------------
' XLS - Funcoes comuns
'-----------------------------------------------------------------------------
Sub Xls_DocIni 'inicializar documento
dfi$ = FicEmp$("EMP","Ext","dExcel",cmo$)          'directorio de documentos EXCEL
'nfi$ = "RND:AcpMaq.xls"                            'nome do ficheiro
nfi$ = "RND:" + xlsMat$                            '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
xlsLfi = xlsLin + 1                                'linha final
res = XlsLinEli(xlsLfi, 1)                         'eliminar linha - final
res = XlsLinEli(xlsLba, 1)                         'eliminar linha - primeira

'res = XlsWks(1)                                   'activar worksheet

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_IncLin 'incrementar linha
xlsLin = xlsLin + 1                                'contar linha
res = XlsLinIns(xlsLin, 1)                         'juntar linha

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


'-----------------------------------------------------------------------------
'AcpMaq - Acordos de Copia
'-----------------------------------------------------------------------------
Sub AcpMaq_CabIni 'inicializar documento
'cnt=cnt+1                                      'contar
''x=SqlOpcAct("Cnt",cnt)                         'actualizar valor de opcao

'if cnt>5 then 
'   x=SqlOpcAct("LinAdi",1)                     'usar linha adicional
'end if
end sub


Sub AcpMaq_Cab 'cabecalho
FxDiv LstIde,16CPI,0
print TxTit$("TT=10CPI, LD, PT=40C, TL=10CPI",MemTxt$(1))
?Data : @DataExt                                                  Folha No: @Pag#
?================================================================================
?Cliente          Modelo       No Serie
?================================================================================
end sub


Sub AcpMaq_Lin 'linha
?@Cli      @Tpm                 @Maq                                            #
end sub


Sub AcpMaq_LinTit1 'titulo 1 - familia
tmp=CntLin("MIN",5)                                'minimo de linhas
tmp=CntLin("INC",1)                                'contar linha

cli$ = SbtInf$("ACT",1)                            'familia
idg$ = cli$                                        'identificacao do grupo

print tab(5) "Cliente: " idg$                      'identificar grupo
end sub


Sub AcpMaq_LinSbt1 'subtotal 1
?    Maquinas:@maqCli                                                          #
print

tmp=CntLin("INC",1)                                'contar linhas
x=TotLpz(1)                                        'limpar totais
end sub


Sub AcpMaq_Fim 'totais
?================================================================================
?      Totais :@MaqTot                                                          #
?================================================================================
FxDiv LstPer,SP
'Print PrtCmd$("[SP]");
end sub


Sub AcpMaq_FimAjt 'fim de pagina intermedia
?================================================================================
FxDiv LstPer,SP
'Print PrtCmd$("[SP]");
end sub


'-----------------------------------------------------------------------------
'AcpCnt - Contagens
'-----------------------------------------------------------------------------
Sub AcpCnt_CabIni 'inicializar documento
numMaqCli = 0                                      'limpar contador
numMaqTot = 0                                      'limpar contador
numMaqCnt = 0                                      'limpar contador
numMaqBas = 0                                      'limpar contador
end sub


Sub AcpCnt_Cab 'cabecalho
FxDiv LstIde,16CPI,0
print TxTit$("TT=16CPI, LD, PT=66C, TL=16CPI",MemTxt$(1))
?Data : @DataExt                                                                                                      Folha No: @Pag#
?====================================================================================================================================
?                                               A4 Preto           A4 Cor             A3 Preto           A3 Cor                     #
?  Modelo        No Serie     Periodo     Contador   Inut.   Contador   Inut.   Contador   Inut.   Contador   Inut.  Contacto       #
?====================================================================================================================================
'print string$(132,"=")
end sub


Sub AcpCnt_Lin 'linha
numMaqCli = numMaqCli + 1                          'contar maquina
numMaqTot = numMaqTot + 1                          'contar maquina

?@cntTpm         @cntMaq      (????)   |         |        |         |        |         |        |         |         |               #
end sub


Sub AcpCnt_LinBas 'linha base (sem contagem)
numMaqCli = numMaqCli + 1                          'contar maquina
numMaqTot = numMaqTot + 1                          'contar maquina
numMaqBas = numMaqBas + 1                          'contar maquina sem contagem

?@cntTpm         @cntMaq               |         |        |         |        |         |        |         |         |               #
end sub


Sub AcpCnt_LinCnt 'linha de contagem
numMaqCli = numMaqCli + 1                          'contar maquina
numMaqTot = numMaqTot + 1                          'contar maquina
numMaqCnt = numMaqCnt + 1                          'contar maquina com contagem

?@cntTpm         @cntMaq      @cntPer  @cntA4Pre @inuA4Pre@cntA4Cor @inuA4Cor@cntA3Pre @inuA3Pre@cntA3Cor @inuA3Cor @cntPcc         #
end sub


Sub AcpCnt_LinIde 'titulo de grupo
cli$ = Cas_AcpMaq_Cli$ + " - " + Cta_Mst_Nome$     'cliente
print
print tab(5) "Cliente: " cli$                      'identificar grupo

numMaqCli = 0                                      'limpar contador
end sub


Sub AcpCnt_LinSbt 'subtotal
tmp=CntLin("INC",-2)                               'contar linha (sem mudar pagina)

?    Maquinas: @cntMaqCli                                                       #
print
end sub


Sub AcpCnt_Fim 'totais
?====================================================================================================================================
?      Totais: @cntMaqTot   Com contagem: @totMaqCnt  Sem contagem: @totMaqBas                                                      #
?====================================================================================================================================
FxDiv LstPer,SP
'Print PrtCmd$("[SP]");
end sub


'-----------------------------------------------------------------------------
' Listagem para EXCEL (Acordos de Copia)
'-----------------------------------------------------------------------------
Sub XlsAcpMaq_DocIni 'inicializar documento
xlsMat$="AcpMaq.xls"                               'Matriz para Listagem de Acordos de Copia
call Xls_DocIni                                    'inicializar documento
call XlsAcpMaq_Prep                                'preparar

cntGer = 0                                         'limpar contador geral
cntGrp = 0                                         'limpar contador de grupo
end sub


Sub XlsAcpMaq_DocFim 'terminar documento
linIni = linBav                                    'linha inicial
linFim = linCnt                                    'linha final

'mostrar
call Xls_DocFim                                    'terminar/mostrar documento
end sub


Sub XlsAcpMaq_Prep 'preparar para listar
res = XlsWks("Valores")                            'activar worksheet

empNum$ = Emp_Inf_Cod$                             'numero da empresa
empNom$ = Emp_Inf_Nome$                            'nome da empresa
lstTip$ = MemTxt$(2)                               'tipo da listagem
'lstDt$  = FrmDt$("", Sig_DtHoje)                   'data para 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_Tipo", lstTip$)               'tipo da listagem
res = XlsIdeLst("Lst_Data", lstDt$)                'data

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
xlsLin = linBav                                    'contador de linhas usadas
end sub


Sub XlsAcpMaq_Lin 'linha de valores
call Xls_IncLin                                    'incrementar linha

for co = 8 to 10
cd = co                                            'coluna de destino
res = XlsFormCop(xlsLba, co, xlsLin, cd)           'copiar formula
next

'valores a listar
cntGer = cntGer + 1                                'contar - geral
cntGrp = cntGrp + 1                                'contar - grupo

Cli$         = SqlCmp$("Cli$")                     'cliente
Tpm$         = SqlCmp$("Tpm$")                     'modelo de maquina
Maq$         = SqlCmp$("Maq$")                     'numero de serie

Tdo$         = SqlCmp$("Tdo$")                     'tipo de documento
Ndo$         = SqlCmp$("Ndo$")                     'numero de documento
doc$         = tdo$ + " "+ FrmNdo$("44",tdo$,ndo$) 'documento

maqNom$      = CasArtCon$(Tpm$, "Nome$")           'nome da maquina
'res          = CasTabLer$("ART", tpm$)             'ler tabela de artigos
'maqNom$      = Cas_Art_Nome$                       'nome da maquina

Nacordo$     = doc$                                'Nº do Acordo
Nserie$      = Maq$                                'Nº de Serie
DtIni$       = "'" + SqlCmp$("DtIni$")             'Data Inicio
DtFim$       = "'" + SqlCmp$("DtFim$")             'Data Fim
ValTxFixa    = SqlCmp("TaxFix")                    'Taxa Fixa
CtInicial    = 0                                   'Ct. Inicial
A4PreCpinclu = SqlCmp("A4IncPre")                  'A4 Preto Copias Incl.
A4PrePrCopia = SqlCmp("A4AdiPre")                  'A4 Preto Preço Ad. Copia
A4CorCpinclu = SqlCmp("A4IncCor")                  'A4 Cores Copias Incl.
A4CorPrCopia = SqlCmp("A4AdiCor")                  'A4 Cores Preço Ad. Copia
A3PreCpinclu = SqlCmp("A3IncPre")                  'A3 Preto Copias Incl.
A3PrePrCopia = SqlCmp("A3AdiPre")                  'A3 Preto Preço Ad. Copia
A3CorCpinclu = SqlCmp("A3IncCor")                  'A3 Cores Copias Incl.
A3CorPrCopia = SqlCmp("A3AdiCor")                  'A3 Cores Preço Ad. Copia
pContagem$   = SqlCmp$("PerCnt$")                  'Periodos de Contagem
pFacturar$   = SqlCmp$("PerFac$")                  'Periodos de Facturação
xcont$       = SqlCmp$("Pcc$")                     'Contacto


'listar
res = XlsLst(xlsLin, 2, cntGrp)                    'numero da linha

res = XlsLst(xlsLin, 3, Nacordo$)                  'Nº do Acordo
res = XlsLst(xlsLin, 4, Nserie$)                   'Nº de Serie
res = XlsLst(xlsLin, 5, maqNom$)                   'Nome da Máquina
res = XlsLst(xlsLin, 6, DtIni$)                    'Data Inicial
res = XlsLst(xlsLin, 7, DtFim$)                    'Data Final
res = XlsLst(xlsLin, 8, ValTxFixa)                 'Valor da Taxa Fixa
res = XlsLst(xlsLin, 9, CtInicial)                 'Contagem Inicial
res = XlsLst(xlsLin,10, A4PreCpinclu)              'A4 Preto Copias Incl.
res = XlsLst(xlsLin,11, A4PrePrCopia)              'A4 Preto Preço Ad. Copia
res = XlsLst(xlsLin,12, A4CorCpinclu)              'A4 Cores Copias Incl.
res = XlsLst(xlsLin,13, A4CorPrCopia)              'A4 Cores Preço Ad. Copia
res = XlsLst(xlsLin,14, A3PreCpinclu)              'A3 Preto Copias Incl.
res = XlsLst(xlsLin,15, A3PrePrCopia)              'A3 Preto Preço Ad. Copia
res = XlsLst(xlsLin,16, A3CorCpinclu)              'A3 Cores Copias Incl.
res = XlsLst(xlsLin,17, A3CorPrCopia)              'A3 Cores Preço Ad. Copia

ncp = TxtSepMul(pContagem$,",")                    'separar periodos de contagem
for i = 1 to ncp
mesCnt = ConNum(i)                                 'mes de contagem
xCol = 17 + mesCnt                                 'coluna da contagem
res = XlsLst(xlsLin, xCol, "X")                    'marcar periodo
next

nfp = TxtSepMul(pFacturar$,",")                    'separar periodos de facturação
for i = 1 to nfp
mesFact = ConNum(i)                                'mes de facturar
xCol = 29 + mesFact                                'coluna da facturação
res = XlsLst(xlsLin, xCol, "X")                    'marcar periodo
next

res = XlsLst(xlsLin,42, xcont$)                    'Contacto
End sub


Sub XlsAcpMaq_LinTit1 'linha de titulo de grupo
call Xls_IncLin                                    'incrementar linha

cliCod$ = SbtInf$("ACT",1)                         'Cliente
res     = CtaContaLer(cliCod$)                     'ler conta
cliNom$ = Cta_Mst_Nome$                            'nome do cliente


'listar
zon$= XlsZonNum$("L", xlsLin)                      'zona da linha
res = XlsFon(zon$, ",,B+")                         'activar fonte bold

res = XlsLst(xlsLin, 3, CliCod$)                   'codigo
res = XlsLst(xlsLin, 4, CliNom$)                   'identificacao

cntGrp = 0                                         'limpar contador de grupo 
End sub


Sub XlsAcpMaq_LinSbt1 'linha de valores - subtotais
if cntGrp > 1 then                                 'listar subtotais ?
   call Xls_IncLin                                 'incrementar linha

   'listar
   zon$ = XlsZonNum$("L", xlsLin)                  'zona da linha
   res  = XlsFon(zon$, ",,I+")                     'activar fonte italico
   res  = XlsFon(zon$, ",,B+")                     'activar fonte bold
   ide$ = "Nº Maquinas:"                           'descricao
   res  = XlsLst(xlsLin, 3, ide$)                  'identificacao

   res = XlsLst(xlsLin, 4, cntgrp)                 'nº de Maquinas
end if

'limpar subtotais
if cntGrp > 0 then                                 'separarar subtotais ?
   call Xls_IncLin                                 'incrementar linha
end if
End sub


Sub XlsAcpMaq_Fim 'terminar
res = XlsIdePsq("PO_TOT")                          'pesquisar posicao
linTot = XlsIdePsqRes("L")                         'linha para totais

res = XlsLst(linTot, 4, cntGer)                    'numero de linhas

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


'-----------------------------------------------------------------------------
' Listagem para EXCEL (Contagem)
'-----------------------------------------------------------------------------
Sub XlsAcpCnt_DocIni 'inicializar documento
xlsMat$="AcpCnt.xls"                               'Matriz para Listagem de Contagens
call Xls_DocIni                                    'inicializar documento
call XlsAcpCnt_Prep                                'preparar

numMaqCli = 0                                      'limpar contador
numMaqTot = 0                                      'limpar contador
numMaqCnt = 0                                      'limpar contador
numMaqBas = 0                                      'limpar contador
end sub



'-----------------------------------------------------------------------------
' Listagem para EXCEL (Contagem A4)
'-----------------------------------------------------------------------------
Sub XlsAcpCntA4_DocIni 'inicializar documento
xlsMat$="AcpCntA4.xls"                             'Matriz para Listagem de Contagens
call Xls_DocIni                                    'inicializar documento
call XlsAcpCnt_Prep                                'preparar

numMaqCli = 0                                      'limpar contador
numMaqTot = 0                                      'limpar contador
numMaqCnt = 0                                      'limpar contador
numMaqBas = 0                                      'limpar contador
end sub


Sub XlsAcpCnt_DocFim 'terminar documento
linIni = linBav                                    'linha inicial
linFim = linCnt                                    'linha final

'mostrar
call Xls_DocFim                                    'terminar/mostrar documento
end sub


Sub XlsAcpCnt_Prep 'preparar para listar
res = XlsWks("Valores")                            'activar worksheet

empNum$ = Emp_Inf_Cod$                             'numero da empresa
empNom$ = Emp_Inf_Nome$                            'nome da empresa
lstTip$ = MemTxt$(2)                               'tipo da listagem
'lstDt$  = FrmDt$("", Sig_DtHoje)                   'data para 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_Tipo", lstTip$)               'tipo da listagem
res = XlsIdeLst("Lst_Data", lstDt$)                'data

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
xlsLin = linBav                                    'contador de linhas usadas
end sub


Sub XlsAcpCnt_Lin 'linha de valores
'nada a executar
end sub


Sub XlsAcpCnt_LinA4 'linha de valores
'nada a executar
end sub


Sub XlsAcpCnt_LinBas 'linha base (sem contagem)
numMaqCli = numMaqCli + 1                          'contar maquina
numMaqTot = numMaqTot + 1                          'contar maquina
numMaqBas = numMaqBas + 1                          'contar maquina sem contagem

call XlsAcpCnt_LinPrpVar                           'preparar valores

'listar
res = XlsLst(xlsLin,18, aCont$)                    'Contacto (do acordo)
end sub


Sub XlsAcpCnt_LinA4Bas 'linha base (sem contagem)
numMaqCli = numMaqCli + 1                          'contar maquina
numMaqTot = numMaqTot + 1                          'contar maquina
numMaqBas = numMaqBas + 1                          'contar maquina sem contagem

call XlsAcpCnt_LinA4PrpVar                         'preparar valores

'listar
res = XlsLst(xlsLin,18, aCont$)                    'Contacto (do acordo)
end sub                                            'Fim do Sub LinBasA4


Sub XlsAcpCnt_LinCnt 'linha de contagem
numMaqCli = numMaqCli + 1                          'contar maquina
numMaqTot = numMaqTot + 1                          'contar maquina
numMaqCnt = numMaqCnt + 1                          'contar maquina com contagem

call XlsAcpCnt_LinPrpVar                           'preparar valores

'listar
res = XlsLst(xlsLin, 7, A4PrePer)                  'A4 Preto Contagem Período
res = XlsLst(xlsLin, 8, A4PreInu)                  'A4 Preto Inutilizadas
res = XlsLst(xlsLin,10, A4CorPer)                  'A4 Cores Contagem Período
res = XlsLst(xlsLin,11, A4CorInu)                  'A4 Cores Inutilizadas
res = XlsLst(xlsLin,13, A3PrePer)                  'A3 Preto Contagem Período
res = XlsLst(xlsLin,14, A3PreInu)                  'A3 Preto Inutilizadas
res = XlsLst(xlsLin,16, A3CorPer)                  'A3 Cores Contagem Período
res = XlsLst(xlsLin,17, A3CorInu)                  'A3 Cores Inutilizadas
res = XlsLst(xlsLin,18, xCont$)                    'Contacto (da contagem)
end sub


Sub XlsAcpCnt_LinA4Cnt 'linha de contagem
numMaqCli = numMaqCli + 1                          'contar maquina
numMaqTot = numMaqTot + 1                          'contar maquina
numMaqCnt = numMaqCnt + 1                          'contar maquina com contagem

call XlsAcpCnt_LinA4PrpVar                         'preparar valores

'listar
res = XlsLst(xlsLin, 7, A4PrePer)                  'A4 Preto Contagem Período
res = XlsLst(xlsLin, 8, A4PreInu)                  'A4 Preto Inutilizadas
res = XlsLst(xlsLin, 9, xCont$)                    'Contacto (da contagem)
end sub                                            'Fim do Sub LinCntA4


Sub XlsAcpCnt_LinPrpVar 'preparar valores
call Xls_IncLin                                    'incrementar linha

for co = 8 to 10
cd = co                                            'coluna de destino
res = XlsFormCop(xlsLba, co, xlsLin, cd)           'copiar formula
next

'valores a listar
cntGer = cntGer + 1                                'contar - geral
'cntGrp = cntGrp + 1                                'contar - grupo
cntGrp = numMaqCli                                 'contador do grupo

Cli$         = SqlCmp$("Cli$")                     'cliente
tpm$         = Cas_AcpMaq_Tpm$                     'modelo de maquina
'Tpm$         = SqlCmp$("Tpm$")                     'modelo de maquina
'Maq$         = SqlCmp$("Maq$")                     'numero de serie

Tdo$         = SqlCmp$("Tdo$")                     'tipo de documento
Ndo$         = SqlCmp$("Ndo$")                     'numero de documento
doc$         = tdo$ + " "+ FrmNdo$("44",tdo$,ndo$) 'documento

Nserie$      = Cas_AcpMaq_Maq$                     'Nº de Serie
maqNom$      = CasArtCon$(Tpm$, "Nome$")           'nome da maquina

'xperiodo$    = Cas_AcpCnt_Per$                     'período da contagem
xCntPer$     = VarCom$("cntPer$")                  'período da contagem
xCntSit$     = VarCom$("cntSit$")                  'situacao da contagem
xPerTmp$     = xCntPer$                            'inicializar periodo
if xPerTmp$ <> "?" then                            'tem periodo ?
   xPerAdi$ = " (" + xCntSit$ + ")"                'informacao adicional
   xPerTmp$ = xPerTmp$ + xPerAdi$                  'inicializar periodo
   xPeriodo$    = "'" + xPerTmp$                   'periodo da contagem
else
   xPeriodo$    = ""                               'periodo da contagem
end if

A4PreInu     = Cas_AcpCnt_A4InuPre                 'A4 Preto Inutilizadas
A4CorInu     = Cas_AcpCnt_A4InuCor                 'A4 Cores Inutilizadas
A3PreInu     = Cas_AcpCnt_A3InuPre                 'A3 Preto Inutilizadas
A3CorInu     = Cas_AcpCnt_A3InuCor                 'A3 Cores Inutilizadas
xcont$       = Cas_AcpCnt_Pcc$                     'Contacto

'contadores do periodo
A4PrePer     = Cas_AcpCnt_A4CntPre                 'A4 Preto Contagem Período
A4CorPer     = Cas_AcpCnt_A4CntCor                 'A4 Cores Contafem Período
A3PrePer     = Cas_AcpCnt_A3CntPre                 'A3 Preto Contafem Período
A3CorPer     = Cas_AcpCnt_A3CntCor                 'A3 Cores Contafem Período

'valores anteriores
A4PreAnt     = VarCom("antA4CntPre")               'A4 Preto Contagem Anterior
A4CorAnt     = VarCom("antA4CntCor")               'A4 Cores Contagem Anterior
A3PreAnt     = VarCom("antA3CntPre")               'A3 Preto Contagem Anterior
A3CorAnt     = VarCom("antA3CntCor")               'A3 Cores Contagem Anterior

'listar
res = XlsLst(xlsLin, 2, cntGrp)                    'numero da linha

res = XlsLst(xlsLin, 3, Nserie$)                   'Nº de Serie
res = XlsLst(xlsLin, 4, maqNom$)                   'Nome da Máquina
res = XlsLst(xlsLin, 5, xperiodo$)                 'Período

'valores anteriores
res = XlsLst(xlsLin, 6, A4PreAnt)                  'A4 Preto Contagem Anterior
res = XlsLst(xlsLin, 9, A4CorAnt)                  'A4 Cores Contagem Anterior
res = XlsLst(xlsLin,12, A3PreAnt)                  'A3 Preto Contagem Anterior
res = XlsLst(xlsLin,15, A3CorAnt)                  'A3 Cores Contagem Anterior
end sub


Sub XlsAcpCnt_LinA4PrpVar 'preparar valores
call Xls_IncLin                                    'incrementar linha

for co = 8 to 10
cd = co                                            'coluna de destino
res = XlsFormCop(xlsLba, co, xlsLin, cd)           'copiar formula
next

'valores a listar
cntGer = cntGer + 1                                'contar - geral
'cntGrp = cntGrp + 1                                'contar - grupo
cntGrp = numMaqCli                                 'contador do grupo

Cli$         = SqlCmp$("Cli$")                     'cliente
tpm$         = Cas_AcpMaq_Tpm$                     'modelo de maquina
'Tpm$         = SqlCmp$("Tpm$")                     'modelo de maquina
'Maq$         = SqlCmp$("Maq$")                     'numero de serie

Tdo$         = SqlCmp$("Tdo$")                     'tipo de documento
Ndo$         = SqlCmp$("Ndo$")                     'numero de documento
doc$         = tdo$ + " "+ FrmNdo$("44",tdo$,ndo$) 'documento

Nserie$      = Cas_AcpMaq_Maq$                     'Nº de Serie
maqNom$      = CasArtCon$(Tpm$, "Nome$")           'nome da maquina

'xperiodo$    = Cas_AcpCnt_Per$                     'período da contagem
xCntPer$     = VarCom$("cntPer$")                  'período da contagem
xCntSit$     = VarCom$("cntSit$")                  'situacao da contagem
xPerTmp$     = xCntPer$                            'inicializar periodo
if xPerTmp$ <> "?" then                            'tem periodo ?
   xPerAdi$ = " (" + xCntSit$ + ")"                'informacao adicional
   xPerTmp$ = xPerTmp$ + xPerAdi$                  'inicializar periodo
   xPeriodo$    = "'" + xPerTmp$                   'periodo da contagem
else
   xPeriodo$    = ""                               'periodo da contagem
end if

A4PreInu     = Cas_AcpCnt_A4InuPre                 'A4 Preto Inutilizadas
xcont$       = Cas_AcpCnt_Pcc$                     'Contacto

'contadores do periodo
A4PrePer     = Cas_AcpCnt_A4CntPre                 'A4 Preto Contagem Período

'valores anteriores
A4PreAnt     = VarCom("antA4CntPre")               'A4 Preto Contagem Anterior

'listar
res = XlsLst(xlsLin, 2, cntGrp)                    'numero da linha

res = XlsLst(xlsLin, 3, Nserie$)                   'Nº de Serie
res = XlsLst(xlsLin, 4, maqNom$)                   'Nome da Máquina
res = XlsLst(xlsLin, 5, xperiodo$)                 'Período

'valores anteriores
res = XlsLst(xlsLin, 6, A4PreAnt)                  'A4 Preto Contagem Anterior
end sub


Sub XlsAcpCnt_LinIde 'linha de titulo de grupo
call Xls_IncLin                                    'incrementar linha

cliCod$ = Cas_AcpMaq_Cli$                          'cliente
cliNom$ = Cta_Mst_Nome$                            'nome do cliente
CliTel$ = Cta_Ang_Telef$                           'telefone Cliente

'listar
zon$= XlsZonNum$("L", xlsLin)                      'zona da linha
res = XlsFon(zon$, ",,B+")                         'activar fonte bold

res = XlsLst(xlsLin, 3, CliCod$)                   'codigo
res = XlsLst(xlsLin, 4, CliNom$)                   'identificacao
res = XlsLst(xlsLin, 5, CliTel$)                   'Telefone Cliente

numMaqCli = 0                                      'limpar contador
End sub


Sub XlsAcpCnt_LinA4Ide 'linha de titulo de grupo
call XlsAcpCnt_LinIde                              'linha de titulo de grupo
end sub


Sub XlsAcpCnt_LinSbt 'linha de valores - subtotais
cntGrp = numMaqCli                                 'contador do grupo
if cntGrp > 1 then                                 'listar subtotais ?
   call Xls_IncLin                                 'incrementar linha

   'listar
   zon$ = XlsZonNum$("L", xlsLin)                  'zona da linha
   res  = XlsFon(zon$, ",,I+")                     'activar fonte italico
   res  = XlsFon(zon$, ",,B+")                     'activar fonte bold
   ide$ = "Nº Maquinas:"                           'descricao
   res  = XlsLst(xlsLin, 3, ide$)                  'identificacao

   res = XlsLst(xlsLin, 4, cntGrp)                 'nº de Maquinas
end if

'limpar subtotais
if cntGrp > 0 then                                 'separarar subtotais ?
   call Xls_IncLin                                 'incrementar linha
end if
End sub


Sub XlsAcpCnt_LinA4Sbt 'linha de valores - subtotais
call XlsAcpCnt_LinSbt                              'linha de valores - subtotais
End sub


Sub XlsAcpCnt_Fim 'terminar
res = XlsIdePsq("PO_TOT")                          'pesquisar posicao
linTot = XlsIdePsqRes("L")                         'linha para totais

lt1 = LinTot - 1                                   'total de maquinas
lt2 = LinTot                                       'total de maquinas com contagem
lt3 = LinTot + 1                                   'total de maquinas sem contagem

res = XlsLst(lt1, 5, numMaqTot)                    'listar total de maquinas
res = XlsLst(lt2, 5, numMaqCnt)                    'listar total de maquinas com contagem
res = XlsLst(lt3, 5, numMaqBas)                    'listar total de maquinas sem contagem

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

##

