01. DADOS GERAIS

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


02. DESCRIÇÃO

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.

03. LOCALIZAÇÃO

Localizado na validação das coordenadas de origem da roteirização

04. PARÂMETROS

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_CODCharacterCódigo da carga
DAK_SEQCARCharacterSequência da carga

05. RETORNO


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) 

cErroGeocharacterMensagem de erro que será exibida caso o ponto de entrada retorne falso (.F.),
nLatiOricharacterLatitude da origem
nLongOricharacterLongitude da origem

06. VERSÕES

Protheus 12.1.33 ou superiores.

07. OBSERVAÇÃO


08. EXEMPLO

Neste exemplo, foram criados dois campos específicos para definir a geolocalização de cada veículo (DA3_XLAT e DA3_XLONG)

PE OMSTPR02

#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>