Ajuda Infurnia

“Translated trade words” is not ready for these pages yet, so they are shown with “Common trade words in English”.

Pricing

Corrigir downloads de orçamento que falham ou nunca chegam

Descubra por que uma exportação de orçamento em CSV, PDF ou XLSX se recusa a baixar, mostra sucesso sem arquivo ou nunca chega após ser enfileirada.

  1. Os CSVs e PDFs de orçamento são gerados dentro do sistema de arquivos do navegador do aplicativo e entregues ao navegador como um download normal, seguido por um toast 'Successfully downloaded files'. Se o arquivo gerado existir mas estiver vazio, o aplicativo recusa com o toast de erro 'Cannot download empty content' — as causas usuais são uma tabela de orçamento vazia (nada com preço no escopo/filtros atuais) ou uma geração que foi abortada no meio; regenere o orçamento e tente novamente. Duas armadilhas decorrentes: (1) após um download bem-sucedido, o arquivo temporário é excluído do sistema de arquivos do aplicativo e a URL do blob é revogada imediatamente, então usar o 'retry download' do próprio navegador nessa entrada falhará — a exportação deve ser acionada novamente de dentro do aplicativo; (2) os downloads são disparados por um clique de link simulado, então configurações agressivas de bloqueio de download do navegador podem engolir o arquivo enquanto o aplicativo ainda mostra sucesso; peça ao cliente para verificar as permissões de download do navegador para o site. Para exportações XLSX, o nome do arquivo é pricing_quotation.xlsx, ou um output-<timestamp>-<random>.xlsx gerado automaticamente quando nenhum nome é fornecido pelo mecanismo.

  2. Quando o download de um orçamento XLSX falha, as exportações de orçamento em CSV e PDF são ações separadas no navegador e ainda podem ser baixadas.

  3. A saída CSV omite imagens, portanto não substitui quando as imagens são necessárias.

    ✓ Verificado no produto em 19 de outubro de 2026
  4. Toda exportação de orçamento/produção primeiro executa verificações de pré-saída mais uma passagem de violações (o carregador mostra 'Checking for violations...'). As saídas de subconjunto de painéis são uma exceção: pulam a passagem de violações e são encaminhadas para processamento no backend, então nenhum toast de violações aparece para elas. As preferências de administrador podem bloquear o download, cada uma com seu próprio toast de erro que os clientes frequentemente não percebem: (1) Enforce active sales channel — se ativada e o design não tiver um canal de vendas ativo selecionado: 'Downloading output for design without active sales channel preference is not permitted'; (2) No outputs for unapproved designs — bloqueia saídas da classe de reserva de pedidos/ERP/ordem de compra em designs não aprovados; (3) No outputs for unlocked designs — o mesmo para designs desbloqueados; (4) No Outputs For Designs With Violations And Issues — se existirem violações de restrição de catálogo, um toast fixo pede para resolver todas as violações ou desativar a preferência. As exportações de orçamento (o download de orçamento e as exportações de orçamento em CSV/XLSX) estão isentas das preferências de aprovação e bloqueio: apenas as preferências de canal de vendas ativo e de violações podem bloqueá-las. Um design pode ser isento individualmente do bloqueio de violações (toast informativo: 'Design Exempted from blocking output due to violations'). Usuários de marketplace/vendedor contornam todos esses bloqueios, e os bloqueios de aprovação/bloqueio não se aplicam a usuários do MES. Script de triagem: pergunte qual toast apareceu; se nenhum foi visto, reproduza com o cliente e observe o topo da tela, depois verifique as preferências de administrador e o painel de violações daquele design.

  5. As saídas geradas pelo servidor (PDFs de folha de apresentação, saídas de CAM/serra, saídas de design geradas pelo mecanismo) são enfileiradas no backend. O aplicativo envia o trabalho, mostra um toast persistente 'Generating your output' cujo detalhe diz 'Added to the download queue' (e, enquanto aguarda, uma posição na fila ou 'Processing…'), depois consulta o status do trabalho a cada 5 segundos a partir daquela aba do navegador. Ao concluir, mostra 'Your output is ready' e aciona automaticamente o download do arquivo; em caso de falha, aparece um 'Your output could not be generated. Please try again later.' fixo. Regras silenciosas que explicam a maioria dos tickets: (1) o poller existe apenas naquela aba — se o usuário atualizar, navegar para fora ou fechar a aba, o trabalho ainda é concluído no servidor, mas nada será baixado; ele deve acionar a exportação novamente; (2) não há timeout no poller, então um trabalho preso na fila deixa o toast 'Generating your output' (detalhe 'Added to the download queue' ou uma posição na fila) exibido indefinidamente — esse toast permanecer por muitos minutos significa que a fila está atrasada ou o trabalho morreu silenciosamente, e vale a pena verificar a fila de saída no backend; (3) se a própria verificação de status der erro, a consulta para com 'Something went wrong with output generation. Please try again later'. O download automático suprime brevemente o aviso de saída do site do navegador; isso é intencional.