Produto: | |
---|---|
Linha de Produto: | |
Segmento: | |
Módulo: | SIGAOMS - Gestão de Distribuição |
Função: | OMSXCPL7 - Monitor de Cargas |
País: | Todos Países |
Ticket: | - |
Requisito/Story/Issue (informe o requisito relacionado) : | - |
Este Ponto de Entrada permite efetuar os tratamentos necessários para validar se a carga pode ser gerada para uma viagem.
Quando se tem várias validações, principalmente questões de análise de crédito/financeiro, deverá gerar o bloqueio e evitar que uma carga seja
carregada/gerada.
Neste Ponto de Entrada será apresentado o código da viagem, transportadora, a placa e a região da viagem.
Localizado na função GeraCarga da rotina OMSXCPL7, antes da gravação da carga e seus itens (DAK e DAI).
Nome | Tipo | Descrição |
---|---|---|
cViagId | Caractere | Código da viagem |
cTransp | Caractere | Código da transportadora |
cPlaca | Caractere | Placa do veículo |
cRegId | Caractere | Id da região |
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
aRetorno | Array | Array contendo na primeira posição uma informação lógica que indica se deve ou não ser gerada a carga e na segunda posição a mensagem de inconsistência para quando o retorno for Falso. | Sim |
Protheus 12.1.23 ou superiores.
Todos os parâmetros são recebidos na User Function via PARAMIXB, conforme consta em Execblock /Customização.
A emissão de mensagens será efetuada pelo Ponto de Entrada. Caso este retorne Falso, não será necessário efetuar emissão de mensagens na
funcionalidade de integração com o TOTVS Logística Cockpit.
------
#include 'protheus.ch' #
include 'parmtype.ch'
#DEFINE ENTER Chr(10)+Chr(13)
user function OMSCPL7D()
Local aAreaDK0 := getArea()
Local cCodViag := PARAMIXB[1] //DK0_VIAGID
Local cCodTras := PARAMIXB[2] //DK0_TRANSP
Local cCodPlac := PARAMIXB[3] //DK0_PLACA
Local cCodRegi := PARAMIXB[4] //DK0_REGID
Local lRet := .T. Local cMsgPedi := ""
Local cErro := ""
dbSelectArea("DK1")
DK1→ (dbSetOrder(1))
If DK1→ (dbSeek(xFilial("DK1")+ cCodRegi+cCodViag))
While DK1→ (!Eof()) .AND. xFilial("DK1") <> DK1→ DK1_FILIAL .AND. DK1→ DK1_REGID == cCodRegi .AND. DK1→ DK1_VIAGID == cCodViag
IF DK1→ DK1_FILPED == cFilAnt
cMsgPedi += "→ Filial Atual: "+cFilAnt+"→ Filial Pedido: "+DK1->DK1_FILPED+" → Nr. Pedido: "+DK1→DK1_PEDIDO+ENTER
EndIF
DK1→ (DbSkip())
EndDo
EndIF
IF !Empty(cMsgPedi) .AND. !IsBlind()
If APMSGYESNO("Existe(m) pedido(s) com divergência de Filial. Deseja continuar gerando a carga("+Alltrim(cCodViag)+")?"+ENTER+cMsgPedi)
lRet := .T.
Else
cErro += "PE OMSCPL7D: Problema na geração da carga."
lRet := .F.
EndIF
EndIF RestArea(aAreaDK0)
return {lRet, cErro}
------
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } .aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { background: #FF9900; !important } .menu-item.active-tab { border-bottom: none !important; } </style> |