Histórico da Página
Âncora | ||||
---|---|---|---|---|
|
Índice | ||||||||
---|---|---|---|---|---|---|---|---|
|
Sistemas Envolvidos
Aviso | ||
---|---|---|
| ||
Prezado cliente, esta integração encontra-se descontinuada em Abril 2024. |
TOTVS
Integração TOTVS Logística OMS x TOTVS Logística Cockpit (Monitoramento)Sistemas Envolvidos
TOTVS LogísticaOMS
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 Neologdo 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.
Integração TOTVS Logística OMS x TOTVS Logística Cockpit (Monitoramento)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 | ||||
---|---|---|---|---|
| ||||
|
Integração TOTVS Logística OMS x TOTVS Logística Cockpit (Monitoramento)
Instalação/Configuração
Configuração Web Service AppServer Protheus
Os passos descritos abaixo, referentes as configurações no Appserver.ini, apenas são necessários quando o ambiente não está 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 XML) 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 SIGAOMS 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 SIGAOMS e o Cockpit Logístico TOTVS OMS e 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 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 | ||||
---|---|---|---|---|
| ||||
Deve ser 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. |
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. |
Notas Fiscais são enviadas como monitoráveis do tipo INVOICE. | ||||
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: |
a :
|
|
| ||||
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. |
monitorables / monitorable / transitions / transition / location / address | number | A1_ENDENT ou A1_END | Endereço | Prioriza o preenchimento com base no endereço de entrega. |
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 Cockpit LogísticoTOTVS 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 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
Logística OMS x TOTVS Logística Cockpit (Monitoramento)Fluxo Neolog →Otimização Logística → 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 Cockpit Logísticono 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á efetuada a abertura de um ambiente para as atualizações no
SIGAOMSTOTVS OMS, conforme mencionadas abaixo:
- Processo de retorno da Carga (ver processo padrão efetuado pela rotina rotina OMSA320 (Retorno de Cargas).
- Processos de 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 Para 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 das 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.