Histórico da Página
Âncora | ||||
---|---|---|---|---|
|
Índice | ||||||||
---|---|---|---|---|---|---|---|---|
|
Sistemas Envolvidos
Aviso | |
---|---|
|
| |
Prezado cliente, esta integração encontra-se descontinuada em Abril 2024. |
TOTVS OMS
A sigla OMS significa Order Management System, ou seja, gerenciamento de pedidos e serviços que compreende as fases de captação, validação, avaliação, formação de carga e geração de mapa de separação ou, como é também conhecido, lista de separação.
Para obter mais detalhes sobre o TOTVS Logística OMS, acesse a página no TDN: TOTVS Logística OMS.
TOTVS Otimização Logística
CockpitO Cockpit Logístico TOL é um sistema vertical desenvolvido pela Neolog, empresa do ecossistema TOTVS, que dispõe de módulos para Planejamento da Malha de Distribuição, Programação de Transportes e Monitoramento de Cargas.
O monitoramento das cargas possibilita o controle e rastreamento dos produtos e notas fiscais em transporte de forma automática, desde a saída da origem até a entrega de todas as mercadorias.
Para obter mais detalhes sobre o Cockpit Logístico Neolog, acesse o link: http://www.neolog.com.br/neolog-site/index.php/cockpit-logistico/
Integração TOTVS Logística OMS x TOTVS Logística Cockpit (Monitoramento)Escopo
O escopo desta integração permitirá o envio de cargas faturadas para o monitoramento dentro
do Cockpit Logístico Neolog.do TOTVS Otimização Logística.
Além das informações dos pontos de parada da carga, com as respectivas informações de data e hora prevista de chegada, descarregamento e saída, também são enviadas as notas fiscais para serem monitoradas, o que possibilita a visualização dos produtos, lotes e quantidades que pertencem
àa carga.
Pré-requisitos Instalação / Implantação / Utilização
Cockpit Logístico
TOTVS Otimização Logística
- TOL Cockpit Logístico na versão/release 6.3.0 ou superior.
- Cockpit Logístico TOL configurado para permitir a utilização do Módulo de Execução.
Protheus
- Protheus versão 12.1.27 ou superior (versões inferiores precisarão de aplicação de pacote de forma manual para o funcionamento).
- Parâmetros de integração com Cockpit Logístico configurados com TOTVS Otimização Logística configurados (acesso pelo menu em Atualizações > Cockpit Logístico > Parâmetros Atualizações > TOTVS Otimização Logística > Parâmetros Integração).
Informações | ||||
---|---|---|---|---|
| ||||
|
Instalação/Configuração
Configuração WebConfiguração Web Service AppServer Protheus
Os passos descritos abaixo, referentes
àsas configurações no
appserverAppserver.ini, apenas são necessários
casoquando o ambiente não
encontre-seestá configurado para integrar com o Módulo de Planejamento do
Cockpit LogísticoPara que seja possível receber mensagens do
Cockpit LogísticoTOTVS Otimização Logística é necessário configurar um Web Service no servidor de aplicação Protheus.
Informações | ||||
---|---|---|---|---|
| ||||
|
É recomendado criar um Web Service com as seguintes configurações (modificando o arquivo Appserver.ini):
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
;Serviço webserver HTTP [HTTP] ENABLE=1 PATH=<Caminho_Cache_imagens>;C:\TOTVS\Prottheus\data\web PORT=<porta>;8080 INSTANCES=<nInicio>,<nMaximo>;1,10 SESSIONTIMEOUT=60 INSTANCENAME=WS_HTTP ;URL de resposta [<ip ou nome>:<porta>/neolog] ENABLE=1 PATH=<Caminho_Cache_imagens>;C:\TOTVS\Prottheus\data\web ENVIRONMENT=<ambiente> INSTANCENAME=WS_NEOLOG RESPONSEJOB=JOB_WS_NEOLOG DEFAULTPAGE=wsindex.apw ;JOB de resposta [JOB_WS_NEOLOG] TYPE=WEBEX ENVIRONMENT=<ambiente> INSTANCES=<nInicio>,<nMaximo>;1,10 INSTANCENAME=JOB_WS_NEOLOG ONSTART=OMSXStart ONCONNECT=OMSXConnect |
Para testar o serviço, inicie um navegador e digite: http://<ip ou nome>:<porta>/neolog/PublishReleasedTrip.APW?WSDL.
Um WSDL (descrição do serviço em
xmlXML) deve ser exibido no navegador.
Para que seja possível reprogramar/cancelar as viagens do
Cockpit LogísticoTOTVS Otimização Logística é necessário configurar as informações de conexão com o DBAccess diretamente na seção [Environment] (modificando o arquivo Appserver.ini), conforme exemplo abaixo:
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
;Nome do Ambiente acessado pelo Web Service [Environment] SourcePath=C:\Totvs\Protheus\Apo RootPath=C:\Totvs\Protheus\Data StartPath=\system\ . . . ; outras chaves DBDatabase=MSSQL DBAlias=PLS101 DBServer=192.168.1.20 DBPort=7890 |
Para evitar inconsistências do tipo Failed Handshake SSL recomenda-se incluir a seguinte configuração no
AppserveriniAppserver.ini:
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
[SSLConfigure] TryProtocols=1 Verbose=1 |
Parametrização
SIGAOMSTOTVS OMS
- Acesse o menu Atualizações > CockPit Logístico > TOTVS Otimização Logística > Parâmetros Integração (OMSXCPL1).
- Para o correto funcionamento da integração com o monitoramento, parametrize o Protheus da seguinte forma:
Campo | Descrição | Parâmetro | Opções | Valor para Integração | Validação |
---|---|---|---|---|---|
Integração Monitoramento? | Indica se a integração com o monitoramento do |
TOL está ativa. | MV_CPLMON | 1 - Sim |
2 - Não | 1 - Sim | - |
Integração Suspensa? | Indica se a integração com o |
TOL está temporariamente suspensa. | MV_CPLSTP | 1 - Sim |
2 - Não | 2 - Não | - |
Endereço Web Service Monitoramento | Endereço do Web Service de Monitoramento do |
TOL. | MV_CPLURL | Conforme cliente. Exemplo: |
Preenchimento obrigatório quando MV_CPLMON == "1" | |
Endereço Web Service de Autenticação | Endereço do Web Service de Autenticação do |
TOTVS Otimização Logística. Este endereço fornecerá um token de autenticação que deverá ser utilizado nas requisições efetuadas ao |
TOL, quando este estiver parametrizado para solicitar autenticação. | MV_WSMONI | Conforme cliente. Exemplo: |
Preenchimento obrigatório. | |
Usuário de Autenticação do Web Service | Usuário utilizado para efetuar login no |
TOL para obtenção do token. | MV_USRCPL | Conforme cliente |
Preenchimento obrigatório. |
Senha de Autenticação do |
Web Service | Senha do usuário utilizado para efetuar login no |
TOL para obtenção do token. | MV_PSWCPL | Conforme cliente |
Preenchimento obrigatório. | |||||
Quantidade de Horas para Considerar que o Token Expirou | Indica a quantidade de horas que devem ser consideradas para que um token esteja expirado. Enquanto este limite não for atingido, o mesmo token recebido na primeira solicitação será reutilizado para envio das próximas mensagens. | MV_EXPTOK | Conforme cliente | - | |
Regional | Regional enviada para o |
TOL. | MV_CPLREG | Conforme cliente |
Preenchimento obrigatório. | |||||
E-mail do Administrador | E-mail do administrador para notificações de falha de conexão. | MV_CPLMAL | Conforme cliente | - | |
Tempo máximo (em segundos) de inatividade permitida para a recepção da resposta (Timeout). | Indica o tempo máximo que o TOTVS OMS |
aguardará por uma resposta do |
TOTVS Otimização Logística. É válido para todas as mensagens. | MV_CPLTIME | 30 (padrão) | - |
Parametrização Adicional Integração
- Algumas parametrizações da integração devem ser realizadas no arquivo de configuração do servidor Protheus (Appserver.ini), pois são utilizadas antes de iniciar qualquer processo de conexão com o SGDB.
- As configurações abaixo devem ser incluídas no arquivo na seção [NEOLOG]:
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
;Configuração integração com o TOTVS CockpitOtimização LogísticoLogística. [NEOLOG] DefaultCompany=<empresa> Debug=1 DebugPath=<caminho relativo> ;logs\neolog |
Âncora | ||||
---|---|---|---|---|
|
Onde:
- DefaultCompany:
Empresa padrão para integração entre o TOTVS OMS e o Cockpit LogísticoTOTVS Otimização Logística. Se não for informado não será considerado, sendo sempre enviada nas mensagens nos campos que identificam os códigos, além do próprio código, a concatenação da empresa e do campo Filial do respectivo cadastro/processo. Caso esteja parametrizada, será enviada apenas a concatenação do código com campo com o campo Filial do respectivo cadastro/processo. - Debug:
Indicador de que o processo de gravação dos arquivos XML das mensagens trocadas entre o TOTVS OMS e o Cockpit Logístico o TOTVS Otimização Logística está ativo. Caso esteja com o valor 1, será considerado ativo, caso contrário será considerado inativo. Caso não exista esta configuração será assumido que o Debug está ativo por padrão. DebugPath:
Caminho onde no qual deverão ser gravados os arquivos de log do XML. Este caminho deve ser sempre relativo a pasta RootPath, pois o processo de integração pode rodar em modo JOB e desta forma, não tem acesso a diretórios locais da máquina. Caso não esteja parametrizado , será considerado o caminho padrão system / neolog.
Informações | ||||
---|---|---|---|---|
| ||||
Deverá Deve ser parametrizado parametrizada, via algum processo do sistema operacional do servidor, uma rotina que efetue exclusão programada dos arquivos log da pasta definida no DebugPath, deixando apenas os mais atuais. |
Controle de Versão
O
grupoGrupo TOTVS, representado por suas marcas, administrará as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release.
Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância das marcas e alinhamento com as diretivas definidas pelo Comitê de Integração TOTVS.
Integração TOTVS Logística OMS x TOTVS Logística Cockpit (Monitoramento)Suporte
O suporte aos recursos da Integração será de responsabilidade de todas as linhas, sendo assim, as equipes de suporte dos
produtos BackOffice Protheusprodutos BackOffice Protheus estarão aptas a efetuar a primeira análise e, quando necessário, repassar para a equipe mais adequada em cada caso.
Fluxo TOTVS OMS → TOTVS Otimização Logística
Estrutura do XML de Envio
Mensagem |
---|
Integração de Envio de Monitorável | ||||
---|---|---|---|---|
Tag XML Agrupadora | Tag XML | Campo no Protheus | Campo no |
TOL | Observações | |||
---|---|---|---|---|
driver | sourceId | Filial² + DA4_COD | Motorista | - |
driver | name | DA4_NOME | Motorista | - |
driver | identifier | DA4_CGC ou DA4_MAT ou DA4_COD | Motorista | Utilizará a primeira informação não vazia. |
monitorables / monitorable | sourceId | Se tipo igual a TRIP, então: Filial² + DAK_COD + DAK_SEQCAR Se tipo igual a INVOICE, então: F2_DOC + F2_SERIE | Se tipo igual a TRIP a nomenclatura utilizada no |
TOL será Viagem. Se tipo igual a TRIP a nomenclatura utilizada no |
TOL será Nota. | - | |||
monitorables / monitorable | type | TRIP / INVOICE | - | A carga é enviada com o monitorável do tipo TRIP |
. | ||||
monitorables / monitorable | value | Se tipo igual a TRIP, então: Se tipo igual a INVOICE, então: | Valor | - |
monitorables / monitorable | volume | Se tipo igual a TRIP, então: Se tipo igual a INVOICE, então: | Volume | - |
monitorables / monitorable | weight | Se tipo igual a TRIP, então: Se tipo igual a INVOICE, então: | Peso | O peso varia conforme o parâmetro MV_PESOCAR |
:
|
| ||||
monitorables / monitorable | temperatureType | DB0_TIPCAR | - | Envia carga como Congelada |
desde que todos os produtos existentes na carga possuam no tipo da carga (B1_TIPCAR) um modelo da carga cujo |
tipo (DB0_TIPCAR) possua descrição igual |
a Congelada. Envia carga como Resfriada |
desde que todos os produtos existentes na carga possuam no tipo da carga (B1_TIPCAR) um modelo da carga cujo |
tipo (DB0_TIPCAR) possua descrição igual |
a Resfriada. Envia a carga com o tipo de temperatura Default, caso a carga não se encaixe nas duas regras acima. | ||||
monitorables / monitorable / vehicle | vehicle | DA3_COD | Veículo | - |
monitorables / monitorable / vehicle | name | DA3_DESC | Veículo | - |
monitorables / monitorable / truck | truck | DA3_PLACA | Caminhão | - |
monitorables / monitorable / carrier | sourceId | A4_COD | Caminhão | - |
monitorables / monitorable / carrier | name | A4_NOME | Transportadora | - |
monitorables / monitorable/ carrier | description | DA4_NREDUZ | Transportadora | - |
monitorables / monitorable / transitions / transition | name | A integração possuí |
quatro transições:
|
| Nome | As |
quatro transições apenas se aplicam para a transição do monitorável de tipo TRIP. Já para o monitorável do tipo INVOICE, apenas existirá a transição Chegada no Cliente. | ||
monitorables / monitorable / transitions / transition | sourceId | Sequencial de |
três dígitos gerado no momento de execução | Transição | - | ||
monitorables / monitorable / transitions / transition | expectedTimestamp | Definida conforme o tipo da transição.
DK1_CHEGAD ou DAI_DTCHEG + DAI_CHEGAD
DK1_INIDES
DK1_FIMDES
DK1_TSAIDA ou DAI_DTSAID + DAI_HRSAID | Data Estimada | - |
monitorables / monitorable / transitions / transition | limitTimestamp | Definida conforme o tipo da transição.
DK1_CHEGAD ou DAI_DTCHEG + DAI_CHEGAD
DK1_INIDES
DK1_FIMDES
DK1_TSAIDA ou DAI_DTSAID + DAI_HRSAID | Data Esperada | - |
monitorables / monitorable / transitions / transition / location / locality | sourceId | Filial + A1_COD | Localidade | - |
monitorables / monitorable / transitions / transition / location / locality | name | A1_NOME | Localidade | - |
monitorables / monitorable / transitions / transition / location / locality | description | A1_NREDUZ | Localidade | - |
monitorables / monitorable / transitions / transition / location / address | street | A1_ENDENT ou A1_END | Endereço | Prioriza o preenchimento com base no endereço de entrega. |
utiliza o endereço do próprio cliente. | ||||
monitorables / monitorable / transitions / transition / location / address | number | A1_ENDENT ou A1_END | Endereço | Prioriza o preenchimento com base no endereço de entrega. |
utiliza o endereço do próprio cliente. | ||||
monitorables / monitorable / transitions / transition / location / address | district | A1_BAIRROE ou A1_BAIRRO | Endereço | Prioriza o preenchimento com base no endereço de entrega. Se estiver vazio, |
utiliza o endereço do próprio cliente. | ||||
monitorables / monitorable / transitions / transition / location / address | city | CC2_MUNE ou A1_MUNE / CC2_MUN ou A1_MUN | Endereço | Prioriza o preenchimento com base no endereço de entrega. Se estiver vazio, |
utiliza o endereço do próprio cliente. | ||||
monitorables / monitorable / transitions / transition / location / address | state | A1_ESTE / A1_EST | Endereço | Prioriza o preenchimento com base no endereço de entrega. Se estiver vazio, |
utiliza o endereço do próprio cliente. | ||||
monitorables / monitorable / transitions / transition / location / address | zipCode | A1_CEPE / A1_CEP | Endereço | Prioriza o preenchimento com base no endereço de entrega. Se estiver vazio, |
utiliza o endereço do próprio cliente. | ||||
monitorables / monitorable / transitions / transition / location / address | country | A1_PAIS | Endereço | - |
monitorables / monitorable / items / item | sourceId | F2_DOC + F2_SERIE + D2_ITEM | Item | - |
monitorables / monitorable / items / item | quantity | D2_QUANT | Quantidade | - |
monitorables / monitorable / items / item | value | D2_TOTAL | Valor | - |
monitorables / monitorable / items / item | weight | D2_PESO | Peso | - |
monitorables / monitorable / items / item | volume | D2_QUANT * (B5_COMPRLC * B5_LARGLC * B5_ALTURLC) | Volume | - |
monitorables / monitorable / items / item / product | sourceId | B1_COD | Produto | - |
monitorables / monitorable / items / item / product | name | B1_DESC | Produto | - |
monitorables / monitorable / items / item / extensions / extension | key | Lote | Lote | - |
monitorables / monitorable / items / item / extensions / extension | textValue | D2_LOTECTL | Lote | - |
relationships / relationship | parentSourceId | Filial + DAK_COD + DAK_SEQCAR | - | - |
relationships / relationship / children | childSourceIds | F2_DOC + F2_SERIE | - | - |
Estrutura do XML de Cancelamento
Mensagem Integração de Cancelamento de Monitorável | ||||
---|---|---|---|---|
Tag XML Agrupadora | Tag XML | Campo no Protheus | Campo no |
TOTVS Otimização Logística | Observações | |||
---|---|---|---|---|
sourceId | sourceId | Filial² + DAK_COD + DAK_SEQCAR | - | - |
² Para o combinação da Filial para os cadastros serão aplicadas as seguintes regras:
- Utilizando a configuração de gestão de empresas e se esta possua possuir em sua máscara a empresa:
- Será enviado apenas o retorno da função xFilial( <TAB> ), onde TAB representa a tabela do Protheus.
- Utilizando a configuração de gestão de empresas, sem possuir a empresa na máscara, ou não utilizando a configuração de gestão de empresas:
- Caso exista uma empresa padrão (DefaultCompany) configurada na seção [NEOLOG] do INI do servidor de aplicação será enviado apenas o retorno da função xFilialxFilial( <TAB> ), onde TAB representa a tabela do Protheus.
- Não existindo a empresa padrão será enviada a concatenação da função FWGrpCompany() + xFilial( <TAB> ), onde TAB representa a tabela do Protheus.
- Sempre que o retorno não for branco, o retorno será precedido por um "-" (hífen),
- desde que a função não receba o valor .F. no segundo parâmetro.
- Poderá ocorrer deste valor permanecer em branco, em função de algumas parametrizações e configuração da tabela ser compartilhada.
Exemplo de XML de
AquisiçãoEnvio de Monitorável
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header/> <soapenv:Body> <mon:request xmlns:mon="http://www.neolog.com.br/cpl/acquisition/monitoring/monitorable/"> <mon:monitorableSet> <mon:driver> <mon:driver> <mon:sourceId>01-M00008</mon:sourceId> <mon:name>ANGELO DA SILVA</mon:name> </mon:driver> <mon:identifier>61385388625</mon:identifier> </mon:driver> <mon:monitorables> <mon:monitorable> <mon:sourceId>0101-000679-01</mon:sourceId> <mon:type>TRIP</mon:type> <mon:vehicle> <mon:vehicle>EFS7890 </mon:vehicle> <mon:name>MERCEDEZ TRUCADO</mon:name> </mon:vehicle> <mon:truck> <mon:sourceId>EFS7890 </mon:sourceId> </mon:truck> <mon:carrier> <mon:sourceId>000001</mon:sourceId> <mon:name>TRANSPORTE PROPRIO TESTE</mon:name> <mon:description>ANGELO</mon:description> </mon:carrier> <mon:value>795.00000000</mon:value> <mon:volume>388.00000000</mon:volume> <mon:weight>194.00000000</mon:weight> <mon:transitions> <mon:transition> <mon:name>Chegada no Cliente</mon:name> <mon:sourceId>001</mon:sourceId> <mon:expectedTimestamp>2019-09-18T00:16:00.000-03:00</mon:expectedTimestamp> <mon:limitTimestamp>2019-09-18T00:16:00.000-03:00</mon:limitTimestamp> <mon:location> <mon:locality> <mon:sourceId>01-000054-02</mon:sourceId> <mon:name>ANTHONY E LORENZO LOGISTICA CD</mon:name> <mon:description>ANTHONY E LORENZO CD</mon:description> </mon:locality> <mon:address> <mon:street>AVENIDA PAULO S.</mon:street> <mon:number>1400</mon:number> <mon:district>Petropolis</mon:district> <mon:city>JOINVILLE</mon:city> <mon:state>SC</mon:state> <mon:zipCode>89232301</mon:zipCode> <mon:country>BR</mon:country> </mon:address> </mon:location> </mon:transition> <mon:transition> <mon:name>Início Descarregamento</mon:name> <mon:sourceId>002</mon:sourceId> <mon:expectedTimestamp>2019-09-18T00:16:00.000-03:00</mon:expectedTimestamp> <mon:limitTimestamp>2019-09-18T00:16:00.000-03:00</mon:limitTimestamp> <mon:location> <mon:locality> <mon:sourceId>01-000054-02</mon:sourceId> <mon:name>ANTHONY E LORENZO LOGISTICA CD</mon:name> <mon:description>ANTHONY E LORENZO CD</mon:description> </mon:locality> <mon:address> <mon:street>AVENIDA PAULO S.</mon:street> <mon:number>1500</mon:number> <mon:district>Petropolis</mon:district> <mon:city>JOINVILLE</mon:city> <mon:state>SC</mon:state> <mon:zipCode>89232301</mon:zipCode> <mon:country>BR</mon:country> </mon:address> </mon:location> </mon:transition> <mon:transition> <mon:name>Fim Descarregamento</mon:name> <mon:sourceId>003</mon:sourceId> <mon:expectedTimestamp>2019-09-18T00:31:00.000-03:00</mon:expectedTimestamp> <mon:limitTimestamp>2019-09-18T00:31:00.000-03:00</mon:limitTimestamp> <mon:location> <mon:locality> <mon:sourceId>01-000054-02</mon:sourceId> <mon:name>ANTHONY E LORENZO LOGISTICA CD </mon:name> <mon:description>ANTHONY E LORENZO CD</mon:description> </mon:locality> <mon:address> <mon:street>AVENIDA PAULO SCHROEDER</mon:street> <mon:number>1500</mon:number> <mon:district>Petropolis</mon:district> <mon:city>JOINVILLE</mon:city> <mon:state>SC</mon:state> <mon:zipCode>89232301</mon:zipCode> <mon:country>BR</mon:country> </mon:address> </mon:location> </mon:transition> <mon:transition> <mon:name>Saída do Cliente</mon:name> <mon:sourceId>004</mon:sourceId> <mon:expectedTimestamp>2019-09-18T00:31:00.000-03:00</mon:expectedTimestamp> <mon:limitTimestamp>2019-09-18T00:31:00.000-03:00</mon:limitTimestamp> <mon:location> <mon:locality> <mon:sourceId>01-000054-02</mon:sourceId> <mon:name>ANTHONY E LORENZO LOGISTICA CD</mon:name> <mon:description>ANTHONY E LORENZO CD</mon:description> </mon:locality> <mon:address> <mon:street>AVENIDA PAULO S.</mon:street> <mon:number>1500</mon:number> <mon:district>Petropolis</mon:district> <mon:city>JOINVILLE</mon:city> <mon:state>SC</mon:state> <mon:zipCode>89232301</mon:zipCode> <mon:country>BR</mon:country> </mon:address> </mon:location> </mon:transition> <mon:transition> <mon:name>Chegada no Cliente</mon:name> <mon:sourceId>005</mon:sourceId> <mon:expectedTimestamp>2019-09-18T00:31:00.000-03:00</mon:expectedTimestamp> <mon:limitTimestamp>2019-09-18T00:31:00.000-03:00</mon:limitTimestamp> <mon:location> <mon:locality> <mon:sourceId>01-000054-01</mon:sourceId> <mon:name>ANTHONY E LORENZO LOGISTICA</mon:name> <mon:description>ANTHONY E LORENZO </mon:description> </mon:locality> <mon:address> <mon:street>RUA PAULINO M ALVES</mon:street> <mon:number>2</mon:number> <mon:district>AMERICA</mon:district> <mon:city>JOINVILLE</mon:city> <mon:state>SC</mon:state> <mon:zipCode>89204550</mon:zipCode> <mon:country>BR</mon:country> </mon:address> </mon:location> </mon:transition> <mon:transition> <mon:name>Início Descarregamento</mon:name> <mon:sourceId>006</mon:sourceId> <mon:expectedTimestamp>2019-09-18T00:31:00.000-03:00</mon:expectedTimestamp> <mon:limitTimestamp>2019-09-18T00:31:00.000-03:00</mon:limitTimestamp> <mon:location> <mon:locality> <mon:sourceId>01-000054-01</mon:sourceId> <mon:name>ANTHONY E LORENZO LOGISTICA</mon:name> <mon:description>ANTHONY E LORENZO </mon:description> </mon:locality> <mon:address> <mon:street>RUA PAULINO M ALVES</mon:street> <mon:number>2</mon:number> <mon:district>AMERICA</mon:district> <mon:city>JOINVILLE</mon:city> <mon:state>SC</mon:state> <mon:zipCode>89204550</mon:zipCode> <mon:country>BR</mon:country> </mon:address> </mon:location> </mon:transition> <mon:transition> <mon:name>Fim Descarregamento</mon:name> <mon:sourceId>007</mon:sourceId> <mon:expectedTimestamp>2019-09-18T00:46:00.000-03:00</mon:expectedTimestamp> <mon:limitTimestamp>2019-09-18T00:46:00.000-03:00</mon:limitTimestamp> <mon:location> <mon:locality> <mon:sourceId>01-000054-01</mon:sourceId> <mon:name>ANTHONY E LORENZO LOGISTICA</mon:name> <mon:description>ANTHONY E LORENZO</mon:description> </mon:locality> <mon:address> <mon:street>RUA PAULINO M ALVES</mon:street> <mon:number>2</mon:number> <mon:district>AMERICA</mon:district> <mon:city>JOINVILLE</mon:city> <mon:state>SC</mon:state> <mon:zipCode>89204550</mon:zipCode> <mon:country>BR</mon:country> </mon:address> </mon:location> </mon:transition> <mon:transition> <mon:name>Saída do Cliente</mon:name> <mon:sourceId>008</mon:sourceId> <mon:expectedTimestamp>2019-09-18T00:46:00.000-03:00</mon:expectedTimestamp> <mon:limitTimestamp>2019-09-18T00:46:00.000-03:00</mon:limitTimestamp> <mon:location> <mon:locality> <mon:sourceId>01-000054-01</mon:sourceId> <mon:name>ANTHONY E LORENZO LOGISTICA</mon:name> <mon:description>ANTHONY E LORENZO</mon:description> </mon:locality> <mon:address> <mon:street>RUA PAULINO M ALVES</mon:street> <mon:number>2</mon:number> <mon:district>AMERICA</mon:district> <mon:city>JOINVILLE</mon:city> <mon:state>SC</mon:state> <mon:zipCode>89204550</mon:zipCode> <mon:country>BR</mon:country> </mon:address> </mon:location> </mon:transition> </mon:transitions> </mon:monitorable> <mon:monitorable> <mon:sourceId>000000146-1</mon:sourceId> <mon:type>INVOICE</mon:type> <mon:vehicle> <mon:vehicle>EFS7890 </mon:vehicle> <mon:name>MERCEDEZ TRUCADO</mon:name> </mon:vehicle> <mon:truck> <mon:sourceId>EFS7890</mon:sourceId> </mon:truck> <mon:carrier> <mon:sourceId>000001</mon:sourceId> <mon:name>TRANSPORTE PROPRIO TESTE</mon:name> <mon:description>ANGELO</mon:description> </mon:carrier> <mon:value>370.00000000</mon:value> <mon:weight>74.00000000</mon:weight> <mon:transitions> <mon:transition> <mon:name>Início</mon:name> <mon:sourceId>000000146-1-001</mon:sourceId> <mon:expectedTimestamp>2019-09-18T00:31:00.000-03:00</mon:expectedTimestamp> <mon:limitTimestamp>2019-09-18T00:31:00.000-03:00</mon:limitTimestamp> <mon:location> <mon:locality> <mon:sourceId>01-000054-01</mon:sourceId> <mon:name>ANTHONY E LORENZO LOGISTICA</mon:name> <mon:description>ANTHONY E LORENZO</mon:description> </mon:locality> <mon:address> <mon:street>RUA PAULINO M ALVES</mon:street> <mon:number>2</mon:number> <mon:district>AMERICA</mon:district> <mon:city>JOINVILLE</mon:city> <mon:state>SC</mon:state> <mon:zipCode>89204550</mon:zipCode> <mon:country>BR</mon:country> </mon:address> </mon:location> </mon:transition> </mon:transitions> <mon:items> <mon:item> <mon:sourceId>000000146-1-01</mon:sourceId> <mon:product> <mon:sourceId>MON01</mon:sourceId> <mon:name>PRODUTO MONITORAVEL 01</mon:name> </mon:product> <mon:quantity>8</mon:quantity> <mon:value>40.00000000</mon:value> <mon:weight>8.00000000</mon:weight> <mon:volume>16.00000000</mon:volume> <mon:extensions> <mon:extension> <mon:key>Lote</mon:key> <mon:textValue>AUTO000035</mon:textValue> </mon:extension> </mon:extensions> </mon:item> <mon:item> <mon:sourceId>000000146-1-02</mon:sourceId> <mon:product> <mon:sourceId>MON01</mon:sourceId> <mon:name>PRODUTO MONITORAVEL 01</mon:name> </mon:product> <mon:quantity>3</mon:quantity> <mon:value>15.00000000</mon:value> <mon:weight>3.00000000</mon:weight> <mon:volume>6.00000000</mon:volume> <mon:extensions> <mon:extension> <mon:key>Lote</mon:key> <mon:textValue>AUTO000036</mon:textValue> </mon:extension> </mon:extensions> </mon:item> <mon:item> <mon:sourceId>000000146-1-03</mon:sourceId> <mon:product> <mon:sourceId>MON02</mon:sourceId> <mon:name>PRODUTO MONITORAVEL 02</mon:name> </mon:product> <mon:quantity>2</mon:quantity> <mon:value>20.00000000</mon:value> <mon:weight>4.00000000</mon:weight> <mon:volume>8.00000000</mon:volume> <mon:extensions> <mon:extension> <mon:key>Lote</mon:key> <mon:textValue>AUTO000045</mon:textValue> </mon:extension> </mon:extensions> </mon:item> <mon:item> <mon:sourceId>000000146-1-04</mon:sourceId> <mon:product> <mon:sourceId>MON02</mon:sourceId> <mon:name>PRODUTO MONITORAVEL 02</mon:name> </mon:product> <mon:quantity>10</mon:quantity> <mon:value>100.00000000</mon:value> <mon:weight>20.00000000</mon:weight> <mon:volume>40.00000000</mon:volume> <mon:extensions> <mon:extension> <mon:key>Lote</mon:key> <mon:textValue>AUTO000046</mon:textValue> </mon:extension> </mon:extensions> </mon:item> <mon:item> <mon:sourceId>000000146-1-05</mon:sourceId> <mon:product> <mon:sourceId>MON03</mon:sourceId> <mon:name>PRODUTO MONITORAVEL 03</mon:name> </mon:product> <mon:quantity>13</mon:quantity> <mon:value>195.00000000</mon:value> <mon:weight>39.00000000</mon:weight> <mon:volume>78.00000000</mon:volume> <mon:extensions> <mon:extension> <mon:key>Lote</mon:key> <mon:textValue> </mon:textValue> </mon:extension> </mon:extensions> </mon:item> </mon:items> </mon:monitorable> <mon:monitorable> <mon:sourceId>000000147-1</mon:sourceId> <mon:type>INVOICE</mon:type> <mon:vehicle> <mon:vehicle>EFS7890 </mon:vehicle> <mon:name>MERCEDEZ TRUCADO</mon:name> </mon:vehicle> <mon:truck> <mon:sourceId>EFS7890</mon:sourceId> </mon:truck> <mon:carrier> <mon:sourceId>000001</mon:sourceId> <mon:name>TRANSPORTE PROPRIO TESTE</mon:name> <mon:description>ANGELO</mon:description> </mon:carrier> <mon:value>200.00000000</mon:value> <mon:weight>20.00000000</mon:weight> <mon:transitions> <mon:transition> <mon:name>Início</mon:name> <mon:sourceId>000000147-1-001</mon:sourceId> <mon:expectedTimestamp>2019-09-18T00:31:00.000-03:00</mon:expectedTimestamp> <mon:limitTimestamp>2019-09-18T00:31:00.000-03:00</mon:limitTimestamp> <mon:location> <mon:locality> <mon:sourceId>01-000054-01</mon:sourceId> <mon:name>ANTHONY E LORENZO LOGISTICA</mon:name> <mon:description>ANTHONY E LORENZO</mon:description> </mon:locality> <mon:address> <mon:street>RUA PAULINO M ALVES</mon:street> <mon:number>2</mon:number> <mon:district>AMERICA</mon:district> <mon:city>JOINVILLE</mon:city> <mon:state>SC</mon:state> <mon:zipCode>89204550</mon:zipCode> <mon:country>BR</mon:country> </mon:address> </mon:location> </mon:transition> </mon:transitions> <mon:items> <mon:item> <mon:sourceId>000000147-1-01</mon:sourceId> <mon:product> <mon:sourceId>MON01</mon:sourceId> <mon:name>PRODUTO MONITORAVEL 01</mon:name> </mon:product> <mon:quantity>2</mon:quantity> <mon:value>20.00000000</mon:value> <mon:weight>2.00000000</mon:weight> <mon:volume>4.00000000</mon:volume> <mon:extensions> <mon:extension> <mon:key>Lote</mon:key> <mon:textValue>AUTO000035</mon:textValue> </mon:extension> </mon:extensions> </mon:item> <mon:item> <mon:sourceId>000000147-1-02</mon:sourceId> <mon:product> <mon:sourceId>MON02</mon:sourceId> <mon:name>PRODUTO MONITORAVEL 02</mon:name> </mon:product> <mon:quantity>3</mon:quantity> <mon:value>60.00000000</mon:value> <mon:weight>6.00000000</mon:weight> <mon:volume>12.00000000</mon:volume> <mon:extensions> <mon:extension> <mon:key>Lote</mon:key> <mon:textValue>AUTO000045</mon:textValue> </mon:extension> </mon:extensions> </mon:item> <mon:item> <mon:sourceId>000000147-1-03</mon:sourceId> <mon:product> <mon:sourceId>MON03</mon:sourceId> <mon:name>PRODUTO MONITORAVEL 03</mon:name> </mon:product> <mon:quantity>4</mon:quantity> <mon:value>120.00000000</mon:value> <mon:weight>12.00000000</mon:weight> <mon:volume>24.00000000</mon:volume> <mon:extensions> <mon:extension> <mon:key>Lote</mon:key> <mon:textValue> </mon:textValue> </mon:extension> </mon:extensions> </mon:item> </mon:items> </mon:monitorable> <mon:monitorable> <mon:sourceId>000000148-1</mon:sourceId> <mon:type>INVOICE</mon:type> <mon:vehicle> <mon:vehicle>EFS7890 </mon:vehicle> <mon:name>MERCEDEZ TRUCADO</mon:name> </mon:vehicle> <mon:truck> <mon:sourceId>EFS7890</mon:sourceId> </mon:truck> <mon:carrier> <mon:sourceId>000001</mon:sourceId> <mon:name>TRANSPORTE PROPRIO TESTE </mon:name> <mon:description>ANGELO</mon:description> </mon:carrier> <mon:value>225.00000000</mon:value> <mon:weight>100.00000000</mon:weight> <mon:transitions> <mon:transition> <mon:name>Início</mon:name> <mon:sourceId>000000148-1-001</mon:sourceId> <mon:expectedTimestamp>2019-09-18T00:16:00.000-03:00</mon:expectedTimestamp> <mon:limitTimestamp>2019-09-18T00:16:00.000-03:00</mon:limitTimestamp> <mon:location> <mon:locality> <mon:sourceId>01-000054-02</mon:sourceId> <mon:name>ANTHONY E LORENZO LOGISTICA CD</mon:name> <mon:description>ANTHONY E LORENZO CD</mon:description> </mon:locality> <mon:address> <mon:street>AVENIDA PAULO S.</mon:street> <mon:number>1500</mon:number> <mon:district>Petropolis</mon:district> <mon:city>JOINVILLE</mon:city> <mon:state>SC</mon:state> <mon:zipCode>89232301</mon:zipCode> <mon:country>BR</mon:country> </mon:address> </mon:location> </mon:transition> </mon:transitions> <mon:items> <mon:item> <mon:sourceId>000000148-1-01</mon:sourceId> <mon:product> <mon:sourceId>MON01</mon:sourceId> <mon:name>PRODUTO MONITORAVEL 01</mon:name> </mon:product> <mon:quantity>10</mon:quantity> <mon:value>50.00000000</mon:value> <mon:weight>10.00000000</mon:weight> <mon:volume>20.00000000</mon:volume> <mon:extensions> <mon:extension> <mon:key>Lote</mon:key> <mon:textValue>AUTO000034</mon:textValue> </mon:extension> </mon:extensions> </mon:item> <mon:item> <mon:sourceId>000000148-1-02</mon:sourceId> <mon:product> <mon:sourceId>MON02</mon:sourceId> <mon:name>PRODUTO MONITORAVEL 02</mon:name> </mon:product> <mon:quantity>10</mon:quantity> <mon:value>50.00000000</mon:value> <mon:weight>20.00000000</mon:weight> <mon:volume>40.00000000</mon:volume> <mon:extensions> <mon:extension> <mon:key>Lote</mon:key> <mon:textValue>AUTO000044</mon:textValue> </mon:extension> </mon:extensions> </mon:item> <mon:item> <mon:sourceId>000000148-1-03</mon:sourceId> <mon:product> <mon:sourceId>MON02</mon:sourceId> <mon:name>PRODUTO MONITORAVEL 02</mon:name> </mon:product> <mon:quantity>5</mon:quantity> <mon:value>25.00000000</mon:value> <mon:weight>10.00000000</mon:weight> <mon:volume>20.00000000</mon:volume> <mon:extensions> <mon:extension> <mon:key>Lote</mon:key> <mon:textValue>AUTO000045</mon:textValue> </mon:extension> </mon:extensions> </mon:item> <mon:item> <mon:sourceId>000000148-1-04</mon:sourceId> <mon:product> <mon:sourceId>MON03</mon:sourceId> <mon:name>PRODUTO MONITORAVEL 03</mon:name> </mon:product> <mon:quantity>20</mon:quantity> <mon:value>100.00000000</mon:value> <mon:weight>60.00000000</mon:weight> <mon:volume>120.00000000</mon:volume> <mon:extensions> <mon:extension> <mon:key>Lote</mon:key> <mon:textValue></mon:textValue> </mon:extension> </mon:extensions> </mon:item> </mon:items> </mon:monitorable> <mon:extensions> <mon:extension> <mon:key>Viagem</mon:key> <mon:textValue>50700</mon:textValue> </mon:extension> </mon:extensions> </mon:monitorables> <mon:relationships> <mon:relationship> <mon:parentSourceId>0101-000679-01</mon:parentSourceId> <mon:children> <mon:childSourceIds>000000146-1</mon:childSourceIds> </mon:children> </mon:relationship> <mon:relationship> <mon:parentSourceId>0101-000679-01</mon:parentSourceId> <mon:children> <mon:childSourceIds>000000147-1</mon:childSourceIds> </mon:children> </mon:relationship> <mon:relationship> <mon:parentSourceId>0101-000679-01</mon:parentSourceId> <mon:children> <mon:childSourceIds>000000148-1</mon:childSourceIds> </mon:children> </mon:relationship> </mon:relationships> </mon:monitorableSet> </mon:request> </soapenv:Body> </soapenv:Envelope> |
Exemplo de XML de Cancelamento de Monitorável
Bloco de código | ||||
---|---|---|---|---|
| ||||
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header/> <soapenv:Body> <upd:requestUpdate xmlns:upd="http://www.neolog.com.br/cpl/acquisition/monitoring/update/" xmlns:mon="http://www.neolog.com.br/cpl/acquisition/monitoring/monitorable/"> <mon:key>Viagem</mon:key> <upd:monitorableUpdateSet> <upd:operation>CANCEL</upd:operation> <upd:monitorableSet> <mon:monitorables> <mon:monitorable> <mon:sourceId>0101-000692-01</mon:sourceId> <mon:type>TRIP</mon:type> </mon:monitorable> </mon:monitorables> </upd:monitorableSet> </upd:monitorableUpdateSet> </upd:requestUpdate> </soapenv:Body> </soapenv:Envelope> |
Fluxo TOTVS Otimização Logística
OMS x TOTVS Logística Cockpit (Monitoramento)Fluxo Neolog →→ TOTVS OMS
Estrutura do XML de Finalização de Monitorável
Mensagem Integração de Finalização de Monitorável | ||||
---|---|---|---|---|
Tag XML Agrupadora | Tag XML | Campo |
no TOTVS Otimização Logística. | Campo no Protheus | Observações | ||
---|---|---|---|---|
finishingSet | monitorableSourceId | Viagem Monitorada | (Empresa e Filial)² + DAK_COD + DAK_SEQCAR | - |
finishingSet | monitorableType | Tipo de objeto monitorado (Viagem) | Não utilizado | - |
finishingSet | finished | Indicador lógico (true/false) | Não utilizado | - |
² O desmembramento dos códigos da Empresa e Filial será feito baseado no tamanho padrão de Filiais.
Ao receber um XML de Finalização de Monitoramento
, seráserá efetuada a abertura de um ambiente para as atualizações no TOTVS OMS
Protheus, conforme mencionadas abaixo:
- Processo de retorno da Carga (ver processo padrão efetuado pela rotina OMSA320rotina OMSA320 (Retorno de Cargas).
- Processos de "Devolução" e "Beneficiamento" não Devolução e Beneficiamento não serão efetuados a partir do XML de Finalização de Monitorável.
- Atualização da data de entrega na(s) Nota(s) Fiscal(is) geradas a partir dos Pedidos relacionados a Carga.
- Finalização do monitoramento da Carga Carga.
Exemplo de XML de Finalização de Monitorável
Bloco de código | ||||
---|---|---|---|---|
| ||||
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header/> <SOAP-ENV:Body> <ns2:request xmlns:ns2="http://www.neolog.com.br/cpl/publish/monitoring/finishing/" xmlns:ns3="http://www.neolog.com.br/cpl/publish/monitoring/occurrence/" xmlns:ns4="http://www.neolog.com.br/cpl/publish/monitoring/transition/"> <ns2:finishingSet> <ns2:monitorableSourceId>0101-001011-01</ns2:monitorableSourceId> <ns2:monitorableType>TRIP</ns2:monitorableType> <ns2:finished>true</ns2:finished> </ns2:finishingSet> </ns2:request> </SOAP-ENV:Body> </SOAP-ENV:Envelope> |
Configurações Complementares
Configuração Para Envio Automático das Cargas
paraPara o Monitoramento
As cargas podem ser enviadas automaticamente para o monitoramento no Cockpit LogísticoTOTVS Otimização Logística.
Para isso, deve ser configurada a execução automática (Schedule) da rotina de rotina OMSXCPL7 (Monitor de Cargas (OMSXCPL7)..
Esta configuração pode ser executada conforme descrito em Schedule Protheus.
Funcionamento
O envio e o cancelamento de monitoráveis (cargas) para o
Cockpit LogísticoTOTVS Otimização Logística são realizados pela rotina OMSXCPL7 (Monitor de Cargas
(OMSXCPL7), por intermédio
dos botõesdas opções Enviar Cargas p/ Monitoramento
eou Cancelar Monitoramento Cargas.
As cargas aptas a serem enviadas para o monitoramento são aquelas que estão com todos os pedidos da cargas faturados.
As cargas enviadas para o monitoramento podem ou não ter sido originadas de viagens geradas pelo
Módulo demódulo Planejamento do
Cockpit LogísticoIntegração TOTVS Logística OMS x TOTVS Logística Cockpit (Monitoramento)
Funcionalidades Não Contempladas
A integração entre o
SIGAOMSTOTVS OMS e o
Cockpit Logístico apresenta as seguintes restriçõesTOTVS Otimização Logística apresenta a seguinte restrição:
- O TOTVS OMS
- não controlará as ocorrências geradas durante o monitoramento da carga.