Páginas filhas
  • Conciliação Financeira

CONTEÚDO

  1. Visão Geral
  2. Exemplo de utilização
  3. Tabelas Utilizadas

01. VISÃO GERAL

Este Ponto de Entrada pertence à rotina de Conciliação Financeira (RSKA090). Ela deve ser utilizada para processar os eventos da conciliação financeira Mais Negócios de forma customizada pelo cliente. 


Informações do fonte

Programa Fonte:RSKA090.prw
Sintaxe:RskBankCon() - Parâmetros do Ponto de Entrada são passados por meio da variável PARAMIXB conforme o exemplo de utilização.
Retorno:Array para indicar qual eventos da conciliação serão processados pela rotina customizada quando o tipo do evento = 1 ou Nil quando o tipo do evento = 2 para finalizar o processamento da conciliação.


Informações passada para o PARAMIXB

Nome:PARAMIXB[1]
TipoNumérico
Descrição:Tipo do Evento
Valores:1=Inscrição dos Eventos da Conciliação; 2=Processamento da Conciliação
Obrigatório:Sim
Nome:PARAMIXB[2]
Tipo:Array
Descrição:Processamento da conciliação.
Valores:[Tipo do evento, Dados para conciliação]
Obrigatório:Sim


Eventos Disponíveis 

EventoDescrição

IMPL

Crédito por implantação de faturamento.

BONIFI

Débito por lançamento de bonificação.

RPASSP

Taxa por prorrogação de vencimentos.

CANCE

Débito por cancelamento total.

CANCEP

Débito por cancelamento parcial.

RPASSC

Taxa por cancelamento de contrato.

DEBNF

Débito referente a cobrança de Nota Fiscal emitida pela Supplier contra o Parceiro.

BXSLDN

Baixa de saldo negativo por pagamento efetuado pelo parceiro à Supplier via nota de débito.

RPASSI

Repasse de IOF.

02. EXEMPLO DE UTILIZAÇÃO

//------------------------------------------------------------------------------
/*/{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

                    aConciliation[1]   // Id da conciliação (guide)
                    aConciliation[2]   // Código do grupo
                    aConciliation[3]   // Data dos lançamentos
                    aConciliation[4]   // Id da conta (guide)
                    aConciliation[5]   // Banco
                    aConciliation[6]   // Agencia 
                    aConciliation[7]   // Conta corrente
                    aConciliation[8]   // Parcela 
                    aConciliation[9]   // Número de parcelas 
                    aConciliation[10]  // Número da nota fiscal 
                    aConciliation[11]  // Código da transação 
                    aConciliation[12]  // Tipo de evento 
                    aConciliation[13]  // Descrição do tipo de evento
                    aConciliation[14]  // Tipo de lançamento 
                    aConciliation[15]  // Tipo de transação 
                    aConciliation[16]  // Descrição do tipo de transação
                    aConciliation[17]  // Lançamento Futuro ?
                    aConciliation[18]  // Data do lançamento 
                    aConciliation[19]  // Data do evento 
                    aConciliation[20]  // Data do vencimento original da parcela 
                    aConciliation[21]  // Data do vencimento atual da parcela 
                    aConciliation[22]  // Valor principal da transação 
                    aConciliation[23]  // Valor total da transação 
                    aConciliation[24]  // Valor principal da parcela 
                    aConciliation[25]  // Valor total da parcela 
                    aConciliation[26]  // Valor do lançamento 
                    aConciliation[27]  // Custo de antecipação da parcela 
                    aConciliation[28]  // Valor dos impostos
                    aConciliation[29]  // Cnpj do parceiro (SIGAMAT)
                    aConciliation[30]  // Cnpj/Cpf do cliente 
                    aConciliation[31]  // Evento divergencia comercial
                    aConciliation[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