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á.
Import HTML Content
Visão Geral
Conteúdo das Ferramentas