'Nome       : CtaCre.sql
'Tipo       : SQL
'Data       : 2011/05/28
'Versao     : 1.0
'Descricao  : Controlo de credito

'==============================================================================
'#VER - Historia de modificacoes
'==============================================================================
'- Versao : 1.0   ____/__/__ --------------------------------------------------
'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","Cta,Cta.mdb")


'------------------------------------------------------------------------------
'- Credito por conta ----------------------------------------------------------
'------------------------------------------------------------------------------
Gerar registos      [Cmd]=CreCtu=+
   +SELECT MST.[Ct$] AS CTU, MST.[Nome$]      AS NOM, MST.[Entid$] AS ENT, +
   +ANG.[CrdCtl$]    AS VLC, +
   +CRE.[Cod$]       AS MCC, CRE.[Des$]       AS MCD, CRE.[Vlr$]   AS MCV, +
   +CTX.[SegCreAct$] AS ACT, CTX.[SegCreDev$] AS DEV +
   +FROM (({TB_CtaMst} MST +
   +LEFT JOIN Esp_TbEntCre CRE  ON MST.[Entid$] = CRE.[Cod$]) +
   +LEFT JOIN {TB_CtaAng} ANG   ON MST.[Ct$]    = ANG.[Ct$]) +
   +LEFT JOIN {TB_CtaMstEx} CTX ON MST.[Ct$]    = CTX.[Ct$] +
   +WHERE MST.[Ct$]  Like    '211*' +
   +AND   MST.Ct$    BETWEEN '{Opc_Ct.Ini}'  AND '{Opc_Ct.Fim}' +
   +AND   MST.Entid$ BETWEEN '{Opc_Div.Ini}' AND '{Opc_Div.Fim}' +
   +ORDER BY MST.Ct$


'------------------------------------------------------------------------------
'- Credito por entidade -------------------------------------------------------
'------------------------------------------------------------------------------
Gerar registos      [Cmd]=CreEnt=+
   +SELECT +
   +CRE.[Cod$] AS MCC, CRE.[Des$] AS MCD, CRE.[Vlr$] AS MCV, +
   +0          AS Zero +
   +FROM Esp_TbEntCre CRE +
   +ORDER BY CRE.Cod$


'------------------------------------------------------------------------------
'- Credito por entidade/conta -------------------------------------------------
'------------------------------------------------------------------------------
Gerar registos      [Cmd]=CreEntCtu=+
   +SELECT MST.[Ct$] AS CTU, MST.[Nome$]      AS NOM, MST.[Entid$] AS ENT, +
   +ANG.[CrdCtl$]    AS VLC, +
   +CRE.[Cod$]       AS MCC, CRE.[Des$]       AS MCD, CRE.[Vlr$]   AS MCV, +
   +CTX.[SegCreAct$] AS ACT, CTX.[SegCreDev$] AS DEV +
   +FROM (({TB_CtaMst} MST +
   +LEFT JOIN Esp_TbEntCre CRE  ON MST.[Entid$] = CRE.[Cod$]) +
   +LEFT JOIN {TB_CtaAng} ANG   ON MST.[Ct$]    = ANG.[Ct$]) +
   +LEFT JOIN {TB_CtaMstEx} CTX ON MST.[Ct$]    = CTX.[Ct$] +
   +WHERE MST.[Ct$]    Like '211*' +
   +AND   MST.CodTrat$ = '9' +
   +AND   MST.Ct$      BETWEEN '{Opc_Ct.Ini}'  AND '{Opc_Ct.Fim}' +
   +AND   MST.Entid$   BETWEEN '{Opc_Div.Ini}' AND '{Opc_Div.Fim}' +
   +ORDER BY MST.Entid$,MST.Ct$


'------------------------------------------------------------------------------
'- Movimentos por conta -------------------------------------------------------
'------------------------------------------------------------------------------
Gerar registos      [Cmd]=MovCtu=+
   +SELECT +
   +MST.[Ct$]        AS CTU,   MST.[Nome$]      AS NOM, MST.[Entid$] AS ENT, +
   +ANG.[CrdCtl$]    AS VLC, +
   +CRE.[Cod$]       AS MCC,   CRE.[Des$]       AS MCD, CRE.[Vlr$]   AS MCV, +
   +CTX.[SegCreAct$] AS ACT,   CTX.[SegCreDev$] AS DEV, +
   +MOV.[VL]         AS MovVL, MOV.[Ndoc$]      AS MovND, +
   +MOV.[Dtl]        AS MovDT, MOV.[Dtv]        AS MovDV, +
   +0                AS Zero +
   +FROM ((({TB_CtaMst} MST +
   +LEFT JOIN CtaPab MOV       ON MST.[Ct$]    = MOV.[Ct$]) +
   +LEFT JOIN Esp_TbEntCre CRE ON MST.[Entid$] = CRE.[Cod$]) +
   +LEFT JOIN {TB_CtaAng} ANG  ON MST.[Ct$]    = ANG.[Ct$]) +
   +LEFT JOIN CtaMstEx CTX     ON MST.[Ct$]    = CTX.[Ct$] +
   +WHERE MST.[Ct$]    Like '211*' +
   +AND   MOV.RecVal   <> 255 +
   +AND   MST.CodTrat$ = '9' +
   +AND   MST.Ct$      BETWEEN '{Opc_Ct.Ini}'  AND '{Opc_Ct.Fim}' +
   +AND   MST.Entid$   BETWEEN '{Opc_Div.Ini}' AND '{Opc_Div.Fim}' +
   +ORDER BY MST.Ct$, MOV.RecIde


'------------------------------------------------------------------------------
'- Movimentos por entidade/conta -------------------------------------------------------
'------------------------------------------------------------------------------
Gerar registos      [Cmd]=MovEntCtu=+
   +SELECT +
   +MST.[Ct$]        AS CTU,   MST.[Nome$]      AS NOM, MST.[Entid$] AS ENT, +
   +ANG.[CrdCtl$]    AS VLC, +
   +CRE.[Cod$]       AS MCC,   CRE.[Des$]       AS MCD, CRE.[Vlr$]   AS MCV, +
   +CTX.[SegCreAct$] AS ACT,   CTX.[SegCreDev$] AS DEV, +
   +MOV.[VL]         AS MovVL, MOV.[Ndoc$]      AS MovND, +
   +MOV.[Dtl]        AS MovDT, MOV.[Dtv]        AS MovDV, +
   +0                AS Zero +
   +FROM ((({TB_CtaMst} MST +
   +LEFT JOIN CtaPab MOV       ON MST.[Ct$]    = MOV.[Ct$]) +
   +LEFT JOIN Esp_TbEntCre CRE ON MST.[Entid$] = CRE.[Cod$]) +
   +LEFT JOIN {TB_CtaAng} ANG  ON MST.[Ct$]    = ANG.[Ct$]) +
   +LEFT JOIN CtaMstEx CTX     ON MST.[Ct$]    = CTX.[Ct$] +
   +WHERE MST.[Ct$]    Like '211*' +
   +AND   MOV.RecVal   <> 255 +
   +AND   MST.CodTrat$ = '9' +
   +AND   MST.Ct$      BETWEEN '{Opc_Ct.Ini}'  AND '{Opc_Ct.Fim}' +
   +AND   MST.Entid$   BETWEEN '{Opc_Div.Ini}' AND '{Opc_Div.Fim}' +
   +ORDER BY MST.Entid$, MST.Ct$, MOV.RecIde


##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=CreCtu,Credito por Conta

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=CreCtu_Cab
Listar linhas               [FxLIN]=CreCtu_Lin
Listar fim                  [FxFIM]=CreCtu_Fim

'controlo de listagem SQL
Gerador de dados a listar  [SQLDat]=CreCtu
Subtotalizadores           [SQLSbt]=
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=CreEnt,Credito por Entidade

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=CreEnt_Cab
Listar linhas               [FxLIN]=CreEnt_Lin
Listar fim                  [FxFIM]=CreEnt_Fim

'controlo de listagem SQL
Gerador de dados a listar  [SQLDat]=CreEnt
Subtotalizadores           [SQLSbt]=
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=CreEntCt,Credito por Entidade/Conta

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

'funcoes de listagem
Listar cabecalho            [FxCAB]=CreEntCtu_Cab
Listar linhas               [FxLIN]=CreEntCtu_Lin
Listar fim                  [FxFIM]=CreEntCtu_Fim

'controlo de listagem SQL
Gerador de dados a listar  [SQLDat]=CreEntCtu
Subtotalizadores           [SQLSbt]=ENT
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=XlsMovSeg,XLS - Movimentos para Seguro

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

'funcoes de listagem
Base para documento         [FxDOC]=XlsMovSeg
Listar cabecalho            [FxCAB]=XlsMovSeg_Cab
Listar linhas               [FxLIN]=XlsMovSeg_Lin
Listar fim                  [FxFIM]=XlsMovSeg_Fim

'controlo de listagem SQL
Gerador de dados a listar  [SQLDat]=MovCtu
Subtotalizadores           [SQLSbt]=CTU

Matriz auxiliar            [DocMat]=CtaCre.xls
##


'==============================================================================
#DOC - Configuracao do documento
'==============================================================================
Tipo                       [DocTip]=SQL
Nome                       [DocNom]=XlsMovSegEnt,XLS - Movimentos para Seguro/Entidade

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

'funcoes de listagem
Base para documento         [FxDOC]=XlsMovSegEnt
Listar cabecalho            [FxCAB]=XlsMovSegEnt_Cab
Listar linhas               [FxLIN]=XlsMovSegEnt_Lin
Listar fim                  [FxFIM]=XlsMovSegEnt_Fim

'controlo de listagem SQL
Gerador de dados a listar  [SQLDat]=MovEntCtu
Subtotalizadores           [SQLSbt]=ENT,CTU

Matriz auxiliar            [DocMat]=CtaCre.xls
##


'==============================================================================
#VAR - Variaveis
'==============================================================================
Tipo     = MemTxt$(1)
Pag      = Doc_CntPag
Tit080   = TxTit$("TT=10CPI, LD, PT=40C",Memtxt$(1))
Tit132   = TxTit$("TT=16CPI, LD, PT=66C",Memtxt$(1))
DataExt  = FrmVal$(Sig_DtHoje,45,0)

'- dados a listar -------------------------------------------------------------
vuNrg    = vaNrg                                'numero de registos
toNrg    = FrmNum$(09.0,TotCnt("vuNrg",0))      'numero de registos - total
s1Nrg    = FrmNum$(09.0,TotCnt("vuNrg",1))      'numero de registos - subtotal 1
s2Nrg    = FrmNum$(09.0,TotCnt("vuNrg",2))      'numero de registos - subtotal 2

'grupo
vgCod    = grpCod$                              'grupo - codigo
vgCov    = grpCov$                              'grupo - codigo formatado
vgIde    = grpIde$                              'grupo - identificacao

'- valores comuns -------------------------------------------------------------
vcCod    = comCod$                              'codigo
vcCov    = comCov$                              'codigo formatado
vcIde    = comIde$                              'identificacao
vcCre    = FrmNum$(09.2,comCre)                 'valor de credito

'contagem
'toNrg    = FrmNum$(09.0,TotCnt("vcCov",0))      'numero de registos - total
's1Nrg    = FrmNum$(09.0,TotCnt("vcCov",1))      'numero de registos - subtotal 1
's2Nrg    = FrmNum$(09.0,TotCnt("vcCov",2))      'numero de registos - subtotal 2

'valor de credito
toCre    = FrmNum$(09.2,Total("vcCre",0))       'valor de credito - total
s1Cre    = FrmNum$(09.2,Total("vcCre",1))       'valor de credito - subtotal 1
s2Cre    = FrmNum$(09.2,Total("vcCre",2))       'valor de credito - subtotal 2

'- conta ----------------------------------------------------------------------
vuCtCod  = CTA_MST_Ct$                          'codigo da conta
vuCtNom  = CTA_MST_Nome$                        'nome

'- entidade/credito -----------------------------------------------------------
vuCreCod = creCod$                              'codigo
vuCreCov = creCov$                              'codigo formatado
vuCreNom = creNom$                              'nome

'- documento ------------------------------------------------------------------
vuDocVlr = FrmNum$(09.2,vuDocVdo)               'valor
toDocVlr = FrmNum$(09.2,Total("vuDocVlr",0))    'total
s1DocVlr = FrmNum$(09.2,Total("vuDocVlr",1))    'subtotal 1
s2DocVlr = FrmNum$(09.2,Total("vuDocVlr",2))    'subtotal 2


'- diversos -------------------------------------------------------------------
vuObs    = usaObs$                              'observacoes

'saldo
vuScc    = FrmNum$(09.2,vaScc)                  'valor
toScc    = FrmNum$(09.2,Total("vuScc",0))       'total
s1Scc    = FrmNum$(09.2,Total("vuScc",1))       'subtotal 1
s2Scc    = FrmNum$(09.2,Total("vuScc",2))       'subtotal 2

##


'==============================================================================
#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


Sub FxIni 'funcao de inicializacao
'nada a excutar
end sub


Sub FxFim 'funcao de finalizacao
'nada a excutar
end sub


Sub Lst_AJT 'ajuste
'nada a excutar
end sub


'=============================================================================
'- Comum ---------------------------------------------------------------------
'=============================================================================
'-----------------------------------------------------------------------------
'- [VAR] - Variaveis ---------------------------------------------------------
'-----------------------------------------------------------------------------
Sub Com_Var_Con 'consultar variaveis
ctuCod$ = SqlCmp$("CTU")                           'conta
ctuCre  = SqlCmp("VLC")                            'valor de credito

mccCod$ = SqlCmp$("MCC")                           'modo de controlo de credito
'cteCod$ = SqlCmp$("ENT")                           'entidade

creCod$ = SqlCmp$("MCC")                           'entidade/credito - codigo
creDes$ = SqlCmp$("MCD")                           'entidade/credito - descricao
creVlr  = SqlCmp("MCV")                            'entidade/credito - valor de credito

resXx   = SqlCmp("VXX")                            'valor X
end sub


Sub Com_Var_Prp 'preparar variaveis
usaObs$ = ""                                       'anular observacoes
call Com_Var_Con                                   'consultar variaveis

'preparar valores
call Com_Var_PrpCtu                                'preparar variaveis - conta
call Com_Var_PrpCre                                'preparar variaveis - entidade/credito
call Com_Var_PrpMov                                'preparar variaveis - movimento
end sub


Sub Com_Var_PrpCtu 'preparar variaveis - conta
res  = CtaContaLer(ctuCod$)                        'preparar dados da conta

ctuCov$ = CTA_MST_Ct$                              'codigo formatado
ctuNom$ = CTA_MST_Nome$                            'nome
ctuIde$ = ctuCov$ + " - " + ctuNom$                'identificacao

ctuCtb$ = CTA_MST_Ctrb$                            'contribuinte
end sub


Sub Com_Var_PrpCts 'preparar variaveis - saldo da conta
call Com_Var_PrpScc                                'preparar variaveis - saldo da conta
vaScc  = ctuScc                                    'valor de saldo
res = AcmExe("vuScc", vaScc)                       'acumular - saldo da conta
end sub


Sub Com_Var_PrpScc 'preparar variaveis - saldo da conta
dts     = SIG_DtHoje                               'data para saldo
ctu$    = ctuCod$                                  'conta a usar
ctuScc  = CtaCtSaldo("", dts, ctu$)                'saldo da conta
end sub


Sub Com_Var_PrpCre 'preparar variaveis - entidade/credito
creCov$ = creCod$                                  'codigo formatado
creNom$ = creDes$                                  'nome
creIde$ = creCov$ + " - " + creNom$                'identificacao
end sub


Sub Com_Var_PrpMov 'preparar variaveis - movimento
'seguro
vaSegAct$   = SqlCmp$("ACT")                       'acta
vaSegDev$   = SqlCmp$("DEV")                       'devedor

'documento
vaDocNdo$   = SqlCmp$("MovND")                     'numero
vaDocVlr    = SqlCmp("MovVL")                      'valor
vaDocDtl    = SqlCmp("MovDT")                      'data
vaDocDtv    = SqlCmp("MovDV")                      'data de vencimento
end sub


'-----------------------------------------------------------------------------
'- [TXT] - Listar em modo texto ----------------------------------------------
'-----------------------------------------------------------------------------
Sub Com_Txt_Cab 'cabecalho - texto
'cabTit$ = "Titulo"
FxDiv LstIde,10CPI,0
print TxTit$("TT=10CPI, LD, PT=40C, TL=10CPI",comCabTit$)
?Data: @DataExt                                                   Folha No: @Pag#
?================================================================================
?  Codigo         Nome                                    Credito        Obs.   #
'123456789.12345  123456789.123456789.123456789.12345  1,235,678.12  123456789.1#
?================================================================================
end sub


Sub Com_Txt_LinExe 'executar linha
?@vcCov           @vcIde                               @vcCre           @vuObs  #
'123456789.12345  123456789.123456789.123456789.12345  123456789.12345  12345678#
end sub


Sub Com_Txt_Fim 'terminar
?================================================================================
?   Totais: @toNrg                                     @toCre                   #
?================================================================================
FxDiv LstPer,SP
'Print PrtCmd$("[SP]");
end sub


Sub Com_Txt_LinTit1 'titulo 1
if titIde$ <> "" then                              'ha titulo ?
   tmp = CntLin("INC", 1)                          'contar linhas
   print tab(5) titIde$                            'listar 
end if

titIde$ = ""                                       'anular titulo
end sub


Sub Com_Txt_LinTit2 'titulo 2
if titIde$ <> "" then                              'ha titulo ?
   tmp = CntLin("INC", 1)                          'contar linhas
   print tab(5) titIde$                            'listar 
end if

titIde$ = ""                                       'anular titulo
end sub


Sub Com_Txt_LinSbt1 'subtotal 1
nrg = TotCnt("vcCov",1)                            'numero de registos

if nrg > 1 then                                    'listar numero ?
?           @s1Nrg                                     @s1Cre                   #
   tmp=CntLin("INC", 1)                            'contar linhas
end if

tmp=CntLin("INC", 1)                               'contar linhas
print                                              'separar

x = TotLpz(1)                                      'limpar totais
end sub


Sub Com_Txt_LinSbt2 'subtotal 2
nrg = TotCnt("vcCov",2)                            'numero de registos

if nrg > 1 then                                    'listar numero ?
?           @s2Nrg                                     @s2Cre                   #
   tmp=CntLin("INC", 1)                            'contar linhas
end if

if sepSbt2 = 1 then                                'separar subtotal 2 ?
   tmp=CntLin("INC", 1)                            'contar linhas
   print                                           'separar
end if

sepSbt2 = 1                                        'separar subtotal 2
x = TotLpz(2)                                      'limpar totais
end sub


'------------------------------------------------------------------------------
'- [XLS] - Listar para EXCEL --------------------------------------------------
'------------------------------------------------------------------------------
Sub Com_Xls_DocIni 'inicializar documento
xlsOpcNfi$ = "RND:" + comXlsFic$                   '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$ = comCabTit$                               '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

call XlsComLin_Ini                                 'iniciar linhas

'definicao das colunas
coNrg    = 2                                       'numero de registos - total
coNrs    = 3                                       'numero de registos - subtotal

coCod    = 2                                       'codigo
coNom    = 3                                       'nome
coCtb    = 4                                       'contribuinte

coSegAct = 5                                       'seguro - acta
coSegDev = 6                                       'seguro - devedor

coDocNum = 7                                       'documento - numero
coDocVlr = 8                                       'documento - valor
coDocDtl = 9                                       'documento - data de lancamento
coDocDtv = 10                                      'documento - data de vencimento

coDivScc = 11                                      'diversos - saldo da conta
coDivObs = 12                                      'diversos - observacoes
end sub


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


Sub Com_Xls_IncLin 'incrementar linha
'call XlsComLin_Inc                                 'incrementar linha
call XlsComLin_IncRep                              'incrementar linha + repor formato normal

zon$ = XlsZon$(liUsa, coCod,liUsa, coNom)          'zona
'zon$= XlsZonNum$("L", liUsa)                      'zona da linha
res = XlsAli(zon$, "<")                            'alinhamento
end sub


Sub Com_Xls_LinSep 'linha de separacao
call XlsVnd_IncLin                                 'incrementar linha
end sub


Sub Com_Xls_LinAcm 'acumular valors da linha
res = AcmExe("vuNrg", 1)                           'numero de registos
res = AcmExe("vuDocVlr", vaDocVlr)                 'documento - valor

'res = AcmExe("vuScc", vaScc)                       'conta - saldo
end sub





Sub Com_Xls_LstLinIde 'listar linha - identificacao (codigo e nome)
res = XlsLst(liUsa, coCod, comCod$)                 'codigo
res = XlsLst(liUsa, coNom, comIde$)                 'nome
res = XlsLst(liUsa, coCtb, ctuCtb$)                 'contribuinte
end sub


Sub Com_Xls_LstLinSeg 'listar linha - seguro
vAct$ = "'" + vaSegAct$                            'acta em texto
vDev$ = "'" + vaSegDev$                            'devedor em texto


res = XlsLst(liUsa, coSegAct, vAct$)               'acta
res = XlsLst(liUsa, coSegDev, vDev$)               'devedor
end sub


Sub Com_Xls_LstLinDoc 'listar linha - documento
tdo$ = ""                                          'tipo de documento
vNum$ = FrmNdo$("46", tdo$, vaDocNdo$)             'numero do documento formatado
vNum$ = "'" + trim$(vNum$)                         'numero do documento formatado - texto

vDtl$ = "'" + FrmDt$("", vaDocDtl)                 'data de lancamento
vDtv$ = "'" + FrmDt$("", vaDocDtv)                 'data de vencimento


'listar
res = XlsLst(liUsa, coDocNum, vNum$)               'numero
res = XlsLst(liUsa, coDocVlr, vaDocVlr)            'valor
res = XlsLst(liUsa, coDocDtl, vDtl$)               'data de lancamento
res = XlsLst(liUsa, coDocDtv, vDtv$)               'data de vencimento
end sub


Sub Com_Xls_LstLinDiv 'listar linha - diversos
res = XlsLst(liUsa, coDivScc, vaScc)               'valor de saldo
res = XlsLst(liUsa, coDivObs, vaObs$)              'observacoes
end sub



Sub Com_Xls_LstLinEnt 'listar linha - entidade
res = XlsLst(liUsa, coEntCod, cteCod$)             'codigo
end sub


Sub Com_Xls_LstLinArz 'listar linha - armazem
res = XlsLst(liUsa, coArzCod, arzCod)              'codigo
end sub


Sub Com_Xls_LstLinVnd 'listar linha - vendedor
res = XlsLst(liUsa, coVndCod, vndCod)              'codigo
end sub


Sub Com_Xls_LstLinCtu 'listar linha - conta
res = XlsLst(liUsa, coCtuCod, ctuCod$)             'codigo
res = XlsLst(liUsa, coCtuNom, ctuNom$)             'nome
end sub


Sub Com_Xls_LstLinRes 'listar linha - resumo
res = XlsLst(liUsa, coResQu, resQu)                'quantidade
res = XlsLst(liUsa, coResVt, resVt)                'valor total
'- (52) ------------------------------------------>'Comentario

res = AcmExe("vaResQu", resQu)                     'acumular - quantidade
res = AcmExe("vaResVt", resVt)                     'acumular - valor
end sub


Sub Com_Xls_LstTot 'listar totais
call XlsComLin_Fim                                 'fim de linhas

vaNrg     = TotCnt("vuScc", 0)                     'numero de registos
vaScc     = Total("vuScc", 0)                      'saldo

vaDocVlr  = Total("vuDocVlr", 0)                   'documento - valor

'listar
liUsa = linFim                                     'linha a usar

call XlsComLin_ActBI                               'activar linha em BOLD+ITALICO
res = XlsLst(liUsa, coNrg, vNrg)                   'numero de registos

res = XlsLst(liUsa, coDocVlr, vaDocVlr)            'documento - valor
res = XlsLst(liUsa, coDivScc, vaScc)               'conta - saldo
end sub


Sub Com_Xls_LinTit1 'titulo 1
if titIde$ <> "" then                              'ha titulo ?
   call Com_Xls_IncLin                             'incrementar linha	

   res = XlsLst(liUsa, coNom, titIde$)             'listar identificacao
end if

titIde$ = ""                                       'anular titulo
end sub


Sub Com_Xls_LinTit2 'titulo 2
if titIde$ <> "" then                              'ha titulo ?
   call Com_Xls_IncLin                             'incrementar linha	

   res = XlsLst(liUsa, coNom, titIde$)             'listar identificacao
end if

titIde$ = ""                                       'anular titulo
end sub


Sub Com_Xls_SbtNrg 'numero de registos do subtotal
res = XlsLst(liUsa, coNrs, vaNrg)                  'numero de registos

zon$ = XlsZon$(liUsa, coNrs)                       'zona
res = XlsAli(zon$, "|")                            'alinhamento
end sub


Sub Com_Xls_LinSbt1 'subtotal 1
vaNrg     = TotCnt("vuNrg", 1)                     'numero de registos
vaScc     = Total("vuScc", 1)                      'saldo
vaDocVlr  = Total("vuDocVlr", 1)                   'documento - valor

if vaNrg > 1 then                                  'listar numero ?
   call Com_Xls_IncLin                             'incrementar linha	
   call XlsComLin_ActBI                            'activar linha em BOLD+ITALICO

   call Com_Xls_SbtNrg                             'numero de registos do subtotal
   res = XlsLst(liUsa, coDocVlr, vaDocVlr)         'documento - valor
   res = XlsLst(liUsa, coDivScc, vaScc)            'conta - saldo
end if

call Com_Xls_IncLin                                'incrementar linha	

x = TotLpz(1)                                      'limpar totais
end sub


Sub Com_Xls_LinSbt2 'subtotal 2
vaNrg     = TotCnt("vuNrg", 2)                     'numero de registos
vaScc     = Total("vuScc", 2)                      'saldo
vaDocVlr  = Total("vuDocVlr", 2)                   'documento - valor

if vaNrg > 1 then                                  'listar numero ?
   call Com_Xls_IncLin                             'incrementar linha	
   call XlsComLin_ActBI                            'activar linha em BOLD+ITALICO

   call Com_Xls_SbtNrg                             'numero de registos do subtotal
   res = XlsLst(liUsa, coDocVlr, vaDocVlr)         'documento - valor
   res = XlsLst(liUsa, coDivScc, vaScc)            'conta - saldo
end if

if sepSbt2 = 1 then                                'separar subtotal 2 ?
   call Com_Xls_IncLin                             'incrementar linha	
end if

sepSbt2 = 1                                        'separar subtotal 2
x = TotLpz(2)                                      'limpar totais
end sub


'==============================================================================
'- [TXT] - Listar em modo texto -----------------------------------------------
'==============================================================================
'------------------------------------------------------------------------------
'- [TXT] - Credito por conta --------------------------------------------------
'------------------------------------------------------------------------------
Sub CreCtu_Cab 'cabecalho
comCabTit$ = "Credito por Conta"                   'titulo

call Com_Txt_Cab                                   'listar
end sub


Sub CreCtu_Lin 'linha
call Com_Var_Prp                                   'preparar variaveis

comCod$ = ctuCod$                                  'comum - codigo
comCov$ = ctuCov$                                  'comum - codigo formatado
comIde$ = ctuNom$                                  'comum - identificacao
comCre  = ctuCre                                   'comum - credito

call Com_Txt_LinExe                                'executar linha
end sub


Sub CreCtu_Fim 'terminar
call Com_Txt_Fim                                   'listar
end sub


'------------------------------------------------------------------------------
'- [TXT] - Credito por entidade -----------------------------------------------
'------------------------------------------------------------------------------
Sub CreEnt_Cab 'cabecalho
comCabTit$ = "Credito por Entidade"                'titulo

call Com_Txt_Cab                                   'listar
end sub


Sub CreEnt_Lin 'linha
call Com_Var_Prp                                   'preparar variaveis

comCod$ = creCod$                                  'comum - codigo
comCov$ = creCov$                                  'comum - codigo formatado
comIde$ = creNom$                                  'comum - identificacao
comCre  = creVlr                                   'comum - credito

call Com_Txt_LinExe                                'executar linha
end sub


Sub CreEnt_Fim 'terminar
call Com_Txt_Fim                                   'listar
end sub


'------------------------------------------------------------------------------
'- [TXT] - Credito por entidade/conta -----------------------------------------
'------------------------------------------------------------------------------
Sub CreEntCtu_Cab 'cabecalho
comCabTit$ = "Credito por Entidade/Conta"          'titulo

call Com_Txt_Cab                                   'listar
end sub


Sub CreEntCtu_Lin 'linha
call Com_Var_Prp                                   'preparar variaveis

comCod$ = ctuCod$                                  'comum - codigo
comCov$ = ctuCov$                                  'comum - codigo formatado
comIde$ = ctuNom$                                  'comum - identificacao
comCre  = ctuCre                                   'comum - credito

call Com_Txt_LinExe                                'executar linha
end sub


Sub CreEntCtu_Fim 'terminar
call Com_Txt_Fim                                   'listar
end sub


Sub CreEntCtu_LinTit1 'titulo 1
call Com_Var_Con                                   'consultar variaveis
'call Com_Var_PrpEnt                                'preparar variaveis - entidade
call Com_Var_PrpCre                                'preparar variaveis - entidade/credito

titIde$ = creIde$                                  'titulo
call Com_Txt_LinTit1                               'listar
end sub


Sub CreEntCtu_LinSbt1 'subtotal 1
call Com_Txt_LinSbt1                               'listar
end sub


'==============================================================================
'- [XLS] - Listar para XLS ----------------------------------------------------
'==============================================================================
'------------------------------------------------------------------------------
'- [XLS] - Movimentos para seguro - Conta -------------------------------------
'------------------------------------------------------------------------------
Sub XlsMovSeg_DocIni 'inicializar documento
comXlsFic$ = "CtaCre.xls"                          'nome do ficheiro
comCabTit$ = "Movimentos para Seguro"              'titulo

call Com_Xls_DocIni                                'inicializar documento
end sub


Sub XlsMovSeg_DocFim 'terminar documento
call Com_Xls_DocFim                                'terminar documento
end sub


Sub XlsMovSeg_Lin 'linha
call Com_Var_Prp                                   'preparar variaveis
'call Com_Var_PrpScc                                'preparar variaveis - saldo da conta
call Com_Xls_IncLin                                'incrementar linha	

comCod$ = ctuCod$                                  'comum - codigo
comCov$ = ctuCov$                                  'comum - codigo formatado
comIde$ = ctuNom$                                  'comum - identificacao
comCre  = ctuCre                                   'comum - credito

vaScc  = ctuScc                                    'valor de saldo
vaObs$ = ""                                        'observacoes

'listar
call Com_Xls_LstLinIde                             'listar identificacao (codigo e nome)
call Com_Xls_LstLinSeg                             'listar linha - seguro
call Com_Xls_LstLinDoc                             'listar linha - documento
call Com_Xls_LstLinDiv                             'listar linha - diversos

call Com_Xls_LinAcm                                'acumular valores da linha
end sub


Sub XlsMovSeg_Fim 'terminar
call Com_Xls_LstTot                                'listar totais
end sub


Sub XlsMovSeg_LinTit1 'titulo 1
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpCtu                                'preparar variaveis - conta
call Com_Var_PrpCts                                'preparar variaveis - saldo da conta

titIde$ = ctuIde$                                  'titulo
call Com_Xls_LinTit1                               'listar
end sub


Sub XlsMovSeg_LinSbt1 'subtotal 1
call Com_Xls_LinSbt1                               'listar
end sub


'------------------------------------------------------------------------------
'- [XLS] - Movimentos para seguro - Entidade ----------------------------------
'------------------------------------------------------------------------------
Sub XlsMovSegEnt_DocIni 'inicializar documento
comXlsFic$ = "CtaCre.xls"                          'nome do ficheiro
comCabTit$ = "Movimentos para Seguro/Entidade"     'titulo

call Com_Xls_DocIni                                'inicializar documento
end sub


Sub XlsMovSegEnt_DocFim 'terminar documento
call Com_Xls_DocFim                                'terminar documento
end sub


Sub XlsMovSegEnt_Lin 'linha
call Com_Var_Prp                                   'preparar variaveis
call Com_Xls_IncLin                                'incrementar linha	

comCod$ = ctuCod$                                  'comum - codigo
comCov$ = ctuCov$                                  'comum - codigo formatado
comIde$ = ctuNom$                                  'comum - identificacao
comCre  = ctuCre                                   'comum - credito

vaScc  = ctuScc                                    'valor de saldo
vaObs$ = ""                                        'observacoes

'listar
call Com_Xls_LstLinIde                             'listar identificacao (codigo e nome)
call Com_Xls_LstLinSeg                             'listar linha - seguro
call Com_Xls_LstLinDoc                             'listar linha - documento
call Com_Xls_LstLinDiv                             'listar linha - diversos

call Com_Xls_LinAcm                                'acumular valores da linha
end sub


Sub XlsMovSegEnt_Fim 'terminar
call Com_Xls_LstTot                                'listar totais
end sub


Sub XlsMovSegEnt_LinTit1 'titulo 1
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpCre                                'preparar variaveis - entidade/credito

titIde$ = creIde$                                  'titulo
call Com_Xls_LinTit1                               'listar
end sub


Sub XlsMovSegEnt_LinSbt1 'subtotal 1
call Com_Xls_LinSbt1                               'listar
end sub


Sub XlsMovSegEnt_LinTit2 'titulo 2
call Com_Var_Con                                   'consultar variaveis
call Com_Var_PrpCtu                                'preparar variaveis - conta
call Com_Var_PrpCts                                'preparar variaveis - saldo da conta

titIde$ = ctuIde$                                  'titulo
call Com_Xls_LinTit2                               'listar
end sub


Sub XlsMovSegEnt_LinSbt2 'subtotal 2
call Com_Xls_LinSbt2                               'listar
end sub

##


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