Files
SGF/docs/SGF_STOCK_RECEIPT_TRACE.md
2026-11-04 09:37:20 +02:00

4.4 KiB

Movimento de Stock → recepção de origem — 03/11/2026

SGF-STOCK-RECEIPT-TRACE-QA-v1 acrescenta a conferência documental a partir do movimento físico. Em Stock → Existências → Movimentos, uma entrada por recepção pode apresentar Conferir recepção em Compras. O clique pede explicitamente a mudança de módulo pelo mecanismo de contexto existente, preservando empresa/unidade e a protecção de formulários por guardar.

A indicação só aparece quando a composição a disponibiliza e a pessoa tem os direitos existentes stock.view e purchasing_receipts.view. Não há nomes de direitos ou concessões reais novos. A nova opção QA está desactivada por omissão.

Conferência no destino

O browser transmite apenas o ID do movimento. Depois de mudar para Compras, um GET autorizado resolve a recepção e a ordem reais. O controlador confere novamente ambos os direitos, contexto, perfil pessoa/empresa/unidade, livro físico, tenant, armazéns explicitamente mapeados e políticas nativas de consulta. Confere ainda linha de recepção, quantidade aceite, artigo, armazém e ID da fotografia original. Pais enviados por query string são recusados.

O resultado contém apenas IDs exactos e um endereço local de consulta. A interface abre o histórico da recepção pelos mecanismos existentes, mesmo quando não está na primeira página. Origem recusada, resposta atrasada, parâmetros ambíguos ou pai incompatível não seleccionam outro documento nem preparam uma operação.

O leitor de Stock continua com SELECT somente nas suas três tabelas. A resolução documental usa o ReceiptRuntime existente de Compras e as suas políticas/bloqueios; não alarga a conta técnica de Stock. O writer, a confirmação de recepções, os leitores comuns, a função de navegação aceite e o mecanismo de alteração de contexto permanecem preservados.

Provas e demonstração

Prova consolidada: 46 verificações incrementais — 16 da consulta/preservação, 20 de interface e dez da demonstração. Uma guarda de desactivação é chamada directamente; não é prova de middleware. As 41 verificações da ligação física anterior foram reutilizadas, não repetidas nem somadas.

O ensaio positivo reutilizou uma aplicação/sessões novas sobre o livro QA já concluído: mesmo movimento, recepção e ordem, sem criar outra origem. Conferiu recusa de módulo/unidade/permissão/contexto antigo, IDs desconhecidos e substituição de pais. Um erro no teste comparava instâncias de objectos de sequência pela identidade; foi corrigido para comparar valores serializados. As 14 verificações já aprovadas foram conservadas; o sufixo observou novamente ambas as APIs e comprovou 31 tabelas do host, 111 nativas e respectivas sequências intactas.

Os testes de interface verificaram a selecção explícita de módulo antes da navegação, âmbito exacto, recusas, respostas atrasadas, botão React efectivo e arranque do workspace com DOM simulado. Não constituem revisão visual. O build Vite passou.

Nova demonstração 8084: http://127.0.0.1:8084/qa/enter/validator?module=stock&open=1. Começa sem operações principais, recepções ou movimentos. A prova HTTP verificou o POST real de escolha de módulo, renovação do token, recusa do token antigo e de uma origem inexistente, assets servidos e preservação física/direitos. A única entrada de auditoria acrescentada é a selecção de contexto já prevista. Um erro de nome da tabela de auditoria no harness foi corrigido antes dessa alteração de contexto. A correlação positiva usa o livro concluído; não se apresenta a demonstração vazia como um percurso de negócio já executado.

Limites

A passagem abrange entradas receipt_in do writer actual com fotografia coerente. Não infere origens históricas, saídas, devoluções ou transferências. Esses movimentos continuam consultáveis, sem atalho documental inventado.

A consulta documental reutiliza os bloqueios do runtime de Compras; este incremento não prova redução de contenção ou capacidade de carga. Revisão visual, acessibilidade, carga sustentada, instalação operacional e capacidade de implantação continuam pendentes. Não houve movimento novo, valorização, pagamento, lançamento, activação de Compras ou publicação.

Preservados os seis registos, a cache bloqueada, demonstrações anteriores, provas, checkpoints e trabalho alheio. Sem aceitação ou checkpoint presumidos.