5.8 KiB
Pesquisa integral de fornecedores para propostas
03/11/2026. SGF-SOURCING-SUPPLIER-SEARCH-QA-v1. Resolve a limitação funcional dos100primeiros fornecedores no formulário de propostas: pesquisa por nome/NUIT e páginas no servidor, com escolha individual e versão do fornecedor conferida na confirmação. Reutiliza os direitos, isolamento e workflow originais; sem novo motor de propostas ou financeiro.
Demonstração8073
Solicitante prepara/submete uma requisição1UN/100MZN; chefia aprova distintamente. Compras abre o processo em Propostas, pesquisa nome ou NUIT, percorre páginas e escolhe expressamente. Pesquisar 900000110 encontra o exemplo além do antigo limite. Mudar de página/pesquisa limpa a escolha e a prévia; nenhum resultado é seleccionado automaticamente.
Esta nova composição conserva o percurso integrado de8072. Começa sem requisições/operações principais; fornecedores e orçamento QA são preparação explícita. Acrescenta127linhas artificiais de directório e marcadores de origem apenas na fixture nova, incluindo casos negativos. São125fornecedores admissíveis neste contexto, contando os três originais. Não são novos cadastros reais ou130revisões comerciais executadas.8072 e demonstrações anteriores ficam intactas.
Implementação
GET /api/purchasing-sourcing/requests/{id}/suppliers: direito existentepurchasing_sourcing.prepare, função nativa elegível e acesso à requisição actual. Não basta poder consultar avaliações. Valida parâmetros, usa pesquisa literal por nome/NUIT, ordenação por nome/ID e páginas25ou100 no SQL; não carrega todo o directório para o navegador.- Preserva
SupplierAccess: fornecedores explicitamente ligados ou com origem auditada da empresa/unidade actual. Filtra activos, não bloqueados e com revisão não vencida. As regras nativas continuam a recusar IDs forjados na proposta, mesmo que alguém contorne o selector. - A resposta contém apenas ID, nome, NUIT, versão e impressão da selecção; não devolve contactos, dados bancários ou diligências. A interface pede a página actual, mantém escolha explícita e protege contra respostas fora de ordem, falha de rede e saída do processo.
- A prévia captura a impressão actual do fornecedor. A interface envia também a impressão que o utilizador escolheu; alteração desde a pesquisa exige nova selecção. Antes de criar uma proposta, a confirmação volta a conferir o fornecedor, permissões, origem e versão do processo. O novo metadado é retirado antes de chamar o controlador original de propostas, preservando validação/preços.
- A impressão efectivamente conferida entra na proveniência do comando SGF, na mesma transacção. Recibo de uma confirmação já registada continua recuperação histórica sem nova execução; não é uma segunda proposta baseada em cadastro actualizado.
- Compatibilidade: clientes directos anteriores podem omitir a impressão ao pedir prévia, mas a prévia nova captura-a sempre e a confirmação exige correspondência. O resumo
suppliersda consulta antiga fica limitado a25; não representa o directório completo. O formulário actual usa o endpoint paginado.
Verificação
Prova consolidada: 51 verificações — API31, guardas3, comportamento assíncrono da escolha8, demonstração6 e build/assets3. Cinco páginas25 e duas páginas100/25 cobriram os mesmos125fornecedores, sem sobreposição. Pesquisa por NUIT atingiu o exemplo além100; % e _ foram tratados literalmente.
Fornecedores bloqueados, suspensos, com revisão vencida, sem origem autorizada, de outra unidade ou tenant foram excluídos/recusados. Direitos revogados, módulo incorrecto, contexto indevido, versão de selecção adulterada e alteração do fornecedor após prévia foram recusados. Alterações de versão/bloqueio nestas sondas são injecções QA delimitadas e restauradas, sem alterar uma decisão comercial real.
O fornecedor escolhido gerou uma única proposta pelo controlador original. Duas confirmações simultâneas devolveram201/200, com uma proposta/linha e recuperação idempotente. Pesquisa/prévia não criaram proposta persistente; não foram criadas ordens, facturas, obrigações, pagamentos ou localizações por consequência da escolha.
As provas individuais e do percurso integrado anterior foram preservadas, sem repetir as suites posteriores de adjudicação, recepção ou contabilidade. Sem ligações à base de destino, alteração dos seis registos, limpeza da cache bloqueada, concessões públicas/reais, activação de Compras, publicação, aceitação ou checkpoint.
A matriz conferida conserva seis módulos,13estágios e106critérios documentados. A inspecção estática actualizada inclui os módulos JavaScript públicos do selector; presença de fontes não equivale a prova operacional. Passaram8verificações de sintaxe PHP,9de JavaScript e git diff --check.
Limitações
Este incremento resolve alcance e escolha do directório, não é medição de carga sustentada. Não cria índices no destino. Os ensaios usam apenas bases sintéticas novas e o pacote nativo fixado anteriormente; instalação geral e separação de proprietário/runtime não estão validadas.
Revisão visual permanece separada, sem repetir o navegador bloqueado. Pagamentos/contabilidade da nova origem, migração dos antigos ir_requests, regimes/correcções posteriores e anexos mantêm os seus âmbitos próprios. O produto completo e a capacidade de implantação não são declarados concluídos.