Árvore de páginas

Versões comparadas

Chave

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

...

GFE05010 - Permitir utilizar um percentual de garantia de pagamento

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Supply Chain - Logística

Módulo:

SIGAGFE

Ponto de Entrada:GFEA050AGFE05010

Descrição:

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

Localização:

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

Programa Fonte:

GFEA050 - Romaneio de Carga

Parâmetros:

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

Retorno:

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

User Function GFEA050AGFE05010()
	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_TIPMERXPCINI * GU8->GU8_CARGUT / 100 //definir o peso minimo
		EndIf
	EndIf
	
	If !(Empty(GWN_PLACAD) .orAnd. Empty(GU8->GU8_TIPMER)nPesoMin > 0 .orAnd. nPesoRomnPesoMin >= nPesoRom nPesoMin) //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 aItDoc