commit3
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# Menus de Contabilidade
|
||||
|
||||
29/10/2026. Acrescentada a navegação do documento `Menus de contabilidade.docx` ao SGF existente. A entrega é de menu, organização funcional e ligações autorizadas; **não implementa contabilidade geral ou demonstrações financeiras**.
|
||||
|
||||
## Fonte e âmbito
|
||||
|
||||
Pedido expresso «acrescentar», na sequência dos menus de Facturação, Oficinas e Stock. Fonte lida: `C:/Mac/Home/Documents/TEMPO/Portal Tempo/Servicos Tempo/ERP TEMPO/Menus de contabilidade.docx`, 186 blocos de texto/tabelas, original preservado.
|
||||
|
||||
O documento foi tratado como referência funcional. As recomendações comerciais sobre Odoo/Cegid, a proposta de contratar demonstrações e a matriz Gestor/Contabilista/Tesoureiro não foram executadas como instruções do responsável. Não foram adoptadas afirmações de conformidade, verificadas ofertas de terceiros, contactados fornecedores ou atribuídas permissões por perfil. As fontes/regras fiscais já aceites no projecto mantêm os seus âmbitos e versões.
|
||||
|
||||
## Disponibilidade
|
||||
|
||||
Abrir **http://127.0.0.1:8002/avaliar**, escolher **Preparar e gerir** e abrir **Contabilidade e fiscalidade**.
|
||||
|
||||
| Área | Conteúdo acrescentado | Ligação ao existente / limite |
|
||||
| --- | --- | --- |
|
||||
| Painel contabilístico | Encaminhamento para as cinco áreas e percursos já disponíveis. | Sem indicadores ou contagens fictícias de pendências/fecho. |
|
||||
| Trabalho diário | Lançamentos; modelos e recorrências; origem documental. | Não há motor de lançamentos. Liga aos rascunhos e obrigações apenas com autorização da unidade actual. |
|
||||
| Conferência | Conferência/reconciliação; auditoria/arquivo. | Liga ao recebimento simulado e ao histórico de classificação quando autorizados; não os apresenta como razão ou auditoria contabilística agregada. |
|
||||
| Análise | Balancetes/extractos, analítica e demonstrações; catálogo de 24 relatórios com pesquisa e filtro por área. | Todos os relatórios são definições, não resultados gerados. Orçamento industrial mantém âmbito distinto. |
|
||||
| Fecho | Operações de fecho e períodos/bloqueios. | Sem execução de ajustamentos, fecho ou reabertura. Os bloqueios de emissão fiscal não são bloqueios de período contabilístico. |
|
||||
| Configuração | Plano de contas, diários e ligação à fiscalidade existente. | Reutiliza classificação de planos/contas e respectivas decisões; não cria diários, plano integral ou regras fiscais por arrasto. |
|
||||
|
||||
As onze funções detalhadas, mais o painel, cobrem as doze entradas funcionais do documento sem multiplicar grupos laterais. Classificação contabilística e Perfis fiscais do serviço permanecem acessíveis directamente e com as mesmas permissões.
|
||||
|
||||
O catálogo contém balancete, razão/extractos, diário, balanço, resultados, fluxos de caixa, alterações no capital próprio, anexo, clientes, fornecedores, caixa/bancos, reconciliação bancária, previsão de tesouraria, pagamentos/aprovações, IVA, retenções/obrigações, salários, activos/depreciações, centros de custo/projectos, orçamento/realizado, inventário/valorização, moeda estrangeira, fecho e auditoria. Os resultados da pesquisa são **definições de relatórios**, nunca consultas de movimentos. Não há geração, PDF ou exportação fictícia.
|
||||
|
||||
## Preservação e autorização
|
||||
|
||||
- `app/Modules/Services/CatalogueAccounting.php`, `resources/js/CatalogueAccountingWorkspace.jsx` e os endpoints `/api/catalogue-accounting` continuam responsáveis pelas propostas, decisões e resoluções existentes. Não foram modificados.
|
||||
- `resources/js/ServiceFiscalWorkspace.jsx` e o seu tratamento de perfis permanecem separados.
|
||||
- Recebimentos, obrigações e orçamento industrial são apenas ligações condicionais às concessões existentes, sem equivalência a diário, razão, pagamento bancário ou analítica contabilística completa.
|
||||
- Consulta de empresa/classificação/perfis permite ver o mapa informativo; não cria direitos operacionais contabilísticos. Os botões de acesso ao existente exigem a permissão exacta e, quando aplicável, a unidade activa. Administração técnica não dá acesso financeiro por inferência.
|
||||
- A apresentação não lê saldos, dados bancários, salários ou auditoria agregada. Não há API contabilística nova. Os componentes são reiniciados quando mudam concessões/contexto, preservando isolamento.
|
||||
- Lucro, liquidez e previsão são distintos. Vencimento desconhecido não é atraso zero. Documento, obrigação, liquidação e lançamento não se substituem.
|
||||
|
||||
## Ficheiros e provas
|
||||
|
||||
Novos: `resources/js/accounting-menu.js`, `resources/js/AccountingMenuWorkspace.jsx`, `scripts/accounting-menu-check.mjs`, `docs/proofs/accounting-menu.json`. Montagem em `resources/js/app.jsx`; grupo lateral em `resources/js/WorkspaceNavigation.jsx`; apresentação responsiva em `resources/css/app.css`.
|
||||
|
||||
O check verifica seis entradas, onze funções, 24 definições de relatório, pesquisa por texto/área, ausência de permissão, conta sem administração implícita, ligações de unidade diferente recusadas, contexto de empresa e ausência de formulários/valores financeiros fictícios. Os checks anteriores de início/navegação e Stock foram executados para regressão. Compilação Vite aprovada, sem alterações de manifests de dependências ou lockfiles.
|
||||
|
||||
São provas técnicas de renderização estática e compilação. **Não foi realizada nova revisão visual/interactiva**, não foram gerados relatórios financeiros nem executadas operações de negócio ou testes destrutivos na demonstração. O catálogo não recebe estado Demonstrado por estar visível.
|
||||
|
||||
Pendentes: motor de lançamentos e diários, razão, balancetes, demonstrações, analítica por movimentos, activos/depreciações, reconciliação contabilística/bancária, períodos e fecho, fiscalidade operacional e exportações autorizadas. A sua execução exige incrementos próprios sobre origens e capacidades comuns, sem duplicar obrigações, stock ou orçamento.
|
||||
|
||||
Sem novas contas/concessões, bases ou migrações, dependências, publicação, push ou checkpoint de encerramento. A recuperação da conta em `sgf.tempo.co.mz` não é resolvida nem presumida por esta navegação local.
|
||||
@@ -0,0 +1,77 @@
|
||||
# Menus de facturação e oficinas
|
||||
|
||||
29/10/2026. Implementação local da navegação solicitada, reutilizando os percursos existentes. Não declara implementadas todas as funções descritas nos documentos Word, não altera acessos e não resolve a recuperação da conta pública.
|
||||
|
||||
## Fontes e âmbito autorizado
|
||||
|
||||
- Pedido expresso «implementar o menu de facturacao», com `C:/Mac/Home/Documents/TEMPO/Portal Tempo/Servicos Tempo/ERP TEMPO/Menu Facturação.docx`. SHA-256 do original lido: `f2d59d8e31892602764598f310518a265d54ed796db96b015b858d43e669c784`.
|
||||
- Documento `Menu para software de gestão de oficinas.docx`, no mesmo directório. O responsável confirmou «sim» à pergunta de implementar também o menu de oficinas depois de facturação.
|
||||
- Os documentos foram lidos como referências funcionais. A sua proposta de operações, perfis e regras fiscais não foi tratada como autorização para emitir documentos reais, atribuir concessões, executar pagamentos, publicar ou implementar todos os motores de domínio.
|
||||
- Preservados os percursos e alterações anteriores de serviços, oficinas, custos, recebimentos, orçamento e obrigações. Nenhum motor financeiro foi copiado ou reimplementado.
|
||||
|
||||
## O que fica utilizável
|
||||
|
||||
Abrir **http://127.0.0.1:8002/avaliar**, escolher **Preparar e gerir** e abrir **Facturação** ou **Oficinas**. A entrada já existente não exige palavra-passe. Os perfis técnicos mostram apenas os destinos permitidos pelas concessões actuais.
|
||||
|
||||
| Menu | Comportamento entregue | Limite identificado |
|
||||
| --- | --- | --- |
|
||||
| Todos os documentos | Consulta conjunta das facturas de teste e rascunhos autorizados; pesquisa por referência, cliente e NUIT quando preservado; filtros de tipo, moeda, série, estado documental, autor quando registado e intervalo de emissão; limpeza de filtros. | Não é um novo repositório documental. Não agrega moedas nem infere saldo/atraso. Os tipos futuros não aparecem como documentos fictícios. |
|
||||
| Facturas | Lista das facturas de teste; abrir fotografia imutável, ver pedidos de correcção existentes e descarregar o PDF de teste já preservado. | Sem emissão real, envio ou edição da fotografia. |
|
||||
| Facturas-recibo | Entrada com explicação de capacidade ainda não disponível. | Não une factura e recebimento automaticamente. |
|
||||
| Recibos | Entrada que distingue documento fiscal ainda ausente do percurso de recebimentos/afectações já existente; ligação apenas quando autorizada. | Recebimento confirmado não é apresentado como recibo fiscal emitido. |
|
||||
| Notas de crédito | Entrada com limite explícito e ligação aos pedidos de correcção existentes, quando autorizada. | Um pedido de correcção não altera dívida, stock ou dinheiro nem constitui nota de crédito. |
|
||||
| Orçamentos de facturação | Entrada comercial identificada como ainda não disponível. | Não equivale a controlo orçamental de Compras nem a orçamento industrial. |
|
||||
| Rascunhos | Editor e histórico existentes, pesquisa por referência/designação/cliente e ligações aos restantes submenus. A acção Novo documento abre a preparação existente por prestação de origem, sem emitir. | Não foi substituído pelo formulário integral das secções 6.1–6.12 do Word. |
|
||||
| Configuração documental | Preparação documental, apresentação do rascunho e séries/emissão de teste mantidas em grupo próprio. | Preserva os caminhos existentes em vez de os remover para acomodar os sete submenus. |
|
||||
|
||||
### Oficinas
|
||||
|
||||
| Entrada | Comportamento entregue | Capacidade por desenvolver |
|
||||
| --- | --- | --- |
|
||||
| Painel da oficina | Lista pesquisável de ordens autorizadas e estado efectivamente registado; abertura da ordem seleccionada. | Indicadores de entradas/entregas, agenda e alertas sem fonte não são apresentados como zero. |
|
||||
| Clientes | Ligação ao cadastro existente, só com `clients.view`. | Conta corrente e histórico integral de manutenção não são acrescentados. |
|
||||
| Equipamentos | Identificação, descrição, série e ligações às ordens visíveis, sem duplicar a identidade do equipamento. | Cadastro independente, tipos, características técnicas e documentos de recepção/entrega ainda não estão entregues. |
|
||||
| Agendamentos | Informação explícita de indisponibilidade. | Calendário, disponibilidade e lembretes. |
|
||||
| Orçamentos de oficina | Informação explícita de indisponibilidade e ligação às autorizações de trabalho existentes. | Documento comercial e aprovação do cliente por versão. |
|
||||
| Ordens de serviço | Reutiliza abertura, atribuição, tarefas, autorização, tempos, materiais, verificação e histórico já existentes; conserva a ordem escolhida na ligação da lista. | Não substitui os estados de apontamentos pelas fases operacionais futuras propostas no Word. |
|
||||
| Peças e stock | Distingue apontamentos materiais de stock e encaminha para a consulta existente. | Reservas, mínimos, inventário e movimentos de stock da oficina. |
|
||||
| Compras e fornecedores | Declara a composição ainda não integrada; liga aos percursos já disponíveis no contexto, apenas se autorizados. | Não duplica Compras nem cria integração remota. |
|
||||
| Facturação e caixa | Liga a facturas, rascunhos, oficina → rascunho e recebimentos de teste conforme direitos. Oculta esta entrada ao perfil técnico sem direitos financeiros. | Caixa, despesas e fecho não são simulados. |
|
||||
| Equipa | Consulta de ordens/responsáveis e ligação ao registo existente de horas. | Cadastro de pessoal, horários e disponibilidade. |
|
||||
| Relatórios | Consulta actual de ordens, com pesquisa e filtro de estado. | Exportações, margens e relatório diário fechado/corte ainda não implementados. |
|
||||
| Configurações | Ligações autorizadas à empresa, acessos, serviços, apresentação documental e perfis fiscais existentes. | Não transforma Administrador/Gestor/Recepcionista do documento em concessões universais. |
|
||||
|
||||
As entradas comerciais Oficina → rascunho e Correcção/cancelamento comercial permanecem acessíveis. A correcção comercial existente não é apresentada como cancelamento da ordem operacional.
|
||||
|
||||
## Preservação e permissões
|
||||
|
||||
As consultas usam os endpoints existentes `/api/service-invoices`, `/api/service-invoices/{id}`, `/api/a/billing_drafts` e `/api/workshop`. Não houve novas rotas de negócio, schema ou concessões. Isolamento, atribuição de ordens ao técnico e autorização de acções continuam no servidor.
|
||||
|
||||
O menu filtra consulta por empresa/contexto e unidade. As novas áreas são remontadas quando as concessões mudam para não conservar consultas de permissões anteriores. Respostas de um contexto abandonado são descartadas. Erros de fonte são apresentados como consulta indisponível; não são convertidos em zero documentos ou ordens.
|
||||
|
||||
Os totais das facturas são copiados de `snapshot.calculation.total_document_proposed`. Não se executam cálculos fiscais nem arredondamentos. A base aritmética do rascunho conserva a precisão e não é rotulada como total fiscal. Sem fonte de saldo/vencimento, a lista apresenta a ausência e remete ao percurso financeiro; não calcula atrasos nem presume pagamento. Os filtros de vencimento/estado financeiro e os dados de autor inexistentes nas fontes actuais ficam por completar, sem datas/identidades inventadas.
|
||||
|
||||
## Código alterado
|
||||
|
||||
- `resources/js/billing-menu.js`: mapa de sete entradas, autorização e modelos de consulta/filtros sem efeitos financeiros.
|
||||
- `resources/js/BillingMenuWorkspace.jsx`: lista, pesquisa, filtros, fotografia documental/PDF e informação dos tipos em falta.
|
||||
- `resources/js/workshop-menu.js`: mapa de doze entradas, autorização, filtros e reutilização da identidade de equipamento.
|
||||
- `resources/js/WorkshopMenuWorkspace.jsx`: painel, consulta de equipamentos/ordens e ligações autorizadas.
|
||||
- `resources/js/WorkspaceNavigation.jsx`: organização dos dois grupos e preservação da configuração documental.
|
||||
- `resources/js/app.jsx`: montagem e selecção dos percursos/registos existentes.
|
||||
- `resources/js/ServicesWorkspace.jsx`: acesso à preparação existente a partir de Novo documento, pesquisa dos rascunhos e navegação contextual.
|
||||
- `resources/js/WorkshopWorkspace.jsx`: navegação contextual e abertura da ordem seleccionada, sem alteração das operações.
|
||||
- `resources/css/app.css`: disposição responsiva dos submenus/filtros e scroll próprio das tabelas.
|
||||
- `scripts/billing-menu-check.mjs`, `docs/proofs/billing-menu.json`: verificação dos dois menus e leitura da demonstração existente.
|
||||
|
||||
## Provas e limites
|
||||
|
||||
Compilação Vite aprovada. Passaram os checks de navegação/início existentes e o check orçamental de representação monetária e unidade. O novo check cobre sete entradas de facturação, doze de oficinas, ausência de permissão, unidade diferente, ocultação financeira ao técnico, pesquisa por cliente/NUIT/equipamento, combinação de filtros, valores exactos, datas/saldos desconhecidos e falha parcial de fonte.
|
||||
|
||||
Na demonstração sintética persistente em 8002, o teste HTTP autenticou pela entrada de avaliação já existente e consultou **uma factura, dois rascunhos e uma ordem**. Os valores documentais mantiveram-se iguais às fotografias. Sem criação de documentos, ordens, pagamentos ou efeitos orçamentais; apenas sessão/contexto e auditoria de entrada/saída. Não se executou a bateria destrutiva sobre a base da demonstração.
|
||||
|
||||
São provas técnicas de renderização estática, HTTP e compilação. **Não foi realizada revisão visual/interactiva no navegador**, nem se presume aceitação. Os scripts inicialmente interrompidos durante a leitura HTTP foram repetidos com fecho explícito das ligações e limite de espera; a execução final passou. Nenhum bloqueio de ferramenta foi contornado.
|
||||
|
||||
Permanecem por implementar as restantes funções descritas nos Word: formulário integral/simplificado de factura, novas condições/prestações, documentos fiscais adicionais, envio, exportação, anexos e confirmações/recuperação específicas desses novos percursos; cadastro/fases/documentos operacionais completos da oficina, stock, caixa e relatórios fechados. Esta entrega implementa o menu e a ligação ao que existe, não todos esses módulos por arrasto.
|
||||
|
||||
Nenhuma dependência, conta, permissão, credencial, base real ou implantação pública foi alterada por esta entrega. Não foi executada publicação, push ou checkpoint de encerramento. A recuperação de acesso a `sgf.tempo.co.mz` mantém-se uma tarefa distinta, sem a declarar resolvida pelos menus locais.
|
||||
@@ -1,5 +1,29 @@
|
||||
# Página inicial e menus agrupados
|
||||
|
||||
**Reposição da visibilidade de Compras, 29/10/2026:** após separar Stock, o contexto sem direitos purchasing_budget/supplier_payables ficava sem itens no grupo Compras, ocultado pelo filtro de grupos vazios. A junção anterior permanecia visível pelos itens de Stock; nenhuma concessão ou dado tinha sido removido. Acrescentada Área de Compras informativa com company.view, sem acesso operacional implícito; preservadas as opções de orçamento/obrigações para os contextos autorizados. PurchasingHome.jsx distingue a área SGF da aplicação autónoma e não afirma incorporação integral. Regressão reproduz company.view sem direitos de Compras, confirma Compras/Stock separados e conserva filtros por unidade; build aprovado. Sem alteração de acessos ou dados.
|
||||
|
||||
**Ajuste posterior, 29/10/2026:** Compras e Stock separados em dropdowns próprios. Ordem actual: Início, Comercial, Compras, Stock, Oficinas, Financeiro, Configuração. Fonte do menu principal aumentada de 0,87 para 1 rem; itens de submenu de 0,85 para 0,95 rem; fonte móvel de 0,78 para 0,9 rem. Mantidos destinos/permissões e dropdowns. Check de navegação e build aprovados; sem nova revisão visual.
|
||||
|
||||
## Menu horizontal por assunto — 29/10/2026
|
||||
|
||||
Pedido expresso: alterar a posição para horizontal, ordenar por assunto e preservar o dropdown. `WorkspaceNavigation.jsx` substitui a barra lateral/drawer por barra superior, com seis entradas ordenadas: **Início; Comercial; Compras e stock; Oficinas; Financeiro; Configuração**. Início abre directamente a página inicial; as restantes abrem dropdowns com as secções e destinos anteriores.
|
||||
|
||||
Comercial agrupa Clientes e serviços/Facturação; Compras e stock reúne Compras/Stock; Oficinas conserva os percursos técnicos e comerciais; Financeiro reúne Recebimentos/Contabilidade e fiscalidade/Custos e orçamento; Configuração reúne configuração documental/Administração. A organização por assunto é apresentação, não fusão dos motores ou dos âmbitos. Os IDs, permissões, estado Em preparação, destinos e contexto permanecem os mesmos. Novos grupos futuros sem classificação explícita têm fallback próprio, em vez de desaparecerem.
|
||||
|
||||
Um dropdown aberto de cada vez; selecção e clique fora fecham-no; Escape fecha e devolve foco ao respectivo botão. Enter/Espaço usam os botões nativos; setas e Home/End percorrem destinos. O assunto activo e o destino activo são identificados; `aria-expanded`, `aria-controls` e `aria-current` preservam a semântica de navegação. Os menus começam fechados e o assunto activo não fica forçado a permanecer aberto. O conteúdo não abre por hover apenas.
|
||||
|
||||
Em ecrãs menores, a barra mantém organização horizontal com quebra de linha; dropdowns ficam ancorados à área de navegação, com altura limitada e scroll próprio. Não há drawer lateral nem botão de menu separado. A área de trabalho usa a largura anteriormente ocupada pela barra lateral e o cabeçalho de contexto deixa de competir com o menu fixo.
|
||||
|
||||
Código: `resources/js/WorkspaceNavigation.jsx`, `resources/css/app.css`; regressão em `scripts/home-navigation-check.mjs`. O modelo `navigationGroups` continua a filtrar exactamente os mesmos direitos; `navigationTopics` apenas reordena/agrupa. O check confere igualdade do conjunto completo de destinos antes/depois, unicidade, seis assuntos, fallback, unidade sem direitos e renderização com dropdown/elementos activos. Checks de início/navegação e compilação Vite aprovados. Sem alteração de dependências, operações de negócio, bases, acessos, publicação ou checkpoint.
|
||||
|
||||
A verificação desta alteração é técnica (renderização estática/compilação), não nova revisão visual/interactiva no navegador. A implementação de teclado/responsividade não é apresentada como teste manual executado. Esta orientação substitui a disposição lateral descrita abaixo, preservando os resultados e limites das entregas anteriores.
|
||||
|
||||
**Contabilidade, 29/10/2026:** acrescentados painel, Trabalho diário, Conferência, Análise, Fecho e Configuração, preservando classificação/perfis e com catálogo de relatórios previsto. Ver [âmbito e provas](ACCOUNTING_MENU_DELIVERY.md). Não declara razão, lançamentos ou relatórios financeiros entregues.
|
||||
|
||||
**Stock, 29/10/2026:** acrescentada a navegação informativa do documento fornecido, com estado Em preparação e sem motor/fonte operacional SGF. Ver [correspondência com Compras, código e provas](STOCK_MENU_DELIVERY.md). Não declara saldos, movimentos ou relatórios operacionais disponíveis.
|
||||
|
||||
**Actualização de 29/10/2026:** menus de Facturação e Oficinas implementados a partir dos documentos fornecidos e da confirmação do responsável, com destinos existentes e capacidades ausentes identificadas. Ver [âmbito, correspondências e provas](BILLING_WORKSHOP_MENU_DELIVERY.md). A revisão visual e a publicação permanecem distintas; esta nota não reabre nem substitui a aceitação anterior.
|
||||
|
||||
## Avaliação técnica e preservação local — 28/10/2026
|
||||
|
||||
A pedido do utilizador, preservar esta implementação num checkpoint exclusivamente local. Avaliação do agente: organização coerente com os destinos existentes, grupos filtrados por contexto, distinção entre consulta/preparação/validação, ausência de indicadores fictícios e identidade visual alinhada com as folhas públicas do InvesteMoz. Build, renderização por perfil e entrega HTTP aprovados. Esta é avaliação técnica do código e dos resultados automatizados, não aprovação visual pessoal do utilizador. Capturas e verificação visual/interactiva no Edge continuam indisponíveis; o checkpoint não as transforma em provas realizadas. Nenhum segredo ou dado privado incluído, sem push/publicação. Encerramento do ensaio de orçamento conferido em `04870f0` e `docs/INDUSTRIAL_BUDGET_ACCEPTANCE.md`, mantendo expressamente as limitações originais.
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
# Demonstração integrada do produto SGF
|
||||
|
||||
## Entrada local de avaliação — 29/10/2026
|
||||
|
||||
**Entrada única de proprietário:** em http://127.0.0.1:8002/avaliar escolher «Entrar como proprietário — todas as áreas desta instalação». Cria/reutiliza apenas `proprietario-avaliacao@example.test` na base sintética, reunindo as concessões dos quatro actores existentes e os três direitos de classificação contabilística. Não altera essas contas nem contas reais. Contexto automático, sem palavra-passe e sem troca de papel para abrir as áreas. Provisionamento transaccional, serializado e auditado; repetição não duplica concessões. Prova `scripts/local-owner-check.mjs` / `proofs/local-owner-access.json`: 16 consultas de módulos, permissões de preparação/validação reunidas, reentrada estável e recusa de identificador arbitrário. Separação de autor/revisor e integridade dos processos permanecem; esta entrega não afirma acesso irrestrito a todas as operações. Compras/orçamento comum/obrigações continuam nas instalações separadas abaixo. SSH adiado por orientação do responsável.
|
||||
|
||||
Abrir **http://127.0.0.1:8002/avaliar**. Entrada sem palavra-passe nos quatro papéis sintéticos existentes, com contexto seleccionado automaticamente. A ligação «Explorar SGF / trocar de função» permanece acima da aplicação. Não cria contas ou concessões e conserva os exemplos. A página reúne também ligações às instalações separadas de orçamento de Compras e obrigações; não as transforma numa base integrada nem elimina as credenciais ainda exigidas pelo orçamento em 8003.
|
||||
|
||||
Verificadas por HTTP as quatro entradas, contexto, aplicação e consulta de oficina, CSRF obrigatório e recusa de papel arbitrário. Sem comandos de negócio ou testes destrutivos. O acesso de proprietário local foi acrescentado acima; integração das instalações e revisão dos bloqueios de operações continuam pendentes. A ligação SSH ao endereço indicado respondeu mas recusou a chave disponível, sem alterações remotas. Não se declarou publicação ou aceitação visual.
|
||||
|
||||
**Percurso orçamental acrescentado em 29/10/2026:** [interface SGF, contas por função e guião](SGF_BUDGET_WORKSPACE_DELIVERY.md), disponível em 8003 com base persistente separada. Reutiliza o núcleo aceite; a demonstração anterior em 8002 e os seus dados mantêm-se. A interface deixa de estar apenas no adaptador, mas a revisão visual da equipa continua pendente.
|
||||
|
||||
**Orientação posterior sobre Compras:** [núcleo comum e duas composições comerciais](PURCHASING_COMMON_CORE_PLAN.md). Preservar esta demonstração e os seus dados; os ensaios destrutivos da futura extracção terão ambientes sintéticos separados. O plano delimita controlo orçamental comum, sem declarar Compras já incorporado ou exigir Sales no produto autónomo.
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
# Menu de Stock no SGF
|
||||
|
||||
29/10/2026. Implementada a estrutura de navegação do documento **Menu Stock.docx**, com estado de disponibilidade explícito. **Não está entregue um motor operacional de stock no SGF.** A composição SGF ainda não tem fonte de armazéns/saldos/movimentos ligada. Compras conserva a sua implementação e os seus dados.
|
||||
|
||||
## Referência e leitura do existente
|
||||
|
||||
Fonte fornecida pelo responsável: `C:/Mac/Home/Documents/TEMPO/Portal Tempo/Servicos Tempo/ERP TEMPO/Menu Stock.docx`, 186 blocos de texto/tabelas lidos, SHA-256 `db4707b137a3083649ff5492c4d82da71402443d5bc11fd5ac13a970aaa6da48`. Original preservado. O documento foi utilizado como referência funcional; as propostas de confirmações, estornos e permissões não foram tratadas como autorização para efectuar movimentos reais ou conceder direitos.
|
||||
|
||||
| Capacidade | Compras existente | SGF nesta entrega |
|
||||
| --- | --- | --- |
|
||||
| Artigos, armazéns, saldos e movimentos | `app/Http/Controllers/StockController.php`: consulta por artigo/armazém, pesquisa e histórico; criação de cadastros conforme papel. | Menu Existências com estado de fonte indisponível. Nenhum saldo importado ou criado. |
|
||||
| Entradas de compra | `app/Services/ReceiptWorkflow.php`: recepção parcial da ordem, quantidades recebidas/aceites e movimento de stock da quantidade aceite, quando aplicável. | Identifica o percurso existente e o adaptador em falta. Não cria uma segunda entrada por factura ou obrigação. |
|
||||
| Saídas | `app/Services/StockWorkflow.php`: actor Armazém, revalidação de contexto/actor, bloqueio da empresa, saldo não negativo, referência única, chave de repetição, fotografia e auditoria. | Menu e campos/etapas previstos, sem comandos ou alteração de quantidades. |
|
||||
| Transferência | `StockWorkflow.php`: saída e entrada imediatas na mesma transacção, com origem e destino distintos. | Explicita a diferença face à proposta de expedição → trânsito → recepção. Não simula trânsito nem declara esse fluxo entregue. |
|
||||
| Contagens e ajustes | `StockWorkflow.php`: contagem ligada à versão do livro, sem movimento; ajuste único ligado à contagem e recusado se houver movimentos posteriores/incompatibilidade. | Identificados como percurso a reutilizar futuramente, sem ajuste genérico ou edição de saldo no menu. |
|
||||
| Devoluções físicas | O fluxo completo do Word não foi identificado nos controladores/serviço de stock existentes. | Indisponível; distingue cliente/fornecedor, devolução física, nota de crédito e devolução de dinheiro. |
|
||||
| Materiais de oficina | Não foi criada ligação implícita entre aplicações. | `app/Modules/Workshop/WorkshopWorkflow.php` e `WorkshopWorkspace.jsx` mantêm observações de material, sem stock. O menu não converte apontamentos em saldo de armazém. |
|
||||
| Reservas, bloqueios, mínimos, lotes, séries, validade e valorização | Não presumidos a partir do saldo físico de `quantity_milli`. | Sem configuração/fonte no SGF; não se substituem por zero, custos estimados ou opções operacionais fictícias. |
|
||||
|
||||
A futura adaptação tem de preservar a representação de quantidades existente em milésimos, as protecções e as origens. Não foi feita extracção do serviço nesta entrega nem criada uma segunda cópia do motor. Não se equipararam o tenant de Compras e a empresa/unidade/armazém SGF.
|
||||
|
||||
## Navegação entregue
|
||||
|
||||
Abrir **http://127.0.0.1:8002/avaliar**, escolher **Preparar e gerir** e abrir **Stock — Em preparação**.
|
||||
|
||||
- **Painel:** explica a ausência de fonte de indicadores e encaminha para os restantes submenus, sem valores ilustrativos.
|
||||
- **Existências:** distingue físico, reservado, bloqueado e disponível; consulta indisponível sem lista vazia que sugira ausência de stock; sem edição directa de saldo.
|
||||
- **Entradas:** apresenta campos, etapas e origem do percurso previsto, capacidade já existente em Compras e adaptação em falta.
|
||||
- **Saídas:** distingue expedição, consumo e abate; não desconta quantidades observadas na oficina.
|
||||
- **Transferências:** distingue transferência imediata existente do transporte com recepção separada ainda ausente.
|
||||
- **Devoluções:** apresenta sentidos, origem, elegibilidade e tratamento previstos, sem movimentos físicos ou financeiros.
|
||||
- **Relatórios:** Existências por armazém, Movimentos e Stock mínimo mostram fonte indisponível. Não se disponibilizam geração, impressão ou exportação fictícias. Valorização fica sem dados de custos/selector autorizado; os relatórios complementares só serão expostos quando as capacidades correspondentes estiverem activas.
|
||||
|
||||
Os atalhos do início e o grupo lateral identificam o estado **Em preparação** antes da entrada. A página Peças e stock da oficina liga ao mesmo menu e conserva a distinção entre observações materiais e armazém. Não foi acrescentada dependência de um servidor SGF/Compras remoto, leitura cruzada de bases ou autenticação implícita noutra aplicação.
|
||||
|
||||
`company.view` permite ver apenas este mapa informativo no contexto autorizado. **Não concede stock.view, acesso a armazéns, visualização de custos ou qualquer operação.** A futura integração operacional exige permissões próprias, revalidadas no servidor. Nenhuma concessão foi criada nesta entrega.
|
||||
|
||||
## Ficheiros
|
||||
|
||||
- `resources/js/stock-menu.js`: entradas, descrições dos percursos e relatórios condicionais, sem cálculo/persistência.
|
||||
- `resources/js/StockMenuWorkspace.jsx`: páginas de disponibilidade, campos/etapas previstos, distinção Painel/Relatórios e ausência de fonte.
|
||||
- `resources/js/WorkspaceNavigation.jsx`: grupo Stock e indicação de estado.
|
||||
- `resources/js/WorkspaceHome.jsx`: estado dos atalhos informativos.
|
||||
- `resources/js/app.jsx`: montagem das páginas no contexto actual.
|
||||
- `resources/js/WorkshopMenuWorkspace.jsx`: ligação da oficina ao menu comum de Stock.
|
||||
- `resources/css/app.css`: disposição responsiva das entradas, cartões e definições.
|
||||
- `scripts/stock-menu-check.mjs`, `docs/proofs/stock-menu.json`: verificação técnica.
|
||||
|
||||
## Provas e limite da entrega
|
||||
|
||||
Passaram o check dos sete submenus, consulta sem autorização, contexto de empresa distinto, ausência de valores/saldos fabricados, relatórios condicionais ocultos, ausência de formulários operacionais e ausência de dados de custos. O check de início/navegação anterior continua aprovado. **Compilação Vite aprovada**, sem alterações de dependências.
|
||||
|
||||
São verificações de renderização estática e compilação, **não revisão visual/interactiva nem ensaio operacional de stock**. Não foram usados endpoints de stock, executados movimentos, alteradas bases, concedidos acessos ou criadas instâncias/contas. Não se modificou código em Compras. As provas de concorrência/idempotência do seu motor não foram repetidas nem atribuídas a um adaptador SGF inexistente.
|
||||
|
||||
Os controlos operacionais do Word permanecem por implementar/adaptar no SGF: fonte comum/adaptadores, permissões por armazém e custos, documentos e confirmação, reservas/bloqueios, trânsito/recepções, devoluções/estornos e relatórios reconciliados. Antes dessa ligação deve ser delimitado o reaproveitamento do `StockWorkflow`/recepção existente e demonstrada a equivalência em testes isolados, sem recálculo ou duplicação de movimentos históricos. Isso é próximo trabalho, não uma capacidade entregue pelo menu.
|
||||
|
||||
Sem publicação, push, checkpoint ou aceitação presumidos. O acesso ao domínio público permanece separado desta navegação local.
|
||||
@@ -1,7 +1,39 @@
|
||||
# Obrigação a fornecedor — entrega técnica em verificação
|
||||
|
||||
**Evolução posterior no projecto Compras:** [passagem explícita do histórico de pagamentos](../../compras/docs/passagem-historico-pagamentos.md), `PAYABLE-HISTORY-IMPORT-v1`, implementada na fonte comum com migração 000022 preparada e activação separada desligada por omissão. Principal integral, dedução única de confirmados, pendentes/rejeitados preservados sem abatimento, revisor distinto e unicidade. Prova PostgreSQL histórica e regressão anterior nas duas composições aprovadas; não aplicada às bases habituais/demos. O adaptador SGF anterior permanece sem fornecedor de histórico; não se declara essa ligação entregue no SGF. Sem novos pagamentos, reconciliação, stock/orçamento ou contabilidade por arrasto.
|
||||
|
||||
29/10/2026. `COMMON-PAYABLE-SOURCE-SIM-v1`, [especificação e regras aprovadas](SUPPLIER_PAYABLE_SCOPE.md). **Implementado apenas em QA, sem aceitação ou checkpoint de encerramento presumidos.** O exemplo executado é o aprovado mais recentemente: base **10 000 MZN**, imposto documental **1 600 MZN**, principal **11 600 MZN**. Exemplos anteriores de 1 160 MZN na especificação são históricos; não são os valores desta entrega.
|
||||
|
||||
## Entrada sem palavra-passe — 29/10/2026
|
||||
|
||||
Por pedido expresso do responsável, a demonstração admite entrada por função sem procurar credenciais: SGF `http://127.0.0.1:8006/demo`, Compras `http://127.0.0.1:8005/demo`. Escolher Preparar, Validar ou Consultar; a empresa/unidade SGF é seleccionada e revalidada no servidor. A página do percurso permite voltar à escolha de função e sair. As sessões são renovadas na troca, os perfis existentes permanecem distintos e nenhuma concessão foi acrescentada. As identidades são sintéticas e partilhadas por função, sem identificar o avaliador real. O cenário/histórico é partilhado e conservado.
|
||||
|
||||
Código de entrada: `scripts/payables-demo-entry.php`, registado exclusivamente por `scripts/payables-router.php` nos hosts QA já isolados. Não altera o login operacional nem disponibiliza entrada anónima na instalação pública. O motor financeiro permanece inalterado. Prova HTTP `scripts/payables-demo-entry-proof.mjs` / `docs/proofs/payables-demo-entry.json`: três funções em ambas as composições, CSRF, recusa de função arbitrária, contexto SGF, saída/reentrada e histórico conservado; sem executar comandos financeiros. Não constitui prova visual. Não é necessário novo build para esta alteração PHP/HTML; nenhuma dependência mudou.
|
||||
|
||||
Verificação pública: `https://sgf.tempo.co.mz/` responde 200, `/api/session` responde sem utilizador autenticado e `/demo` responde 404. Não foi encontrada configuração de implantação nas pesquisas documentais/scripts dos projectos, nem ligação de gestão do alojamento disponível nesta sessão. Não foi possível identificar a base pública ou excluir dados reais por leitura pública. A publicação de uma demonstração sintética separada permanece por executar; os endereços locais não são acessíveis a avaliadores externos. Não se removeu autenticação pública nem se alterou o domínio. A preparação actual é específica do host QA local, não um pacote de implantação pronto para o servidor desconhecido. A avaliação pelo responsável permanece suspensa por falta de acesso público, conforme a mensagem posterior; nenhum encerramento/checkpoint presumido.
|
||||
|
||||
## Diagnóstico de acesso — prioridade de 29/10/2026
|
||||
|
||||
Pedido: recuperar entrada sem novas contas/instâncias, preservar dados, não avançar módulos; eventual reposição de credencial/acesso exige uma confirmação concreta. Nesta passagem não se alterou credencial, concessão ou schema.
|
||||
|
||||
| Endereço existente | Base efectiva local | Contas / entrada |
|
||||
| --- | --- | --- |
|
||||
| `http://127.0.0.1:8002/avaliar` | `sgf_tempo_test` | Entrada de avaliação existente sem palavra-passe: preparador, validador, técnico e verificador. Também verificadas as credenciais do manifesto original para `gestor@example.test`, `consulta@example.test` e contas de oficina. |
|
||||
| `http://127.0.0.1:8003` | `budget_core_sgf_4abb58d1cabf` | Quatro contas `*-orcamento@example.test`, acesso separado; não alterado. |
|
||||
| `http://127.0.0.1:8005/demo` | `compras_receipts_test_51bb71f4189c` | Três funções sintéticas sem palavra-passe; as três credenciais existentes também aceites pelo login normal deste host. |
|
||||
| `http://127.0.0.1:8006/demo` | `payable_sgf_a70cf23e6cdf` | Três funções sintéticas sem palavra-passe; as três credenciais existentes também aceites pelo login normal deste host. |
|
||||
| `http://sgf-tempo.test` | `sgf_tempo_dev` | Contas reais locais existentes `nala@tempo.co.mz` e `onala@me.com`; sem tentativa de adivinhar ou repor palavras-passe. |
|
||||
| `http://compras.test` | `compras_dev` | Conta existente `nala@tempo.co.mz`; verificação de email ainda não registada. As rotas Compras protegidas usam `verified`; isto pode ser uma segunda etapa após autenticação válida, não erro de palavra-passe nem bloqueio fiscal. Não se alterou verificação. |
|
||||
| `https://sgf.tempo.co.mz` | Não identificável pela leitura pública | Responde 200; sessão anónima. O asset público agora coincide nominalmente com o local (`app-CwyD-u3w.js`), ao contrário da consulta anterior; isso não prova igualdade de bases/contas. Nenhuma credencial local foi enviada ao domínio público. |
|
||||
|
||||
O diagnóstico mostra instalações com conjuntos de contas distintos. Os ficheiros `payables-demo-*-access.json` correspondem exclusivamente a 8005/8006, não a todas as instalações. Todas as seis credenciais desses ficheiros coincidem com os hashes locais e foram aceites via HTTP no host correcto; não se reproduziu palavra-passe inválida nesses pares. Não se conhece a combinação concreta tentada pelo responsável, pelo que não se atribui uma causa única ao erro relatado. Os cookies das demonstrações têm nomes distintos; as concessões por contexto continuam separadas.
|
||||
|
||||
Procedimento imediatamente utilizável: abrir `http://127.0.0.1:8002/avaliar` e escolher **Preparar e gerir** para explorar o SGF; trocar função pelo ponto de entrada existente. Para Compras, abrir `http://127.0.0.1:8005/demo` e escolher **Preparar** ou **Consultar**. Para o percurso SGF de obrigações, usar `http://127.0.0.1:8006/demo`. Não há palavra-passe a copiar nesses endereços; não se afirma que os cenários estejam reunidos numa única base. Estes endereços são locais, não links para avaliadores externos.
|
||||
|
||||
Verificação: `scripts/access-diagnose.php` lê configuração efectiva e contas em transacção PostgreSQL READ ONLY, com rollback e sem imprimir segredos/hashes. `scripts/access-login-check.mjs` verifica as quatro entradas existentes em `/avaliar`, contexto, consulta e saída, e as seis credenciais existentes de obrigações, consulta e saída; prova sanitizada em `docs/proofs/access-recovery.json`. Reexecutada a prova existente de entrada livre nos dois hosts e o check de módulos da demonstração integrada. Não se executou operação de negócio. Asserção inicial do teste de redireccionamento foi corrigida para comparar pathname, pois Laravel pode produzir URL raiz sem barra final; não foi necessário mudar a aplicação. Provas HTTP, sem declaração de revisão visual. Emissão fiscal e acessos de entrada mantêm verificações independentes.
|
||||
|
||||
Limite público: acesso administrativo a `sgf.tempo.co.mz` não foi estabelecido; a documentação local de avaliação já regista recusa da chave SSH numa tentativa anterior. Não se repetiu tentativa com outras chaves nem se alterou servidor. Recuperação pública permanece pendente, sem inventar base ou conta remotas. Nenhum novo módulo, conta, instância, alteração de credencial, concessão, publicação ou checkpoint foi efectuado neste diagnóstico.
|
||||
|
||||
## Resultado e responsabilidade financeira
|
||||
|
||||
Uma factura criada e conferida pelos serviços existentes de Compras origina uma proposta e, por identidade distinta, **uma obrigação reconhecida** no núcleo comum. A origem, fotografia, captura/revisão, decisão e histórico são recuperáveis. O principal é exactamente `total_minor=1160000`, sem recálculo de imposto ou presunção de aplicabilidade fiscal real.
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"checked_at": "2026-10-29T18:17:47.675Z",
|
||||
"results": [
|
||||
{
|
||||
"host": "sgf-product",
|
||||
"role": "preparador",
|
||||
"password_required": false,
|
||||
"authorised_consultation": true,
|
||||
"logout": true
|
||||
},
|
||||
{
|
||||
"host": "sgf-product",
|
||||
"role": "validador",
|
||||
"password_required": false,
|
||||
"authorised_consultation": true,
|
||||
"logout": true
|
||||
},
|
||||
{
|
||||
"host": "sgf-product",
|
||||
"role": "tecnico",
|
||||
"password_required": false,
|
||||
"authorised_consultation": true,
|
||||
"logout": true
|
||||
},
|
||||
{
|
||||
"host": "sgf-product",
|
||||
"role": "verificador",
|
||||
"password_required": false,
|
||||
"authorised_consultation": true,
|
||||
"logout": true
|
||||
},
|
||||
{
|
||||
"host": "compras",
|
||||
"role": "preparacao",
|
||||
"existing_password_accepted": true,
|
||||
"authorised_consultation": true,
|
||||
"logout": true
|
||||
},
|
||||
{
|
||||
"host": "compras",
|
||||
"role": "validacao",
|
||||
"existing_password_accepted": true,
|
||||
"authorised_consultation": true,
|
||||
"logout": true
|
||||
},
|
||||
{
|
||||
"host": "compras",
|
||||
"role": "consulta",
|
||||
"existing_password_accepted": true,
|
||||
"authorised_consultation": true,
|
||||
"logout": true
|
||||
},
|
||||
{
|
||||
"host": "sgf",
|
||||
"role": "preparacao",
|
||||
"existing_password_accepted": true,
|
||||
"authorised_consultation": true,
|
||||
"logout": true
|
||||
},
|
||||
{
|
||||
"host": "sgf",
|
||||
"role": "validacao",
|
||||
"existing_password_accepted": true,
|
||||
"authorised_consultation": true,
|
||||
"logout": true
|
||||
},
|
||||
{
|
||||
"host": "sgf",
|
||||
"role": "consulta",
|
||||
"existing_password_accepted": true,
|
||||
"authorised_consultation": true,
|
||||
"logout": true
|
||||
}
|
||||
],
|
||||
"accounts_created": 0,
|
||||
"passwords_changed": 0,
|
||||
"permissions_changed": 0,
|
||||
"business_commands": 0,
|
||||
"visual_review": false
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"checked_at": "2026-10-29T20:32:11.872Z",
|
||||
"sections": 6,
|
||||
"function_definitions": 11,
|
||||
"report_definitions": 24,
|
||||
"existing_paths_preserved": true,
|
||||
"links_permission_scoped": true,
|
||||
"unit_scoped_links_checked": true,
|
||||
"no_permissions_assigned_by_profile": true,
|
||||
"no_fabricated_financial_balances": true,
|
||||
"report_search_checked": true,
|
||||
"business_commands": 0,
|
||||
"backend_calls": 0,
|
||||
"visual_review": false,
|
||||
"publication": false
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"checked_at": "2026-10-29T20:21:16.502Z",
|
||||
"navigation_sections": 7,
|
||||
"workshop_sections": 12,
|
||||
"permission_and_unit_checks": true,
|
||||
"technician_financial_menu_hidden": true,
|
||||
"equipment_identity_preserved": true,
|
||||
"filters_checked": true,
|
||||
"source_outage_distinguished": true,
|
||||
"exact_document_values_preserved": true,
|
||||
"actual_host": "http://127.0.0.1:8002",
|
||||
"source_counts": [
|
||||
{
|
||||
"source": "Facturas",
|
||||
"count": 1
|
||||
},
|
||||
{
|
||||
"source": "Rascunhos",
|
||||
"count": 2
|
||||
}
|
||||
],
|
||||
"visible_workshop_orders": 1,
|
||||
"business_commands": 0,
|
||||
"visual_review": false,
|
||||
"publication": false
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"checked_at": "2026-10-29T18:17:39.657Z",
|
||||
"instance": "http://127.0.0.1:8002",
|
||||
"synthetic_owner": true,
|
||||
"consulted_modules": [
|
||||
"a/clients",
|
||||
"a/services",
|
||||
"a/service_drafts",
|
||||
"a/billing_drafts",
|
||||
"workshop",
|
||||
"workshop-billing",
|
||||
"workshop-corrections",
|
||||
"direct-costs",
|
||||
"industrial-costs",
|
||||
"industrial-budgets",
|
||||
"service-invoices",
|
||||
"service-receivables",
|
||||
"service-fiscal",
|
||||
"catalogue-accounting",
|
||||
"document-preview/model",
|
||||
"accesses"
|
||||
],
|
||||
"grants": 75,
|
||||
"repeated_entry_stable": true,
|
||||
"arbitrary_user_refused": true,
|
||||
"business_commands": 0,
|
||||
"real_accounts_changed": false,
|
||||
"process_separation_rules_removed": false,
|
||||
"ssh_used": false,
|
||||
"visual_review": false
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"checked_at": "2026-10-29T17:05:08.634Z",
|
||||
"hosts": [
|
||||
{
|
||||
"host": "compras",
|
||||
"passed": true,
|
||||
"password_required": false,
|
||||
"roles": [
|
||||
"preparacao",
|
||||
"validacao",
|
||||
"consulta"
|
||||
],
|
||||
"csrf_enforced": true,
|
||||
"arbitrary_role_refused": true,
|
||||
"context_selected": false,
|
||||
"history_preserved": true,
|
||||
"financial_commands_executed": false
|
||||
},
|
||||
{
|
||||
"host": "sgf",
|
||||
"passed": true,
|
||||
"password_required": false,
|
||||
"roles": [
|
||||
"preparacao",
|
||||
"validacao",
|
||||
"consulta"
|
||||
],
|
||||
"csrf_enforced": true,
|
||||
"arbitrary_role_refused": true,
|
||||
"context_selected": true,
|
||||
"history_preserved": true,
|
||||
"financial_commands_executed": false
|
||||
}
|
||||
],
|
||||
"visual_review": false,
|
||||
"public_deployment": false
|
||||
}
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"version": "COMMON-PAYABLE-SOURCE-SIM-v1",
|
||||
"passed": true,
|
||||
"checked_at": "2026-10-29T12:47:37.052Z",
|
||||
"checked_at": "2026-10-29T19:29:20.603Z",
|
||||
"team_budget_preserved": true,
|
||||
"hosts": [
|
||||
{
|
||||
"host": "compras",
|
||||
"passed": true,
|
||||
"core_sha256": "5ec2a8c0b55b2982b41faaa6870243834a3b2f894795a5ef13c7406f87286962",
|
||||
"source_revision": "9ca4ac29a4720d6c4885101fd1485c58fb2dab3dcc2d5d975cb919679df58f54",
|
||||
"core_sha256": "6c130ee1dda38e4fec4c55b974b0140e857dbd8bf4beb357906826f537d3a235",
|
||||
"source_revision": "9bbb4a50fa1743e68b1968cb9a4a32341a8d8911f69afe929efa0065be1e1f9c",
|
||||
"principal_minor": 1160000,
|
||||
"due_on": null,
|
||||
"days_overdue": null,
|
||||
@@ -19,12 +19,12 @@
|
||||
{
|
||||
"status": 200,
|
||||
"state": "prepared",
|
||||
"pid": 6472
|
||||
"pid": 12724
|
||||
},
|
||||
{
|
||||
"status": 200,
|
||||
"state": "prepared",
|
||||
"pid": 14488
|
||||
"pid": 17280
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -33,11 +33,11 @@
|
||||
"results": [
|
||||
{
|
||||
"status": 403,
|
||||
"pid": 18912
|
||||
"pid": 14704
|
||||
},
|
||||
{
|
||||
"status": 403,
|
||||
"pid": 3488
|
||||
"pid": 14100
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -47,12 +47,12 @@
|
||||
{
|
||||
"status": 200,
|
||||
"state": "recognised",
|
||||
"pid": 8112
|
||||
"pid": 13020
|
||||
},
|
||||
{
|
||||
"status": 200,
|
||||
"state": "recognised",
|
||||
"pid": 804
|
||||
"pid": 12336
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -80,8 +80,8 @@
|
||||
{
|
||||
"host": "sgf",
|
||||
"passed": true,
|
||||
"core_sha256": "5ec2a8c0b55b2982b41faaa6870243834a3b2f894795a5ef13c7406f87286962",
|
||||
"source_revision": "9ca4ac29a4720d6c4885101fd1485c58fb2dab3dcc2d5d975cb919679df58f54",
|
||||
"core_sha256": "6c130ee1dda38e4fec4c55b974b0140e857dbd8bf4beb357906826f537d3a235",
|
||||
"source_revision": "9bbb4a50fa1743e68b1968cb9a4a32341a8d8911f69afe929efa0065be1e1f9c",
|
||||
"principal_minor": 1160000,
|
||||
"due_on": null,
|
||||
"days_overdue": null,
|
||||
@@ -92,12 +92,12 @@
|
||||
{
|
||||
"status": 200,
|
||||
"state": "prepared",
|
||||
"pid": 6892
|
||||
"pid": 10808
|
||||
},
|
||||
{
|
||||
"status": 200,
|
||||
"state": "prepared",
|
||||
"pid": 11424
|
||||
"pid": 11504
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -106,11 +106,11 @@
|
||||
"results": [
|
||||
{
|
||||
"status": 403,
|
||||
"pid": 804
|
||||
"pid": 7596
|
||||
},
|
||||
{
|
||||
"status": 403,
|
||||
"pid": 20804
|
||||
"pid": 21800
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -120,12 +120,12 @@
|
||||
{
|
||||
"status": 200,
|
||||
"state": "recognised",
|
||||
"pid": 20576
|
||||
"pid": 4572
|
||||
},
|
||||
{
|
||||
"status": 200,
|
||||
"state": "recognised",
|
||||
"pid": 11332
|
||||
"pid": 11468
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"demo": "SGF-PRODUCT-DEMO-v1",
|
||||
"checked_at": "2026-10-29T08:50:35.350Z",
|
||||
"checked_at": "2026-10-29T17:05:01.722Z",
|
||||
"type": "HTTP integration, not visual acceptance",
|
||||
"business_operations_changed": false,
|
||||
"results": [
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"checked_at": "2026-10-29T20:32:25.159Z",
|
||||
"sections": 7,
|
||||
"kind": "informational navigation and source-unavailable states",
|
||||
"not_operational_stock": true,
|
||||
"no_fabricated_balances": true,
|
||||
"conditional_reports_hidden": true,
|
||||
"cost_values_not_loaded": true,
|
||||
"no_business_forms": true,
|
||||
"no_company_or_workshop_permission_inferred_as_stock_permission": true,
|
||||
"company_context_rendering": true,
|
||||
"backend_calls": 0,
|
||||
"business_commands": 0,
|
||||
"visual_review": false,
|
||||
"publication": false
|
||||
}
|
||||
Reference in New Issue
Block a user