Produto: | |
---|---|
Linha de Produto: | |
Segmento: | |
Módulo: | TOTVS OMS - Gestão de Distribuição (SIGAOMS) |
Função: | OMSA200 - Montagem de Carga |
País: | Todos Países |
Ticket: | - |
Requisito/Story/Issue (informe o requisito relacionado) : | DLOGWMSMSP-14413 |
|
Ponto de Entrada para alterar as informações antes do envio da carga para a roteirização TPR, via rotina OMSA200 (Montagem de Carga).
Por meio dele é possível definir o ponto inicial da roteirização.
Sem este Ponto de Entrada, o ponto inicial sempre será a geolocalização da filial.
Localizado na validação das coordenadas de origem da roteirização.
O Ponto de Entrada recebe a carga posicionada, mas é possível acionar a chave da carga nos parâmetros do Ponto de Entrada.
Nome | Tipo | Descrição |
---|---|---|
DAK_FILIAL | Character | Filial da carga |
DAK_COD | Character | Código da carga |
DAK_SEQCAR | Character | Sequência da carga |
Este Ponto de Entrada retorna um array, no qual a primeira variável é de controle lógico para definir o processamento.
Se for retornada como Falso (.F.), será possível retornar uma mensagem de inconsistência ao usuário pelo segundo parâmetro.
O terceiro e quarto parâmetros retornam a latitude e a longitude do início da roteirização.
Nome | Tipo | Descrição |
---|---|---|
lRet | boolean | Variável de controle para processamento; caso retorne Falso (.F.) interrompe o fluxo e exibe a mensagem retornada no parâmetro 2 do array (cErroGeo). |
cErroGeo | character | Mensagem de inconsistência que será exibida, caso o Ponto de Entrada retorne Falso (.F.). |
nLatiOri | character | Latitude da origem. |
nLongOri | character | Longitude da origem. |
Protheus 12.1.33 ou superiores.
Não se aplica.
Neste exemplo, foram gerados dois campos específicos para definir a geolocalização de cada veículo (DA3_XLAT e DA3_XLONG).
#include 'protheus.ch' User Function OMSTPR02() Local cFilCar := PARAMIXB[1] Local cCodCar := PARAMIXB[2] Local cSeqCar := PARAMIXB[3] Local lRet := .T. Local nLatiOri := "" Local nLongOri := "" Local cErroGeo := "" DbSelectArea("DA3") DA3->(DbSetOrder(1)) If DA3->(DbSeek(FwXfilial("DA3")+ DAK->DAK_CAMINH)) nLatiOri := DA3->DA3_XLAT nLongOri := DA3->DA3_XLONG EndIf If Empty(nLatiOri) .Or. Empty(nLongOri) lRet := .F. cErroGeo := "Erro ao obter geolocalização do caminhão." EndIf Return {lRet,cErroGeo,nLatiOri, nLongOri} |
<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> |