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