Pendencias Integracao: mudanças entre as edições
De Merito Wiki
| 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_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:
- Encerrar cada comando com
;. - Usar aspas duplas quando necessário.
- Garantir que todos os comandos sejam executados na mesma transação.
- 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
UPDATEnã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
- Tentar deletar na matriz usando "Gerar Exclusão".
- Se não houver erro de chave estrangeira:
- Deletar na matriz.
- Inativar na unidade a placa que veio da matriz.
- Se houver erro de chave estrangeira:
- Inativar na matriz.
- Deletar na unidade.
- Executar um
UPDATEnas notas que usaram a placa para apontar para o ID da matriz.
- Se não houver erro de chave estrangeira:
- Escolher a base com menos registros para deletar/inativar. Geralmente a unidade é a melhor opçã