There is a problem with the PDF Merge function in the Vendor invoices list

The version I’m using is 23.0.1

There is a problem with the PDF Merge function in the Vendor invoices list

Once the PDF merge is clicked, the following error will occur

Fatal error: Uncaught Error: Class 'Facture' not found in /www/wwwroot/doli.xxx.com/htdocs/core/actions_massactions.inc.php:978 Stack trace: #0 /www/wwwroot/doli.xxx.com/htdocs/fourn/facture/list.php(345): include() #1 {main} thrown in /www/wwwroot/doli.xxx.com/htdocs/core/actions_massactions.inc.phpon line978

1 Like

I have tested it and found that PDF merging can be used normally in Customer invoices / Sales Orders / Purchase orders

Hi @TuHao As you can see, the Facture class is not found in that file, so check if the class file is included there or not.

Thanks & Regards
Saikat Koley
Software Developer(Dolibarr)
Call/WhatsApp : +919903256573
Email : saikatkoley@hotmail.com
https://www.linkedin.com/in/saikatkoley/

Here are the class definitions and their files

jonbendtsen@Jons-MacBook-Pro dolibarr % grep -r 'class Facture' htdocs 
htdocs/fourn/class/fournisseur.facture.class.php:class FactureFournisseur extends CommonInvoice
htdocs/fourn/class/fournisseur.facture-rec.class.php:class FactureFournisseurRec extends CommonInvoice
htdocs/fourn/class/fournisseur.facture-rec.ligne.class.php:class FactureFournisseurLigneRec extends CommonInvoiceLine
htdocs/compta/facture/class/factureligne.class.php:class FactureLigne extends CommonInvoiceLine
htdocs/compta/facture/class/facturestats.class.php:class FactureStats extends Stats
htdocs/compta/facture/class/facture-rec.class.php:class FactureRec extends CommonInvoice
htdocs/compta/facture/class/facture-rec.class.php:class FactureLigneRec extends CommonInvoiceLine
htdocs/compta/facture/class/facture.class.php:class Facture extends CommonInvoice
jonbendtsen@Jons-MacBook-Pro dolibarr % grep -r require_once htdocs/fourn/facture/list.php 
htdocs/fourn/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
htdocs/fourn/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
htdocs/fourn/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
htdocs/fourn/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
htdocs/fourn/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php';
htdocs/fourn/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php';
htdocs/fourn/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
htdocs/fourn/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
htdocs/fourn/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
htdocs/fourn/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/core/class/discount.class.php';
htdocs/fourn/facture/list.php:	require_once DOL_DOCUMENT_ROOT . '/fourn/class/fournisseur.facture-rec.class.php';
htdocs/fourn/facture/list.php:	require_once DOL_DOCUMENT_ROOT . '/core/lib/invoice.lib.php';
htdocs/fourn/facture/list.php:	require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcategory.class.php';
htdocs/fourn/facture/list.php:	require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
htdocs/fourn/facture/list.php:			require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
htdocs/fourn/facture/list.php:			require_once DOL_DOCUMENT_ROOT.'/core/class/link.class.php';
htdocs/fourn/facture/list.php:	require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';

Notice that it does not require_once the file that contains the class Facture definition - but the compta does require_once that file

jonbendtsen@Jons-MacBook-Pro dolibarr % grep -r require_once htdocs/compta/facture/list.php 
htdocs/compta/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/core/class/discount.class.php';
htdocs/compta/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
htdocs/compta/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
htdocs/compta/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
htdocs/compta/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/core/class/html.formmargin.class.php';
htdocs/compta/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
htdocs/compta/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/core/lib/invoice.lib.php';
htdocs/compta/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
htdocs/compta/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
htdocs/compta/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/core/modules/facture/modules_facture.php';
htdocs/compta/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php';
htdocs/compta/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
htdocs/compta/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php';
htdocs/compta/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture-rec.class.php';
htdocs/compta/facture/list.php:require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
htdocs/compta/facture/list.php:	require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php';
htdocs/compta/facture/list.php:	require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
htdocs/compta/facture/list.php:	require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcategory.class.php';
htdocs/compta/facture/list.php:	require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php';
htdocs/compta/facture/list.php:	require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';

Thank you, but I still don’t quite understand which file I should modify. What code should be modified? @jonbendtsen

1 Like

I think that

Should contain this line next to the similar ones

require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';

Thank you. @jonbendtsen

There is indeed no such line of code in htdocs/fourn/facture/list.php now

Now that this line of code has been added, the problem has been solved

require_once DOL_DOCUMENT_ROOT.‘/compta/facture/class/facture.class.php’;

@TuHao GREAT :slight_smile:

Now I wish you would go to this file

Click the little pencil icon and edit it such that it has this missing line.

Then you commit that with a short text explaining why - not what - and following that you create a new Pull Request, where you explain a little more incl. a link to this thread.

have you tried re-editing or refreshing it ?

I have never edited this file.

The file downloaded from version 23.0.1 is just like this

did you edit the file and submit the merge request as I suggested? @TuHao