;** Rm_1000  *******************************************************************
;*  Extrato de Conta                                                           *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 05/12/1995 por Anivel Augusto Rodrigues
;Ultima Alteracao: 08/01/2007 por Nikolas M. Mateus
;Motivo Alteracao: Inclusao novo relat¢rio modelo IV
;Ultima Alteracao: 13/08/2007 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao Deleta_Arquivo()
;Ultima Alteracao: 02/10/2007 por Nikolas
;Motivo Alteracao: Inclusao novo modelo o Extrato para conferencia
;Ultima Alteracao: 31/03/2010 por Bruno Carvalho
;Motivo Alteracao: Inclusao novo modelo o Extrato PadrÆo por Quebra de Pag./Dia             
;Ultima Alteracao: 20/08/2010 por Bruno Carvalho                                             
;Motivo Alteracao: Corre‡Æo de Campos (TOTAIS) nos reports e Corre‡Æo Ortogr fica
;Ultima Alteracao: 21/11/2011 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes N-Cheques p/ Deposito
;Ultima Alteracao: 18/07/2012 por Bruno Carvalho
;Motivo Alteracao: Ajustes empresa 0270, para pegar RAZAO SOCIAL ao inv‚s de Nome Fantasia
;Ultima Alteracao: 15/08/2012 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes ConfOpcoes("Gravar")
;Ultima Alteracao: 03/04/2013 por Karina Andrade
;Motivo Alteracao: Ajustes empresa 0270, para pegar RAZAO SOCIAL ao inv‚s de Nome Fantasia
;Ultima Alteracao: 23/04/2013 por Karina Andrade
;Motivo Alteracao: Ajustes empresa 0253, para pegar RAZAO SOCIAL ao inv‚s de Nome Fantasia
;Ultima Alteracao: 27/03/2014 por Bruno Carvalho
;Motivo Alteracao: Ajustes p/ Modelo "04", impressÆo manual, adicionado rotina quando CARTAO ou CHEQUE
;Ultima Alteracao: 01/04/2014 por Bruno Carvalho
;Motivo Alteracao: Ajustes array HISTORICO[] 
;Ultima Alteracao: 11/04/2014 por Bruno Carvalho
;Motivo Alteracao: Ajustes no MovCont apenas cheques quando for do [Tipo do Lancamento] "M" ou "N"
;Ultima Alteracao: 15/04/2014 por Bruno Carvalho
;Motivo Alteracao: Ajsutes onde SALDO_REAL<>0 -> SALDO_REAL>0  
;Ultima Alteracao: 17/04/2014 por Bruno Carvalho
;Motivo Alteracao: Ajustes na Ask do MovCont p/ nÆo pegar [Tipo de Lancamento] quando "O" ou "P"
;Ultima Alteracao: 22/04/2014 por Bruno Carvalho
;Motivo Alteracao: Ajustes SALDO_REAL  
;Ultima Alteracao: 24/04/2014 por Bruno Carvalho
;Motivo Alteracao: Ajustes para [Tipo de Lancamento] "M" ou "N" quando [Tipo de Operacao] = "08" 
;Ultima Alteracao: 24/04/2014 por Bruno Carvalho
;Motivo Alteracao: Adicionado agrupamento de valores de bandeira de cartäes semelhantes para todos os modelos 
;Ultima Alteracao: 05/05/2014 por Bruno Carvalho
;Motivo Alteracao: Apenas uma linha para o campo HISTORICO, pois estava gerando muitas paginas
;Ultima Alteracao: 03/09/2014 por Kamila Gomes
;Motivo Alteracao: Adicionado op‡Æo de Exibir cheques emitidos no per¡odo
;Ultima Alteracao: 04/09/2014 por Kamila Gomes
;Motivo Alteracao: Ajuste de tamanho de fonte e quebra de paginas
;Ultima Alteracao: 01/10/2014 por Luis Gustavo
;Motivo Alteracao: Ajustes na impressao relatorio Consolidado ( Subtotal desalinhado)
;Ultima Alteracao: 14/07/2015 por Bruno Carvalho
;Motivo Alteracao: Ajustes espec¡fico p/ Vise -> Ordena‡Æo de Campo - Solicita‡Æo 17832 
;Ultima Alteracao: 06/09/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog                   
;Ultima Alteracao: 19/10/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog e agrupamento de acertos
;Ultima Alteracao: 27/10/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes agrupaacertos()
;Ultima Alteracao: 22/12/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog.  
;Ultima Alteracao: 29/12/2016 por Rafael Matos
;Motivo Alteracao: Ajustes MensagemCheckBoxes()                 
;Ultima Alteracao: 02/03/2017 por Bruno Carvalho
;Motivo Alteracao: Ajustes Processa2() p/cliente #0294#, agrupar todos os cartäes, 
;                  independente do sistema gerador, pois ‚ levado em considera‡Æo codigo do emitdest
;Ultima Alteracao: 24/03/2017 por Bruno Carvalho
;Motivo Alteracao: Inclu¡do Plano de Conta e Centro de Custo no Modelo 06
;Ultima Alteracao: 03/05/2017 por Bruno Carvalho
;Motivo Alteracao: Inclu¡do Data Competencia no Modelo 06
;Ultima Alteracao: 18/05/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes empresa 0390, para pegar RAZAO SOCIAL ao inv‚s de Nome Fantasia
;Ultima Alteracao: 10/07/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes sistema/lancamento/sequencia gerador
;Ultima Alteracao: 27/03/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao campos valor do desconto, valor do juros         

;*******************************************************************************
;* Rotina p/ Selecionar e Ordernar Registros                                   *
;*******************************************************************************
Proc Seleciona()
private wi
ClearAll

If Not IsTable("\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont")
  Then Return
EndIf

{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Data                  ] TypeIn ">=~VSDGDTREF,<=~VSDGDTFIM"
Do_It!
ClearAll

if VSDGOPACERTO[1]=true
   then agrupaacertos()
endif   

for wi from 1 to 2

  {Ask} {Answer}
  Moveto [Numero do Lancamento  ] Example "LANCTOE"
  Moveto [Codigo da Conta       ] Example "CONTAE"
  Moveto [Data                  ] Example "DATAE"
  switch
    case wi=1 : Moveto [Tipo Movimento  ] TypeIn "E"

    case wi=2 : Moveto [Tipo Movimento  ] TypeIn "S" 
                Moveto [Numero do Cheque] Example "CHEQUE"

  endswitch
  Moveto [Valor                 ] Example "VALORE"
  Moveto [Descricao do Historico] Example "HISTORICOE"

  If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
     Then Moveto [Razao Social          ] Example "EMITDESTE"                                       
     Else Moveto [Nome Fantasia EmitDest] Example "EMITDESTE"
  EndIf                                        
  moveto [Sistema Gerador       ] example "_sg"
  moveto [Lancamento Gerador    ] example "_sgl"
  moveto [Sequencia Gerador     ] example "_sgs"
  moveto [Valor do Desconto     ] example "_vrdescto"
  moveto [Valor do Juros        ] example "_vrjuros"
  
  {Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
  Moveto [Numero do Lancamento  ] Example "LANCTOE"
  Moveto [Codigo da Conta       ] Example "CONTAE"
  Moveto [Data Movimento        ] Example "DATAE"
   
  switch
    case wi=1 : Moveto [Valor           ] Example "VALORE" 

    case wi=2 : Moveto [Valor           ] Example "VALORE" TypeIn "*-1" 
                Moveto [Numero do Cheque] Example "CHEQUE"

  endswitch
  Moveto [Historico             ] Example "HISTORICOE"
  Moveto [Nome Fantasia EmitDest] Example "EMITDESTE" 
  moveto [Sistema Gerador       ] example "_sg"
  moveto [Lancamento Gerador    ] example "_sgl"
  moveto [Sequencia Gerador     ] example "_sgs"
  moveto [Valor do Desconto     ] example "_vrdescto"
  moveto [Valor do Juros        ] example "_vrjuros"
  
  Do_It!     
  ClearAll

endfor

If Not CheckTG_OPCHEQ[1]
   Then Return
EndIf

{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Numero do Cheque      ] TypeIn "Not Blank"
Moveto [Data Cheque Descontado] TypeIn "Blank"
Moveto [Tipo Movimento        ] TypeIn "S"
Moveto [Data                  ] TypeIn "<=~VSDGDTFIM"
Moveto [Tipo de Operacao      ] TypeIn "01 Or 05 Or 08 Or 14"
Moveto [Tipo do Lancamento    ] TypeIn "Not O , Not P"
Moveto [Tipo da Conta         ] TypeIn "C"
Do_It!
ClearAll

{Ask} {Answer}
Moveto [Numero do Lancamento  ] Example "LANCTOS"
Moveto [Codigo da Conta       ] Example "CONTAS"
Moveto [Numero do Cheque      ] Example "CHEQUE"
Moveto [Data                  ] Example "DATAS"
Moveto [Valor                 ] Example "VALORS"
Moveto [Descricao do Historico] Example "HISTORICOS"
If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
   Then Moveto [Razao Social          ] Example "EMITDESTS"
   Else Moveto [Nome Fantasia EmitDest] Example "EMITDESTS"  
EndIf   
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"

{Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
Moveto [Numero do Lancamento  ] Example "LANCTOS"
Moveto [Codigo da Conta       ] Example "CONTAS"
Moveto [Numero do Cheque      ] Example "CHEQUE"
Moveto [Data Movimento        ] Example "DATAS"
Moveto [Valor                 ] Example "VALORS"
Moveto [Historico             ] Example "HISTORICOS"
Moveto [Nome Fantasia EmitDest] Example "EMITDESTS"
Moveto [Situacao              ] TypeIn "A"
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
Do_It!
ClearAll

EndProc   ; (Seleciona)

;*******************************************************************************
;* Rotina p/ Selecionar e Ordernar Registros                                   *
;*******************************************************************************
Proc Seleciona2()
ClearAll

If Not IsTable("\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont")
  Then Return
EndIf

{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Tipo Movimento        ] TypeIn "E"
Moveto [Data                  ] TypeIn ">=~VSDGDTREF,<=~VSDGDTFIM"
Do_It!
ClearAll

if VSDGOPACERTO[1]=true
   then agrupaacertos()
endif   
              
{Ask} {Answer}
Moveto [Numero do Lancamento  ] Example "NLANC"
Moveto [Codigo da Conta       ] Example "CONTAE"
Moveto [Data                  ] Example "DATAE"
Moveto [Valor                 ] Example "VALORE"
Moveto [Descricao do Historico] Example "HISTORICOE"
If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
   Then Moveto [Razao Social          ] Example "Emite"                                       
   Else Moveto [Nome Fantasia EmitDest] Example "Emite"  
EndIf  
If VSDGCODMODELO="06"
   Then Moveto [Codigo CCusto         ] Example "CCC"
        Moveto [Descricao CCusto      ] Example "CCD"
        Moveto [Codigo Plano_Conta    ] Example "PlC"
        Moveto [Descricao Plano_Conta ] Example "PlD"
        Moveto [Data Competencia      ] Example "dtcomp"
EndIf
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"

{Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
Moveto [Numero do Lancamento  ] Example "NLANC"
Moveto [Codigo da Conta       ] Example "CONTAE"
Moveto [Data Previsao         ] Example "DATAE"
Moveto [Valor a Receber       ] Example "VALORE"
Moveto [Historico             ] Example "HISTORICOE"
Moveto [Nome Fantasia EmitDest] Example "Emite"
If VSDGCODMODELO="06"
   Then Moveto [Codigo CCusto         ] Example "CCC"
        Moveto [Descricao CCusto      ] Example "CCD"
        Moveto [Codigo Plano_Conta    ] Example "PlC"
        Moveto [Descricao Plano_Conta ] Example "PlD"
        Moveto [Data Competencia      ] Example "dtcomp"
EndIf
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
Do_It!
ClearAll


{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Tipo Movimento        ] TypeIn "S"
Moveto [Data                  ] TypeIn ">=~VSDGDTREF,<=~VSDGDTFIM"
Do_It!
ClearAll

if VSDGOPACERTO[1]=true
   then agrupaacertos()
endif   

{Ask} {Answer}
Moveto [Numero do Lancamento  ] Example "NLANC"
Moveto [Codigo da Conta       ] Example "CONTAS"
Moveto [Data                  ] Example "DATAS"
Moveto [Valor                 ] Example "VALORS"
Moveto [Descricao do Historico] Example "HISTORICOS"
If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
   Then Moveto [Razao Social          ] Example "Emite"                                       
   Else Moveto [Nome Fantasia EmitDest] Example "Emite"  
EndIf            
If VSDGCODMODELO="06"
   Then Moveto [Codigo CCusto         ] Example "CCC"
        Moveto [Descricao CCusto      ] Example "CCD"
        Moveto [Codigo Plano_Conta    ] Example "PlC"
        Moveto [Descricao Plano_Conta ] Example "PlD"
        Moveto [Data Competencia      ] Example "dtcomp"
EndIf
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"

{Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
Moveto [Numero do Lancamento  ] Example "NLANC"
Moveto [Codigo da Conta       ] Example "CONTAS"
Moveto [Data Previsao         ] Example "DATAS"
Moveto [Valor a Pagar         ] Example "VALORS"
Moveto [Historico             ] Example "HISTORICOS"
Moveto [Nome Fantasia EmitDest] Example "Emite"
If VSDGCODMODELO="06"
   Then Moveto [Codigo CCusto         ] Example "CCC"
        Moveto [Descricao CCusto      ] Example "CCD"
        Moveto [Codigo Plano_Conta    ] Example "PlC"
        Moveto [Descricao Plano_Conta ] Example "PlD"
        Moveto [Data Competencia      ] Example "dtcomp"
EndIf
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
Do_It!
ClearAll

EndProc    ; (Seleciona2)
                                        
;*******************************************************************************
;* Rotina p/ Selecionar e Ordernar Registros                                   *
;*******************************************************************************
Proc Seleciona3()
ClearAll

If Not IsTable("\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont")
  Then Return
EndIf

;*** Todas Entradas ************************************************************
{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Tipo Movimento        ] TypeIn "E"
Moveto [Data                  ] TypeIn ">=~VSDGDTREF,<=~VSDGDTFIM"
Do_It!
ClearAll

if VSDGOPACERTO[1]=true
   then agrupaacertos()
endif   

{Ask} {Answer}
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Data                  ] Example "dat"
Moveto [Valor                 ] Example "vr"
Moveto [Descricao do Historico] Example "hist"
If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
   Then Moveto [Razao Social          ] Example "emit"                                       
   Else Moveto [Nome Fantasia EmitDest] Example "emit"  
EndIf  
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
{Ask} TypeIn Tabela Enter TypeIn "Insert"
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Data Movimento        ] Example "dat"
Moveto [Valor                 ] Example "vr"
Moveto [Historico             ] Example "hist"
Moveto [Nome Fantasia EmitDest] Example "emit"
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
Do_It!
ClearAll

;*** Todas Saidas menos Cheques ************************************************
{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Tipo Movimento        ] TypeIn "S"
Moveto [Tipo de Operacao      ] TypeIn "Not 05, Not 08"
Moveto [Data                  ] TypeIn ">=~VSDGDTREF,<=~VSDGDTFIM"
Do_It!
ClearAll

if VSDGOPACERTO[1]=true
   then agrupaacertos()
endif   

{Ask} {Answer}
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Data                  ] Example "dat"
Moveto [Valor                 ] Example "vr"
Moveto [Descricao do Historico] Example "hist"
If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
   Then Moveto [Razao Social          ] Example "emit"                                       
   Else Moveto [Nome Fantasia EmitDest] Example "emit"  
EndIf  
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
{Ask} TypeIn Tabela Enter TypeIn "Insert"
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Data Movimento        ] Example "dat"
Moveto [Valor                 ] Example "vr" TypeIn "*-1"
Moveto [Historico             ] Example "hist"
Moveto [Nome Fantasia EmitDest] Example "emit"
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
Do_It!
ClearAll

{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Tipo Movimento        ] TypeIn "S"
Moveto [Tipo de Operacao      ] TypeIn "08"
Moveto [Tipo do Lancamento    ] TypeIn "Not M, Not N"
Moveto [Data                  ] TypeIn ">=~VSDGDTREF,<=~VSDGDTFIM"
Do_It!
ClearAll

{Ask} {Answer}
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Data                  ] Example "dat"
Moveto [Valor                 ] Example "vr"
Moveto [Descricao do Historico] Example "hist"
If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
   Then Moveto [Razao Social          ] Example "emit"                                       
   Else Moveto [Nome Fantasia EmitDest] Example "emit"  
EndIf  
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
{Ask} TypeIn Tabela Enter TypeIn "Insert"
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Data Movimento        ] Example "dat"
Moveto [Valor                 ] Example "vr" TypeIn "*-1"
Moveto [Historico             ] Example "hist"
Moveto [Nome Fantasia EmitDest] Example "emit"
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
Do_It!
ClearAll

;*** Cheques Emitidos Mes Anterior **********************
{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Tipo da Conta         ] TypeIn "C"
Moveto [Tipo Movimento        ] TypeIn "S"
Moveto [Tipo de Operacao      ] TypeIn "05"
Moveto [Data                  ] TypeIn "<~VSDGDTREF"
Moveto [Data Cheque Descontado] TypeIn ">=~VSDGDTREF"
Do_It!
ClearAll

{Ask} {Answer}
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data                  ] Example "dat"
Moveto [Valor                 ] Example "vr"
Moveto [Descricao do Historico] Example "hist"
If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
   Then Moveto [Razao Social          ] Example "emit"                                       
   Else Moveto [Nome Fantasia EmitDest] Example "emit"  
EndIf  
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
{Ask} TypeIn Tabela Enter TypeIn "Insert"
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data Movimento        ] Example "dat"
Moveto [Valor                 ] Example "vr"
Moveto [Historico             ] Example "hist"
Moveto [Nome Fantasia EmitDest] Example "emit"
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
Do_It!
ClearAll

{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Tipo da Conta         ] TypeIn "C"
Moveto [Tipo Movimento        ] TypeIn "S"
Moveto [Tipo de Operacao      ] TypeIn "08"
Moveto [Tipo do Lancamento    ] TypeIn "M or N"
Moveto [Data                  ] TypeIn "<~VSDGDTREF"
Moveto [Data Cheque Descontado] TypeIn ">=~VSDGDTREF"
Do_It!
ClearAll

{Ask} {Answer}
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Data                  ] Example "dat"
Moveto [Valor                 ] Example "vr"
Moveto [Descricao do Historico] Example "hist"
If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
   Then Moveto [Razao Social          ] Example "emit"                                       
   Else Moveto [Nome Fantasia EmitDest] Example "emit"  
EndIf  
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
{Ask} TypeIn Tabela Enter TypeIn "Insert"
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data Movimento        ] Example "dat"
Moveto [Valor                 ] Example "vr"
Moveto [Historico             ] Example "hist"
Moveto [Nome Fantasia EmitDest] Example "emit"
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
Do_It!
ClearAll

;*** Cheques Emitidos Mes Anterior/Nao Descontados *****************************
{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Tipo da Conta         ] TypeIn "C"
Moveto [Tipo Movimento        ] TypeIn "S"
Moveto [Tipo de Operacao      ] TypeIn "05"
Moveto [Data                  ] TypeIn "<~VSDGDTREF"
Moveto [Data Cheque Descontado] TypeIn "Blank"
Do_It!
ClearAll

{Ask} {Answer}
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Valor                 ] Example "vr"
Moveto [Descricao do Historico] Example "hist"
If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
   Then Moveto [Razao Social          ] Example "emit"                                       
   Else Moveto [Nome Fantasia EmitDest] Example "emit"  
EndIf  
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
{Ask} TypeIn Tabela Enter TypeIn "Insert"
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data Movimento        ] TypeIn VSDGDTINI-1
Moveto [Valor                 ] Example "vr"
Moveto [Historico             ] Example "hist"
Moveto [Nome Fantasia EmitDest] Example "emit"
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
Do_It!
ClearAll

{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Tipo da Conta         ] TypeIn "C"
Moveto [Tipo Movimento        ] TypeIn "S"
Moveto [Tipo de Operacao      ] TypeIn "08"
Moveto [Tipo do Lancamento    ] TypeIn "M or N"
Moveto [Data                  ] TypeIn "<~VSDGDTREF"
Moveto [Data Cheque Descontado] TypeIn "Blank"
Do_It!
ClearAll

{Ask} {Answer}
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Valor                 ] Example "vr"
Moveto [Descricao do Historico] Example "hist"
If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
   Then Moveto [Razao Social          ] Example "emit"                                       
   Else Moveto [Nome Fantasia EmitDest] Example "emit"  
EndIf  
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
{Ask} TypeIn Tabela Enter TypeIn "Insert"
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data Movimento        ] TypeIn VSDGDTINI-1
Moveto [Valor                 ] Example "vr"
Moveto [Historico             ] Example "hist"
Moveto [Nome Fantasia EmitDest] Example "emit"
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
Do_It!
ClearAll

;*** Cheques Descontados Mes Atual *********************************************
{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Tipo da Conta         ] TypeIn "C"
Moveto [Tipo Movimento        ] TypeIn "S"
Moveto [Tipo de Operacao      ] TypeIn "05"
Moveto [Data Cheque Descontado] TypeIn ">=~VSDGDTREF,<=~VSDGDTFIM"
Do_It!
ClearAll

{Ask} {Answer}
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data Cheque Descontado] Example "dat"
Moveto [Valor                 ] Example "vr"
Moveto [Descricao do Historico] Example "hist"
If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
   Then Moveto [Razao Social          ] Example "emit"                                       
   Else Moveto [Nome Fantasia EmitDest] Example "emit"  
EndIf  
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
{Ask} TypeIn Tabela Enter TypeIn "Insert"
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data Movimento        ] Example "dat"
Moveto [Valor                 ] Example "vr" TypeIn "*-1"
Moveto [Historico             ] Example "hist"
Moveto [Nome Fantasia EmitDest] Example "emit"
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
Do_It!
ClearAll

{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Tipo da Conta         ] TypeIn "C"
Moveto [Tipo Movimento        ] TypeIn "S"
Moveto [Tipo de Operacao      ] TypeIn "08"
Moveto [Tipo do Lancamento    ] TypeIn "M or N"
Moveto [Data Cheque Descontado] TypeIn ">=~VSDGDTREF,<=~VSDGDTFIM"
Do_It!
ClearAll

{Ask} {Answer}
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data Cheque Descontado] Example "dat"
Moveto [Valor                 ] Example "vr"
Moveto [Descricao do Historico] Example "hist"
If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
   Then Moveto [Razao Social          ] Example "emit"                                       
   Else Moveto [Nome Fantasia EmitDest] Example "emit"  
EndIf  
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
{Ask} TypeIn Tabela Enter TypeIn "Insert"
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data Movimento        ] Example "dat"
Moveto [Valor                 ] Example "vr" TypeIn "*-1"
Moveto [Historico             ] Example "hist"
Moveto [Nome Fantasia EmitDest] Example "emit"
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
Do_It!
ClearAll

;*** Cheques emitidos no periodo **************************************
If CheckTG_OPCHEMIT[1]
   Then
    {Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
    Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
    Moveto [Tipo da Conta         ] TypeIn "C"
    Moveto [Tipo Movimento        ] TypeIn "S"
    Moveto [Tipo de Operacao      ] TypeIn "05"
    Moveto [Data                  ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
    Do_It!
    ClearAll
    
    {Ask} {Answer}
    Moveto [Numero do Lancamento  ] Example "lanc"
    Moveto [Codigo da Conta       ] Example "cont"
    Moveto [Numero do Cheque      ] Example "chq"
    Moveto [Data                  ] Example "dat"
    Moveto [Valor                 ] Example "vr"
    Moveto [Descricao do Historico] Example "hist"
    If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
       Then Moveto [Razao Social          ] Example "emit"                                       
       Else Moveto [Nome Fantasia EmitDest] Example "emit"  
    EndIf  
    moveto [Sistema Gerador       ] example "_sg"
    moveto [Lancamento Gerador    ] example "_sgl"
    moveto [Sequencia Gerador     ] example "_sgs"
    moveto [Valor do Desconto     ] example "_vrdescto"
    moveto [Valor do Juros        ] example "_vrjuros"
    {Ask} TypeIn Tabela Enter TypeIn "Insert"
    Moveto [Numero do Lancamento  ] Example "lanc"
    Moveto [Codigo da Conta       ] Example "cont"
    Moveto [Numero do Cheque      ] Example "chq"
    Moveto [Data Movimento        ] Example "dat"
    Moveto [Valor                 ] Example "vr"
    Moveto [Historico             ] Example "hist"
    Moveto [Nome Fantasia EmitDest] Example "emit"
    Moveto [Tipo_Lancto           ] TypeIn "\"CHEQ_EMIT\""
    moveto [Sistema Gerador       ] example "_sg"
    moveto [Lancamento Gerador    ] example "_sgl"
    moveto [Sequencia Gerador     ] example "_sgs"
    moveto [Valor do Desconto     ] example "_vrdescto"
    moveto [Valor do Juros        ] example "_vrjuros"
    Do_It!
    ClearAll
    
    {Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
    Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
    Moveto [Tipo da Conta         ] TypeIn "C"
    Moveto [Tipo Movimento        ] TypeIn "S"
    Moveto [Tipo de Operacao      ] TypeIn "08"
    ;Moveto [Tipo do Lancamento    ] TypeIn "M or N"
    Moveto [Data                  ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
    Do_It!
    ClearAll
    
    {Ask} {Answer}
    Moveto [Numero do Lancamento  ] Example "lanc"
    Moveto [Codigo da Conta       ] Example "cont"
    Moveto [Data                  ] Example "dat"
    Moveto [Valor                 ] Example "vr"
    Moveto [Descricao do Historico] Example "hist"
    If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
       Then Moveto [Razao Social          ] Example "emit"                                       
       Else Moveto [Nome Fantasia EmitDest] Example "emit"  
    EndIf  
    moveto [Sistema Gerador       ] example "_sg"
    moveto [Lancamento Gerador    ] example "_sgl"
    moveto [Sequencia Gerador     ] example "_sgs"
    moveto [Valor do Desconto     ] example "_vrdescto"
    moveto [Valor do Juros        ] example "_vrjuros"
    {Ask} TypeIn Tabela Enter TypeIn "Insert"
    Moveto [Numero do Lancamento  ] Example "lanc"
    Moveto [Codigo da Conta       ] Example "cont"
    Moveto [Numero do Cheque      ] Example "chq"
    Moveto [Data Movimento        ] Example "dat"
    Moveto [Valor                 ] Example "vr"
    Moveto [Historico             ] Example "hist"
    Moveto [Nome Fantasia EmitDest] Example "emit"
    Moveto [Tipo_Lancto           ] TypeIn "\"CHEQ_EMIT\""
    moveto [Sistema Gerador       ] example "_sg"
    moveto [Lancamento Gerador    ] example "_sgl"
    moveto [Sequencia Gerador     ] example "_sgs"
    moveto [Valor do Desconto     ] example "_vrdescto"
    moveto [Valor do Juros        ] example "_vrjuros"
    Do_It!
    ClearAll
EndIf

If Not CheckTG_OPCHEQ[1]
   Then Return
EndIf

;*** Cheques nao Descontados - Demonstrar **************************************
{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Tipo da Conta         ] TypeIn "C"
Moveto [Tipo Movimento        ] TypeIn "S"
Moveto [Tipo de Operacao      ] TypeIn "05"
Moveto [Cheque Pre-Datado     ] TypeIn "N or Blank"
Moveto [Data                  ] TypeIn "<~VSDGDTINI"
Moveto [Data Cheque Descontado] TypeIn "Blank or >~VSDGDTFIM"
Do_It!
ClearAll

{Ask} {Answer}
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Valor                 ] Example "vr"
Moveto [Descricao do Historico] Example "hist"
If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
   Then Moveto [Razao Social          ] Example "emit"                                       
   Else Moveto [Nome Fantasia EmitDest] Example "emit"  
EndIf  
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
{Ask} TypeIn Tabela Enter TypeIn "Insert"
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data Movimento        ] TypeIn VSDGDTINI
Moveto [Valor                 ] Example "vr" TypeIn "*-1"
Moveto [Historico             ] TypeIn "\"[CNA ?] \"+" Example "hist"
Moveto [Nome Fantasia EmitDest] Example "emit"
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
Do_It!
ClearAll

{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Tipo da Conta         ] TypeIn "C"
Moveto [Tipo Movimento        ] TypeIn "S"
Moveto [Tipo de Operacao      ] TypeIn "08"
Moveto [Tipo do Lancamento    ] TypeIn "M or N"
Moveto [Cheque Pre-Datado     ] TypeIn "N or Blank"
Moveto [Data                  ] TypeIn "<~VSDGDTINI"
Moveto [Data Cheque Descontado] TypeIn "Blank or >~VSDGDTFIM"
Do_It!
ClearAll

{Ask} {Answer}
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Valor                 ] Example "vr"
Moveto [Descricao do Historico] Example "hist"
If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
   Then Moveto [Razao Social          ] Example "emit"                                       
   Else Moveto [Nome Fantasia EmitDest] Example "emit"  
EndIf  
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
{Ask} TypeIn Tabela Enter TypeIn "Insert"
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data Movimento        ] TypeIn VSDGDTINI
Moveto [Valor                 ] Example "vr" TypeIn "*-1"
Moveto [Historico             ] TypeIn "\"[CNA ?] \"+" Example "hist"
Moveto [Nome Fantasia EmitDest] Example "emit"
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
Do_It!
ClearAll

{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Tipo da Conta         ] TypeIn "C"
Moveto [Tipo Movimento        ] TypeIn "S"
Moveto [Tipo de Operacao      ] TypeIn "05"
Moveto [Cheque Pre-Datado     ] TypeIn "N or Blank"
Moveto [Data                  ] TypeIn ">=~VSDGDTINI, <=~VSDGDTFIM"
Moveto [Data Cheque Descontado] TypeIn "Blank Or >~VSDGDTFIM"
Do_It!
ClearAll

{Ask} {Answer}
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data                  ] Example "dat"
Moveto [Valor                 ] Example "vr"
Moveto [Descricao do Historico] Example "hist"
If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
   Then Moveto [Razao Social          ] Example "emit"                                       
   Else Moveto [Nome Fantasia EmitDest] Example "emit"  
EndIf  
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
{Ask} TypeIn Tabela Enter TypeIn "Insert"
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data Movimento        ] Example "dat"
Moveto [Valor                 ] Example "vr" TypeIn "*-1"
Moveto [Historico             ] TypeIn "\"[CNA] \"+" Example "hist"
Moveto [Nome Fantasia EmitDest] Example "emit"
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
Do_It!
ClearAll

{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Tipo da Conta         ] TypeIn "C"
Moveto [Tipo Movimento        ] TypeIn "S"
Moveto [Tipo de Operacao      ] TypeIn "08"
Moveto [Tipo do Lancamento    ] TypeIn "M or N"
Moveto [Cheque Pre-Datado     ] TypeIn "N or Blank"
Moveto [Data                  ] TypeIn ">=~VSDGDTINI, <=~VSDGDTFIM"
Moveto [Data Cheque Descontado] TypeIn "Blank Or >~VSDGDTFIM"
Do_It!
ClearAll

{Ask} {Answer}
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data                  ] Example "dat"
Moveto [Valor                 ] Example "vr"
Moveto [Descricao do Historico] Example "hist"
If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
   Then Moveto [Razao Social          ] Example "emit"                                       
   Else Moveto [Nome Fantasia EmitDest] Example "emit"  
EndIf  
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
{Ask} TypeIn Tabela Enter TypeIn "Insert"
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data Movimento        ] Example "dat"
Moveto [Valor                 ] Example "vr" TypeIn "*-1"
Moveto [Historico             ] TypeIn "\"[CNA] \"+" Example "hist"
Moveto [Nome Fantasia EmitDest] Example "emit"
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
Do_It!
ClearAll

{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Tipo da Conta         ] TypeIn "C"
Moveto [Tipo Movimento        ] TypeIn "S"
Moveto [Tipo de Operacao      ] TypeIn "05"
Moveto [Cheque Pre-Datado     ] TypeIn "S"
Moveto [Data Cheque Pre-Datado] TypeIn "<~VSDGDTINI"
Moveto [Data Cheque Descontado] TypeIn "Blank Or >~VSDGDTFIM"
Do_It!
ClearAll

{Ask} {Answer}
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Valor                 ] Example "vr"
Moveto [Descricao do Historico] Example "hist"
If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
   Then Moveto [Razao Social          ] Example "emit"                                       
   Else Moveto [Nome Fantasia EmitDest] Example "emit"  
EndIf  
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
{Ask} TypeIn Tabela Enter TypeIn "Insert"
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data Movimento        ] TypeIn VSDGDTINI
Moveto [Valor                 ] Example "vr" TypeIn "*-1"
Moveto [Historico             ] TypeIn "\"[PRE ?] \"+" Example "hist"
Moveto [Nome Fantasia EmitDest] Example "emit"
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
Do_It!
ClearAll

{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Tipo da Conta         ] TypeIn "C"
Moveto [Tipo Movimento        ] TypeIn "S"
Moveto [Tipo de Operacao      ] TypeIn "08"
Moveto [Tipo do Lancamento    ] TypeIn "M or N"
Moveto [Cheque Pre-Datado     ] TypeIn "S"
Moveto [Data Cheque Pre-Datado] TypeIn "<~VSDGDTINI"
Moveto [Data Cheque Descontado] TypeIn "Blank Or >~VSDGDTFIM"
Do_It!
ClearAll

{Ask} {Answer}
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Valor                 ] Example "vr"
Moveto [Descricao do Historico] Example "hist"
If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
   Then Moveto [Razao Social          ] Example "emit"                                       
   Else Moveto [Nome Fantasia EmitDest] Example "emit"  
EndIf  
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
{Ask} TypeIn Tabela Enter TypeIn "Insert"
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data Movimento        ] TypeIn VSDGDTINI
Moveto [Valor                 ] Example "vr" TypeIn "*-1"
Moveto [Historico             ] TypeIn "\"[PRE ?] \"+" Example "hist"
Moveto [Nome Fantasia EmitDest] Example "emit"
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
Do_It!
ClearAll

{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Tipo da Conta         ] TypeIn "C"
Moveto [Tipo Movimento        ] TypeIn "S"
Moveto [Tipo de Operacao      ] TypeIn "05"
Moveto [Cheque Pre-Datado     ] TypeIn "S"
Moveto [Data Cheque Pre-Datado] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
Moveto [Data Cheque Descontado] TypeIn "Blank Or >~VSDGDTFIM"
Do_It!
ClearAll

{Ask} {Answer}
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data Cheque Pre-Datado] Example "dat"
Moveto [Valor                 ] Example "vr"
Moveto [Descricao do Historico] Example "hist"
If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
   Then Moveto [Razao Social          ] Example "emit"                                       
   Else Moveto [Nome Fantasia EmitDest] Example "emit"  
EndIf  
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
{Ask} TypeIn Tabela Enter TypeIn "Insert"
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data Movimento        ] Example "dat"
Moveto [Valor                 ] Example "vr" TypeIn "*-1"
Moveto [Historico             ] TypeIn "\"[PRE] \"+" Example "hist"
Moveto [Nome Fantasia EmitDest] Example "emit"
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
Do_It!
ClearAll

{Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Tipo da Conta         ] TypeIn "C"
Moveto [Tipo Movimento        ] TypeIn "S"
Moveto [Tipo de Operacao      ] TypeIn "08"
Moveto [Tipo do Lancamento    ] TypeIn "M or N"
Moveto [Cheque Pre-Datado     ] TypeIn "S"
Moveto [Data Cheque Pre-Datado] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
Moveto [Data Cheque Descontado] TypeIn "Blank Or >~VSDGDTFIM"
Do_It!
ClearAll

{Ask} {Answer}
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data Cheque Pre-Datado] Example "dat"
Moveto [Valor                 ] Example "vr"
Moveto [Descricao do Historico] Example "hist"
If SYS_CODIGO_CLIENTE="0270" Or SYS_CODIGO_CLIENTE="0253" or SYS_CODIGO_CLIENTE="0390"
   Then Moveto [Razao Social          ] Example "emit"                                       
   Else Moveto [Nome Fantasia EmitDest] Example "emit"  
EndIf  
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
{Ask} TypeIn Tabela Enter TypeIn "Insert"
Moveto [Numero do Lancamento  ] Example "lanc"
Moveto [Codigo da Conta       ] Example "cont"
Moveto [Numero do Cheque      ] Example "chq"
Moveto [Data Movimento        ] Example "dat"
Moveto [Valor                 ] Example "vr" TypeIn "*-1"
Moveto [Historico             ] TypeIn "\"[PRE] \"+" Example "hist"
Moveto [Nome Fantasia EmitDest] Example "emit"
moveto [Sistema Gerador       ] example "_sg"
moveto [Lancamento Gerador    ] example "_sgl"
moveto [Sequencia Gerador     ] example "_sgs"
moveto [Valor do Desconto     ] example "_vrdescto"
moveto [Valor do Juros        ] example "_vrjuros"
Do_It!
ClearAll

EndProc   ; (Seleciona3)


;*******************************************************************************
;* Rotina p/ agrupamento de acertos                                            *
;*******************************************************************************
proc agrupaacertos()
private posini, nlote, cdcta, dtmov, sgmov, lgmov, regdeleted

{Ask} {Answer} TypeIn "Delete"
Moveto [Tipo de Operacao      ] typein "06 or 07"
Moveto [sistema Gerador       ] typein "CR or CP"
moveto [Descricao do Historico] typein "..\"ACFIN \".."
Do_It!
ClearAll

if isempty("Deleted")
   then return
endif   

Edit "Deleted"
scan

 nlote="??????"      
 posini=searchfrom(", ACFIN ",[Descricao do Historico],1)
 if posini>0
    then 
         nlote=substr([Descricao do Historico],posini+8,6)
    else
         posini=searchfrom("ACFIN ",[Descricao do Historico],1)
         if posini>0
            then nlote=substr([Descricao do Historico],posini+6,6)
            else
         endif
 endif
 
 [Lancamento Gerador]=nlote

endscan
Do_It!
ClearAll

Sort "Deleted" On "Codigo da Conta", "Data", "Lancamento Gerador", "Sistema Gerador", "Numero do Lancamento"
ClearAll

cdcta="****"
dtmov="****"
sgmov="****"
lgmov="****"

View "Answer"
Edit "Deleted"
scan
 copytoarray regdeleted

 if [Codigo da Conta   ]<>cdcta or
    [Data              ]<>dtmov or
    [Lancamento Gerador]<>lgmov or
    [Sistema Gerador   ]<>sgmov 
    then
         Moveto "Answer"
         End
         Down
         
         copyfromarray regdeleted
         
         [Valor                 ]=blanknum()
         [Valor do Desconto     ]=blanknum()
         [Valor do Juros        ]=blanknum()
         [Codigo do Historico   ]=""
         [Lancamento Gerador    ]=""
         [Sequencia Gerador     ]=""
         
         switch
           case [Sistema Gerador]="CR": [Descricao do Historico]="ACFIN "+[Deleted->Lancamento Gerador]+", RECEBIMENTOS DE TITULOS"
           
           case [Sistema Gerador]="CP": [Descricao do Historico]="ACFIN "+[Deleted->Lancamento Gerador]+",   PAGAMENTOS DE TITULOS"
           
         endswitch

         cdcta=[Deleted->Codigo da Conta   ]
         dtmov=[Deleted->Data              ]
         lgmov=[Deleted->Lancamento Gerador]
         sgmov=[Deleted->Sistema Gerador   ]

 endif
 
 moveto "Answer"
 [Valor            ]=[Valor            ]+[Deleted->Valor            ]
 [Valor do Desconto]=[Valor do Desconto]+[Deleted->Valor do Desconto]
 [Valor do Juros   ]=[Valor do Juros   ]+[Deleted->Valor do Juros   ]
    
 moveto "Deleted"

endscan
Do_It!
ClearAll

Delete "Deleted"

endproc

;*******************************************************************************
;* Rotina p/ processar Db Temporaria                                           *
;*******************************************************************************
Proc Processa()

Coedit Tabela
Scan
  If (VSDGCODMODELO="01") or
     (VSDGCODMODELO="04") or
     (VSDGCODMODELO="05") 
    Then While [Data Movimento]<VSDGDTINI and not IsBlank([Data Movimento]) And [Situacao]<>"A"
               SALDOINI=SALDOINI+[Valor]
               Del
         EndWhile
   Else While [Data Previsao]<VSDGDTINI and not IsBlank([Data Previsao])
              SALDOINI=(SALDOINI+[Valor a Receber])-[Valor a Pagar]
              Del
        EndWhile
  EndIf

  If (VSDGCODMODELO="01") or
     (VSDGCODMODELO="04") or
     (VSDGCODMODELO="05") 
          Then If IsBlank([Data Movimento])
             Then QuitLoop
          EndIf
     Else If IsBlank([Data Previsao])
             Then QuitLoop
          EndIf
EndIf
EndScan

Home
Ins
[Codigo da Conta       ]=VSDGCONTA
If (VSDGCODMODELO="01") or
   (VSDGCODMODELO="04") or
   (VSDGCODMODELO="05") 
   Then [Data Movimento        ]=VSDGDTINI-1
        [Nome Fantasia EmitDest]="SALDO ANTERIOR"
        [Valor                 ]=SALDOINI
   Else [Data Previsao         ]=VSDGDTINI-1
        [Historico             ]="SALDO ANTERIOR"
        [Saldo                 ]=SALDOINI
EndIf
Do_It!
ClearAll

EndProc    ; (Processa)

;*******************************************************************************
;* Rotina p/ processar rotina especifica                                       *
;*******************************************************************************
Proc Processa2(TIPO)
Private TIPO

Switch
  Case TIPO="CARTAO" : 
       ;---- Selecionando Registros do Tipo "CR" ---------------
       {Ask} {MovCont}
       Moveto [Numero do Lancamento   ] TypeIn "_NLanc"
       Moveto [Codigo da Conta        ] TypeIn "_CCont"
       Moveto [Tipo Movimento         ] TypeIn "E"
       If SYS_CODIGO_CLIENTE<>"0294"
          Then Moveto [Sistema Gerador] TypeIn "CR"
       EnDIf   
       Moveto [Codigo do EmitDest     ] TypeIn "_CodC"
       {Ask} {\\Sistemas\\Vendas\\P_Cartao}
       Moveto [Codigo Destinat        ] TypeIn "_CodC"
       {Ask} TypeIn Tabela Enter TypeIn "Delete"
       Moveto [Codigo da Conta        ] TypeIn "_CCont"  
       Moveto [Numero do Lancamento   ] TypeIn "_NLanc"
       Do_It!
       ClearAll
       
       If IsEmpty("Deleted")
          Then Return
       EndIf
       
       {Ask} TypeIn "Deleted" Enter Check
       Do_It!   
       ClearAll
       
       ;---- Altrando o nome do CartÆo conforme Parƒmetro ------
       {Ask} {MovCont}
       Moveto [Numero do Lancamento   ] TypeIn "_NLanc"              
       Moveto [Codigo do EmitDest     ] TypeIn "_CodC"
       {Ask} {\\Sistemas\\Vendas\\P_Cartao}
       Moveto [Codigo Destinat        ] TypeIn "_CodC"
       Moveto [Nome do Cartao         ] TypeIn "_NomC"
       {Ask} {Answer}
       Moveto [Numero do Lancamento   ] TypeIn "_NLanc"
       Moveto [Nome Fantasia EmitDest ] TypeIn "Changeto _NomC"
       Do_It!
       ClearAll
       

       ;---- Calculando entradas -------------------------------
       {Ask} {Answer}
       Moveto [Codigo da Conta        ] Check
       Moveto [Nome Fantasia EmitDest ] Check
       Switch
         Case VSDGCODMODELO="02" Or
              VSDGCODMODELO="03" Or
              VSDGCODMODELO="06" Or
              VSDGCODMODELO="07"  :
              Moveto [Data Previsao          ] Check
              Moveto [Valor a Receber        ] TypeIn "Calc Sum as Valor a Receber"
         Case VSDGCODMODELO="01" Or 
              VSDGCODMODELO="04" Or
              VSDGCODMODELO="05"  :
              Moveto [Data Movimento         ] Check
              Moveto [Valor                  ] TypeIn "Calc Sum as Valor"                                    
       EndSwitch
       Do_It!
       ClearAll
                                                         
       ;---- Inserindo registros na tabela principal -----------
       {Ask} {Answer}
       Moveto [Codigo da Conta       ] Example "cont"
       Moveto [Nome Fantasia EmitDest] Example "emit"
       Switch
         Case VSDGCODMODELO="02" Or 
              VSDGCODMODELO="03" Or
              VSDGCODMODELO="06" Or
              VSDGCODMODELO="07"  :
              Moveto [Data Previsao          ] Example "dat"  
              Moveto [Valor a Receber        ] Example "vr" 
         Case VSDGCODMODELO="01" Or
              VSDGCODMODELO="04" Or
              VSDGCODMODELO="05"  :
              Moveto [Data Movimento         ] Example "dat"     
              Moveto [Valor                  ] Example "vr"             
       EndSwitch

      {Ask} TypeIn Tabela Enter TypeIn "Insert"
       Moveto [Codigo da Conta       ] Example "cont"
       Moveto [Nome Fantasia EmitDest] Example "emit"
       
       Switch
         Case VSDGCODMODELO="02" Or
              VSDGCODMODELO="03" Or
              VSDGCODMODELO="06" Or
              VSDGCODMODELO="07"  :
              Moveto [Data Previsao          ] Example "dat"  
              Moveto [Valor a Receber        ] Example "vr" 
         Case VSDGCODMODELO="01" Or 
              VSDGCODMODELO="04" Or
              VSDGCODMODELO="05"  :
              Moveto [Data Movimento         ] Example "dat"     
              Moveto [Valor                  ] Example "vr"
              If VSDGCODMODELO="04"
                 Then Moveto [Situacao       ] TypeIn "B"
              EnDIf
       EndSwitch
       Do_It!
       ClearAll  
  
  Case TIPO="CHEQUE" :     
       HOJE = Today()
  
       ;---- Selecionando Registros do Tipo "05" Ou "08" -------
       {Ask} {MovCont}
       Moveto [Numero do Lancamento   ] TypeIn "_NLanc"
       Moveto [Codigo da Conta        ] TypeIn "_CCont"
       Moveto [Tipo Movimento         ] TypeIn "S"
       Moveto [Tipo de Operacao       ] TypeIn "05 or 08"
       Moveto [Data Cheque Descontado ] TypeIn "Blank Or >~HOJE" 
       {Ask} TypeIn Tabela Enter Check
       Moveto [Codigo da Conta        ] TypeIn "_CCont"  
       Moveto [Numero do Lancamento   ] TypeIn "_NLanc"
       Do_It!
       ClearAll

       If IsEmpty("Answer")
          Then Return
       EndIf
       
       {Ask} {Answer} Check
       Do_It!   
       ClearAll
       
       ;---- Calculando entradas -------------------------------
       {Ask} {Answer}
       Moveto [Codigo da Conta        ] Check 
       Moveto [Data Movimento         ] Check
       Moveto [Nome Fantasia EmitDest ] Check
       Moveto [Valor                  ] TypeIn "Calc Sum as Valor" 
       Moveto [Historico              ] Check ;Inclu¡do em 22.04.2014 para pegar somente CNA ou PRE
       Do_It!
       ClearAll
       
       SALDO_REAL = 0
       View "Answer"
       Scan for Search("[PRE",[Historico])>0 Or Search("[CNA",[Historico])>0   
         SALDO_REAL = [Valor] + SALDO_REAL
       EndScan
       ClearAll
       
EndSwitch  

EndProc    ; Processa2()

;*******************************************************************************
;* Verifica Numero de Linhas                                                   *
;*******************************************************************************
Proc Checa_Linha(NLinha)
Private NLinha

If LINHA+NLinha > 65
   Then LINHA = 0
        Print File ARQIMP "\f"
        Cabecalho()
   Else LINHA = LINHA + NLinha    
EndIf   
  
EndProc ;Checa_Linha()

;*******************************************************************************
;* Rotina de ImpressÆo de Cabecalho                                            *
;*******************************************************************************
Proc Cabecalho()
NFOLHA = NFOLHA + 1   

Print File ARQIMP "\n\n"
Print File ARQIMP Spaces(2)+Fill("-",136)+"\n"
Print File ARQIMP Spaces(2)+Format("W38,AL",NOMEMPRESA)+Spaces(60)+"Emissao: "+Format("D13",Today())+"-"+Time()+Spaces(01)+"Pag.: "+Format("W3,AR",StrVal(NFOLHA))+"\n"
Print File ARQIMP Spaces(2)+Fill("-",136)+"\n\n"
Print File ARQIMP Spaces(20)+Format("W80,AC","Extrato Consolidado de "+StrVal(Format("D13",VSDGDTINI))+" Ate "+StrVal(Format("D13",VSDGDTFIM)))+"\n\n"

Print File ARQIMP "     Data     Destinat/Emitente        Origem       Historico                                              No Cheque         Valor"+"\n"
Print File ARQIMP "  ----------  -----------------------  -----------  -----------------------------------------------------  ---------  ------------"+"\n"
Print File ARQIMP "  Conta: "+Format("W5,AL",VSDGCONTA)+Format("W31,AL",NOM_CONTA)+"  Empresa: "+Format("W5,AL",EMPRESA)+Format("W31,AL",NOM_EMPRESA)+"\n\n"   

Checa_Linha(12)

EndProc ;Cabecalho() 

;*******************************************************************************
;* Rotina de ImpressÆo                                                         *
;*******************************************************************************
Proc Consolidado()

ARQIMP=PrivDir()+"RM_1000.txt"
If IsFile(ARQIMP)
   Then Deleta_Arquivo(ARQIMP)
EndIf
             
If LIMITECRED = "" Or LIMITECRED = BlankNum() Then LIMITECRED = 0 EndIf
Print File ARQIMP CI_15CPP

SALDO_REAL = 0
NFOLHA     = 0
DT_MOV     = "***"
VALORG     = 0
VALORM     = 0
VALORC     = 0
LINHA      = 0

Processa2("CHEQUE")

;**** Dados da Conta/Empresa ***************************************************
GetRecord "\\Sistemas\\Ctacor\\Conta" VSDGCONTA To NOM_CONTA
If RetVal
   Then EMPRESA     = NOM_CONTA["Codigo da Empresa"] 
        NOM_EMPRESA = NOM_CONTA["Nome Fantasia Empresa"]
        NOM_CONTA   = NOM_CONTA["Descricao da Conta"]
   Else EMPRESA     = ""    
        NOM_EMPRESA = ""
        NOM_CONTA   = ""
EndIf

Cabecalho()

If SYS_CODIGO_CLIENTE="0092"
   Then ;---- Em 14/07/2015 para Vise - Solicita‡Æo 17832 ----------------------
        Sort Tabela On "Data Movimento","Numero do Lancamento","Codigo da Conta","Nome Fantasia EmitDest","Numero do Cheque"
   Else Sort Tabela On "Tipo_Lancto","Codigo da Conta","Data Movimento","Nome Fantasia EmitDest","Numero do Cheque"
EndIf
ClearAll

View Tabela
Scan
  If [Tipo_Lancto]<>"CHEQ_EMIT"
     Then
        ;**** Data de Movimenta‡Æo ***************************************************         
        If DT_MOV <> [Data Movimento] And [Nome Fantasia EmitDest] <> "SALDO ANTERIOR"
           Then If DT_MOV <> "***"  
                   Then If [Nome Fantasia EmitDest] <> "SALDO ANTERIOR"
                           Then ;---- Imprime Saldo do Dia --------------                                              
                                Checa_Linha(2)
                                Print File ARQIMP Format("W130,AR","SALDO DO DIA "+StrVal(Day(DT_MOV))+"..."+Format("W14.2,EIC",VALORM))+"\n\n"
                           Else Checa_Linha(1)
                                Print File ARQIMP "\n"
                         EndIf
                EndIf            
                DT_MOV = [Data Movimento]
        EndIf  
        
        ;**** Atribui o Historico em at‚ 3 linhas ************************************
        ;---- Cancelado em 05.05.2014 por estar gerando muitas paginas ---------------
        ;POSICAO   = 23
        ;HISTORICO = LTrim(Rtrim([Historico]))
        ;CHAR_HIST = Len(HISTORICO)/POSICAO
        ;If CHAR_HIST - Int(CHAR_HIST) > 0
        ;   Then CHAR_HIST = Int(CHAR_HIST) + 1
        ;   Else CHAR_HIST = 1
        ;EndIf            
        ;Array HISTORICO[CHAR_HIST]
        ;AUX_LINHA = 0
        ;
        ;If CHAR_HIST > 1
        ;   Then For i From 1 To CHAR_HIST
        ;          AUX_LINHA = AUX_LINHA + 1
        ;          Switch
        ;            Case i = 1 : Ini = 1
        ;            OtherWise  : Ini = (POSICAO*(i-1))+1
        ;          EndSwitch
        ;          HISTORICO[i] = SubStr(LTrim(Rtrim([Historico])),Ini,23)
        ;          If CHAR_HIST = 3 Then QuitLoop EndIf
        ;        EndFor 
        ;   Else HISTORICO[1] = LTrim(Rtrim([Historico]))
        ;        AUX_LINHA = AUX_LINHA + 1
        ;EndIf
        ;Checa_Linha(AUX_LINHA)   
        ;-----------------------------------------------------------------------------
         
        ;**** Ajustando Data *********************************************************
        DATA = [Data Movimento]
        If Len(DATA)=9
           Then DATA = "0"+Substr(DATA,1,1)+"/"+Substr(DATA,3,2)+"/"+Substr(DATA,6,4)
           Else DATA = Substr(DATA,1,2)+"/"+Substr(DATA,4,2)+"/"+Substr(DATA,7,4)
        EndIf    
        Checa_Linha(1) 
        ;**** Corpo do Relat¢rio  **************************************************** 
        Print File ARQIMP Spaces(2)
        Print File ARQIMP Format("W10",DATA)+Spaces(2)
        Print File ARQIMP Format("W23",[Nome Fantasia EmitDest])+Spaces(2)
        ;-----------------------------------------------------------------------------
        ;Print File ARQIMP Format("W23",HISTORICO[1])+Spaces(1)
        ;-----------------------------------------------------------------------------
        Print File ARQIMP Format("W13,AL",[Sistema Gerador]+"/"+[Lancamento Gerador]+"-"+[Sequencia Gerador])
        Print File ARQIMP Format("W53",Ltrim([Historico]))+Spaces(2)
        ;-----------------------------------------------------------------------------
        Print File ARQIMP Format("W9",[Numero do Cheque])+Spaces(2)
        Print File ARQIMP Format("W12.2,EIC",[Valor])+"\n"
        
        If [Nome Fantasia EmitDest] = "SALDO ANTERIOR" Then Print File ARQIMP "\n" EndIf 
        
        VALORM = VALORM + [Valor] ; Valor das Movimenta‡äes Di rias
        VALORG = VALORG + [Valor] ; Valor das Movimenta‡äes por Grupo
                 
        ;**** Imprime o Historico em at‚ 3 linhas ************************************
        If ArraySize(HISTORICO) > 1
           Then For i From 1 To ArraySize(HISTORICO)
                  If i=1 Then Loop EndIf
                  If Not IsAssigned(HISTORICO[i]) Then Loop EndIf
                  Print File ARQIMP Spaces(45)+Format("W43",HISTORICO[i])+"\n"
                EndFor
        EndIf   
  EndIf
EndScan 
             
;---- Imprime Saldo do Dia -------------------------------------   
If [Nome Fantasia EmitDest] <> "SALDO ANTERIOR" And [Tipo_Lancto]<>"CHEQ_EMIT"
   Then Checa_Linha(2)
        Print File ARQIMP Format("W97,AR","SALDO DO DIA "+StrVal(Day(DT_MOV))+"..."+Format("W14.2,EIC",VALORM))+"\n\n"
   Else Checa_Linha(1)
        Print File ARQIMP "\n"
EndIf
                  
;---- Imprime TOTALIZADOR --------------------------------------                  
Checa_Linha(3)
Print File ARQIMP Format("W130,AR","SALDO ATUAL..."+Format("W14.2,EIC",VALORG))+"\n"
Print File ARQIMP Format("W130,AR","(+)  LIMITE CREDITO..."+Format("W14.2,EIC",LIMITECRED))+"\n"
Print File ARQIMP Format("W130,AR","(=) DISPONIBILIDADE..."+Format("W14.2,EIC",VALORG+LIMITECRED))+"\n"

;**** Em 15.04.2014 foi alterado de SALDO_REAL<>0 para SALDO_REAL>0 ****  
;**** Em 22.04.2014 foi alterado de SALDO_REAL>0 para SALDO_REAL<>0 **** Ver motivo, quando for pedido para alterar novamente.
If SALDO_REAL<>0
   Then Checa_Linha(2)
        Print File ARQIMP Format("W130,AR","SALDO REAL..."+Format("W14.2,EIC",VALORG-SALDO_REAL))+"\n\n"
   Else Checa_Linha(1)
        Print File ARQIMP "\n"
EndIf   

If OPCHEQ="S"
   Then Checa_Linha(1)
        Print File ARQIMP "  ** Inclusao de [CNA] e [PRE] **"+"\n"
EndIf 

;-------Rela‡Æo de Cheques emitidos no per¡odo----------------------------------
If CheckTG_OPCHEMIT[1]
   Then
      Checa_Linha(3)
      Print File ARQIMP "\n"
      Print File ARQIMP "  CHEQUES EMITIDOS NO PERIODO "+"\n\n"
      Scan
        If [Tipo_Lancto]="CHEQ_EMIT"
           Then
             ;**** Ajustando Data *********************************************************
              DATA = [Data Movimento]
              If Len(DATA)=9
                 Then DATA = "0"+Substr(DATA,1,1)+"/"+Substr(DATA,3,2)+"/"+Substr(DATA,6,4)
                 Else DATA = Substr(DATA,1,2)+"/"+Substr(DATA,4,2)+"/"+Substr(DATA,7,4)
              EndIf
             Checa_Linha(1)   
             Print File ARQIMP Spaces(2)
             Print File ARQIMP Format("W10",DATA)+Spaces(2)
             Print File ARQIMP Format("W23",[Nome Fantasia EmitDest])+Spaces(2)
             ;-----------------------------------------------------------------------------
             ;Print File ARQIMP Format("W23",HISTORICO[1])+Spaces(1)
             ;-----------------------------------------------------------------------------
             Print File ARQIMP Format("W13,AL",[Sistema Gerador]+"/"+[Lancamento Gerador]+"-"+[Sequencia Gerador])
             Print File ARQIMP Format("W53",Ltrim([Historico]))+Spaces(2)
             ;-----------------------------------------------------------------------------
             Print File ARQIMP Format("W9",[Numero do Cheque])+Spaces(2)
             Print File ARQIMP Format("W12.2,EIC",[Valor])+"\n"
      
             VALORC = VALORC + [Valor] ; Valor das Movimenta‡äes por Grupo
             EXIBE_CH   = true         
             ;**** Imprime o Historico em at‚ 3 linhas ************************************
             If ArraySize(HISTORICO) > 1
                Then For i From 1 To ArraySize(HISTORICO)
                       If i=1 Then Loop EndIf
                       If Not IsAssigned(HISTORICO[i]) Then Loop EndIf
                       Print File ARQIMP Spaces(45)+Format("W53",HISTORICO[i])+"\n"
                     EndFor
             EndIf 
           EndIf
      EndScan
      Checa_Linha(1)
      Print File ARQIMP Format("W130,AR","TOTAL..."+Format("W14.2,EIC",VALORC))+"\n"
EndIf

ClearAll

EndProc ;Consolidado()
 
;*******************************************************************************
;* Rotina                                                                      *
;*******************************************************************************
Proc SD_Dialog(Disparo,Campo,Evento,Elemento)
Temp=True
MSG_CAMPO=""
TECLA=""
If Disparo="OPEN"  Then AoCriarShowDialog() EndIf
If Disparo="EVENT" And Evento["Type"]="KEY" Then
   Switch
     Case Evento["KeyCode"] = 9: Temp=False
     Case Evento["KeyCode"] = -59: Dialog_F1()
     Case Evento["KeyCode"] =  27:
          Temp=False
          Switch
            Case Campo="TG_CONTA"         : Campo="NO"
            Case Campo="TG_DTINI"         : Campo="TG_CONTA"
            Case Campo="TG_DTFIM"         : Campo="TG_DTINI"
            Case Campo="TG_OPCHEQ"        : Campo="TG_DTFIM"
            Case Campo="TG_OPCARTAO"      : Campo="TG_OPCHEQ" 
            Case Campo="TG_OPCHEMIT"      : Campo="TG_OPCARTAO"
            Case Campo="TG_OPACERTO"      : Campo="TG_DTFIM"
            Case Campo="TG_CODMODELO"     : Campo="TG_DTFIM"
            Case Campo="YES" Or Campo="NO": Campo="TG_CONTA"
          EndSwitch
     Case (Evento["KeyCode"] <= -104 And Evento["KeyCode"] >= -113) Or 
           Evento["KeyCode"]  = -139 Or  Evento["KeyCode"]  = -140:
           SYS_TECLA_ACIONADA=Evento["KeyCode"]
           Seta_Tecla_Acionada()
           CancelDialog
     Case Evento["KeyCode"] = 13:
          Temp=False
          If Checa_TAG()
             Then Switch
                    Case Campo="TG_CONTA"    : Campo="TG_DTINI"
                         If VSDGTPCONTA="X"
                            Then CheckTG_OPCHEQ[1]  =False
                                 CheckTG_OPCARTAO[1]=False
                                 CheckTG_OPCHEMIT[1]=False
                         endif   
                         If VSDGTPCONTA="C" or
                            VSDGTPCONTA="A"
                            then VSDGOPACERTO[1]    =False
                         endif
                            
                    Case Campo="TG_DTINI"    : Campo="TG_DTFIM"
                    Case Campo="TG_DTFIM"    : Campo="TG_OPACERTO"
                         If VSDGTPCONTA="C"
                            Then Campo="TG_OPCHEQ"
                         EndIf
                    Case Campo="TG_OPCHEQ"   : Campo="TG_OPCARTAO"
                    Case Campo="TG_OPCARTAO" : Campo="TG_OPCHEMIT"
                    Case Campo="TG_OPCHEMIT" : Campo="TG_CODMODELO"
                    Case Campo="TG_OPACERTO" : Campo="TG_CODMODELO"
                    Case Campo="TG_CODMODELO": Campo="YES"
                    
                  EndSwitch
          EndIf
          RefreshDialog
   EndSwitch
EndIf
Switch
  Case Campo="TG_CONTA":
     MSG_CAMPO="Somente uma Conta disponivel"
     
  Case Campo="TG_DTINI":
     MSG_CAMPO="Informe a Data Inicial"
     
  Case Campo="TG_OPCHEQ"   or
       Campo="TG_OPCARTAO" or
       Campo="TG_OPCHEMIT" or
       Campo="TG_OPACERTO":
       MensagemCheckBoxes()
Endswitch
Monta_Prompt(MSG_CAMPO,TECLA)
Return Temp
EndProc

;************************************
;* ROTINA PARA Ler/Gravacao Opcao   *
;************************************
Proc ConfOpcoes(Opcao)
Private Opcao

Switch
  Case Opcao="Ler":
  
       ModeloRelatoriosCarregaLista()
  
       If IsFile("OE_0010.sc")
           Then Play "OE_0010"
           Else VSDGCODMODELO       ="01"
       EndIf
  Case Opcao="Gravar":
       FileWrite        "OE_0010.sc" From  ";****** Variaveis de Configura‡„o Modelo EXTRATO Vise Informatica"+"\n"
       FileWrite Append "OE_0010.sc" From  "VSDGCODMODELO=\""+VSDGCODMODELO+"\"\n"
EndSwitch
EndProc ;

;************************************
;* ROTINA PARA Ler/Gravacao Opcao   *
;************************************
Proc ModeloRelatoriosCarregaLista()

VSDGCODMODELO     = ""
VSDGMODELO        = ""

;ModeloRelatoriosAdd("XXX XX maximo 70 XX")

ModeloRelatoriosAdd("Criar") ; linha obrigatoria inicial
ModeloRelatoriosAdd("01  Extrato   I")
ModeloRelatoriosAdd("02  Extrato  II - Padr„o")
ModeloRelatoriosAdd("07  Extrato  VI - Padr„o com quebra de p gina por Dia")
ModeloRelatoriosAdd("Separator")
ModeloRelatoriosAdd("04  Extrato III - Consolidado")
ModeloRelatoriosAdd("Separator")
ModeloRelatoriosAdd("03  Extrato  II - com Emitente/Destinat rio")
ModeloRelatoriosAdd("06  Extrato   V - com Emitente/Destinat rio para Conferˆncia")
ModeloRelatoriosAdd("05  Extrato  IV - com Juros/Descontos")
ModeloRelatoriosAdd("Fim")
                           
EndProc ;ModeloRelatoriosCarregaLista

;*******************************************************************************
;* ROTINA PRINCIPAL                                                            *
;*******************************************************************************
AutoLib="\\Sistemas\\Cadastro\\Bib_Show,\\Sistemas\\Cadastro\\Bibliot"
LimpAguarde()
If Not IsAssigned(NOMEMPRESA) Then NOMEMPRESA = "" EndIf 

SYS_Valor()

VSDGTPCONTA=""
VSDGCONTA  =""
VSDGDTINI  =BlankDate()
VSDGDTFIM  =BlankDate()

ConfOpcoes("Ler")

Array TG_OPCHEQ[1]
TG_OPCHEQ[1]="Incluir Cheques n„o Apresentados/Pre-Datados"

Array TG_OPCARTAO[1]
TG_OPCARTAO[1]="Agrupar cart”es"

Array TG_OPCHEMIT[1]
TG_OPCHEMIT[1]="Exibir Cheques Emitidos no Per¡odo"

Array CheckTG_OPCHEQ[ArraySize(TG_OPCHEQ)]
CheckTG_OPCHEQ[1]=False

Array CheckTG_OPCARTAO[ArraySize(TG_OPCARTAO)]
CheckTG_OPCARTAO[1]=False

Array CheckTG_OPCHEMIT[ArraySize(TG_OPCHEMIT)]
CheckTG_OPCHEMIT[1]=False

Array VSDGOPACERTO[1]
VSDGOPACERTO[1]=false

While True

  ShowDialog "Extrato de Conta " Proc "SD_Dialog"
  Trigger "OPEN","ARRIVE"
  Key "F1","ENTER","ESC","TAB",
      -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -139, -140  
   @ 26,00   Height 17 Width 72

    Label  @ 00,00 "Conta"  For "TG_CONTA"
    Accept @ 01,01 Width 07 "A4"  Picture "#*#" Tag "TG_CONTA"    To VSDGCONTA
    Accept @ 01,09 Width 25 "A20" Picture "!*!" Tag "TG_NOMCONTA" To VSDGNOMCONTA

    Label  @ 02,00 "Per¡odo Referente de" For "TG_DTINI"
    Accept @ 03,03 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTINI" To VSDGDTINI
    Label  @ 03,16 "at‚" For "TG_DTFIM"
    Accept @ 03,21 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTFIM" To VSDGDTFIM

    CheckBoxes @ 05,00 Height 1 Width 50 Tag "TG_OPCHEQ"
    TG_OPCHEQ[1] to CheckTG_OPCHEQ[1]
    
    CheckBoxes @ 06,00 Height 1 Width 50 Tag "TG_OPCARTAO"
    TG_OPCARTAO[1] to CheckTG_OPCARTAO[1]
    
    CheckBoxes @ 07,00 Height 1 Width 50 Tag "TG_OPCHEMIT"
    TG_OPCHEMIT[1] to CheckTG_OPCHEMIT[1]
    
    CheckBoxes @ 08,00 Height 1 Width 50 Tag "TG_OPACERTO"
    "Agrupar Acertos Financeiros" to VSDGOPACERTO[1]

    Label  @ 10,00  "Modelo de ~R~elat¢rio"  For "TG_CODMODELO"
    Accept @ 11,01  Width 06 "A3"  Picture "!*!" Tag "TG_CODMODELO" To VSDGCODMODELO
    Accept @ 11,06  Width 63 "A60"  Picture "!*!" Tag "TG_MODELO" To VSDGMODELO        

    Pushbutton @ 13,22 width 11 "~O~k"      OK     Default Value "Ok" Tag "YES" To BottonValue
    Pushbutton @ 13,36 width 11 "~C~ancela" CANCEL                    Tag "NO"  To BottonValue

  EndDialog
  If Not RetVal Then QuitLoop EndIf
  
  If VSDGCONTA=""
     Then Mensagem("Conta Inv lida !")
          Loop
  EndIf
  If VSDGDTINI=BlankDate()
     Then Mensagem("Data Inicial Invalida !")
          Loop
  EndIf
  If VSDGCODMODELO="04" And
     VSDGTPCONTA="X"
     Then Mensagem("Extrato Consolidado somente p/ Conta Corrente !")
          Loop
  EndIf

  ANOREF=StrVal(Year(VSDGDTINI))
  MESREF=AlinhM(StrVal(Month(VSDGDTINI)),2)

  View "SaldCont"
  Moveto [Codigo da Conta]
  Locate VSDGCONTA,ANOREF,MESREF
  If Not RetVal
     Then Mensagem("Conta sem Saldo Inicial Atualizado")
          ClearAll
          Loop
     Else SALDOINI=[Saldo Inicial]
  EndIf
  ClearImage

  VSDGDTREF=DateVal("01."+MESREF+"."+ANOREF)

  View "Conta"
  Moveto [Codigo da Conta]
  Locate VSDGCONTA
  If Not RetVal
     Then Mensagem("Conta nÆo existente")
          ClearAll
          Loop
     Else LIMITECRED=[Credito]
  EndIf
  ClearImage

  DISPOSITIVO()
  If OK="" Then Loop EndIf
  If CheckTG_OPCHEQ[1]
     Then OPCHEQ="S"
     Else OPCHEQ="N"
  EndIf

  AGUARDE("Aguarde, preparando o extrato")
  Tabela=Cria_Temp(PrivDir())
  Switch
    Case VSDGCODMODELO="02" or
         VSDGCODMODELO="06" or
         VSDGCODMODELO="03" or
         VSDGCODMODELO="07" :
         Empty "\\Base\\Sistemas\\Ctacor\\Rm_0020"
         Copy "\\Base\\Sistemas\\Ctacor\\Rm_0020" Tabela
    Case VSDGCODMODELO="01" or
         VSDGCODMODELO="04" or
         VSDGCODMODELO="05" :
         Empty "\\Base\\Sistemas\\Ctacor\\Rm_0010"
         Copy "\\Base\\Sistemas\\Ctacor\\Rm_0010" Tabela
  EndSwitch
  Monta_Dir_Trab(VSDGDTINI,VSDGDTFIM)
  While Novo_Dir_Trab()
    Switch
      Case VSDGCODMODELO="01": Seleciona()
      Case VSDGCODMODELO="02": Seleciona2()
      Case VSDGCODMODELO="03": Seleciona2()
      Case VSDGCODMODELO="04": Seleciona3() 
      Case VSDGCODMODELO="05": Seleciona3()
      Case VSDGCODMODELO="06": Impressao_Orientacao="Paisagem"
                               Seleciona2()
      Case VSDGCODMODELO="07": Seleciona2()

    Endswitch
  EndWhile
  Processa()
  
  If CheckTG_OPCARTAO[1]
     Then Processa2("CARTAO")
  EndIf
     
  Switch
    Case VSDGCODMODELO="01" : IMPRIREL(Tabela,"R")
    Case VSDGCODMODELO="02" : IMPRIREL(Tabela,"1")
    Case VSDGCODMODELO="03" : IMPRIREL(Tabela,"2")
    Case VSDGCODMODELO="04" : ;IMPRIREL(Tabela,"1") ;Funcional, por‚m desabilitado por usar modo manual de impressÆo
                                                           Consolidado()
                                                           ImpriArq(ARQIMP)
    Case VSDGCODMODELO="05" : IMPRIREL(Tabela,"2")
    Case VSDGCODMODELO="06" : IMPRIREL(Tabela,"9")
    Case VSDGCODMODELO="07" : IMPRIREL(Tabela,"10")
  EndSwitch

  Delete Tabela
  ConfOpcoes("Gravar")

EndWhile
ClearAll
Release Vars All
Release Procs All
