Árvore de páginas

01. VISÃO GERAL

O ponto de entrada OGX00401() esta disponível nas chamadas da função OGX004DESC() executada nas rotinas do Romaneio(OGA250/OGA251/AGRA500) e Amostras Avulsas(OGA180).

O ponto de entrada OGX00401() permite realizar ajustes nos itens de classificação do romaneio, podendo adequar o calculo do resultado conforme uma necessidade especifica.


Localização:

OGX004DESC

Programa Fonte:

OGX004 

Função:

OGX00401()

Chamada
aRetPe := ExecBlock("OGX00401",.F.,.F.,{aRetorno, NJJ_TABELA, NJJ_PSSUBT, aItens, lRecursivo })

Parametros:

Nome

Tipo

Descrição

Obrigatório

aRetorno

Array

Itens de classificação do romaneio(NJK)

aRetorno[1][1] := NJK_CODDES

aRetorno[1][2] := NJK_BASDES

aRetorno[1][3] := NJK_PERDES

aRetorno[1][4] := NJK_READES

aRetorno[1][5] := NJK_QTDDES

aRetorno[1][6] := ""

aRetorno[1][7] := NNK_TABALT

aRetorno[1][8] := NNJ_GRUPO

aRetorno[1][9] := NNJ_DESREL

aRetorno[1][10] := NNJ_FORMUL

Sim

cTabelaCaracterTabela de classificação/descontosSim
nPsSubtNuméricoPeso bruto do romaneioSim
aItensArray

Itens de classificação/descontos

aItens[1][1] := NJK_CODDES

aItens[1][2] := NJK_BASDES

Sim
lRecursivoLogicalSe repete(NNJ_GRUPO=1), para avaliação desconto agrupadorSim
Retorno:

Nome

Tipo

Descrição

Obrigatório

aRetPe

Array

Retorno  do array no mesmo padrão do parametro aRetorno com os ajustes realizados.

Sim


02. EXEMPLO DE UTILIZAÇÃO

Abaixo segue um exemplo do ponto de entrada.

User Function OGX00401() 
	Local  aRet 		:= PARAMIXB[1]
	Local  cTabDsc		:= PARAMIXB[2]
	Local  nPesoSubt 	:= PARAMIXB[3]
	Local  aItens 		:= PARAMIXB[4]
	Local  lRecursivo 	:= PARAMIXB[5]
	Local  cCodDesc   	:= ""
	Local  nI           := 1


    For nI:=1 to len( aRet)
	    cCodDesc   	:= aRet[nI,1]
		
		NNJ->( dbSetOrder( 1 ) ) //NNJ_FILIAL+NNJ_CODTAB+NNJ_CODDES   
		NNJ->( dbSeek( FWxFilial( "NNJ" ) + cTabDsc + cCodDesc ) )
		
		IF Alltrim( NNJ->NNJ_CODDES ) == Alltrim( cCodDesc ) .AND. NNJ->NNJ_XDSCNO == '1' //Exemplo: NNJ_XDSCNO=Campo customizado, indica que é um desconto nominal
		    
   			aRet[nI,5] := aRet[nI,3]   // Entendo que o vr. lançado no desconto(tem q ser desc. de faixa) é o desconto nominal que se deseja efetuar.
		
		EndIF 
	nExt nI

  Return( aRet )