...
Dica |
---|
|
Antes de realizar a integração de uma reserva de produto, vamos realizar o cadastro do Adapter no modulo Configurador (SIGACFG). - Mas afinal o que é um Adapter?
O Adapter é uma rotina responsável pela mensagem (ItemReserve) e seu cadastro é necessário para definir algumas informações importantes, como por exemplo, o tipo da mensagem JSON ou XML, se será possível enviar e receber a mensagem ou somente uma dessas opções. - Importante: Como pré-requisito para o cadastro do Adapter é imprescindível ter o Cadastro de Rota.
|
Cadastro do adapter ItemReserve
- No modulo Configurador (SIFACFG), acesse Ambientes/Schedule/Adapter E.a.i
- Clique em incluir e cadastre a rotina responsável pela mensagem Item, como mostra o vídeo abaixo:
Informações |
---|
title | Auxilio no preenchimento dos campos |
---|
|
Rotina Protheus | Mensagem | Descrição | Envia | Recebe | Método Protheus | Operação | Condição de envio | Canal de Envio | Versão | Alias | Rota | Formato | OMSA010 | PriceListHeaderitem | Reserva de Produto | Não | Sim | Síncrono | Todas |
| PAD.APP | 2.000 |
| SUA_ROTA | JSON |
Importante: O campo Condição de envio pode ser preenchido com uma função ou expressão logica, para determinar se o Produto em questão será enviado ou não, no caso do adapter de ITEM, estamos utilizando a função LjxjCsCoPr(): |
Integrando uma reserva de Produto
Dica |
---|
|
Como funciona a integração de uma reserva entre o TOTVS OMNI e o TOTVS Protheus ? A reserva de Produtos é enviada ao TOTVS Protheus, informando o a filia, armazém, código e quantidade dos produtos a serem reservados, com isso a mensagem é processada pelo Protheus realiza a reserva dos Produtos informados.
Qual o procedimento quando utilizo Controle de Lote/Sublote/Endereçamento/Serie? - Caso na mensagem Padronizada ItemReserve não seja informado as tags referente à Lote, SubLote, Endereçamento e Serie, mencionadas a baixo:
- "LotNumber" - Lote
- "SubLotNumber" - SubLote
- "AddressingItem" - Endereçamento
- "SeriesItem" - Serie
O sistema vai identificar o Lote com a data de validade mais próxima e fará a reserva do produto para esse lote. Caso a quantidade do produto seja superior ao do primeiro lote, o sistema identifica se tem outros lotes do mesmo produto, caso tenha será reservado 100 unidades do lote com a validade mais próxima e 2 unidades para o segundo lote com a validade mais próxima. Com isso gerando duas linhas do mesmo produto na tabela SC0, para lotes diferentes, como mostra o exemplo abaixo: draw.io Diagram |
---|
border | true |
---|
| |
---|
diagramName | Reserva |
---|
simpleViewer | false |
---|
width | |
---|
links | auto |
---|
tbstyle | top |
---|
pageId | 552590004 |
---|
lbox | true |
---|
diagramWidth | 886 |
---|
|
- Importante : Endereçamento e Serie o tratamento é o mesmo.
- Para reservas integradas via MP - ItemReserve o cancelamento automático de reserva com a validade expirada (C0_VALIDA) está desabilitado.
- O cancelamento de Reserva só será realizado via Mensagem Padronizada com o evento delete que se encontra dentro do Content no Json EVENT = DELETE
- O cancelamento de reserva também poderá ser realizado via tela na rotina Controle de Reservas - MATA430.
|
Abaixo exemplo da mensagem ItemReserve:
Expandir |
---|
title | Exemplo da mensagem ItemReserve |
---|
|
Bloco de código |
---|
| Inserir json de ItemReserve |
|
...
Informações |
---|
title | Legendas de status da mensagem |
---|
|
A mensagem pode ter diversos tipos de status e cada um deles esta vinculado a uma legenda sendo elas: Image Modified Aguardando execução Image Modified Executando Image Modified Finalizada Image Modified Falhou Image Modified Bloqueado Image Modified Não entregue Image Modified Recusada Image Modified Entregue |