Pendencias Integracao: mudanças entre as edições

De Merito Wiki
Ir para: navegação, pesquisa
Linha 23: Linha 23:
* Esse procedimento força atualização e habilita permissões temporárias para corrigir o estoque.
* Esse procedimento força atualização e habilita permissões temporárias para corrigir o estoque.


== Produto com valor (BK) já existente ==
== Produto_vlr (BK) já existente ==
* Ao tentar deletar e receber erro de que o registro está em uso:
* Tentar deletar usando "Gerar Exclusão"
** Identificar o '''id_valor''' informado no erro.
* Se Ao tentar deletar e receber erro de que o registro está em uso:
** Executar:
** Identificar o '''id_valor''' informado no erro(o id entre parenteses).
** Executar antes do delete do Produto_vlr com o id do erro :
<pre>
<pre>
DELETE FROM etqprod_vlrhist  
DELETE FROM etqprod_vlrhist  

Edição das 20h53min de 13 de agosto de 2025

Procedimento para Execução de SQLs com Alteração

Regra geral: Sempre que for executar um SQL que altere dados, rodar pelo erro (ferramenta de execução em transação) seguindo as regras abaixo:

  1. Encerrar cada comando com ;.
  2. Usar aspas duplas quando necessário.
  3. Garantir que todos os comandos sejam executados na mesma transação.
  4. Em caso de erro, a transação será revertida (rollback automático).

cpagardoc — Inativar

  • Apenas inativar o registro.
  • Observação: Não vale a pena buscar os dados da matriz para corrigir (mesmo sendo o “correto”).

Produto com estoque negativo

UPDATE tabemp 
SET cod = cod 
WHERE cod = 1;

SET merito.usuario_master = 'true';
  • Esse procedimento força atualização e habilita permissões temporárias para corrigir o estoque.

Produto_vlr (BK) já existente

  • Tentar deletar usando "Gerar Exclusão"
  • Se Ao tentar deletar e receber erro de que o registro está em uso:
    • Identificar o id_valor informado no erro(o id entre parenteses).
    • Executar antes do delete do Produto_vlr com o id do erro :
DELETE FROM etqprod_vlrhist 
WHERE id_valor = {id_do_erro};
  • Isso remove o histórico de valor, permitindo a atualização correta.

UPDATE sem linhas afetadas

  • Se um UPDATE não afetar nenhuma linha:
    • Abrir a engrenagem (detalhes do log).
    • Verificar se o INSERT foi executado antes do UPDATE.
  • Esse problema não deve mais ocorrer, mas ainda vale verificar.

Placa duplicada (matriz e unidade)

Cenário: Uma placa cadastrada tanto na matriz quanto na unidade.

Procedimento

  1. Tentar deletar na matriz usando "Gerar Exclusão".
    1. Se não houver erro de chave estrangeira:
      1. Deletar na matriz.
      2. Inativar na unidade a placa que veio da matriz.
    2. Se houver erro de chave estrangeira:
      1. Inativar na matriz.
      2. Deletar na unidade.
      3. Executar um UPDATE nas notas que usaram a placa para apontar para o ID da matriz.
  2. Escolher a base com menos registros para deletar/inativar. Geralmente a unidade é a melhor opçã