Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS OMS

Linha de Produto:

Linha Protheus

Segmento:

Logística

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



IMPORTANTE

  • A integração TOTVS OMS x TOTVS Planejamento de Rotas (TPR) será descontinuada no próximo release (Outubro/2023).


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).

Quando está sendo realizada a roteirização via OMSA200, a carga já está gerada e será realizado apenas o sequenciamento das entregas (uma das funcionalidades do TPR é gerar a carga).

03. LOCALIZAÇÃO

Localizado após a busca dos dados da carga para a roteirização.

04. PARÂMETROS

Nome 

Tipo

Descrição

cAliasTPR

Objeto

Alias da tabela temporária de itens enviados para roteirização TPR.

oTTCarObjetoObjeto gerado na tabela temporária.

05. RETORNO

Não se aplica.

06. VERSÕES

Protheus 12.1.33 ou superiores.

07. OBSERVAÇÃO

Para alteração dos dados de envio é necessário conhecer os campos da tabela temporária e sua estrutura:

  • TMP_FILIAL  com estrutura do campo C9_FILIAL
  • TMP_PEDIDO  com estrutura do campo C9_PEDIDO
  • TMP_FILFCL  com estrutura do campo A1_FILIAL
  • TMP_CODFCL  com estrutura do campo A1_COD
  • TMP_LOJFCL  com estrutura do campo A1_LOJA
  • TMP_NOMFAN  com estrutura do campo A1_NOME
  • TMP_EST     com estrutura do campo A1_EST
  • TMP_PSLIQ   com estrutura do campo B1_PESO
  • TMP_PESOBR  com estrutura do campo B1_PESO
  • TMP_VOL     com estrutura do campo B5_COMPRLC
  • TMP_ENTIDA  com estrutura do campo DAR_ENTIDA
  • TMP_LATITU  com estrutura do campo DAR_LATITU
  • TMP_LONGIT  com estrutura do campo DAR_LONGIT
  • TMP_PAIS    com estrutura do campo YA_DESCR

08. EXEMPLO

Exemplo com alteração de geolocalização do usuário.

Por meio dos dados do usuário do Pedido é possível alterar a geolocalização de cada cliente para a entrega.

Para alterar as informações pode ser utilizado o exemplo abaixo, que é realizado via RecLock(cAliasTPR,.F.), registro a registro na tabela ou via update direto, conforme exemplo "UPDATE "+oTTCar:GetRealName().

PE OMSTPR01

#include 'protheus.ch'

User Function OMSTPR01()

	Local cAliasTPR  := PARAMIXB[1]
	Local oTTCar     := PARAMIXB[2]
	Local cQueryUsr  := ""
	Local lRet       := .T.


/* Exemplo com seek e update de registro a registro da temporária
	SA1->(DbSetOrder(1))
	While !(cAliasTPR)->( Eof() )
		If SA1->(DbSeek((cAliasTPR)->TMP_FILFCL+(cAliasTPR)->TMP_CODFCL+(cAliasTPR)->TMP_LOJFCL))
			RecLock(cAliasTPR,.F.)
				(cAliasTPR)->TMP_LATITU := SA1->A1_XLATITU
				(cAliasTPR)->TMP_LONGIT := SA1->A1_XLONGIT
			(cAliasTPR)->(MsUnlock())
		EndIf
		(cAliasTPR)->( dbSkip() )
	EndDo
*/

/* Exemplo de update único na temporária 

	cQueryUsr := "UPDATE "+oTTCar:GetRealName()

	cQueryUsr += " SET TMP_LATITU = (SELECT A1_XLATITU FROM " + RetSqlName("SA1") + " SA1 "
	cQueryUsr += " WHERE SA1.A1_FILIAL = TMP_FILFCL AND SA1.A1_COD = TMP_CODFCL AND "
	cQueryUsr += " SA1.A1_LOJA = TMP_LOJFCL AND SA1.D_E_L_E_T_ = ' '),"

	cQueryUsr += " TMP_LONGIT = (SELECT A1_XLONGIT FROM " + RetSqlName("SA1") + " SA1 "
	cQueryUsr += " WHERE SA1.A1_FILIAL = TMP_FILFCL AND SA1.A1_COD = TMP_CODFCL AND "
	cQueryUsr += " SA1.A1_LOJA = TMP_LOJFCL AND SA1.D_E_L_E_T_ = ' ')"

	lRet := TcSQLExec(cQueryUsr) >= 0
*/
Return