Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


01. DADOS GERAIS

Produto:

Solucoes_totvs
SolucaoTOTVS OMS

Solucoes_totvs_cross
SolucaoCross

Solucoes_totvs_parceiros
SolucaoParceiros

Solucoes_totvs_parceirosexptotvs
SolucaoParcsExpsTOTVS

Linha de Produto:

Linhas_totvs
LinhaLinha Protheus

Segmento:

Segmentos_totvs
SegmentoLogística

Módulo:SIGAOMS - Gestão de Distribuição
Função:OMSA200 - Montagem de Carga
País:Todos Países
Ticket:Interno
Requisito/Story/Issue (informe o requisito relacionado) :DLOGWMSMSP-14395


02. DESCRIÇÃO

Ponto de entrada para alterar as informações antes do envio da carga para roteirização TPR via OMSA200.

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


03. LOCALIZAÇÃO

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

04. PARÂMETROS

Nome 

Tipo

Descrição

cAliasTPR

Objeto

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

oTTCarObjetoObjeto da tabela temporária criado

05. RETORNO

Nome TipoDescrição
Não esperamos retornoNão esperamos retornoNão esperamos retorno

06. VERSÕES

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 cliente:

Através dos dados do cliente do pedido é possível alterar a geolocalização de cada cliente para a entrega. Para alterar as informações, pode ser utilizado o exemplo no qual é realizado via RecLock(cAliasTPR,.F.) registro a registro na tabela ou via update direto conforme exemplo "UPDATE "+oTTCar:GetRealName().

PE OMSTPR01

Bloco de código
#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//'-27.59533'
				(cAliasTPR)->TMP_LONGIT := SA1->A1_XLONGIT//'-48.55744'
			(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  

...