Histórico da Página
...
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: | ||||||||||
Nome | Tipo | Descrição | Obrigatório | Caractere | Placa do veiculo cadastrado no romaneio | Sim | ||||
---|---|---|---|---|---|---|---|---|---|---|
PARAMIXB[1] | Array | Array das notas (aItDoc) | Sim | |||||||
Retorno: |
|
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#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") |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas