Generated documents


The generated documents are stored in the directory defined by the constant DOL_DATA_ROOT

To generate documents in new modules

If you generate documents in a new module, your files must be stored in

  • DOL_DATA_ROOT/mymodule for permanent files.
  • DOL_DATA_ROOT/mymodule/temp for temporary files.

To create these directories, you can use the function

dol_mkdir(DOL_DATA_ROOT.'/mymodule');

To generate these files on the Dolibarr model, create the following files:

  1. the page where to place the "cartouche" (posting) allowing the user to generate a new document and to consult the existing documents.
  2. htdocs/core/modules/mod [standard of document] .class.php if this file wouldn't exist already
  3. htdocs/core/modules/[standard of document] /module_ [standard] .php which will contain the definition of the class of generation
  4. htdocs/core/modules/[standard of document] /pdf_ [model] _ [standard] .modules.php which will contain the model of generation of the document
  5. htdocs/document.php which contains the procedure of delivery of the files once created (and their suppression) - it is also necessary to add to it the type of document and the corresponding directory
  6. The class(es) which contain the data to be posted (classes product.class.php or facture.class.php, or others, according to the document to be generated)

To be able to download the files generated by using the mechanism of safety of Dolibarr, it is advisable to modify the files according to:

  Page waiting to complete. To complete, create an account, go back and clic on "Modify".
  Page en attente d'être complété. Pour compléter, créez un compte, revenez et cliquez sur "Modifier".
  Página a completar. Para completarla, cree una cuenta, vuelva a la página y haga clic en "editar"
  Seite wartet auf Vervollständigung. Um zu helfen, erstelle ein Konto, gehe zurück und klicke auf "Bearbeiten".
  待完成,欲帮助完成,注册帐号,点击“编辑"
  ページは未完成の状態です。完成させるにはアカウントを作成し、ページに戻って「編集」をクリックして下さい。

The model also needs to be inserted into the database, in the Table llx_document_model the type of document in the type field and the name of the corresponding class in includes/modules (starting with pdf_) in the name field.

To know how to build a template, see page Create an ODT document template or Create a PDF document template. Building a pdf template requires PHP development knowledge, but building an ODT template does not.