Árvore de páginas

Versões comparadas

Chave

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

...

Bloco de código
languagedelphi
titleExemplo: GFEXWS20
linenumberstrue
#Include 'Protheus.ch'

User Function GFEXWS20()    
	
	Local aDadosGW1	    Local cFil        := PARAMIXB[1]
	local iCont    Local cEmis       := 0
	PARAMIXB[2]
    Local iLen cDtEmis     := PARAMIXB[3] 0
	Local cCatVeic lElimina   := .T.
	Public aPedEsp PARAMIXB[4]
    Local cValPedagio := 0 {}
		
Local nAgrFrt1   iLen := (Len(aDadosGW1aAgrFrt1) / 18) - 1
	

    FOR iCont := iLen TO 0 STEP -1

		aAdd(aPedEsp,{aDadosGW1[(iCont * 18) + 3],aDadosGW1[(iCont * 18) + 18]})
/Quantidade de Docs no Romaneio
	Default aAgrFrt1  := [] //Agrupador de Romaneios

	//Exemplo: Divide o valor de Pedagio pela quantidade de Documentos de Carga no Romaneio
	Do Case
        ADEL(aDadosGW1,((iCont * 18) + 18))

    NEXT nCont Case cCatVeic == 4
		   cValPedagio := 25.20 / nAgrFrt1
    
    aSize(aDadosGW1,len(aDadosGW1) - (iLen + 1))Case cCatVeic == 5
		  

	// Verifica se o array de pedágio possui valor válido
	// Caso estiver zerado o array é eliminado
	for iCont = 1 to len(aPedEsp)
		if aPedEsp[iCont][2] != "0" 
			lElimina = .F.
		Endif
		
	next iCont	

	if lElimina
		aPedEsp := {}
	endif	
 
return aRet    cValPedagio := 16.80 / nAgrFrt1
        Case cCatVeic == 6
		   cValPedagio := 33.60 / nAgrFrt1
        Case cCatVeic == 7
		   cValPedagio := 42.00 / nAgrFrt1
        Case cCatVeic == 8
		   cValPedagio := 50.40 / nAgrFrt1
    End Case

    AADD(aDadosGW1, cValPedagio)

Return aDadosGW1