Árvore de páginas

Versões comparadas

Chave

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

...

PARAMIXB[1]

Ponto de Entrada:GFE05011

Descrição:Utiliza a placa cadastrada no romaneio e a porcentagem minima cadastrada no veiculo para calcular o rateio das notas

Permite a geração específica de romaneio conforme a necessidade do cliente.

Localização:Chamado antes da chamada do cálculo (função GFECLCFRT)

Na Inicialização do campo GWN_NRROM e criação de Romaneio quando parametrizado para realizar integração com ERP Protheus e ERP Datasul

Programa Fonte:

GFEA050 - Romaneio de Carga

Parâmetros:

NomeTipoDescriçãoObrigatório
CaracterePlaca do veiculo cadastrado no romaneioSim
PARAMIXB[1]ArrayArray das notas (aItDoc)Sim


Retorno:

NomeTipoDescriçãoObrigatório
aItDoccNewNrRomArrayCaracterNumero do romaneio.Array contendo as alterações necessárias para o calculoSim
Bloco de código
languagedelphi
firstline1
titleExemplo: GFEA0508GFEA0511
linenumberstrue
#INCLUDE "PROTHEUS.CH"

User Function GFE05010GFE05011()
	Local GWN_PLACAD := PARAMIXB[1]
	Local aItDoc := PARAMIXB[2]
	Local nPesoMin := 0
	Local nPesoRom := 0
	Local nValorNotas := 0
	Local i
	
	for i:= 1 to len(aItDoc)
		nPesoRom += aItDoc[i][9] //GW8_PESOR. definir romaneio
	Next i
	
	dbSelectArea("GU8")
	GU8->(dbSetOrder(2))
	If GU8->( dbSeek(xFilial("GU8") + GWN_PLACAD) )
		If  GU8->GU8_XPCINI <> 0 .And. GU8->GU8_CARGUT <> 0
			nPesoMin := GU8->GU8_XPCINI * GU8->GU8_CARGUT / 100 //definir o peso minimo
		EndIf
	EndIf
	
	If !Empty(GWN_PLACAD) .And. nPesoMin > 0 .And. nPesoMin > nPesoRom  //Calculo por peso minimo
		for i:= 1 to len(aItDoc)
			aItDoc[i][9] += ROUND(((nPesoMin-nPesoRom)/nPesoRom*aItDoc[i][9]),2) //faz calculo do rateio para todas as notas
			nValorNotas  += aItDoc[i][9]
		Next i
		If nValorNotas != nPesoMin //verifica o valor do peso minimo com os valores arredondados adicionados nas notas
			aItDoc[1][9] += nPesoMin - nValorNotas //corrige diferença na primeira nota
		EndIf
	EndIf
	
	GU8->(dbCloseArea())
return aItDocreturn GETSXENUM("GWN","GWN_NRROM")