Páginas filhas
  • Conciliação Financeira

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

02. EXEMPLO DE UTILIZAÇÃO

Bloco de código
languagecpp
linenumberstrue
//------------------------------------------------------------------------------
/*/{Protheus.doc} RskBankCon
Exemplo para customizar o processamento da conciliação bancaria.

@param  Nenhum
@return Nenhum
@author Squad NT TechFin
@since  21/01/2020
/*/
//-----------------------------------------------------------------------------
User Function RskBankCon()
    Local aArea         := GetArea()
    Local aAreaAR4      := AR4->(GetArea())
    Local aConciliation := {}
    Local aBankEvent    := {}
    Local aData         := {}
    Local xRet          := Nil
    Local cKeyLog       := ""
    Local nEvent        := 0
    Local nData         := 0
    Local nType         := PARAMIXB[1]     
    Local oModel        := Nil 

    //Inscrição para processar os eventos pela customização.
    If nType == 1
        //Retorna os eventos que serão processados pelo customizado.
        xRet := {"IMPL","BONIFI"}
    //Processa os eventos.
    Else
        
        AR4->(DBSetOrder(1)) //AR4_FILIAL + AR4_IDPROC + AR4_ITEM 

        aBankEvent  := PARAMIXB[2]
        oModel      := FWLoadModel( "RSKA050" )

        For nEvent := 1 To Len(aBankEvent)
            
            aData := aBankEvent[nEvent][2]

            For nData := 1 To Len(aData)

                /*-----------------------------------------------------
                    Posições do Array - aConciliation

                    BANK_ID            1aConciliation[1]   // Id da conciliação (guide)
                    BANK_GROUP         2aConciliation[2]   // Código do grupo
                    BANK_DATE          3aConciliation[3]   // Data dos lançamentos
                    BANK_ACCOUNT_ID    4aConciliation[4]   // Id da conta (guide)
                    BANK_CODE          5aConciliation[5]   // Banco
                    BANK_AGENCY        6aConciliation[6]   // Agencia 
                    BANK_ACCOUNT       7aConciliation[7]   // Conta corrente
                    BANK_PARCEL        8aConciliation[8]   // Parcela 
                    BANK_PARCEL_NUM    9aConciliation[9]   // Número de parcelas 
                    BANK_INVOICE       10aConciliation[10]  // Número da nota fiscal 
  nota fiscal 
                BANK_TRANS_CODE    aConciliation[11]  // Código da transação 
                    BANK_EVENT_TYPE    12aConciliation[12]  // Tipo de evento 
                    BANK_EVENT         13aConciliation[13]  // Descrição do tipo de evento
                    BANK_ENTRY_TYPE    14aConciliation[14]  // Tipo de lançamento 
  de lançamento 
                BANK_TRANS_TYPE    aConciliation[15]  // Tipo de transação 
                    BANK_TRANS_DESC    16aConciliation[16]  // Descrição do tipo de transação
                    BANK_FUTURE        17aConciliation[17]  // Lançamento Futuro ?
                    BANK_ENTRY_DATE    18aConciliation[18]  // Data do lançamento 
                    BANK_EVENT_DATE    aConciliation[19]  // Data do evento 
                    BANK_ORI_MAT_DATE  20aConciliation[20]  // Data do vencimento original da parcela 
                    BANK_ACT_MAT_DATE  21aConciliation[21]  // Data do vencimento atual da parcela 
                    BANK_TRANS_MAIN    22aConciliation[22]  // Valor principal da transação 
                    BANK_TRANS_TOTAL   23aConciliation[23]  // Valor total da transação 
     
               BANK_PARC_MAIN     aConciliation[24]  // Valor principal da parcela 
                    BANK_PARC_TOTAL    25aConciliation[25]  // Valor total da parcela 
                    BANK_ENTRY_VALUE   26aConciliation[26]  // Valor do lançamento 
                    BANK_PARC_COST     27aConciliation[27]  // Custo de antecipação da parcela 
                    BANK_TAXES          aConciliation[28]  // Valor dos impostos
                    BANK_PART_CNPJ     29aConciliation[29]  // Cnpj do parceiro (SIGAMAT)
                    BANK_CUST_CNPJ     30aConciliation[30]  // Cnpj/Cpf do cliente 
                    BANK_DIVERGENCY    31aConciliation[31]  // Evento divergencia comercial
                    BANK_ENTRY_ID      32aConciliation[32]  // Id do lançamento (guide)
                */
                aConciliation := aData[nData][4]

                /*
                    Realiza o processamento customizado do item aConciliation
                /*



                /* 
                    Apos o processamento atualiza a tabela AR4 com 
                    Status de Corrigir ou Movimentado
                */          
                cKeyLog := aData[nData][1] + aData[nData][2] + aData[nData][3]

                If AR4->(DBSeek(cKeyLog))
                    oModel:SetOperation( MODEL_OPERATION_UPDATE )
                    oModel:Activate()
                    oModel:SetValue("AR4MASTER", "AR4_STATUS", "2" ) //1=Recepcionado;2=Movimentado;3=Corrigir;4=Cancelado;5=Agendado;6=Customizado
                    If oModel:VldData()
                        oModel:CommitData()
                    EndIf
                    oModel:DeActivate() 
                EndIf
            
            Next

        Next 

        oModel:Destroy()
        FreeObj(oModel)
    EndIf

    RestArea(aAreaAR4)
    RestArea(aArea)

Return xRet  



05. TABELAS UTILIZADAS

  • AR4 - Log de Conciliação / Pós-Faturamento

...