Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Supply Chain - Logística

Módulo:

SIGAGFE

  

Ponto de Entrada:GFEXFB13

Descrição:

Permitir a inclusão de funcionalidades adicionais no processo de cálculo do frete.

Localização:

Chamado antes do cálculo de impostos

Programa Fonte:

GFEXFUNB - Cálculo do Frete

Parâmetros:

Nenhum

Retorno:

Nenhum

Bloco de código
languagedelphi
titleExemplo: GFEXFB13
linenumberstrue
#INCLUDE 'PROTHEUS.CH'

 
User Function GFEXFB13()
local;
	nValorComp := 0,;
	nValorTaxa  := 0,;
	cNrReg,;
	aAreaAnt:= getArea()
	
GFEXFB_1AREA(lTabTemp,cTRBSTF, @aTRBSTF1) //dbSelectArea(cTRBSTF) - Tabela de Frete
GFEXFB_1AREA(lTabTemp,cTRBCCF, @aTRBCCF1) //dbSelectArea(cTRBCCF) - Componentes de Frete

dbSelectArea((cTRBCCF))
(cTRBCCF)->(dbGoTop())
while (cTRBCCF)->(!eof())
	conout("comp: " + (cTRBCCF)->CDCOMP)
	if alltrim((cTRBCCF)->CDCOMP) <> 'TAXA DE ENTREGA'
		nValorComp += (cTRBCCF)->VALOR
	endif
	(cTRBCCF)->(dbSkip())
enddo

dbSelectArea("GV8")
if(dbSeek(xFilial("GV8") + (cTRBSTF)->CDTRP + (cTRBSTF)->NRTAB + (cTRBSTF)->NRNEG + (cTRBSTF)->NRROTA))
	cNrReg := ""
	If GV8->GV8_TPORIG != "2"
		If GV8->GV8_TPDEST == "3" 
			cNrReg := GV8->GV8_NRREDS
			dbSelectArea("GU9")
			if GU9->(dbSeek(xFilial("GU9") + cNrReg))
				if (cTRBSTF)->CDCLFR == GU9->GU9_XCLFR
					nValorTaxa := (nValorComp * (GU9->GU9_PENT / 100))
				endif
			endif 			
		endif
	EndIf
endif

if nValorTaxa > 0 
	dbSelectArea((cTRBCCF))
	(cTRBCCF)->(dbGoTop())
	while (cTRBCCF)->(!eof())
		if alltrim((cTRBCCF)->CDCOMP) == 'TAXA DE ENTREGA'
			RecLock(cTRBCCF,.f.)
			(cTRBCCF)->VALOR := nValorTaxa
			MsUnLock(cTRBCCF)
		endif
		(cTRBCCF)->(dbSkip())
	enddo
endif
restArea(aAreaAnt) 
Return
Return