Résoudre les téléchargements de devis qui échouent ou n'arrivent jamais
Déterminez pourquoi un export de devis CSV, PDF ou XLSX refuse de se télécharger, affiche un succès sans fichier, ou n'arrive jamais après avoir été mis en file d'attente.
Les CSV et PDF de devis sont produits dans le système de fichiers intégré au navigateur de l'application et remis au navigateur comme un téléchargement normal, suivi d'une notification 'Successfully downloaded files'. Si le fichier généré existe mais est vide, l'application refuse avec la notification d'erreur 'Cannot download empty content' — les causes habituelles sont un tableau de devis vide (rien de chiffré dans la portée/les filtres actuels) ou une génération interrompue en cours de route ; régénérez le devis et réessayez. Deux pièges associés : (1) après un téléchargement réussi, le fichier temporaire est supprimé du système de fichiers de l'application et l'URL blob est révoquée immédiatement, donc utiliser le 'retry download' propre au navigateur sur cette entrée échouera — l'export doit être relancé depuis l'application ; (2) les téléchargements sont déclenchés par un clic simulé sur un lien, donc des paramètres agressifs de blocage des téléchargements du navigateur peuvent avaler le fichier alors que l'application affiche toujours un succès ; faites vérifier par le client les autorisations de téléchargement du navigateur pour le site. Pour les exports XLSX, le nom de fichier est pricing_quotation.xlsx, ou un output-<timestamp>-<random>.xlsx généré automatiquement lorsqu'aucun nom n'est fourni par le moteur.
Lorsqu'un téléchargement de devis XLSX échoue, les exports de devis CSV et PDF sont des actions distinctes dans le navigateur et peuvent toujours être téléchargés.
La sortie CSV omet les images ; elle ne remplace donc pas les images lorsqu'elles sont requises.
✓ Vérifié dans le produit le 19 octobre 2026Chaque export de devis/production exécute d'abord des contrôles avant sortie ainsi qu'une passe de violations (le chargeur affiche 'Checking for violations...'). Les sorties de sous-ensembles de panneaux font exception : elles sautent la passe de violations et sont transmises pour être traitées sur le backend, donc aucune notification de violations n'apparaît pour elles. Les préférences d'administration peuvent bloquer le téléchargement, chacune avec sa propre notification d'erreur que les clients manquent souvent : (1) Enforce active sales channel — si activée et que le design n'a aucun canal de vente actif sélectionné : « Downloading output for design without active sales channel preference is not permitted » ; (2) No outputs for unapproved designs — bloque les sorties de type order-booking/ERP/purchase-order sur les designs non approuvés ; (3) No outputs for unlocked designs — idem pour les designs déverrouillés ; (4) No Outputs For Designs With Violations And Issues — si des violations de contraintes de catalogue existent, une notification persistante demande de résoudre toutes les violations ou de désactiver la préférence. Les exports de devis (le téléchargement de devis et les exports de devis CSV/XLSX) sont exemptés des préférences d'approbation et de verrouillage : seules les préférences de canal de vente actif et de violations peuvent les bloquer. Un design peut être exempté individuellement du blocage pour violations (notification d'information : 'Design Exempted from blocking output due to violations'). Les utilisateurs Marketplace/vendeurs contournent tous ces filtres, et les filtres d'approbation/verrouillage ne s'appliquent pas aux utilisateurs MES. Script de triage : demandez quelle notification a clignoté ; si aucune n'a été vue, reproduisez avec le client en surveillant le haut de l'écran, puis vérifiez les préférences d'administration et le panneau des violations pour ce design.
Les sorties générées par le serveur (PDF de planches de présentation, sorties CAM/scie, sorties de design générées par le moteur) sont mises en file d'attente sur le backend. L'application envoie la tâche, affiche une notification persistante 'Generating your output' dont le détail indique 'Added to the download queue' (et, pendant l'attente, une position dans la file ou 'Processing…'), puis interroge l'état de la tâche toutes les 5 secondes depuis cet onglet du navigateur. À l'achèvement, elle affiche 'Your output is ready' et déclenche automatiquement le téléchargement du fichier ; en cas d'échec, une notification persistante 'Your output could not be generated. Please try again later.' apparaît. Règles silencieuses qui expliquent la plupart des tickets : (1) l'interrogateur ne vit que dans cet onglet — si l'utilisateur actualise, navigue ailleurs ou ferme l'onglet, la tâche s'achève quand même sur le serveur mais rien ne sera jamais téléchargé ; il doit relancer l'export ; (2) il n'y a pas de délai d'expiration sur l'interrogateur, donc une tâche bloquée dans la file laisse la notification 'Generating your output' (détail 'Added to the download queue' ou une position dans la file) affichée indéfiniment — si cette notification reste plusieurs minutes, la file est saturée ou la tâche est morte silencieusement, et il vaut la peine de vérifier la file de sortie sur le backend ; (3) si la vérification de l'état échoue elle-même, l'interrogation s'arrête avec 'Something went wrong with output generation. Please try again later'. Le téléchargement automatique supprime brièvement l'avertissement de sortie du site du navigateur ; c'est intentionnel.