Histórico da Página
Aviso | ||
---|---|---|
| ||
Produto ainda em fase de piloto. |
01. VISÃO GERAL
Produto: | TOTVS Backoffice |
---|---|
Linha de Produto: | Linha Protheus ® |
Módulo: | Financeiro |
Função: | FINTITG - Inclusão de títulos Pagar/Receber via smartlink |
02. DESCRIÇÃO
Ponto de Entrada FiTitGsp para permitir a inclusão de campos específicos e/ou conteúdos em campos do padrão, conforme regra do clientealteração do conteúdo do array que será passado para o execauto do FINA040/FINA050. O ponto de entrada é executado antes da chamada do execauto, no processa da execução da rotina automática, durante o processo de geração ou exclusão de títulos a Pagar/Receber da da integração Gesplan, via smartlink.
O ponto de entrada deverá retornar um array na mesma estrutura do aDados que receberá como parâmetro, efetuando a inclusão edição de suas informações específicas, conforme regra de negócio do cliente.
03. PARÂMETROS
Posição | Nome | Descrição |
---|---|---|
1 | cCarteira | Indica a operação rotina que esta está sendo executada: "R" = Inclusão de título Título a receber - FINA040 "P" = Inclusão de título Título a pagar - FINA050 |
2 | cOperacao | Indica a ação que está sendo executada para o título: "I" = Inclusão "E" = Exclusão |
3 | aDados | Array com a estrutura dos dados (campo e conteúdo) a serem passados ao execauto para o processamento da rotina automática. |
04. RETORNO
Nome | Descrição |
---|---|
aDados | Array com a na mesma estrutura de recebida como parâmetro e novos campos/conteúdo, caso houvernovo conteúdo. |
05. EXEMPLO DE UTILIZAÇÃO
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#include "Protheus.ch" User Function NatSevLoadFiTitGsp() Local _nPosNat nPos :=as 0Numeric Local _nPosVlr := 0 aArea as Array Local cCarteira as Character Local _nPosPerccOperacao :=as 0Character Local _nPosRataDados :=as 0 Local _MyaColsArray aArea := {} Local _aColsRotGetArea() cCarteira := PARAMIXBParamIxb[1] Local _aHeadRotcOperacao := PARAMIXBParamIxb[2] _MyaColsaDados :=aClone(_aColsRot) _nPosNat :=Ascan(_aHeadRot, {|e| AllTrim(e[2]) == AllTrim("EV_NATUREZ") } ) _nPosVlr :=Ascan(_aHeadRot, {|e| AllTrim(e[2 ParamIxb[3] If cCarteira=='P' .And. cOperacao=="I" // Inclusão de título carteira Pagar If (nPos:=aScan(aDados, { |x| Alltrim(x[1]) == AllTrim("EV_VALOR") } ) _nPosPerc :=Ascan(_aHeadRot, {|e| AllTrim(e[2]) == AllTrim("EV_PERC") } ) _nPosRat :=Ascan(_aHeadRot, {|e| AllTrim(e[2]) == AllTrim("EV_RATEICC") } ) If FwIsInCallStack("FINA050")//-- Contas a Pagar 'E2_NATUREZ' })) > 0 dbSelectArea('SED') dbSetOrder(1) If dbSeek(FWxFilial()+aDados[nPos,2]) //-- Adiciona Criaa umconta itemcontabil comda 50%Natureza dono valorcampo do título _MyaCols[1,_nPosNat] := PadR('000001',Len(SEV->EV_NATUREZ)) _MyaCols[1,_nPosVlr] := M->E2_VALOR / 2Aadd(aDados, {'E2_DEBITO' , ED_CONTA , Nil} ) _MyaCols[1,_nPosPerc]:= 50 _MyaCols[1,_nPosRat] := "1" //Rateio CC=Sim //-- Cria um segundo item para distribuir os 50% restante Aadd(_MyaCols,Array(Len(_aHeadRot)+1)) _MyaCols[Len(_MyaCols),_nPosNat] := PadR('000003',Len(SEV->EV_NATUREZ)) _MyaCols[Len(_MyaCols),_nPosVlr] := M->E2_VALOR /2 _MyaCols[Len(_MyaCols),_nPosPerc]:= 50 _MyaCols[Len(_MyaCols),_nPosRat] := "1" _MyaCols[Len(_MyaCols),(Len(_aHeadRot)+1)] := .F. EndIf Return(_MyaColsEndIF EndIF EndIf If cCarteira=='R' .And. cOperacao=="I" // Inclusão de título carteira Receber If (nPos:=aScan(aDados, { |x| Alltrim(x[1]) == 'E1_HIST' })) == 0 Aadd(aDados, {'E1_HIST' , 'GESPLAN' , Nil} ) EndIf EndIF RestArea(aArea) FwFreeArray(aArea) Return(aDados) |