

;*******************************************************************************
;* Atualizacao Conta Corrente                                                  *
;*******************************************************************************
Proc CONTA()
Private WB,LanctoOk

LanctoOk=False


If Not IsBlank([BordchC->Lancamento Conta Corrente])
   Then


EndIf

If [BordChc->Tipo de Destino]="DEPOSITO"         Or
   [BordChc->Tipo de Destino]="DESCONTADO_BANCO" Or
   [BordChc->Tipo de Destino]="SEM FUNDO"
   Then LanctoOk=True
EndIf

If Not LanctoOK
   Then Return
EndIf








While True
  If Not IsBlank([TitBaixa->Data do Pagamento])
     Then ANOREF=StrVal(Year([TitBaixa->Data do Pagamento]))
          MESREF=AlinhM(StrVal(Month([TitBaixa->Data do Pagamento])),2)

          Moveto "\\Sistemas\\CtaCor\\SaldCont"
          Moveto [Codigo da Conta]
          Locate [TitBaixa->Codigo da Conta],ANOREF,MESREF
          If Not RetVal
             Then If CHAVEI<>1
                     Then MENSAGEM("Saldo da conta em "+MESREF+"/"+ANOREF+" n„o cadastrada !")
                          WB=1
                          QuitLoop
                  EndIf
                  CONFGERAL("Data da baixa fora do per¡odo em aberto !//Deseja criar novo per¡odo ?")
                  If OK="N"
                     Then WB=1
                          QuitLoop
                     Else CONTAREF=[TitBaixa->Codigo da Conta]
                          GERCONT()
                          Loop
                  EndIf
          EndIf
  EndIf

  Switch
    Case CHAVEI=0:
         Moveto "\\Sistemas\\CtaCor\\MovCont"
         Moveto [Numero do Lancamento]
         Locate [TitBaixa->Lancamento Conta Corrente],
                [TitBaixa->Codigo da Conta]
         If Not RetVal
            Then MSG=    "Lan‡amento no Caixa/Banco n„o encontrado p/ esta Baixa !//"
                 MSG=MSG+"Verificar no Caixa/Banco se o Mˆs n„o foi fechado !//"
                 MSG=MSG+"Neste caso o estorno no Caixa/Banco n„o sera efefuado !//"
                 MSG=MSG+"Talvez algum outro erro gerou este problema !//"
                 MSG=MSG+"Se necess rio exclua esta Baixa e fa‡a-a novamente !"
                 Mensagem(MSG)
                 WB=1
                 QuitLoop
            Else If [Sistema Gerador       ]<>"CP" Or
                    [Empresa Gerador       ]<>[TitBaixa->Codigo da Empresa] Or
                    [Lancamento Gerador    ]<>[TitBaixa->Numero do Lancamento] Or
                    [Sequencia Gerador     ]<>[TitBaixa->Sequencia da Baixa] Or
                    [Codigo do Documento   ]<>[Titulos->Codigo do Documento] Or
                    [Numero do Documento   ]<>[Titulos->Numero do Documento]
                    Then MSG=    "Movimento no Caixa/Banco n„o corresponde a esta Baixa !//"
                         MSG=MSG+"Verificar no Caixa/Banco se o Mˆs n„o foi fechado !//"
                         MSG=MSG+"Neste caso o estorno no Caixa/Banco n„o sera efefuado !//"
                         MSG=MSG+"Talvez algum outro erro gerou este problema !//"
                         MSG=MSG+"Se necess rio exclua esta Baixa e fa‡a-a novamente !"
                         Mensagem(MSG)
                         WB=1
                         QuitLoop
                 EndIf

                 WB=0
                 [Valor                 ]=[TitBaixa->Valor do Pagamento]
                 [Valor do Desconto     ]=[TitBaixa->Valor do Desconto ]
                 [Valor do Juros        ]=[TitBaixa->Valor do Juros    ]
                 [Codigo do Documento   ]=[Titulos->Codigo do Documento]
                 [Numero do Documento   ]=[Titulos->Numero do Documento]
                 [Numero do Cheque      ]=[TitBaixa->Numero do Cheque  ]
                 [Serie do Cheque       ]=[TitBaixa->Serie do Cheque   ]
                 [Cheque Pre-Datado     ]=[TitBaixa->Cheque Pre-Datado ]
                 [Data Cheque Pre-Datado]=[TitBaixa->Data Cheque Pre-Datado]
                 [Tipo de Operacao      ]=[TitBaixa->Tipo de Operacao   ]
                 [Codigo do EmitDest    ]=[Titulos->Codigo do Emitente  ]
                 [Tipo do Lancamento    ]=[TitBaixa->Tipo de Lancamento ]

                 [Codigo Plano_Conta    ]=[TitBaixa->Codigo Plano_Conta    ]
                 [Codigo CCusto         ]=[TitBaixa->Codigo CCusto         ]
                 [Codigo do Historico   ]=[TitBaixa->Codigo do Historico   ]
                 [Descricao do Historico]=[TitBaixa->Descricao do Historico]

                 UnLockRecord

                 Moveto "\\Sistemas\\CtaCor\\SaldCont"
                 [Saidas]=[Saidas]-VROLD+[TitBaixa->Valor do Pagamento]
                 UnLockRecord

                 Moveto "TitBaixa"
                 [Lancamento Conta Corrente]=[\Sistemas\CtaCor\MovCont->Numero do Lancamento]
         EndIf
    Case CHAVEI=1:
         WB=0
         Moveto "\\Sistemas\\CtaCor\\MovCont"
         Moveto [Numero do Lancamento]
         While True
           End
           If [Numero do Lancamento]=""
              Then NLANCMC="000001"
              Else NLANCMC=ALINHM(StrVal(NumVal([Numero do Lancamento])+1),6)
           EndIf
           Down
           [Numero do Lancamento]=NLANCMC
           [Codigo da Conta     ]=[TitBaixa->Codigo da Conta   ]
           If Not IsLockRecord()
              Then QuitLoop
              Else Del
           EndIf
         EndWhile
         [Tipo de Operacao      ]=[TitBaixa->Tipo de Operacao      ]
         [Data                  ]=[TitBaixa->Data do Pagamento     ]
         [Data Cheque Descontado]=[TitBaixa->Data Cheque Descontado]
         [Valor                 ]=[TitBaixa->Valor do Pagamento    ]
         [Valor do Desconto     ]=[TitBaixa->Valor do Desconto     ]
         [Valor do Juros        ]=[TitBaixa->Valor do Juros        ]
         [Numero do Cheque      ]=[TitBaixa->Numero do Cheque      ]
         [Serie do Cheque       ]=[TitBaixa->Serie do Cheque       ]
         [Cheque Pre-Datado     ]=[TitBaixa->Cheque Pre-Datado     ]
         [Data Cheque Pre-Datado]=[TitBaixa->Data Cheque Pre-Datado]
         [Codigo do Documento   ]=[Titulos->Codigo do Documento    ]
         [Numero do Documento   ]=[Titulos->Numero do Documento    ]
         [Codigo Plano_Conta    ]=[TitBaixa->Codigo Plano_Conta    ]
         [Codigo CCusto         ]=[TitBaixa->Codigo CCusto         ]
         [Codigo do Historico   ]=[TitBaixa->Codigo do Historico   ]
         [Descricao do Historico]=[TitBaixa->Descricao do Historico]

         [Sistema Gerador       ]="CP"
         [Empresa Gerador       ]=[TitBaixa->Codigo da Empresa     ]
         [Lancamento Gerador    ]=[TitBaixa->Numero do Lancamento  ]
         [Sequencia Gerador     ]=[TitBaixa->Sequencia da Baixa    ]
         [Codigo do EmitDest    ]=[Titulos->Codigo do Emitente     ]
         [Tipo do Lancamento    ]=[Titbaixa->Tipo de Lancamento    ]

         [Codigo Plano_Conta    ]=[TitBaixa->Codigo Plano_Conta    ]
         [Codigo CCusto         ]=[TitBaixa->Codigo CCusto         ]
         [Codigo do Historico   ]=[TitBaixa->Codigo do Historico   ]
         [Descricao do Historico]=[TitBaixa->Descricao do Historico]
         Controle_Dia()
         UnLockRecord

         Moveto "\\Sistemas\\CtaCor\\SaldCont"
         [Saidas]=[Saidas]+[TitBaixa->Valor do Pagamento]
         UnLockRecord

         Moveto "TitBaixa"
         [Lancamento Conta Corrente]=[\Sistemas\CtaCor\MovCont->Numero do Lancamento]
    Case CHAVEI=8:
         Moveto "\\Sistemas\\CtaCor\\MovCont"
         Moveto [Numero do Lancamento]
         Locate [TitBaixa->Lancamento Conta Corrente],
                [TitBaixa->Codigo da Conta]
         If Not RetVal
            Then If Not Exclusao_Cabeca
                    Then MSG=    "Lan‡amento no Caixa/Banco n„o encontrado p/ esta Baixa !//"
                         MSG=MSG+"Verificar no Caixa/Banco se o Mˆs n„o foi fechado !//"
                         MSG=MSG+"Neste caso o estorno no Caixa/Banco n„o sera efefuado !//"
                         MSG=MSG+"Talvez algum outro erro gerou este problema !//"
                         MSG=MSG+"Deseja Excluir esta Baixa assim mesmo ?"
                         ConfGeral(MSG)
                         If OK="S"
                            Then WB=0
                            Else WB=1
                         EndIf
                    Else WB=0
                 EndIf
            Else If [Sistema Gerador       ]<>"CP" Or
                    [Empresa Gerador       ]<>[TitBaixa->Codigo da Empresa] Or
                    [Lancamento Gerador    ]<>[TitBaixa->Numero do Lancamento] Or
                    [Sequencia Gerador     ]<>[TitBaixa->Sequencia da Baixa] Or
                    [Codigo do Documento   ]<>[Titulos->Codigo do Documento] Or
                    [Numero do Documento   ]<>[Titulos->Numero do Documento]
                    Then MSG=    "Lan‡amento no Caixa/Banco n„o corresponde a esta Baixa !//"
                         MSG=MSG+"Verificar no Caixa/Banco se o Mˆs n„o foi fechado !//"
                         MSG=MSG+"Neste caso o estorno no Caixa/Banco n„o sera efefuado !//"
                         MSG=MSG+"Talvez algum outro erro gerou este problema !//"
                         MSG=MSG+"Deseja Excluir esta Baixa assim mesmo ?"
                         ConfGeral(MSG)
                         If OK="S"
                            Then WB=0
                            Else WB=1
                         EndIf
                    Else WB=0
                         Del
                         Moveto "\\Sistemas\\CtaCor\\SaldCont"
                         [Saidas]=[Saidas]-VROLD
                         UnLockRecord
                 EndIf
         EndIf
  EndSwitch
  QuitLoop
EndWhile

Moveto "TitBaixa"
If WB=0
   Then Return True
   Else Return False
EndIf
EndProc  ; (Conta)


;*******************************************************************************
;* Gera Saldo de Conta                                                         *
;*******************************************************************************
Proc GERCONT()
End Down
[Codigo da Conta]=CONTAREF
[Ano Referencia ]=ANOREF
[Mes Referencia ]=MesREF
[Saldo Inicial  ]=0
[Entradas       ]=0
[Saidas         ]=0
UnLockRecord



ANOREF=StrVal(Year([BordChC->Data do Lote]))
MESREF=AlinhM(StrVal(Month([BordChC->Data do Lote])),2)

Moveto "\\Sistemas\\CtaCor\\SaldCont"
Moveto [Codigo da Conta]
Locate CONTAREF,ANOREF,MESREF
If Not RetVal
   Then CONFGERAL("Data da baixa fora do per¡odo em aberto !//Deseja criar novo per¡odo ?")
        If OK="S"
           Then End Down
                [Codigo da Conta]=CONTAREF
                [Ano Referencia ]=ANOREF
                [Mes Referencia ]=MesREF
                If IsLockRecord
                   Then Del
                   Else [Saldo Inicial  ]=0
                        [Entradas       ]=0
                        [Saidas         ]=0
                        UnLockRecord
                EndIf
           Else
        EndIf
EndIf
















EndProc  ; (GerCont)

















