Files
compras/docs/recepcao-documental.md
nala 63d20b10fc
tests / ci (push) Canceled after 0s
commit de armazens
2026-11-04 09:40:26 +02:00

3.0 KiB

Recepção documental — bloco R1

Entrega de 03/11/2026. O detalhe da recepção confirmada permite acrescentar uma guia, evidência de qualidade ou outro documento em PDF, JPEG ou PNG, até 2 MB. Apenas tipo e ficheiro são introduzidos: recepção, ordem, requisição, fornecedor, artigos e quantidades são reutilizados. O detalhe também liga ao processo de compra quando o utilizador pode consultá-lo.

A escrita respeita a competência nativa de recepção, a independência do emissor da ordem e a restrição de manutenção. A consulta segue o acesso nativo à recepção e a empresa activa. O armazenamento é privado; caminhos internos não são enviados à interface. A descarga confere o SHA-256 antes de transmitir o ficheiro, força transferência e impede cache. Não existem comandos de alteração ou eliminação dos metadados, também protegidos por triggers na base.

A chave de operação permite repetir uma submissão sem duplicar documentos ou auditoria. Uma nova submissão do mesmo conteúdo e tipo na mesma recepção reutiliza o documento e regista a reutilização. Conteúdo diferente é um novo documento: não substitui o anterior. Não existe deduplicação global entre recepções.

Uma falha normal de transacção elimina o ficheiro que ficou sem registo. Uma interrupção abrupta do processo pode deixar um ficheiro privado sem referência; não foi implementada limpeza automática desses ficheiros. O bloco O1, descrito em operacao-documentos-recepcao.md, acrescenta a detecção técnica sem remover conteúdo, com limites e incompletude explícitos. Este bloco não estabelece retenção geral, antivírus, assinatura digital, substituições de artigos, reabertura de qualidade nem cancelamento financeiro.

Validação e instalação

Prova: docs/proofs/receipt-block.json. Bateria integrada de ReceiptDocumentBlockTest e ReceiptStockTest: 36 testes aprovados/271 verificações. PostgreSQL descartável: 5 testes/78 verificações, base eliminada no final. Cobertura de repetição, autorização, isolamento entre empresas/recepções, ficheiros inválidos, rollback, imutabilidade, integridade e ausência de alteração de stock/aprovações. TypeScript, compilação de produção e PHPStan passaram. Sem revisão visual completa ou ensaio de carga.

A migração 2026_11_03_000002_create_receipt_documents.php foi instalada no piloto em 03/11/2026, com autorização expressa do proprietário. A cópia de recuperação foi restaurada numa base descartável e conferida em 113 tabelas; 112 tabelas de negócio foram preservadas. Armazenamento privado conferido com ficheiro técnico eliminado no final. Apenas esta migração foi executada: MFA permanece por activar. Não foram criadas contas, permissões, ordens, recepções ou documentos de negócio. Provas receipt-block-installation.json e receipt-block-installation-http.json; consulta HTTP por Administração, Armazém e Compras, sem revisão visual completa. Sem a tabela, instalações anteriores continuam a permitir a consulta da recepção.