Files
compras/packages/purchasing/README.md
T
2026-11-02 08:08:05 +02:00

2.6 KiB

Purchasing: fonte única de capacidades transferíveis

A origem deste pacote é Compras. O SGF recebe artefactos versionados desta origem, sem depender da pasta de desenvolvimento de Compras e sem manter outra implementação.

Capacidades extraídas: projecção de reposição (consumo manual/histórico racional, reservas, entregas confirmadas, necessidades satisfeitas e validade de lotes), descontos unitários antes do IVA e pontuação comparativa exacta das propostas. Não lêem bases, movimentam stock, emitem documentos ou adjudicam. Conservam as convenções e unidades do percurso Compras. Requerem Carbon 3 e Brick Math já presentes nos dois hosts; não substituem dependências.

O host continua responsável por autorizações, conflitos, elegibilidade, avaliações válidas, política aplicada, mínimos de propostas e decisão independente. ProposalScoring recebe apenas essa projecção e devolve pontuações/todos os empates; não escolhe um vencedor nem declara o processo pronto. A fachada de preços de Compras traduz os erros de domínio para os mesmos erros de formulário anteriores. Nenhuma interpretação fiscal ou regra de emissão do SGF é substituída por estes cálculos de propostas.

Os restantes percursos de Compras ainda não fazem parte deste pacote. A presença do pacote não equivale a transferência integral, integração de utilizadores/empresas, concessão de permissões ou activação de módulos comerciais. O SGF não recebe contratações de pessoas para terceiros.

Após melhorias neste pacote, publicar pelo mecanismo purchasing-release.php. O manifesto regista versões e hashes; o SGF confere e instala os mesmos bytes. Nunca editar uma versão distribuída no SGF: corrigir a origem e publicar uma versão seguinte.

Percurso verificado no desenvolvimento: composer purchasing:transfer -- <instalação-SGF> <canal-de-versões>. Executa testes na origem, prova a fotografia candidata, publica uma nova versão apenas se houver alterações e usa o PHP fixado pelo SGF para conferir a candidata antes da activação. Repetir sem melhorias não reinstala código. Clientes recebem o ZIP e a referência SHA-256 por canal de distribuição de confiança e não precisam do checkout de Compras.

Este contrato não executa migrações nem substitui dependências, dados, acessos ou configuração empresarial. Pacotes que peçam alterações de base de dados são recusados até existir um contrato de migração ensaiado. Versões de código anteriores permanecem disponíveis para reversão explícita. A activação de módulos adquiridos e as permissões continuam sob a configuração e os mecanismos de acesso da instalação.