Árvore de páginas



01. DADOS GERAIS

Linha de Produto:Microsiga Protheus®
Segmento:Logística
Módulo:SIGATMS - Gestão de Transportes 


02. DESCRIÇÃO

Ponto de entrada que permite expurgar componentes da proporcionalização no cálculo de frete com base em uma cotação de frete.

03. EXEMPLO DE UTILIZAÇÃO

Parâmetros:

Nome

Tipo

Descrição

Default

Obrigatório

Referência

aVetCmp

Array of Record

Array com os valores dos componentes









nValRet

Number

Valor do acréscimo aplicado na cotação









Retorno:

aRet

      (Array)


Retorno será um array, onde a primeira posição é o novo valor de acréscimo, e a segunda posição é um vetor com os componentes que foram expurgados da proporcionalização.

Variáveis:

Nome

Tipo

Escopo

Pode Alterar

Descrição




Array of Record

Local

Sim


TM200VFC
Programa Fonte
TMSA200.PRW

Sintaxe 
TM200VFC - Permite alterar a proporcionalização dos componentes ( [ Aclone(aFrete),DT4->DT4_ACRESC ] ) --> aRet  

#Include "Protheus.ch"

User Function TM200VFC()
Local aVetRet   := {}
Local aAreas    := {DTC->(GetArea()),DT5->(GetArea()),GetArea()}
Local aVetCmp   := ParamIXB[1]
Local nValRet   := ParamIXB[2]
Local nCntFor1  := 0
Local nDT8VFre  := 0

For nCntFor1 := 1 To Len(aVetCmp)
	If aVetCmp[nCntFor1,3] != "TF"	//-- Total do frete
		If aVetCmp[nCntFor1,3] == "31"	//-- Componente que não poderá ser proporcionalizado
			Aadd(aVetRet,aVetCmp[nCntFor1,3])
		EndIf
		nDT8VFre := nDT8VFre + aVetCmp[nCntFor1,2]
	EndIf
Next nCntFor1

DT5->(DbSetOrder(5))
If DT5->(DbSeek(xFilial("DT5") + DT4->(DT4_FILORI + DT4_NUMCOT)))
	DTC->(DbSetOrder(8))
	If DTC->(DbSeek(xFilial("DTC") + DT5->(DT5_FILORI + DT5_NUMSOL)))
		nDTCVInf := DTC->DTC_VLRINF
		nValRet := (DTC->DTC_VLRINF - nDT8VFre)
	EndIf
EndIf

AEval(aAreas,{|x,y| RestArea(x),FwFreeArray(x)})

Return {nValRet,Aclone(aVetRet)}


04. DEMAIS INFORMAÇÕES

Não há.

05. ASSUNTOS RELACIONADOS

Não há.