49 lines
7.4 KiB
Markdown
49 lines
7.4 KiB
Markdown
# Composição financeira integrada — entrega local de 03/11/2026
|
|
|
|
Vendas/recebíveis, obrigação a fornecedor e correcção de custo directo passam a funcionar na mesma empresa/unidade, livro e período QA. Reutilizam exclusivamente os efeitos e workflows já autorizados. Não se criou outro motor nem um novo tipo de efeito financeiro.
|
|
|
|
Demonstração inicial preservada: **http://127.0.0.1:8057/qa/cost-demo**. O guia permite entrar como preparador, validador ou leitor e abrir o painel `/general-ledger/workspace`. Cada origem tem ligação ao seu percurso efectivo. A base/role são próprias no cluster isolado55439; a aplicação de destino e as demonstrações anteriores não foram migradas.
|
|
|
|
## Resultado funcional
|
|
|
|
| Origem | Percurso efectivo | Resultado final da regressão |
|
|
|---|---|---|
|
|
| Comercial/recebíveis | Factura de teste862,07+137,93=1000; abertura documental revista; recebimentos confirmados/afectados400 e600; reversão400; reconhecimento/afectações/reversão no mesmo writer | 4 lançamentos,9 linhas; bruto2400 por lado; saldo financeiro/conta cliente400 |
|
|
| Oficina/custo directo | Original100+175=275 validado e lançado; taxa material sucessora60 e cálculo120+175=295 validados; estorno275/substituição295 indivisíveis | 3 lançamentos,6 linhas; bruto845 por lado; saldo custo295 |
|
|
| Fornecedor | Recibo sintético controlado já reconhecido pelo núcleo Payables; reconhecimento contabilístico60, revisto distintamente | 1 lançamento,2 linhas; bruto60 por lado; obrigação financeira permanece60 |
|
|
| Conjunto | Uma conferência, revisão distinta e fecho QA no mesmo período | **8 lançamentos,17 linhas,3305MZN de débitos e créditos** |
|
|
|
|
Os IDs numéricos coincidem entre factura, ordem e obrigação; os filtros tipados continuam a separar os três domínios. A contabilização não desconta novamente os saldos financeiros. Factura/PDF, apontamentos, decisões de custo, original275, outbox e direitos mantêm-se imutáveis durante o percurso contabilístico.
|
|
|
|
## Painel e integração
|
|
|
|
`LedgerComposition` oferece cartões de origens e diário conjunto em transacção `REPEATABLE READ READ ONLY`, sem bloqueios de escrita. Cada painel, diário e lista de conferências tem página própria de25 registos. A navegação conserva os restantes filtros/páginas. As dependências e metadados são consultados em conjuntos delimitados pelos IDs da página; não se executa uma conferência completa por cartão nem se carrega o catálogo inteiro de contas.
|
|
|
|
Os cartões mostram decisões e lançamentos **registados**, sem os apresentar como nova validação de dependências. O principal de fornecedor está identificado como principal, não saldo. A conferência actual e a prévia do impacto continuam nos percursos das origens e nos comandos existentes. Fonte indisponível devolve503; acesso de origem ausente oculta o painel, sem linhas ou contagens. A consulta histórica do livro mantém o direito contabilístico próprio. Acções de período são ocultadas quando falta consulta a uma das origens.
|
|
|
|
O fecho não depende dos cartões ou da página visível: o serviço existente volta a conferir todas as fontes compostas. Recusa com perda de direito ou alteração de versão, incluindo sucessora295→295 com novas taxas/cálculo. Depois de remover a alteração de ensaio, a mesma operação termina uma única vez; repetições com mesma/outra chave não duplicam o fecho.
|
|
|
|
O instalador `SalesSchema` para **livros novos vazios** restringe três linhas ao tipo `sales.invoice`; os restantes efeitos conservam duas. A prova SQL adversarial cria, apenas dentro de rollback, uma proposta/revisão/cabeçalho coerentes de custo com crédito repartido em duas linhas: a soma é correcta, mas `gl_assert_balanced` recusa a terceira linha. Não se actualizaram os schemas das demos antigas. O escritor PHP e os efeitos aceites permanecem os mesmos.
|
|
|
|
## Provas dirigidas
|
|
|
|
Manifesto verificável: [common-ledger-composition-20261103.json](proofs/common-ledger-composition-20261103.json).
|
|
|
|
- `2d5c71abf625`:7 casos/37 verificações, todos em rollback: painéis, direitos revogados, contextos elegíveis de unidade/empresa/tenant diferentes,26 perímetros SQL explicitamente artificiais para páginas25+1, falha de fonte, guarda e cardinalidade SQL. Páginas com25 e1 registos usam igual número de consultas. As linhas sem cálculo permanecem pendentes, sem zero/aprovação fabricados.
|
|
- Mesma base de regressão, depois das provas de rollback:31 verificações do percurso efectivo completo, revalidação dos três domínios no fecho, mesma quantia com versão diferente, repetição/recuperação e reconciliação final.
|
|
- HTTP real em regressão aberta:36 verificações; regressão fechada independente `01aab3ebad2d`:35. Autenticação, CSRF, contexto/módulo, parâmetros, paginação, links, ausência de formas de decisão para leitor/período fechado e transacção de leitura sem bloqueios.
|
|
- Demo nova `fe42e1169ce6`:34 verificações de três perfis, links efectivos, entradas/contextos e quatro verificações do JavaScript renderizado em Node VM. Sem comandos de negócio. Impressão digital antes/depois dos dados/origens/outbox/direitos/livro confirma preservação.
|
|
- Total173 verificações dirigidas, incluindo os quatro ensaios de formulário simulados. Node VM e HTTP **não constituem revisão visual**. Sintaxe e `git diff --check` nos dois repositórios. Provas válidas de concorrência/falhas dos escritores, fornecedores nativos e pacotes congelados reutilizadas por hash; não repetidas.
|
|
|
|
Na demo8057 só o original275 está lançado. Factura1000 e obrigação fornecedor60 existem, mas abertura de recebíveis, lançamentos adicionais, par correctivo e fecho continuam por decisões individuais. As regressões completas usam bases diferentes. Não há reset automático.
|
|
|
|
## Limites e preservação
|
|
|
|
São quatro módulos compostos neste percurso: Comercial, Financeiro, Oficina e Contabilidade. Compras e Stock não foram activados. O recibo de fornecedor é uma origem controlada de ensaio, não ligação histórica SGF nem importação real. Orçamento/CIF industrial, stock valorizado, salários e cadeias adicionais de correcção não se tornam contabilizados por esta composição.
|
|
|
|
As primeiras três tentativas de instalação depois da restrição de cardinalidade falharam por sintaxe SQL e permaneceram diagnósticas; não são provas válidas nem foram reutilizadas/resetadas. A tentativa seguinte `b8be625f9a43` completou o percurso, mas um pós-teste usava nome de filtro incorrecto; a sua saída parcial não é contada como sucesso. As provas finais acima foram executadas em fixtures novas, com publicação do comprovativo só depois das verificações finais. Logs privados conservados, sem credenciais versionadas.
|
|
|
|
Seis associações protegidas, cache bloqueada, demonstrações anteriores e trabalho alheio preservados. Sem concessões reais/públicas, migração no destino, activação de Compras, publicação, aceitação ou checkpoint presumidos. Revisão visual, carga sustentada da composição e capacidade de implantação permanecem pendentes independentes. Os resultados pequenos de integração não demonstram capacidade operacional.
|
|
|
|
Continuação posterior expressamente autorizada e [entregue em bases novas: lote industrial/CIF1800](GENERAL_LEDGER_INDUSTRIAL_DELIVERY.md). A presente entrega e a demo8057 conservam o seu âmbito de três famílias de origem; a8058 acrescenta a ligação industrial. O manifesto anterior conserva o estado histórico à data da sua emissão.
|