OS 92136 - CORREÇÃO - RECEBIMENTO - SISTEMA ESTÁ MISTURANDO OS ANEXOS NA HORA DE FAZER A PRÉVIA
Objetivo:
A correção implementada visa garantir que, após o ajuste de controle de concorrência na gravação de anexos do Lançamento Prévio de Nota Fiscal, o sistema impede que um mesmo código de arquivo seja atribuído a requisições simultâneas, garantindo que cada anexo permaneça vinculado exclusivamente à sua respectiva prévia, mesmo quando usuários distintos realizam o upload no mesmo instante.
Situação reportada.
-
-
Foi identificado que, em situações específicas de concorrência de usuários, o sistema estava atribuindo o mesmo código de arquivo a anexos enviados simultaneamente em lançamentos prévios distintos, ocasionando a vinculação incorreta de documentos.
Nesses casos, um arquivo anexado por um usuário em determinada prévia de nota fiscal era indevidamente associado à prévia de outro usuário, inclusive não pertencente ao mesmo fornecedor.
A ocorrência estava relacionada a, requisições de upload executadas no mesmo instante (mesmo milissegundo), gerando sobreposição na numeração do arquivo e comprometendo a integridade referencial dos anexos.Para correção, foi implementado um controle de concorrência na geração do código de anexo, garantindo que cada requisição receba uma numeração única, mesmo quando processada simultaneamente, evitando assim a mistura de anexos entre lançamentos prévios diferentes.
-
Premissas:
- Necessário o ambiente estar atualizado com as versões:
- Recebimento de número 129811 Genexus 17 ou superior;
- Script com a versão de número 129812 ou superior.
- Necessário ter a opção de lançamento prévio habilitado.
Teste realizado após a atualização
Cenário 01 — Upload simultâneo de anexos em prévias diferentes (concorrência de usuários)
Finalidade:
Validar que, em situação de concorrência (requisições simultâneas), o sistema gera numeração única de arquivo para cada anexo e mantém a integridade entre prévia e documento anexado.
Pré-requisitos:
-
Ambiente de testes atualizado com o ajuste final.
-
Dois usuários distintos (Usuário A e Usuário B).
-
Acesso ao módulo Recebimento > Lançamento Prévio Nota Fiscal.
-
Duas prévias distintas, preferencialmente de fornecedores diferentes.
-
Uso de um mecanismo de interceptação de requisições para liberação simultânea.
Passo a passo:
-
Acessar o módulo Lançamento Prévio Nota Fiscal com o Usuário A.
-
Em outra sessão (guia anônima ou navegador separado), acessar o mesmo módulo com o Usuário B.
-
Pelo Usuário A, selecionar a prévia X e abrir a tela de Anexos.
-
Pelo Usuário B, selecionar a prévia Y (diferente da X) e abrir a tela de Anexos.
-
Em ambas as sessões, clicar em Upload e selecionar arquivos distintos para cada prévia.
-
Ajustar o tipo do anexo (quando aplicável), sem confirmar em nenhuma das telas.
- Clicar em Confirmar no ambiente do Usuário A e, em seguida, em Confirmar no ambiente do Usuário B simultaneamente.
- Retornar à tela de anexos da prévia X.
-
Retornar à tela de anexos da prévia Y.
Resultado esperado:
-
A prévia X apresenta somente o arquivo anexado pelo Usuário A.
-
A prévia Y apresenta somente o arquivo anexado pelo Usuário B.
-
Não ocorre mistura ou duplicidade de anexos entre prévias.
-
Cada anexo recebe numeração distinta, mesmo em concorrência.
-
O sistema não apresenta erro de integridade ou inconsistência de dados.
Cenário 02 — Upload simultâneo por fluxos diferentes (Anexos da NF × Edição do Lançamento Prévio)
Finalidade:
Garantir que o controle de concorrência funcione corretamente independente do fluxo de anexação utilizado.
Pré-requisitos:
-
Mesmo ambiente e usuários do Cenário 01.
-
Duas prévias distintas disponíveis para teste.
-
Uso de mecanismo de interceptação de requisições para simulação de concorrência.
Passo a passo:
-
Com o Usuário A, acessar a prévia X e abrir os anexos pelo popup/lista de anexos da Nota Fiscal.
-
Com o Usuário B, acessar a prévia Y e abrir os anexos pela tela de edição do lançamento prévio.
-
Selecionar arquivos diferentes em cada fluxo e deixar ambos prontos para confirmação.
- Clicar em Confirmar no fluxo do Usuário A e Clicar em Confirmar no fluxo do Usuário B simultaneamte.
- Aguardar o processamento e retornar às telas do sistema.
-
Validar os anexos da prévia X.
-
Validar os anexos da prévia Y.
Resultado esperado:
-
Cada prévia mantém apenas os anexos inseridos em seu respectivo fluxo.
-
Não ocorre reaproveitamento de código/numeração de arquivo.
-
Os dois fluxos concluem com sucesso, sem erro ou sobreposição de dados.
-
O comportamento atende ao ajuste implementado para controle de concorrência.

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







