Contexto de negócio (Introdução)

Informações Gerais

Especificação

Produto

TOTVS Obras e Projetos

Módulo

Projetos

Requisito1

Controle de status de integração para movimentos integrados.

Subtarefa1

 

Release de Entrega Planejada

 

Réplica

 

País

( x ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.


Objetivo

Essa melhoria implementada tem como objetivo resolver ‘gaps’ do processo de envio de movimento através dos processos de Pedido de Material e Pedido de Material extra,
utilizando as mensagens “Request” http://tdn.totvs.com/pages/viewpage.action?pageId=271661028  e “Order” http://tdn.totvs.com/pages/viewpage.action?pageId=271661028

Problema

Os controles de transação para geração de Múltiplos Movimentos não eram corretos, uma vez que o Protheus considera uma transação para cada movimento gerado, já o RM considerava uma única transação para todos os movimentos.
Caso ocorresse erro do segundo movimento em diante, os movimentos executados com sucesso ficavam no Protheus e no RM eram todos apagados. Fazendo com que as bases integradas ficassem inconsistentes.
Um exemplo desse problema é a geração de movimentos por Obra no RM. Nesse cenário já teríamos problema na exclusão desses movimentos, pois o RM entende como somente uma transação, fazendo com que não seja mais possível excluir esses movimentos.


Solução

Apesar de estar no mesmo processo, a geração no movimento foi separada internamente do processo de integração. Assim, caso haja erros de integração, os movimentos e consequentemente todos os cálculos efetuados continuam salvos na base e passíveis de ser somente reenviados para o sistema integrado.

Para esse controle, foi acrescentado um novo status no Fluxo dos Pedidos para que o usuário final visualize os movimentos pendentes de integração.
Ou seja, caso sejam gerados movimentos no RM e algum desses não seja integrado corretamente, o usuário final deverá somente ajustar a inconsistência e reenviar o movimento para integração.

Enquanto esse movimento não for corrigido e reenviado pelo usuário, este ficará com o status: "Em Suprimento/Faturamento com Movimentos não Integrados”.

Definição da Regra de Negócio

O processo de geração do pedido e seu fluxo de aprovações se mantiveram da mesma forma.
A melhoria consiste na criação de um status para que seja informado ao usuário se o movimento gerado foi totalmente integrado ou se houveram problemas de integração conforme explicado anteriormente.

Ao ter um pedido pronto para Geração do Movimento, ao acionar o processo para geração do envio, caso o pedido não tenha nenhuma inconsistência, a geração é realizada de forma transparente para o usuário.
Ou seja, o movimento vai ser gerado no sistema integrado e a coluna "status" do anexo de movimento informará ao usuário que aquele movimento foi integrado:

 

Caso a geração encontre alguma inconsistência da integração, como por exemplo um Local de Estoque que não contém De-Para, vai ser informado um log ao usuário informando qual a inconsistência deverá ser ajustada:


O pedido vai ser gravado na base com toda sua memória de calculo, mas com status de  "Em Suprimento/Faturamento com Movimentos não Integrados”, ou seja, ficará aguardando o usuário corrigir as inconsistências encontradas para que seja realizado somente o reenvio do movimento para o sistema integrado:

 

Após o usuário fazer as correções que neste exemplo é o ajuste do Local de Estoque, basta o usuário executar novamente o processo de Geração de Movimentos para que este seja integrado corretamente:

A exclusão dos movimentos continuam de forma transparente para o usuário, não importando se o movimento já está Integrado ou com status de "Em Suprimento/Faturamento com Movimentos não Integrados", basta executar o processo de "Excluir Movimentos" para que esse movimento seja excluído e o pedido possa sofrer alterações novamente. Caso a exclusão do movimento não ocorra por inconsistências de integração, seguirá o mesmo fluxo de status apresentado anteriormente.