OS 80962 - CORREÇÃO - SIS/WEB - RECEBIMENTO - RECEBIMENTO DUPLICADO NO KARDEX
Objetivo:
- Esta solicitação tem por objetivo ajustar a rotina
rotinaNota Fiscal – Efetivação aplica trava deimpressãoconcorrênciadoeespelhodegarantirstatus para impedir que dois usuários finalizem amesma:mesma- NF ao mesmo tempo
-
NãoEscopoalteraeoriscosstatuscobertos:de-
CANCELADASConcorrência
paraentreEMITIDAusuáriosaosobreimprimiraomesmaespelho.NF. MantémoMensagens
comportamentodecorretobloqueioparaporfaturasEfetivada/Cancelada/Integrada.EMITIDAS(sem efeitos colaterais).-
Garante que asituação reportadafoiAusência defato resolvidaduplicidade nodesenvolvimentoKardexfinal.e consistência de status. -
Regressão básica: grid, filtros, botão de efetivação e atualização do status.
faturas -
-
Situação reportada:
-
O usuário reporta que "
ConsigoOrealizarpessoal do compras identificou que um recebimento duplicou ocancelamentolançamentodeno Kardex com usuário diferente, porém no recebimento foi lançada apenas umafatura de locação normalmente, porém, caso eu precise do espelho dessa fatura cancelada, após clicar na opção (espelho da nota) a mesma volta paravez."EMITIDA".
Premissas:
- Necessário o ambiente estar atualizado com a versão do módulo
FaturamentoRecebimento de número122793XXXX Genexus 17 ou superior; Perfil com permissão de consulta e impressão de espelho.Ter faturas canceladas e emitas para validar.
Teste realizado após a atualização
Cenário 1 — ImprimirConcorrência espelhoentre dedois faturausuários: CANCELADAB efetiva; A tenta depois (bloqueio por “já Efetivada”)
Objetivo: garantir que a impressãPreparação do espelho não altera o status da nota.
Passos:
-
AcesseUsuário A e Usuário B acessam simultaneamenteFaturamento → Notas Fiscais → ConsultaNota Fiscal – Efetivação. Filtre porSérie = FATeStatus = CANCELADA.-
CliqueAmbos filtram e localizam a mesma NF (status pendente no grid).
Passos
-
Usuário B clica em
EspelhoEfetivarparaegerar/imprimirfinaliza oPDF. -
Em seguida (sem atualizar o A), Usuário A tenta
AtualizeEfetivar atela (F5) na consulta damesma NF.
Resultado esperado:esperado
-
StatusUsuárionaB:telaefetivaçãopermanececoncluída com sucesso. -
Usuário A:
CANCELADAmensagem “Nota Fiscal já foi Efetivada” e a NF não aparece mais pendente após Atualizar o grid. -
Kardex: 1 único lançamento referente à NF.
-
Log: uma efetivação (
nãousuáriomudaB),paratentativa do usuário A bloqueada por status.
Evidências
-
Print da mensagem ao Usuário A (
EMITIDA[Imagem 2]). -
Print do Kardex mostrando um lançamento.
-
Print do Log da NF (sucesso B, bloqueio A).
Cenário 2 — Regressão:Concorrência Imprimir“quase espelhosimultânea” de(cliques faturaao EMITIDAmesmo tempo)
Objetivo: confirmar que o ajuste não quebrou o fluxo normal para notas emitidas.
Pré-condição: selecionar uma NF EMITIDA série FAT com vazia (se necessário, emitir uma nova).
Passos:Passos
-
AcesseUsuários A e B tentam Efetivar aNFEMITIDAna consulta. Clique emEspelhoe gere o PDF.Reabra/atualize amesma NFnapraticamenteconsulta.
no mesmo instante.
Resultado esperado:esperado
-
StatusSomente um usuário conclui a efetivação. -
O outro recebe mensagem de bloqueio por “já Efetivada”.
-
Nenhuma duplicidade no Kardex (apenas 1 movimento).
-
Log sem “dupla efetivação”: registra 1 sucesso e 1 tentativa bloqueada.
Evidências
-
Print da mensagem de bloqueio ([Imagem 2]).
-
Print do Kardex (1 lançamento).
-
Print do Log (1 sucesso, 1 bloqueio).
Cenário 3 — Bloqueio por Cancelada
Preparação
-
Colocar a NF em status Cancelada (ou utilizar uma NF de homologação com esse status).
Passos
-
Usuário tenta Efetivar a NF cancelada.
Resultado esperado
-
Sistema exibe “Não foi possível efetuar a Efetivação da Nota Fiscal, pois a Nota Fiscal foi Cancelada.”
-
Sem movimentação gerada no Kardex.
-
Log registra tentativa bloqueada por status.
Evidências
-
Print da mensagem ([Imagem 3]).
-
Print do Kardex (sem novo lançamento).
-
Print do Log (tentativa bloqueada).
Cenário 4 — Bloqueio por Integrada no Contábil
Preparação
-
NF já Efetivada e Integrada.
Passos
-
Usuário tenta Efetivar novamente.
Resultado esperado
-
Sistema exibe “Nota Fiscal já Efetivada e Integrada no Contábil.”
-
Sem nova movimentação no Kardex.
-
Log registra tentativa bloqueada por status.
Evidências
-
Print da mensagem ([Imagem 4]).
-
Print do Kardex (sem novo lançamento).
-
Print do Log (tentativa bloqueada).
Cenário 5 — Atualização do grid após efetivação por outro usuário
Passos
-
Usuário B efetiva a NF.
-
Usuário A clica em Atualizar (ou recarrega o filtro).
Resultado esperado
-
A NF não aparece mais como pendente; botão de efetivação indisponível.
-
Sem duplicidade no Kardex.
Evidências
-
Print do grid atualizado (NF ausente).
-
Print do Kardex (1 lançamento).
Cenário 6 — Repetição de ação pelo mesmo usuário
Passos
-
Mesmo usuário que efetivou tenta efetivar novamente via grid/filtro.
Resultado esperado
-
Exibir mensagem de “já Efetivada”.
-
Sem novo lançamento no Kardex.
Evidências
-
Print da mensagem ([Imagem 2]).
-
Print do Kardex (sem novo lançamento).
Cenário 7 — Integridade do Kardex (pós-processo)
Passos
-
Acessar Kardex / movimentação do(s) item(ns) da NF.
-
Conferir quantidade/valor e chave de referência (NF/seq.).
Resultado esperado
-
Exatamente 1 movimento correspondente à NF.
-
Quantidade/valor conforme a NF; sem duplicidades.
Evidências
-
Print do Kardex com destaque do único movimento.
Cenário 8 — Log/Auditoria da NF
Passos
-
Abrir Log da NF.
-
Conferir a ordem dos eventos (chamadas da tela, tentativas de efetivação, efetivação concluída, bloqueios).
Resultado esperado
-
Uma efetivação concluída (usuário vencedor da concorrência).
-
Demais tentativas bloqueadas com mensagem e status coerentes.
-
Marcas de data/hora demonstram que a trava evitou duplicidade.
Evidências
-
Print do Log demonstrando o sucesso + bloqueios.
Observações finais
-
Se houver timeout/liberação automática da trava, validar que a trava é liberada ao finalizar ou ao sair da tela, e que não permanecem locks “fantasmas”.
-
Em caso de falha de rede durante a efetivação, validar que há rollback (sem lançamento parcial) e que a NF permanece
EMITIDApendente.

ATENÇÃO: As informações neste documento são meramente ilustrativas e utilizadas apenas para fins de teste.









