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: | GFE05010 | ||||||||||||
Descrição: | Utiliza a placa cadastrada no romaneio e a porcentagem mínima cadastrada no veículo 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: |
| ||||||||||||
Retorno: |
|
Exemplo: GFEA0508
#INCLUDE "PROTHEUS.CH" User Function GFE05010() 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 aItDoc
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas