Páginas filhas
  • Conciliação Financeira

Versões comparadas

Chave

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

...

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 processado 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

//------------------------------------------------------------------------------
/*/{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
        /*  
            **** Eventos da Conciliação Financeira processado pelo Padrão ***
            **** Array aData utilizado somente para consulta dos eventos ***

            aData[1] => "IMPL"      Crédito por implantação de faturamento
            aData[2] => "BONIFI"    Débito por lançamento de bonificação
            aData[3] => "RPASSP"    Taxa por Prorrogação de Vencimentos 
            aData[4] => "CANCE"     Débito por cancelamento total 
            aData[5] => "CANCEP"    Débito por cancelamento parcial
            aData[6] => "RPASSC"    Taxa por Cancelamento de Contrato
            aData[7] => "DEBNF"     Débito referente a cobrança de Nota Fiscal emitida pela Supplier contra o Parceiro
            aData[8] => "BXSLDN"    Baixa de saldo negativo por pagamento efetuado pelo parceiro à Supplier via nota de débito.
            aData[9] => "RPASSI"    Repasse de IOF
             
        */
        //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            1   // Id da conciliação (guide)
                    BANK_GROUP         2   // Código do grupo
                    BANK_DATE          3   // Data dos lançamentos
                    BANK_ACCOUNT_ID    4   // Id da conta (guide)
                    BANK_CODE          5   // Banco
                    BANK_AGENCY        6   // Agencia 
                    BANK_ACCOUNT       7   // Conta corrente
                    BANK_PARCEL        8   // Parcela 
                    BANK_PARCEL_NUM    9   // Número de parcelas 
                    BANK_INVOICE       10  // Número da nota fiscal 
                    BANK_TRANS_CODE    11  // Código da transação 
                    BANK_EVENT_TYPE    12  // Tipo de evento 
                    BANK_EVENT         13  // Descrição do tipo de evento
                    BANK_ENTRY_TYPE    14  // Tipo de lançamento 
                    BANK_TRANS_TYPE    15  // Tipo de transação 
                    BANK_TRANS_DESC    16  // Descrição do tipo de transação
                    BANK_FUTURE        17  // Lançamento Futuro ?
                    BANK_ENTRY_DATE    18  // Data do lançamento 
                    BANK_EVENT_DATE    19  // Data do evento 
                    BANK_ORI_MAT_DATE  20  // Data do vencimento original da parcela 
                    BANK_ACT_MAT_DATE  21  // Data do vencimento atual da parcela 
                    BANK_TRANS_MAIN    22  // Valor principal da transação 
                    BANK_TRANS_TOTAL   23  // Valor total da transação 
                    BANK_PARC_MAIN     24  // Valor principal da parcela 
                    BANK_PARC_TOTAL    25  // Valor total da parcela 
                    BANK_ENTRY_VALUE   26  // Valor do lançamento 
                    BANK_PARC_COST     27  // Custo de antecipação da parcela 
                    BANK_TAXES         28  // Valor dos impostos
                    BANK_PART_CNPJ     29  // Cnpj do parceiro (SIGAMAT)
                    BANK_CUST_CNPJ     30  // Cnpj/Cpf do cliente 
                    BANK_DIVERGENCY    31  // Evento divergencia comercial
                    BANK_ENTRY_ID      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:SetOperationMODEL_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  

03. TELA XXXXX

Outras Ações / Ações relacionadas

...