ERP - Movimentação de Estoques - A ação SID Est.Movimentar (SECE) - Movimentar Estoque não retorna que o movimento não foi gerado no ERP
Incidente
No ERP, ao executar a ação SID Est.Movimentar (SECE) - Movimentar Estoque para uma data posterior ao período de movimentação de estoque já fechado, não é apresentada mensagem indicando que o movimento não foi gerado.
Causa
Este incidente ocorre, pois não é recomendado retornar mensagem na SID, visto que essa ação pode causar o travamento do Middleware.
Sendo assim, quando a SID é executada via Middleware, não é apresentada mensagem em tela.
Para os casos em que seja necessário apresentar uma mensagem em tela, avalie a utilização da SID via regra, junto a uma função de apoio para retornar a mensagem após a execução.
Solução
Para verificar se a execução da SID Est.Movimentar inseriu a movimentação, realize os passos a seguir:
Crie uma customização independente para validar se a SID Est.Movimentar inseriu a movimentação após a execução;
Avalie a possibilidade de executar a SID via regra, junto a uma função que retorne uma mensagem ao usuário;
2.1. Caso opte por essa opção, utilize o exemplo de regra a seguir:
Definir Alfa xxRetorno; Definir interno.com.senior.g5.co.ger.sid.executar p; p.SID.CriarLinha(); _ _p.SID.Param = "ACAO=SID.Est.Movimentar"; p.SID.CriarLinha(); _ _p.SID.Param = "CodPro=CODPRO"; p.SID.CriarLinha(); _ _p.SID.Param = "CodTns=CODTNS"; p.SID.CriarLinha(); _ _p.SID.Param = "CodDep=CODDEP"; p.SID.CriarLinha(); _ _p.SID.Param = "QtdMov=99"; p.SID.CriarLinha(); p.SID.Param = "DatMov=02/02/2023"; p.SID.CriarLinha(); _ _p.SID.Param = "VlrMov=5"; p.ModoExecucao = 1; p.Executar(); xxRetorno = p.Resultado; Se (p.Resultado = "ERRO: A data do movimento de estoque da filial do depósito (filial 1) está fora do período de movimentação definido em Cadastros > Filiais > Parâmetros por Gestão > Estoques.") Mensagem(Retorna, "A data do movimento de estoque da filial do depósito (filial 1) está fora do período de movimentação definido em Cadastros > Filiais > Parâmetros por Gestão > Estoques."); x=y;
2.2. Na tela F070FES - Cadastros / Filiais / Parâmetros por Gestão / Estoques (Parâmetros da Filial para Estoques), verifique se o período de movimentação de estoque está fechado até a data desejada;
2.3. No exemplo apresentado, o período de movimentação de estoque está fechado até 31/12/2022;
2.4. No exemplo de regra, a SID Est.Movimentar é utilizada para apresentar uma mensagem em tela quando a data do movimento que será inserido no ERP é posterior à data final do período de movimentação de estoque;
2.5. Acesse a tela F000ERG - Recursos / Implementações / Regras / Executar (Executar Regra), informe o código da regra criada e clique no botão Executar.
Verifique que, após a execução da regra utilizando a SID Est.Movimentar, a mensagem é apresentada em tela.