Para limitar os registos que vão para a tabela "HistoricoObjetos" e evitar que movimentos da entidade "IMPRESSAO" sejam registados, mesmo sem o log ativo, pode-se adotar as seguintes abordagens:
- Reconfiguração do Log: Verifique as configurações do log no Administrador do Cegid Primavera. É possível ajustar os parâmetros para desativar o registo de operações específicas, como as relacionadas à entidade "IMPRESSAO". Certifique-se de que o log não esteja configurado para capturar todas as operações indiscriminadamente.
- Trigger na Base de Dados: Pode criar um trigger na tabela "HistoricoObjetos" que impeça a inserção de registos relacionados à entidade "IMPRESSAO". Exemplo de código SQL para criar o trigger:
CREATE TRIGGER TRG_HistoricoObjetos_RestrictIMPRESSAO ON HistoricoObjetos INSTEAD OF INSERT AS BEGIN IF EXISTS (SELECT1 FROM inserted WHERE Entidade = 'IMPRESSAO')
BEGIN PRINT 'Registo da entidade IMPRESSAO bloqueado.'
END ELSE BEGIN INSERT INTO HistoricoObjetos (ID, Entidade, APL, Operacao, Utilizador, Mensagem)
SELECT ID, Entidade, APL, Operacao, Utilizador, Mensagem FROM inserted END END
- Compactação e Limpeza: Caso já existam muitos registos indesejados na tabela, pode proceder à compactação e limpeza da tabela "HistoricoObjetos". Para isso, pode utilizar instruções SQL como:
DELETE FROM HistoricoObjetos WHERE Entidade = 'IMPRESSAO';
Certifique-se de fazer um backup da base de dados antes de executar esta operação.
- Desenvolvimento Adicional: Caso utilize extensibilidade ou desenvolvimento adicional, pode implementar lógica no código para evitar que operações da entidade "IMPRESSAO" sejam enviadas para o log.
Estas abordagens devem ser avaliadas conforme o impacto no sistema e as necessidades do cliente. Recomenda-se sempre realizar testes em ambiente de desenvolvimento antes de aplicar em produção.
Nota: Caso precise de suporte adicional ou de validação técnica, entre em contacto com o suporte da Cegid.
Esta resposta foi gerada pelo Cegid Pulse, com base na base na informação disponível em histórico.
Ajude-nos a melhorar esta funcionalidade:
• Se a resposta corresponde à sua questão, assinale-a com "Mark as best answer",
• Se a resposta estiver incorreta, dê-lhe um voto negativo e aguarde a resposta da comunidade.