Árvore de páginas

01. VISÃO GERAL

Produto:TOTVS Backoffice
Linha de Produto:

Linha Protheus ®

Módulo:Financeiro
Função:FINXNAT - Funções genéricas relacionadas a Naturezas.

02. DESCRIÇÃO

Ponto de Entrada NATSEVLOAD para permitir o carregamento automático de Múltiplas Naturezas por Titulo (tabela SEV) conforme regra do cliente.

O ponto de entrada deverá retornar um array na mesma estrutura do aCols que receberá como parâmetro, efetuando a inclusão de suas informações específicas.

03. PARÂMETROS

PosiçãoNomeDescrição
1aColsArray para inclusão/alteração dos dados
2aHeaderArray com a estrutura dos dados 

04. RETORNO

NomeDescrição
aRet

Array com a mesma estrutura de Acols recebida como parâmetro.

05. EXEMPLO DE UTILIZAÇÃO

P.E. NatSevLoad
#include "Protheus.ch"

User Function NatSevLoad()

Local _nPosNat  := 0
Local _nPosVlr  := 0
Local _nPosPerc := 0
Local _nPosRat  := 0
Local _MyaCols  := {}
Local _aColsRot := PARAMIXB[1] 
Local _aHeadRot := PARAMIXB[2] 

_MyaCols    :=aClone(_aColsRot)
_nPosNat    :=Ascan(_aHeadRot, {|e| AllTrim(e[2]) == AllTrim("EV_NATUREZ") } )
_nPosVlr    :=Ascan(_aHeadRot, {|e| AllTrim(e[2]) == 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
     
     //-- Cria um item com 50% do valor do título
    _MyaCols[1,_nPosNat] := PadR('000001',Len(SEV->EV_NATUREZ))
    _MyaCols[1,_nPosVlr] := M->E2_VALOR / 2
    _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(_MyaCols)