Árvore de páginas

Versões comparadas

Chave

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

...

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

Quando está sendo realizada a roteirização via OMSA200 . Neste caso a carga já está gerada e necessário realizar 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

...

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

Define as Colunas PED_TRANSP e PED_TRDESC no Browser
Bloco de código
title
#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  

...