Module Factory - Erreur de cration de document Pdf de l'Ordre de Fabrication

Bonjour,

J’utilise le module Factory sur la version 14 de Dolibarr.

En voulant créer un document Pdf de l’Ordre de Fabrication, j’ai le message d’erreur suivant:

Voici les informations qui pourront aider au diagnostic (Vous pouvez fixer l’option $dolibarr_main_prod sur ‹ 1 › pour supprimer quelques notifications):
Date: 20210903121430
language file - fr_FR - factory: 14.0.1 - https://www.dolibarr.org
Niveau de fonctionnalités: 0
PHP: 5.6.40
Server: LiteSpeed
OS: Linux yasser.genious.net 2.6.32-954.3.5.lve1.4.80.el6.x86_64 #1 SMP Thu Sep 24 01:42:00 EDT 2020 x86_64
UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0

Url sollicitée: /dolibarr/custom/factory/fiche.php?id=4
Referer: https://globalautomotivefluids.com/dolibarr/custom/factory/fiche.php?id=4
Gestionnaire de menu: eldy_menu.php

Modules/Applications: syslog, user, fckeditor, propal, expedition, tax, product, stock, agenda, banque, cron, commande, ecm, expensereport, facture, fournisseur, margin, multicurrency, printing, supplier_proposal, service, incoterm, societe, ficheinter, variants, productbatch, categorie, export, workflow, factory
Type gestionnaire de base de données: mysqli
Requête dernier accès en base en erreur: SELECT DISTINCT eb.rowid, eb.sellby, eb.eatby, eb.batch, eb.value as qty, eb.fk_product FROM llx_factorydet as fd LEFT JOIN llx_stock_mouvement as eb ON (fd.fk_factory=eb.fk_origin AND eb.origintype=‹ factory ›) WHERE eb.fk_product=202 AND eb.fk_origin=4 AND eb.label like ‹ %usa% ›
Code retour dernier accès en base en erreur: DB_ERROR_NOSUCHTABLE
Information sur le dernier accès en base en erreur: Table ‹ globalau_dolgafc.llx_factorydet › doesn’t exist

Dolibarr a détecté une erreur technique.
Voici les informations qui pourront aider au diagnostic (Vous pouvez fixer l’option $dolibarr_main_prod sur ‹ 1 › pour supprimer quelques notifications):
Date: 20210903121430
language file - fr_FR - factory: 14.0.1 - https://www.dolibarr.org
Niveau de fonctionnalités: 0
PHP: 5.6.40
Server: LiteSpeed
OS: Linux yasser.genious.net 2.6.32-954.3.5.lve1.4.80.el6.x86_64 #1 SMP Thu Sep 24 01:42:00 EDT 2020 x86_64
UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0

Url sollicitée: /dolibarr/custom/factory/fiche.php?id=4
Referer: https://globalautomotivefluids.com/dolibarr/custom/factory/fiche.php?id=4
Gestionnaire de menu: eldy_menu.php

Modules/Applications: syslog, user, fckeditor, propal, expedition, tax, product, stock, agenda, banque, cron, commande, ecm, expensereport, facture, fournisseur, margin, multicurrency, printing, supplier_proposal, service, incoterm, societe, ficheinter, variants, productbatch, categorie, export, workflow, factory
Type gestionnaire de base de données: mysqli
Requête dernier accès en base en erreur: SELECT DISTINCT eb.rowid, eb.sellby, eb.eatby, eb.batch, eb.value as qty, eb.fk_product FROM llx_factorydet as fd LEFT JOIN llx_stock_mouvement as eb ON (fd.fk_factory=eb.fk_origin AND eb.origintype=‹ factory ›) WHERE eb.fk_product=202 AND eb.fk_origin=4 AND eb.label like ‹ %usa% ›
Code retour dernier accès en base en erreur: DB_ERROR_NOSUCHTABLE
Information sur le dernier accès en base en erreur: Table ‹ globalau_dolgafc.llx_factorydet › doesn’t exist

Warning: Invalid argument supplied for foreach() in /home/globalau/public_html/dolibarr/custom/factory/core/modules/factory/doc/pdf_capucin.modules.php on line 244
Dolibarr a détecté une erreur technique.
Voici les informations qui pourront aider au diagnostic (Vous pouvez fixer l’option $dolibarr_main_prod sur ‹ 1 › pour supprimer quelques notifications):
Date: 20210903121430
language file - fr_FR - factory: 14.0.1 - https://www.dolibarr.org
Niveau de fonctionnalités: 0
PHP: 5.6.40
Server: LiteSpeed
OS: Linux yasser.genious.net 2.6.32-954.3.5.lve1.4.80.el6.x86_64 #1 SMP Thu Sep 24 01:42:00 EDT 2020 x86_64
UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0

Url sollicitée: /dolibarr/custom/factory/fiche.php?id=4
Referer: https://globalautomotivefluids.com/dolibarr/custom/factory/fiche.php?id=4
Gestionnaire de menu: eldy_menu.php

Modules/Applications: syslog, user, fckeditor, propal, expedition, tax, product, stock, agenda, banque, cron, commande, ecm, expensereport, facture, fournisseur, margin, multicurrency, printing, supplier_proposal, service, incoterm, societe, ficheinter, variants, productbatch, categorie, export, workflow, factory
Type gestionnaire de base de données: mysqli
Requête dernier accès en base en erreur: SELECT DISTINCT eb.rowid, eb.sellby, eb.eatby, eb.batch, eb.value as qty, eb.fk_product FROM llx_factorydet as fd LEFT JOIN llx_stock_mouvement as eb ON (fd.fk_factory=eb.fk_origin AND eb.origintype=‹ factory ›) WHERE eb.fk_product=218 AND eb.fk_origin=4 AND eb.label like ‹ %usa% ›
Code retour dernier accès en base en erreur: DB_ERROR_NOSUCHTABLE
Information sur le dernier accès en base en erreur: Table ‹ globalau_dolgafc.llx_factorydet › doesn’t exist

Dolibarr a détecté une erreur technique.
Voici les informations qui pourront aider au diagnostic (Vous pouvez fixer l’option $dolibarr_main_prod sur ‹ 1 › pour supprimer quelques notifications):
Date: 20210903121430
language file - fr_FR - factory: 14.0.1 - https://www.dolibarr.org
Niveau de fonctionnalités: 0
PHP: 5.6.40
Server: LiteSpeed
OS: Linux yasser.genious.net 2.6.32-954.3.5.lve1.4.80.el6.x86_64 #1 SMP Thu Sep 24 01:42:00 EDT 2020 x86_64
UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0

Url sollicitée: /dolibarr/custom/factory/fiche.php?id=4
Referer: https://globalautomotivefluids.com/dolibarr/custom/factory/fiche.php?id=4
Gestionnaire de menu: eldy_menu.php

Modules/Applications: syslog, user, fckeditor, propal, expedition, tax, product, stock, agenda, banque, cron, commande, ecm, expensereport, facture, fournisseur, margin, multicurrency, printing, supplier_proposal, service, incoterm, societe, ficheinter, variants, productbatch, categorie, export, workflow, factory
Type gestionnaire de base de données: mysqli
Requête dernier accès en base en erreur: SELECT DISTINCT eb.rowid, eb.sellby, eb.eatby, eb.batch, eb.value as qty, eb.fk_product FROM llx_factorydet as fd LEFT JOIN llx_stock_mouvement as eb ON (fd.fk_factory=eb.fk_origin AND eb.origintype=‹ factory ›) WHERE eb.fk_product=218 AND eb.fk_origin=4 AND eb.label like ‹ %usa% ›
Code retour dernier accès en base en erreur: DB_ERROR_NOSUCHTABLE
Information sur le dernier accès en base en erreur: Table ‹ globalau_dolgafc.llx_factorydet › doesn’t exist

Warning: Invalid argument supplied for foreach() in /home/globalau/public_html/dolibarr/custom/factory/core/modules/factory/doc/pdf_capucin.modules.php on line 244

Warning: Cannot modify header information - headers already sent by (output started at /home/globalau/public_html/dolibarr/core/lib/functions.lib.php:4550) in /home/globalau/public_html/dolibarr/main.inc.php on line 1302

Warning: Cannot modify header information - headers already sent by (output started at /home/globalau/public_html/dolibarr/core/lib/functions.lib.php:4550) in /home/globalau/public_html/dolibarr/main.inc.php on line 1308

Warning: Cannot modify header information - headers already sent by (output started at /home/globalau/public_html/dolibarr/core/lib/functions.lib.php:4550) in /home/globalau/public_html/dolibarr/main.inc.php on line 1310

Merci pour votre aide

bonjour plusieurs remarques :

  • il semble que la table llx_factorydet ne soit pas présente, avez-vous vérifié sa présence dans votre base de donnée
  • vous utilisez une version ancienne de php 5.6
  • vous utilisez LiteSpeed comme serveur web, est-il supporté par dolibarr (j’ai comme un doute sur le sujet et pas le temps de vérifier) …

Bonjour,

J’ai réinstallé la dernière version Factory. Le problème persiste.

J’ai vérifié, la table llx_factorydet existe. llx est bien pour remplacer le nom de mon dolibarr, c’est ca?

ma version Php est bien 5.6. Si elle est ancienne je sais pas.

il est possible que ce soit un problème de droit à la création des tables, je n’ai pas trop de temps à consacrer à du support d’administration

non la table est bien créée puisqu’elle existe.

contacter le support où est installé votre dolibarr, c’est un problème de droit d’accès si votre table est présente mais pas accessible par dolibarr.

Bonjour,

Ça veut dire que vous utilisez autre chose que llx ?
Parce que la le module essaie d’accéder à llx_factorydet.

Dolibarr a acces à cette table car elle contient déjà tout les enregistrements relatifs aux OF que j ai créé.

Le problème surgit uniquement lors de la création des documents pdf.

Je pense que le problème provient du fichier pdf_capucin.modules.php.

Dans la requette de Base de données, il y a llx_factorydet , le llx est pour remplacer un certain prefixe.

Dans d’autres fichiers qui contienent une requête de BD, il y a un truc comme ‹ .MAIN_DB_PREFIX ›.factorydet

Mais ca ne marche toujours pas :frowning:

Ca a marché!

J’ai remplacé lls par « .MAIN_DB_PREFIX. » dans les lignes 720 et 722 :

$sql.= " FROM ".MAIN_DB_PREFIX."factorydet as fd";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."stock_mouvement as eb ON (fd.fk_factory=eb.fk_origin AND eb.origintype='factory')";

Je comprend mieux, vous avez laissé le module batch/lot actif et cela appelle une fonction qui n’est pas stabilisée

Je ne vous comprends pas.

Je ne devrais pas utiliser le module batch/ lot ???