Histórico da Página
...
Bloco de código |
---|
//------------------------------------------------------------------------------ /*/{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: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
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas