Páginas filhas
  • Conciliação Financeira

Versões comparadas

Chave

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

...

  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 utilizado 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]
Tipo:Numé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

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_GROUPaConciliation[2]   // Código do grupo
   2   // Código do grupo
                    BANK_DATE          3aConciliation[3]   // Data dos lançamentos
                    BANK_ACCOUNT_ID    4aConciliation[4]   // Id da conta (guide)
                    BANK_CODEaConciliation[5]   // Banco
       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 
                    BANK_TRANS_CODE    11aConciliation[11]  // Código da transação 
                    BANK_EVENT_TYPE    12aConciliation[12]  // Tipo de evento 
                    BANK_EVENTaConciliation[13]         13  // // Descrição do tipo de evento
                    BANK_ENTRY_TYPE    14aConciliation[14]  // Tipo de lançamento 
                    BANK_TRANS_TYPE    15aConciliation[15]  // Tipo de transação 
                    BANK_TRANS_DESC    16aConciliation[16]  // Descrição do tipo de transação
                    BANK_FUTUREaConciliation[17]        17  // // Lançamento Futuro ?
                    BANK_ENTRY_DATE    18aConciliation[18]  // Data do lançamento 
                    BANK_EVENT_DATE    19aConciliation[19]  // Data do evento 
                    BANK_ORI_MAT_DATE  20aConciliation[20]  // Data do vencimento original da parcela 
                    BANK_ACT_MAT_DATE  21  aConciliation[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     24aConciliation[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         28aConciliation[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  

Outras Ações / Ações relacionadas

...



05. TABELAS UTILIZADAS

04. TELA XXXXX

Principais Campos e Parâmetros

...

Card documentos
InformacaoUse esse box para destacar informações relevantes e/ou de destaque.
TituloIMPORTANTE!

...

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



HTML
<!-- esconder o menu --> 


<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>