Produto: | |
---|---|
Linha de Produto: | |
Segmento: | |
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 |
Ponto de entrada para alterar as informações de envio para roteirização TPR quando está sendo realizada a roteirização via OMSA200. Neste caso a carga já está gerada e necessário realizar apenas o sequenciamento das entregas.
Localizado após a busca dos dados para roteirização.
Nome | Tipo | Descrição |
---|---|---|
cAliasTPR | Objeto | Alias da tabela temporária de itens enviados para roteirização TPR |
oTTCar | Objeto | Objeto da tabela temporária criado |
Nome | Tipo | Descrição |
---|---|---|
Não esperamos retorno | Não esperamos retorno | Não esperamos retorno |
12.1.33 ou superiores.
Para alteração é necessário conhecer os campos da tabela 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
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().
#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 |
<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> |