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 roteirização TPR via rotina OMSA200 (Montagem de Carga).
Através dele, é possível definir o ponto inicial da roteirização. Sem o 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 |
O 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 erro ao usuário através do segundo parâmetro.
O terceiro e quarto parâmetro retornam latitude e longitude do início da geolocalizaçã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 erro 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.
Neste exemplo, foram criados 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> |