https://wiki.dolibarr.org/api.php?action=feedcontributions&user=Yves.brungard&feedformat=atomDolibarr ERP CRM Wiki - User contributions [en]2024-03-29T13:28:15ZUser contributionsMediaWiki 1.35.0https://wiki.dolibarr.org/index.php?title=Installation_-_Mise_%C3%A0_jour&diff=52771Installation - Mise à jour2022-01-15T10:38:46Z<p>Yves.brungard: Prérequis : vérification du alncement des services</p>
<hr />
<div><!-- BEGIN interlang links --><br />
<!-- Do NOT edit this section<br />
Links below are automatically managed by PolyglotBot<br />
You can edit links on the English source page : Installation_-_Upgrade --><br />
[[en:Installation_-_Upgrade]]<br />
[[es:Instalación_-_Actualización]]<br />
[[zh:安装_-_升级]]<br />
<!-- END interlang links --><br />
<br />
[[Category:Admin fr]]<br />
{{TemplateDocUtil}}<br />
<br />
Les procédures suivantes décrivent comment installer ou mettre à jour Dolibarr.<br />
<br />
<br />
=Installer Dolibarr - Procédure d'installation=<br />
Ce chapitre décrit les différentes méthodes possibles (des plus simples, aux manuelles) pour une première installation. Voir plus loin pour la mises à jour.<br />
<br />
==Sur votre poste/serveur dédié==<br />
===[[File:Logo_windows.png]] En manuel ou avec DoliWamp===<br />
- '''Prérequis''': Windows<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Si vous maîtrisez l'installation d'un serveur Web Apache, de PHP et MySQL, la section [[Installation - Mise à jour#Avec Dolibarr (package standard .zip ou sources Git)|Avec Dolibarr (package standard .zip ou sources Git)]] est plus appropriée.<br />
<br />
Si vous avez du temps et que vous souhaitez apprendre à installer un serveur Web Apache, PHP et MariaDB, consultez la page [[Installation manuelle sous Windows]] pour des instructions pas à pas.<br />
<br />
Pour les moins expérimentés qui sont sous Windows, il existe une distribution Dolibarr nommée '''DoliWamp''' qui permet de faire une installation Dolibarr sous Windows avec tous ses prérequis (Apache, Mysql, PHP) sans connaissance informatiques. Voici comment l'installer:<br />
<br />
*Récupérez la version de Dolibarr pour Windows.<br />
<br />
Pour cela, voir le site {{TemplateURLToDownloadDoliWamp}}<br />
<br />
*Lancer le .exe téléchargé et suivez les instructions.<br />
<br />
===[[File:Apple logo black.svg|35x35px]] Avec MAMP (pour macOS / MAC OS X)===<br />
- '''Prérequis''' : Mac OS X / macOS 10.10 ou supérieur<br />
<br />
- '''Niveau''' : Intermédiaire<br />
<br />
Référez vous à la page [[Installation sur MacOSX]].<br />
<br />
===[[File:Logo_ubuntu.png]] Avec DoliDeb (package Debian / Ubuntu .deb)===<br />
- '''Prerequis''': Linux Debian, Ubuntu, ...<br />
<br />
- '''Niveau''' : Débutant<br />
<br />
Cette procédure fonctionne uniquement pour les utilisateurs Linux Debian, Ubuntu et dérivés et est recommandée pour ceux qui n'ont pas de connaissances informatiques particulières. Si vous êtes un administrateur expérimenté d'Apache, PHP et Mysql, le chapitre '''Avec Dolibarr (package standard zip)''' sera peut-être plus approprié. Dans le cas contraire, vous pouvez utilisez DoliDeb. DoliDeb est un package de Dolibarr spécialisé pour la distribution Debian ou Ubuntu. Ce package vous permet d'installer Dolibarr sous Ubuntu ou Debian (ou dérivé) avec tous ces prérequis (Apache, Mysql, PHP) s'ils ne sont pas déjà installés et ce sans connaissances techniques particulières.<br />
<br />
*La procédure pour installer DoliDeb est décrite sur la page [[Dolibarr pour Ubuntu ou Debian]].<br />
<br />
===[[File:Logo_rpm.png|40px]] Avec DoliRpm (package Fedora, Redhat, Mandriva, Mageia ou OpenSuse .rpm)===<br />
- '''Prerequis''' : Linux Fedora, Redhat, Mandriva, Mageia or OpenSuse (peut également fonctioner pour toute distribution Linux à rpm)<br />
<br />
- '''Niveau''' : Débutant<br />
<br />
Cette procédure fonctionne uniquement pour les utilisateurs Linux d'une distribution gérant les packages rpm et est recommandée pour ceux qui n'ont pas de connaissances informatiques particulières. Si vous êtes un administrateur expérimenté d'Apache, PHP et Mysql, le chapitre suivant '''Avec Dolibarr (package standard zip)''' sera peut-être plus approprié. Dans le cas contraire, vous pouvez utilisez DoliRpm. DoliRpm est un package de Dolibarr spécialisé pour la distribution Fedora, Redhat, Mandriva, Mageia ou OpenSuse. Ce package vous permet d'installer Dolibarr sous ces OS avec tous ces prérequis (Apache, Mysql, PHP) s'ils ne sont pas déjà installés et ce sans connaissances techniques particulières.<br />
<br />
*La procédure pour installer DoliRpm est décrite sur la page [[Dolibarr pour Redhat ou Fedora (package rpm)]] ou [[Dolibarr pour Mandriva ou Mageia (package rpm)]] ou [[Dolibarr pour OpenSuse (package rpm)]].<br />
<br />
===[[File:Gnu.png]] Avec Dolibarr (package standard .zip ou sources Git)===<br />
====Prérequis====<br />
Apache, PHP et un serveur de base de données (MySQL ou PostgreSQL) sont présents et opérationnels, et le login/mot de passe d'accès (à une nouvelle base ou au serveur) est connu.<br />
<br />
- '''Niveau''' : Un peu de connaissances informatiques en administration Web.<br />
<br />
Cette procédure décrit l'installation manuelle (recommandée) sur un système GNU/Linux (Debian, Mandriva, ...) mais elle est valable avec d'autres systèmes moyennant une adaptation des chemins à ceux de votre OS.<br />
<br />
Elle est applicable pour toute version de Dolibarr >= 2.0.0<br />
<br />
Pour des instructions spécifiques à une installation sous Windows, vous pouvez consulter la page [[Installation manuelle sous Windows]].<br />
<br />
*Vérifiez que vous avez bien Apache, PHP {{PHPMinVersion}} et un serveur de base de données (MySQL {{MySqlMinVersion}} ou PostgreSQL) d'installés (consulter pour cela la liste des packages installés sur votre machine grâce au gestionnaire de mise à jour de package de votre distribution).<br />
*Vérifiez que le serveur Web est lancé (<code>systemctl status httpd.service</code> par exemple). L'activer le cas échéant (<code>systemctl enable --now httpd.service</code>)<br />
<br />
*Vérifiez que l'utilisateur root ou admin principal pour le serveur de base de donnée est connu et fonctionne correctement. Si cet utilisateur root ou admin est inconnu car pas encore défini, lisez le chapitre qui suit. Sinon vous pouvez passez au point suivant:<br />
<br />
====MySql ou MariaDB====<br />
Vérifiez que le serveur de base de données est lancé (<code>systemctl status mysqld.service</code> par exemple). L'activer le cas échéant (<code>systemctl enable --now mysql.service</code>).<br />
<br />
Pour les utilisateurs Linux utilisant MySql ou MariaDB, si vous venez juste d'installer la base de donnée, le login administrateur est '''root'''. Vous devez exécuter la commande suivante pour initialiser le mot de passe:<br />
<source lang="bash"><br />
mysql <br />
</source><br />
Une fois dans l'interface Mysql, taper la commande de modification du mot de passe de root:<br />
<source lang="sql"><br />
grant all privileges on *.* to root@'localhost' identified by 'newrootpass' with grant option; <br />
</source><br />
Puis entrée et pour quitter \q<br />
<br />
Pour vérifier que l'accès avec ce couple user/mot de passe fonctionne, lancer la commande<br />
<source lang="bash"><br />
mysql -u root -p<br />
</source><br />
Et taper votre mot de passe ''newrootpass'' suivi de \q pour quitter la sessions si la connexion a réussie.<br />
<br />
====Postgresql====<br />
Pour les utilisateurs Linux utilisant Postgresql, si vous venez juste d'installer la base de donnée PostgreSQL, vous devez d'abord créer un utilisateur administrateur et son mot de passe. Pour cela, ajouter la ligne suivante dans le fichier '''/etc/postgresql/x.x/main/pg_hba.conf''' (remplacer x.x avec votre version de postgres)<br />
<source lang="ini"><br />
local all dolibarrowner md5 <br />
</source><br />
De plus, mettez en commentaire la ligne<br />
<source lang="ini"><br />
#local all all ident<br />
</source><br />
qui impose que le compte système utilisé pour accéder à la base (ce sera le compte sous lequel tourne l'application web), ait le même nom que le compte dans la base (ce n'est jamais le cas).<br />
<br />
Ensuite, lancer la commande sous un shell root<br />
<source lang="bash"><br />
sudo -s -u postgres<br />
createuser dolibarrowner<br />
psql -d template1 -c "alter user dolibarrowner with password 'dolibarrownerpass'"<br />
exit<br />
psql<br />
create database databasename;<br />
grant all privileges on database databasename to dolibarrowner;<br />
ALTER DATABASE databasename OWNER TO dolibarrowner;<br />
\q<br />
sudo /etc/init.d/postgresql restart<br />
</source><br />
Vous pouvez tester la connexion pour l'utilisateur crée avec la commande<br />
<source lang="bash"><br />
psql -h localhost -d postgres -U dolibarrowner -W<br />
</source><br />
Et entrez le mot de passe ''dolibarrownerpass'' et \q pour quitter la session si la connexion est ok.<br />
====Copie des fichiers====<br />
<br />
*Placez-vous dans le répertoire dans lequel installer Dolibarr (le répertoire racine défini pour votre serveur web)<br />
<br />
#Pour Debian et les familles Ubuntu, il s'agit en général de: /var/www<br />
#Pour Mandriva, Mageia, RedHat, Fedora: /var/www/html<br />
#Pour Suse: /srv/www/htdocs<br />
<br />
<source lang="bash"><br />
$ cd /var/www<br />
</source><br />
<br />
*Récupérez l'application<br />
<br />
=====Avec l'archive=====<br />
Si vous partez du fichier dolibarr.zip, récupérez le fichier et décompressez l'archive de l'application (ex: version 12.0.4)<br />
<br />
<source lang="bash"><br />
$ wget 'https://sourceforge.net/projects/dolibarr/files/Dolibarr ERP-CRM/12.0.4/dolibarr-12.0.4.zip'<br />
$ unzip dolibarr.zip<br />
</source><br />
<br />
Renommez le répertoire dolibarr-x.y.z en dolibarr afin d'avoir un nom de répertoire indépendant de la version (où x.y.z correspond à la version source)<br />
<source lang="bash"><br />
$ mv dolibarr-x.y.z dolibarr<br />
</source><br />
<br />
=====Avec les sources Git=====<br />
Si vous partez des sources Git, récupérer les sources par<br />
<br />
<source lang="bash"><br />
$ git clone -b X.Y http://github.com/Dolibarr/dolibarr.git dolibarr<br />
</source><br />
<br />
'''X.Y''' est la version à installer(Par exemple 9.0, 11.0, ...). Il est possible de remplacer '''X.Y''' par '''develop''' pour récupérer la version en cours de développement.<br />
<br />
====Gestion des droits====<br />
Modifiez les permissions et propriétaires du répertoire 'dolibarr' pour être sur que tous les fichiers soient en lecture pour l'utilisateur sur lequel tourne le serveur (on supposera qu'il s'agit de l'utilisateur 'www-data' pour debian ou ubuntu, 'apache' pour Redhat, Mandriva, Mageia, Fedora)<br />
<source lang="bash"><br />
$ chmod -R 755 /var/www/dolibarr<br />
$ chown -R www-data.www-data /var/www/dolibarr<br />
ou<br />
$ chmod -R 755 /var/www/html/dolibarr<br />
$ chown -R apache.apache /var/www/html/dolibarr<br />
</source><br />
<br />
====Fichier de configuration====<br />
En tant que root, créez, dans le répertoire dolibarr/htdocs/conf, un fichier de configuration vide, et attribuez-lui comme propriétaire du fichier, l'utilisateur du serveur web (exemple www-data sur debian, nobody sur une vieille RedHat, apache sur une autre version ...). Ceci est requis car le serveur web a besoin d'écrire dans ce fichier lors de l'installation.<br />
<source lang="bash"><br />
$ cd dolibarr ; touch htdocs/conf/conf.php ; chown www-data htdocs/conf/conf.php<br />
</source><br />
====SELinux sur Fedora====<br />
Sur Fedora, comme SELinux est activé en général, il est aussi conseillé de lancer les commandes pour rendre le répertoire 'dolibarr' accepté par l'environnement SELinux (an absence de commande, vous devriez recevoir des nombreuses alertes d'anomalies) :<br />
<source lang="bash"><br />
$ semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/dolibarr(/.*)?'<br />
$ restorecon -R -v '/var/www/html/dolibarr'<br />
</source><br />
<br />
====Répertoire de documents====<br />
Toujours en root, créez le répertoire qui servira aux documents générés ou stockés par Dolibarr (factures pdf, images, ...), et attribuez lui comme propriétaire, l'utilisateur du serveur web (exemple www-data sur Debian, nobody sur une vieille RedHat, apache sur une Mandriva, Mageia ou une RedHat récente, ...). Le serveur web doit avoir les droits en écriture dans ce répertoire. Il faut choisir un répertoire en dehors de la racine du site web. Par exemple "/var/lib/dolibarr/documents"<br />
<source lang="bash"><br />
$ mkdir -p /var/lib/dolibarr/documents ; chown www-data /var/lib/dolibarr/documents<br />
</source><br />
<br />
====Installation====<br />
<br />
*Pointez votre navigateur sur la page principale<br />
<br />
<source lang="ini"><br />
http://127.0.0.1/dolibarr/htdocs/<br />
</source><br />
<br />
*Suivez les instructions de l'installation<br />
<br />
*Pour des raisons de sécurité nous vous conseillons, une fois l'installation terminée, de créer un fichier install.lock dans le répertoire dédiés aux documents, que seul root doit avoir le droit d'effacer. Ceci va verrouiller la procédure d'installation qui ne pourra plus être appelée par erreur (Il faudra le supprimer pour les mises à jour).<br />
<br />
<source lang="bash"><br />
$ touch /var/lib/dolibarr/documents/install.lock; chmod go-w /var/lib/dolibarr/documents;<br />
</source><br />
<br />
==Sur un hébergement mutualisé (à accès restreint)==<br />
Certains hébergeurs proposaient une installation "en un clic" (OVH par exemple) : ils ont pour la plus part abandonné car trop questionnés pour des questions d'utilisation/administration : ils vous renverront maintenant vers ce wiki ou vers le forum dolibarr.<br />
<br />
Procédure générique:<br />
<br />
- '''Prerequis''': <br />
Un serveur web Apache, PHP et une base de donnée (MySQL ou PostgreSQL) tourne correctement et le compte login/mot de passe (de la nouvelle base de donnée ou d'administration du serveur) est connu (sinon les demander à l'hébergeur).<br />
<br />
- '''Niveau''': Utilisateurs avec quelques notions d'administration Web and base de donnée. Maitrise d'un outil de transfert de fichier (FTP, SFTP, ...) pour uploader les fichiers sur le serveur.<br />
<br />
*Vérifiez que vous avez un serveur Web Apache, PHP et une base de donnée (MySQL ou PostGreSQL) qui fonctionne correctement.<br />
<br />
[[File:warning.png]] Attention, la page de code du serveur PHP et de la base de donnée doivent être identique.<br />
<br />
*Vérifiez que vous avez un compte root ou administrateur avec login/mot de passe connu et que ces comptes fonctionnent. Si inconnu, demandez les à votre hébergeur.<br />
<br />
*Récupérer l'archive de la dernière version stable de Dolibarr et décompressez la localement..<br />
<br />
*Uploadez tout le contenu du répertoire dans le répertoire racine de votre site web, par exemple par FTP en mode binaire. NB : seul le contenu de htdocs est nécessaire au fonctionnement de dolibarr)<br />
<br />
*Créez un répertoire nommé "documents", dans cette racine, qui servira à sauver tous les documents générés et stockés par Dolibarr (factures PDF, images uploadées, ...). Le serveur web doit avoir les permissions d'écrire dedans. Vous pouvez attribuer ces permission avec un client FTP.<br />
<br />
*Maintenant appeler la page principale index.php de dolibarr avec votre navigateur.<br />
<br />
*Suivez les instructions pas à pas du processus d'installation.<br />
<br />
*Pour des raisons de sécurité, il est recommandé, une fois l'installation terminée, de créer un fichier install.lock dans le répertoire de Dolibarr. Ceci verrouillera l'appel au processus d'installation (il vous faudra supprimer ce fichier pour permettre les mise à jour). Si ceci n'est pas fait, Dolibarr vous affichera un warning lorsque vous êtes loggués comme administrateur.<br />
<br />
==Sur un hébergeur SaaS ou Cloud==<br />
Dolibarr est aussi disponible en version "pré-installée" chez de nombreux hébergeurs payants, fournissant des instances hébergées "prêtes à l'emploi".<br />
<br />
Voir la page [[Solutions de Cloud]].<br />
<br />
Dolibarr peut aussi être installé manuellement sur toute plateforme Cloud (gratuite ou payante) qui supporte le PHP et Mysql.<br />
<br />
Voir la page [[Installation - Mise à jour]]<br />
<br />
=Configuration=<br />
<br />
==Premiers paramétrages==<br />
Voir la page [[Premiers_paramétrages|Configuration/Paramétrage]].<br />
<br />
==Configurer une connexion LDAP==<br />
Si vous désirez utiliser LDAP: Voir [[Installer et configurer OpenLDAP]].<br />
<br />
=Importer des données externes=<br />
Pour cette opération, consulter la page [[Imports_de_masse]].<br />
<br />
=Procédure de mise à jour=<br />
Ce chapitre décrit le processus pour mettre à niveau une installation existante de Dolibarr d'une ancienne version vers une autre. Le processus est le même quel que soit la version depuis laquelle vous venez et la version vers laquelle vous allez, mais sera différent selon la distribution ou système d'exploitation utilisé pour votre première installation. Il est recommandé d'utiliser le même type de distribution pour la mise à jour que celle utilisée pour la première installation.<br />
<br />
==Sauvegarde avant mise à jour==<br />
<br />
Avant de faire une mise à jour, il est recommendé de faire un sauvegarde de la base de donnée mais aussi des documents, de cette façon même en cas de catastrophe vous ne perdrez pas vos précieuses données<br />
https://wiki.dolibarr.org/index.php/Sauvegardes<br />
<br />
==[[File:Logo_windows.png]] Avec DoliWamp (package Windows .exe)==<br />
<br />
Si vous aviez installé la version de Dolibarr spécifique nommé DoliWamp (qui embarque le serveur Web, PHP et Mysql), la procédure à suivre est celle-ci (Dans tout autre cas, utilisez une des procédures des chapitres suivant):<br />
<br />
*Télécharger la nouvelle version de DoliWamp.<br />
<br />
*Lancer le .exe et laissez vous guider dans toutes les étapes de migration en cliquant suivant,suivant,... à chaque fois sans rien changer aux valeurs proposées par défaut.<br />
<br />
*Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
==[[File:Logo_ubuntu.png]] Avec DoliDeb (package Debian / Ubuntu .deb)==<br />
Si vous aviez installé Dolibarr via un packagage Debian-Ubuntu, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .deb.<br />
Par exemple en suivant la procédure [[Dolibarr pour Ubuntu ou Debian]].<br />
<br />
*Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
==[[File:Logo_rpm.png|40px]] Avec DoliRpm (package Fedora, Redhat, Mandriva, Mageia ou OpenSuse .rpm)==<br />
Si vous aviez installé Dolibarr via un packagage rpm, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .rpm.<br />
<br />
*Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par exemple si vous avez installé Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
==[[File:Gnu.png]] Avec Dolibarr (package standard .zip)==<br />
<br />
Cette procédure décrit la mise à jour de Dolibarr depuis une ancienne version vers une plus récente par la méthode manuelle, avec la distribution standard.<br />
<br />
===Cas d'un hébergement où vous disposez d'un accès SSH===<br />
<br />
*Placez-vous dans le répertoire dans lequel a été installé Dolibarr (le répertoire racine de votre serveur web, par exemple /var/www sous Debian)<br />
<br />
<source lang="bash"><br />
$ cd /var/www<br />
</source><br />
<br />
*Récupérez l'archive de la nouvelle version (ex: 12.0.4)<br />
<br />
<source lang="bash"><br />
$ wget 'https://sourceforge.net/projects/dolibarr/files/Dolibarr ERP-CRM/12.0.4/dolibarr-12.0.4.zip'<br />
</source><br />
<br />
*Décompressez l'archive<br />
<br />
<source lang="bash"><br />
$ unzip dolibarr.zip<br />
</source><br />
<br />
*Recopiez les nouveaux fichiers (qui ont été décompressés dans le répertoire dolibarr-x.y.z) vers le répertoire où vous avez votre ancienne version de Dolibarr. Ceci a pour effet de remplacer les anciens fichiers par les nouveaux tout en conservant les fichiers qui vous sont spécifiques (comme le fichier conf.php ou encore vos modules complémentaires non officiels installés).<br />
*Si vous déplacez ou renommez également le dossier de votre ancienne version de Dolibarr, pensez à modifier les chemins dans le fichier '''conf/conf.php''' (sinon vous risquez un fatal error: Cannot redeclare versiontostring)<br />
<br />
<source lang="bash"><br />
$ cp -r dolibarr-x.y.z/* dolibarr<br />
</source><br />
<br />
*Vous pouvez alors supprimer le répertoire des fichiers sources<br />
<br />
<source lang="bash"><br />
$ rm -fr dolibarr-x.y.z<br />
</source><br />
<br />
*Lancer Dolibarr dans votre navigateur habituel. Ceci fera apparaître l'assistant de migration: L'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs versions, garder le choix proposé de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installée (par si vous avez installé Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
ou <br />
<br />
Lancer les 3 étapes de migration en ligne de commande:<br />
<source lang="bash"><br />
$ cd htdocs/install<br />
$ php upgrade.php oldx.oldy.oldz x.y.z > output.html<br />
$ php upgrade2.php oldx.oldy.oldz x.y.z > output2.html<br />
$ php step5.php oldx.oldy.oldz x.y.z > output3.html<br />
</source><br />
Note: z doit être "0" car seules les versions majeures ont un script de migration à exécuter.<br />
<br />
Le code retour sera 0 en cas de succès, 1 en cas d'erreur (voir alors le fichier sortie output.html ou output2.html)<br />
<br />
Note: Si vous avez un message signalant que le processus de mise à jour est verrouillé par un fichier install.lock, supprimer ce fichier (il est stocké dans le répertoire racine ou "documents" de Dolibarr) puis rafraîchissez la page.<br />
<br />
*Pour des raisons de sécurité nous vous conseillons, une fois la mise à jour terminée, de verrouiller le répertoire d'installation en créant un fichier install.lock dans le répertoire de donnée de Dolibarr. Dans le cas contraire, Dolibarr vous avertira d'un message dans l'interface une fois connecté<br />
<br />
<source lang="bash"><br />
$ echo > documents/install.lock<br />
$ chmod 444 documents/install.lock<br />
</source><br />
<br />
===Cas d'un hébergement sans accès SSH (mutualisé)===<br />
Cette procédure a été vérifiée pour les mises à jours mineures de v10.0, soit v10.0.n vers v10.0.m (m > n). Dolibarr est installé sur un hébergement mutualisé que l'on peut paramétrer par une interface dédiée et à laquelle on accède par ftp/sftp.<br />
<br />
La mise à jour pourra prendre de 2 à 4 heures en fonction de votre bande passante internet. Dolibarr sera inaccessible à tous les utilisateurs entre les étapes 3 et 6.<br />
<br />
Chaque étape doit être réalisée dans l'ordre. L'interruption du processus est possible entre chaque étape.<br />
<br />
====Étape 1 - Téléchargement de la nouvelle version====<br />
Téléchargez l’archive de la nouvelle version sur votre disque local.<br />
<br />
Décompressez l’archive de la nouvelle version sur le disque local.<br />
<br />
====Étape 2 - Sauvegarde de votre installation actuelle====<br />
Se reporter à la page [[Sauvegardes]].<br />
<br />
=====À partir de votre interface d'administration Dolibarr, sauvegardez :=====<br />
<br />
*le répertoire <code>/documents</code>,<br />
*la base de donnée.<br />
<br />
Les fichiers de sauvegarde créés sont enregistrés dans votre répertoire /documents.<br />
<br />
=====Récupération de la sauvegarde distante (obligatoire, le fichier conf.php sera réutilisé plus tard)=====<br />
Copier les répertoires distants suivants sur votre disque local :<br />
<br />
*<code>/documents</code>,<br />
*<code>/htdocs/conf</code> (pour sauver <code>conf.php</code>).<br />
<br />
====Étape 3 - Mettre le site hors ligne====<br />
Rendez l'accès à Dolibarr impossible à vos utilisateurs. Dans la plupart des cas, votre hébergement permet de rendre votre site hors ligne. Il ne sera plus accessible via un navigateur. Vous aurez toujours accès aux répertoires via votre logiciel ftp.<br />
<br />
====Étape 4 - Supprimez l'ancienne version sur le serveur====<br />
Avec votre logiciel ftp, '''supprimez''' les fichiers et répertoires suivants :<br />
<br />
*les fichiers à la racine de votre répertoire distant,<br />
*install.lock dans le répertoire <code>/documents</code> (s'il existe),<br />
*les répertoires :<br />
**<code>/build</code>,<br />
**<code>/dev</code>,<br />
**<code>/doc</code>,<br />
**<code>/htdocs</code>,<br />
**<code>/scripts</code>.<br />
<br />
Il ne doit plus rester que le répertoire <code>/documents</code> dans votre espace distant.<br />
<br />
====Étape 5 - Envoyer les nouveaux fichiers sur le serveur distant====<br />
Avec votre logiciel ftp, '''envoyer''' :<br />
<br />
*tous les fichiers et répertoires de l'archive décompressée de la nouvelle version,<br />
*<code>config.php</code> de votre sauvegarde dans <code>/htdocs/config</code><br />
<br />
====Étape 6 - Lancer la mise à jour====<br />
Remettre votre site en ligne.<br />
<br />
Avec votre navigateur, connectez-vous à votre instance Dolibarr avec l'URL que vous utilisez habituellement (généralement : ''<nowiki>https://monsite.re/htdocs/index.php</nowiki>''). Dolibarr détecte la présence de fichiers d'une nouvelle version. Il lance le processus de mise à jour.<br />
<br />
À l'issue de ce processus, vous arrivez sur votre page de connexion habituelle. Vous noterez que le numéro de votre nouvelle version sera indiqué au-dessus du formulaire de connexion.<br />
<br />
====Étape 7 - Opération de sécurité finale====<br />
'''Envoyer''' <code>install.lock</code> depuis votre sauvegarde dans le répertoire <code>/documents</code>.</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Webserver&diff=52091Webserver2021-09-29T07:22:51Z<p>Yves.brungard: all in the same language, English</p>
<hr />
<div>A Webserver is necessary for running Dolibarr.<br />
<br />
Usually the Apache 2 Webserver is used but you can also use Nginx, or any Web server with PHP support available. <br />
<br />
<br />
<br />
=Example of setup of a virtual host file for Apache=<br />
<br />
TODO...<br />
<br />
<br />
=Example of setup of a virtual host file for Nginx=<br />
<br />
Here is a configuration file for Nginx working in HTTPS on Debian 11, PHP7.4, Nginx 1.18 et Dolibarr 14 :<br />
<br />
<blockquote>server {<br />
<br />
root /var/www/dolibarr/htdocs;<br />
<br />
index index.html index.php;<br />
<br />
server_name dolibarr.example.fr;<br />
<br />
location / {<br />
<br />
try_files $uri $uri/ =404;<br />
<br />
}<br />
<br />
location ~ [^/]\.php(/|$) {<br />
<br />
fastcgi_intercept_errors on;<br />
<br />
include fastcgi_params;<br />
<br />
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;<br />
<br />
fastcgi_param SCRIPT_NAME $fastcgi_script_name;<br />
<br />
fastcgi_pass unix:/run/php/php7.4-fpm.sock;<br />
<br />
}<br />
<br />
listen [::]:443 ssl ipv6only=on;<br />
<br />
listen 443 ssl;<br />
<br />
ssl_certificate /etc/letsencrypt/live/dolibarr.example.fr/fullchain.pem;<br />
<br />
ssl_certificate_key /etc/letsencrypt/live/dolibarr.example.fr/privkey.pem;<br />
<br />
include /etc/letsencrypt/options-ssl-nginx.conf;<br />
<br />
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;<br />
<br />
error_log /var/log/nginx/dolibarr.example.fr/error.log warn;<br />
<br />
access_log /var/log/nginx/dolibarr.example.fr/access.log;<br />
<br />
}<br />
<br />
server {<br />
<br />
if ($host = dolibarr.example.fr) {<br />
<br />
return 301 <nowiki>https://$host$request_uri</nowiki>;<br />
<br />
}<br />
<br />
listen [::]:80;<br />
<br />
listen 80;<br />
<br />
server_name dolibarr.example.fr;<br />
<br />
return 404;<br />
<br />
}</blockquote></div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Dolibarr_Preferred_Partner_fr&diff=47743Dolibarr Preferred Partner fr2020-06-30T07:50:41Z<p>Yves.brungard: Orthographe</p>
<hr />
<div><!-- BEGIN interlang links --><br />
<!-- Do NOT edit this section<br />
Links below are automatically managed by PolyglotBot<br />
You can edit links on the English source page : Dolibarr_Preferred_Partner --><br />
[[en:Dolibarr_Preferred_Partner]]<br />
[[es:Dolibarr_Preferred_Partner_es]]<br />
<!-- END interlang links --><br />
<br />
{{TemplateAssoFr}}<br />
[[Category:Association]]<br />
<center><br />
[[File:Business people large.png|120px]]<br />
</center><br />
Cette page décrit le programme de labellisation '''Dolibarr Preferred Partner''' pour le logiciel '''Dolibarr ERP & CRM'''. Vous y trouverez les termes, définitions, conditions et apports du label.<br />
Pour une liste des partenaires labellisés de part le monde, voir la page [[List of Dolibarr partners and providers]]. Il existe toutefois de nombreuses autres sociétés (fournisseurs/intégrateurs/société de conseils/formateurs) non labellisées, mais nous ne pouvons en fournir de liste exhaustive, n'ayant un lien privilégié qu'avec ceux qui sont labellisés.<br />
<br />
<br />
<br />
= Qu'est-ce qu'un Dolibarr Preferred Partner (Services offerts) =<br />
Un "'''Dolibarr Preferred Partner'''" est un fournisseur de service (développeur et/ou formateur et/ou société de conseil, et/ou d'hébergement) autour de Dolibarr ERP-CRM qui s'est engagé à prouver sa crédibilité et son implication autour du produit, ce qui offre une garantie de qualité dans ses prestations.<br />
<br />
Voici la liste d'exemples de services sur Dolibarr que peux offrir une société qui a obtenu le label [[File:Dolibarr_preferred_partner_int.png|100px]]<br />
# Installation/Configuration<br />
# Formation utilisation / Formation à la programmation<br />
# Assistance et maintenance de l'application<br />
# Programmation sur mesure.<br />
# Service d'hébergements de Dolibarr <br />
<br />
Les partenaires peuvent offrir un ou plusieurs de ces services mais pas nécessairement la totalité. Une société peut de plus parfaitement offrir tous ces services sans nécessairement avoir obtenu le label "Dolibarr Preferred Partner". Tout fournisseur peut très bien fournir du service autour de Dolibarr librement, mais le label offre avant tout un gage de qualité vis à vis de ses clients, et, selon l'actualité de l'association Dolibarr, peut permettre aussi de bénéficier de certains avantages.<br />
<br />
Il ne faut pas confondre les "Dolibarr Preferred Partner" avec les "Communautés Dolibarr". Les communautés sont un regroupement de passionnés qui oeuvrent, sans forcément être référent, à la promotion de Dolibarr. Si vous voulez vous aussi créer une communauté Dolibarr dans votre région ou pays, voir la page [[Create a Dolibarr local community]].<br />
<br />
La liste des partenaires "Preferred Partner" est disponible sur la page [[List of Dolibarr partners and providers]].<br />
<br />
[[File:Warning.png]] '''Obtenir le label "Dolibarr Preferred Partner" n'est absolument pas obligatoire pour monter une activité commerciale autour de Dolibarr ERP CRM. 99% des entreprises qui proposent du service sur Dolibarr n'ont pas ce Label. Il s'agit juste, pour une société, d'un critère suplémentaire pour rassurer ses clients.'''<br />
<br />
= Règles éligibilité =<br />
Les règles éligibilité au label sont les suivantes:<br />
<br />
* Etre une société immatriculée dans son pays d'origine.<br />
<br />
Ensuite, il faut respecter les critères de votre pays:<br />
<br />
== Pour la France et les pays de langue francophone (comme la Belgique, Suisse, Luxembourg) (points cumulatifs) ==<br />
* A) La société doit avoir un site web qui inclut au moins 1 lien vers le site https://www.dolibarr.org ou https://www.dolibarr.xx (où xx est fr, es, it, de, pt...) sur une page du site (mais un lien sur chaque mention ou logo de Dolibarr est bienvenue).<br />
* B) La société doit être membre de l'association Dolibarr (soit en tant qu'adhérent moral, soit avec un gérant membre en tant que membre individuel) depuis 1 an ou plus. Pour cela, suivre les instructions sur la page [[Adhérer#Adh.C3.A9rer_pour_la_premi.C3.A8re_fois_.C3.A0_l.27association|Adhérer]].<br />
* C) La société doit montrer sa motivation ou confiance envers le projet Dolibarr. Pour cela, elle doit:<br />
** soit avoir soumis, dans l'année écoulée, soit au moins 500 lignes de codes ou de traductions approuvées (dans le code source ou via un module sur dolistore.com ou dans la documentation du wiki.dolibarr.org),<br />
** soit avoir représenté Dolibarr dans au moins 1 salon informatique d'ordre national ou régional,<br />
** soit avoir publié 2 articles autour de Dolibarr dans la presse écrite ou en ligne (dans sa langue natale ou en anglais).<br />
* D) La société accepte d'avoir dans ses rangs au moins un développeur ou intégrateur actif (le terme "actif" se déduit de manière subjectif sur la base de l'analyse des contributions github, rédaction sur le wiki, messages sur les forums).<br />
<br />
== Pour l'Espagne et pays de langue hispanique ==<br />
* A) La société doit avoir un site web qui inclut au moins 1 lien vers le site https://www.dolibarr.org ou https://www.dolibarr.xx (où xx est fr, es, it, de, pt...) sur une page du site (mais un lien sur chaque mention ou logo de Dolibarr est bienvenue).<br />
* Les points B, C et D sont remplacés par un test de connaissance de Dolibarr. Ce test de connaissance est réalisé par la société 2Bytes.es ([http://www.dolibarr.es www.dolibarr.es]), en espagnol, sous la forme d'un échange avec partage d'écran. Passer le test est essentiel pour obtenir le label (en plus du point A) <br />
<br />
Remarque: <br />
<br />
* Les services et avantages pour l'obtention du label sont expliqués à [https://www.dolibarr.es/index.php/dolibarr-partners/quiero-ser-partner Quiero ser partner], section '''Ventajas o beneficios'''.<br />
* les coûts pour l'obtention du label sont expliqués à [https://www.dolibarr.es/index.php/dolibarr-partners/quiero-ser-partner Quiero ser partner], section '''Costes del Programa Preferred Partners'''.<br />
<br />
== Pour les autres pays (points cumulatifs) ==<br />
* A) La société doit avoir un site web qui inclut au moins un lien vers le site https://www.dolibarr.org ou https://www.dolibarr.xx (où xx est fr, es, it, de, pt...) sur une page du site (mais un lien sur chaque mention ou logo de Dolibarr est bienvenue).<br />
* B) La société doit être membre de l'association Dolibarr (soit en tant qu'adhérent moral, soit avec un gérant membre en tant que membre individuel) depuis 1 an ou plus. Pour cela, suivre les instructions sur la page [[Adhérer#Adh.C3.A9rer_pour_la_premi.C3.A8re_fois_.C3.A0_l.27association|Adhérer]].<br />
* C) La société doit montrer sa motivation ou confiance envers le projet Dolibarr. Pour cela, elle doit:<br />
** soit avoir soumis, dans l'année écoulée, soit au moins 500 lignes de codes ou de traductions approuvées (dans le code source ou via un module sur dolistore.com ou dans la documentation du wiki.dolibarr.org),<br />
** soit avoir représenté Dolibarr dans au moins un salon informatique d'ordre national ou régional,<br />
** soit avoir publié 2 articles autour de Dolibarr dans la presse écrite ou en ligne (dans sa langue natale ou en anglais).<br />
* D) La société accepte d'avoir dans ses rangs au moins un développeur actif (le terme "actif" se déduit de manière subjectif sur la base de l'analyse des contributions github, wiki ou forums).<br />
<br />
<br />
<br />
Ces règles sont susceptibles d'évoluer en se renforçant avec le temps.<br />
Le Bureau de l'association Dolibarr peut toutefois décider d'accorder le label même si les critères C et D ne sont pas complètement rempli, à condition toutefois que le partenaire ait prouvé autrement son implication et son apport dans le projet. Ce cas requiert toutefois un vote à l'unanimité (pas de vote contre) de la part du bureau de l'association suite à sollicitation d'un membre de ce même bureau.<br />
<br />
= Contraintes =<br />
== Pour tout pays ==<br />
Les contraintes suivantes doivent être respectées:<br />
* La société peut rediriger les clients qu'elle ne peut honorer vers un autre Dolibarr Preferred Partner (Liste disponible ici: [[List of Dolibarr partners and providers]]). L'information pourra être fournie par un mail sur la mailing liste '''dolibarr-preferred-partners@nongnu.org'''.<br />
<br />
Si la société offre un service d'hébergement publique de Dolibarr (SaaS), elle doit s'engager sur les points suivants<br />
* Délai d'affichage moyen d'une page < 2 secondes<br />
* L'hébergeur doit offrir une mise à jour (soit automatique, soit à la demande des clients) afin de ne pas contraindre les utilisateurs qui veulent évoluer à être sur une version plus vieille que celle releasée stable 12 mois auparavant.<br />
* A minima, toutes les fonctionnalités fournies avec la version standard de Dolibarr doivent être activable. Le client doit pouvoir y ajouter des modules supplémentaires (soit librement, soit par service complémentaire payant).<br />
* Si il y a des limitations de temps ou de quantité qui ont été ajoutés dans certaines offres, la liste de ces limitations ou restrictions doit apparaître dans les conditions générales de vente/hébergement.<br />
<br />
== Pour l'Espagne et Amérique latine ==<br />
* D'autres contraintes s'appliquent et sont définies sur la page http://dolibarr.es/index.php/dolibarr-partners/quiero-ser-partner<br />
<br />
= Mode opératoire pour obtenir le label =<br />
== Pour la France, Belgique, Suisse, Luxembourg ==<br />
* Créer un compte développeur sur GitHub (aller sur https://github.com/). Au moins un login GitHub sera requis sur le formulaire de requête. Il peut s'agir d'un compte existant d'un développeur de la société.<br />
* Adhérer à l'association Dolibarr via le lien [[Adhérer|suivant]].<br />
* Remplir le formulaire de requête suivant: [[Media:Dolibarr preferred partner contract.odt]] et l'envoyer par email à '''contact@dolibarr.org'''<br />
Une fois le document reçu, il sera examiné (délai pouvant nécessiter 1 à {{TemplateDelayPreferredPartner}} mois).<br />
<br />
Si approuvé, l'association vous ajoutera comme partenaire sur la page [[List of Dolibarr partners and providers]].<br />
<br />
== Pour l'Espagne et pays de langues hispaniques ==<br />
Contacter la société '''2Byte.es''' par email (contact@2bytes.es) en fournissant les pièces suivante:<br />
* Fotocopia del Número de Identificación Fiscal de la empresa.<br />
* Fotocopia certificado de alta de la empresa.<br />
* Fotocopia del IAE, si procede.<br />
A l'issu de cela, la candidature est évaluée lors d'un échange avec partage d'écran. Si le test est concluant, un contrat sera signé et la société 2Bytes ajoutera le partenaire sur la page [[List of Dolibarr partners and providers]].<br />
<br />
== Pour tout autre pays ==<br />
* Créer un compte développeur sur GitHub (aller sur https://github.com/). Au moins un login GitHub sera requis sur le formulaire de requête. Il peut s'agir d'un compte existant d'un développeur de la société.<br />
* Adhérer à l'association Dolibarr via le lien [[Adhérer|suivant]].<br />
* Remplir le formulaire de requête suivant: [[Media:Dolibarr preferred partner contract.odt]] et l'envoyer par email à '''contact@dolibarr.org'''<br />
Une fois le document reçu, il sera examiné (délai pouvant nécessiter 1 à {{TemplateDelayPreferredPartner}} mois).<br />
<br />
Si approuvé, l'association vous ajoutera comme partenaire sur la page [[List of Dolibarr partners and providers]].<br />
<br />
= Règles de validité =<br />
* Le label/contrat est valide pour une durée de 1 an. Il est réévaluée chaque année au moment du renouvellement de l'adhésion, et reconduit tacitement si les conditions sont toujours respectées (NB: Les critères peuvent s'être toutefois durcis entre temps).<br />
* La label est valable pour les pays dont la langue pratiquée est une langue dans laquelle le partenaire offre ses services.<br />
<br />
= Avantages =<br />
== Pour tous ==<br />
* La société est mise en avant par l'association Dolibarr. Par exemple, la société est mise en avant sur la page [[List of Dolibarr partners and providers]] (Envoyer un mail à contact@dolibarr.org si ce n'est pas le cas), mais également sur les autres circuits d'informations controlés par l'association Dolibarr.<br />
* La société peut utiliser le logo "DOLIBARR PREFERRED PARTNER" sur son site (le logo doit alors pointer sur le site www.dolibarr.org ou www.dolibarr.fr) et tous documents (tant que le label est reconduit): <br />
<center>[[File:Dolibarr_preferred_partner_int.png|160px]]</center><br />
ou pour les pays de langues hispanique:<br />
<center>[[File:Dolibarr_preferred_partner_es.png|160px]]</center><br />
* La société peut mettre en avant le terme "DOLIBARR PREFERRED PARTNER" sur son site et tous documents (tant que le label est reconduit).<br />
* La société peut bénéficier des supports de communication ou commerciaux fournis par l'association Dolibarr ou par la société 2Bytes (pays de langues hispaniques). Cela inclut les supports (cartes de visites, flyers, modèles de présentation ou rollups) disponibles à l'URL GIT: git://github.com/Dolibarr/foundation.git. Tout le contenu de ce repository Git est sous licences CC-BY-SA et peut être utilisé, modifié ou traduit librement.<br />
* La société est inscrite à la mailing-list '''dolibarr-preferred-partners@nongnu.org''' ({{TemplateURLMLDev}}) lui permettant de recevoir les informations suivantes:<br />
** Informations diverses<br />
** Éventuellement, appels d'offres envoyés par d'autres "Dolibarr Preferred Partners" ne pouvant pas honorer le besoin d'un de leur client (mais dans ce cas, les messages sont susceptibles d'être dans n'importe quelle langue).<br />
* La société peut alors fournir tout type de services autour de Dolibarr, dont ceux cités au premier chapitre, aux tarifs et conditions de son choix (Notez que tout le monde peut cela, sans avoir besoin d'être Preferred Partner)<br />
* Note: L'utilisation du mot "Dolibarr" (marque déposée de l'association à l'internationnal) reste réservé aux règles définies sur [[Règles d'utilisation du nom "Dolibarr"|cette page]].<br />
<br />
== Spécifiques à l'Espagne et Amérique latine ==<br />
* Les partenaires bénéficient d'autres avantages décrit sur la page [https://www.dolibarr.es/index.php/dolibarr-partners/quiero-ser-partner Quiero ser partner], section '''Ventajas o beneficios'''.</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Module_Parametrage_FR&diff=45683Module Parametrage FR2020-01-27T09:12:47Z<p>Yves.brungard: Ajout d'un mot oublié</p>
<hr />
<div>{{DISPLAYTITLE:Module de Parametrage FR}}<!-- BEGIN interlang links --> <!-- Do NOT edit this section<br />
Links below are automatically managed by PolyglotBot<br />
You can edit links on the English source page : Module_Parametrage_EN --> <!-- END interlang links --> <br />
{{TemplateDocDevFr}} {{TemplateDocUtil}}<br />
<br />
<seo metak="Ultimatepdf, Dolibarr, models, design, interface, invoice, order, proposal, project" /><br />
=Informations=<br />
{{TemplateModuleInfo<br />
|modulename=Parametrage<br />
|editor=Dolipar.org<br />
|web=http://dolipar.org/content/parametrage<br />
|webbuy=<br />
|status=stable<br />
|prerequisites=<br />
|minversion=10.0.X<br />
|note=<br />
}}<br />
=Prérequis=<br />
Dolibarr 10.0.x<br />
=Résumé=<br />
Le module de paramétrage est le point d'arrivée de tous les modules paramétrables de Dolipar.org que sont les modules Cashdeskpar et Menupar. Les modules Facturepar et Corepar ont disparu au profit de ce module qui permet de créer à la volée toutes leurs fonctionnalités et plus.<br />
=Installation=<br />
<br />
*Téléchargez le fichier archive du module (.zip) depuis le site web www.dolistore.com ou récupérez le par toute autre manière.<br />
*Placez le fichier dans le répertoire racine de dolibarr ou bien créez un dossier custom à la racine de dolibarr pour l'y placer avec tous vos modules supplémentaires ( Si vous choisissez cette solution, pensez à dé-commenter les deux lignes du fichier de conf en rapport)<br />
*Décompressez le fichier par la commande unzip module_parametrage-X.Y.Z.zip<br />
*L'emplacement correct du module doit être du type : htdocs/custom/parametrage.<br />
*Aller dans l'emplacement d'installation du module et donner les privilèges de lecture et d'écriture au seveur PHP pour les fichiers suivants :<br />
<br />
#parametrage_consts.php<br />
#parametrage_default_consts.php<br />
<br />
Le module est opérationnel et peut être activé.<br />
<br />
=Remarques sur le paramétrage logiciel en général et dans Dolibarr :=<br />
Pour bien comprendre les fonctions du module, il est nécessaire de connaitre quelques notions sur le paramétrage de logiciel en général, puis pourquoi et comment on a implémenté toute une méthodologie de paramétrage dans Dolibarr avec les bénéfices qu'elle apporte.<br />
<br />
====Les types de paramètres du logiciel:====<br />
Par convention dans les solutions logicielles web, on utilise trois types de paramètres :<br />
<br />
1. Les paramètres base de données ( En majorité ) : Ce sont des paramètres stockés dans la base de données dans le but de pouvoir être gérés comme n’importe quel autre type de données. <br />
<br />
2. Les paramètres fichiers : Utilisés pour définir des paramètres qui dépendent de la plateforme ou qui définissent les paramètres d’accès à la base de données et ne peuvent donc pas être stockés en base de données.<br />
<br />
3. Les paramètres utilisateurs : Ce troisième type de paramètres concerne ceux qui sont spécifiques aux utilisateurs. Dans la plupart des applications, ces paramètres sont stockés au niveau du navigateur, dans les cookies ou dans sa base de données locale.<br />
<br />
====Les types de paramètres dans Dolibarr :====<br />
Dans Dolibarr, comme dans la plupart des applications web, les constantes base de données sont utilisées pour configurer les différentes options de l’application qui sont appelées à être modifiées au cours du sa mise en œuvre et sont stockées dans la table « llx_const ».<br />
<br />
En plus de stocker les paramètres d’accès à la base de données, les constantes fichier sont utilisées pour référencer les chemins des différents sous-ensembles de l’application ainsi que le mode de fonctionnement (développement ou production). En un sens, les constantes fichiers concernent les paramètres à qui on affecte des valeurs une seule fois et ne sont pas destinés à être changés dans une installation. <br />
<br />
Pour les paramètres utilisateurs , on utilise dans Dolibarr une table spéciale « llx_user_param » pour enregistrer les données de l’utilisateur. Les cookies sont seulement utilisées pour identifier la session.<br />
<br />
====Le concept de configuration au sens large :====<br />
On désigne comme configuration au sens large, l’ensemble de tous les paramètres d’une application adaptés à une entreprise ou une activité déterminée. Un ERP tel que Dolibarr pourrait par exemple être utilisé par une entreprise de commerce de détail ou par une entreprise de production avec deux configurations complètement différentes. Les deux entreprises peuvent utiliser des modules communs avec des paramètres communs ou de modules, spécifiques au type d’entreprise. <br />
<br />
De la, on peut définir une configuration comme un ensemble de valeurs affectées à des paramètres. On peut utiliser une configuration pour enregistrer l’ensemble de valeurs de paramètres associés à chacun des deux types d’entreprises. Ceci inclut les modules activés, les valeurs de paramètres associés à chacun de ces modules ainsi que des valeurs associées à des paramètres de Dolibarr.<br />
<br />
====Considérations pour le stockage des paramètres de configurations :====<br />
On peut stocker les paramètres qui définissent une configuration dans une table de la base de données ou bien dans un fichier. Bien que traditionnellement on préfère utiliser les constantes base de données pour stocker les paramètres de l’application, on distingue plusieurs avantages pour l’utilisation de fichiers à la place: <br />
<br />
#Un fichier est plus facilement consultable qu’une table de base de données. Il peut même être consulté sans installation de Dolibarr.<br />
#Les modifications dans un fichier peuvent être gérées par un gestionnaire de versions tel que GIT. Dans le cas d’une table, Il faudra créer une table spéciale pour gérer l’historique avec le traitement qui s’ensuit.<br />
#Dans le cas de Dolibarr, il existe encore un troisième avantage, qui est celui de pouvoir définir des métadonnées en commentaires sur les paramètres au lieu d'utiliser les champs limités de la table llx_const. C'est ce qui a permis de définir plusieurs types de données dans les fichiers de configurations de modules paramétrable (Voir ci dessous).<br />
<br />
Il existe toutefois quelques inconvénients mineurs :<br />
<br />
1. Les requêtes SQL sont très utiles pour faire des consultations complexes. Un effort de programmation plus important est nécessaire pour faire des recherches complexes dans des fichiers texte.<br />
<br />
=Description de notre solution de gestion de configurations dans Dolibarr :=<br />
Dans le cas de Dolibarr, une configuration est un simple fichier php avec des directives '''define''' pour chaque paramètre de module paramétrable et une instruction du type $conf->global->XX=YY pour les paramètres base de données. C’est l’exécution de ce fichier qui définit la configuration choisie. Ces paramètres peuvent être modifiés pour ajuster la configuration. On peut aussi créer de nouvelles configurations par modification de configurations préexistantes. <br />
<br />
Cette solution inclut les modules paramétrables, les modules ono paramétrables et le module de paramétrage. <br />
<br />
===Les modules paramétrables :===<br />
Les modules paramétrables sont des modules conçus pour interagir efficacement avec le module de paramétrage. Ils se limitent actuellement à '''Cashdeskpar''' et '''Menupar'''. Leurs caractéristiques sont :<br />
<br />
#Tous les paramètres de ces modules sont inscrits sur un fichier de configuration.<br />
#Les paramètres sont consultables et modifiables dans la configuration du module.<br />
#On définit 3 types de paramètres : chaîne,intervalle et booléens.<br />
#Dans la page de configuration du module, on peut définir une ou plusieurs pages qui affichent une section de paramétrage pour changer les valeurs de paramètres à la volée.<br />
#Chaque paramètre peut être configuré pour apparaître ou non dans les sections de paramétrage autres que la page de configuration du module.<br />
<br />
===Les modules non paramétrables :===<br />
Tous les modules sur Dolistore ainsi que les modules inclus dans la distribution standard de Dolibarr font partie de cette catégorie. Leur paramètres de configuration sont enregistrés dans la base de données de Dolibarr dans la table '''llx_const'''. Par convention, le nom du module est inclu dans le nom du paramètre et est composé des premières lettres de ce dernier avant le caractère souligné. <br />
<br />
===Le module de paramétrage :===<br />
Ses tâches essentielles sont :<br />
<br />
#La composition de configurations par chargement de paramètres de la base de données et de fichiers de configuration de modules paramétrables.<br />
#La modification des valeurs des paramètres actuels.<br />
#La sauvegarde et restauration de configurations.<br />
#L’inclusion de sections de paramétrage adaptées à des pages spécifiques.<br />
<br />
Le module gère deux types de paramètres :<br />
<br />
#Les paramètres base de données : Ils sont enregistrés dans la table '''llx_const''' et sont composés de deux sous-types :<br />
##Les paramètres du core : sont tous les paramètres commençant par MAIN_ ou qui ne contiennent pas de caractères soulignés.<br />
##Les paramètres de modules non paramétrables :sont tous les paramètres commençant par un nom de module suivi d'un caractère souligné.<br />
#Les paramètres de modules paramétrables : sont des paramètres enregistrés sous forme de constantes PHP et sont définis dans les fichiers de configuration de modules à l'aide d'instructions '''define'''.<br />
<br />
=Exemple de module paramétrable et de son fichier de configuration :=<br />
L'exemple le plus représentatif de module paramétrable est le module Cashdeskpar dont la démo est disponible sous le lien: http://dolipar.org/dolibarr/htdocs/custom_dolipar/cashdeskpar/affIndex.php?menu=facturation <br />
<br />
Ci dessous une copie d'écran de sa page principale :<br />
[[File:Capture d’écran de 2020-01-25 14-24-10.png|alt=Page principale de Cashdeskpar|none|thumb|1000x1000px|Page principale de Cashdeskpar]]<br />
<br />
<br />
Ci dessous le contenu de son fichier de configuration cashdespar_default_consts.php :<br />
<br />
<br />
''<?php''<br />
<br />
''global $conf;''<br />
<br />
''//param_BD''<br />
<br />
''$conf->global->CHARTOFACCOUNTS='113';//Plan comptable'' <br />
<br />
''//param_CASHDESKPAR--------------''<br />
<br />
''define('CASHDESKPAR_AUTOCOMPLETE',0);//bm//0//1-requiert 2:Formulaire autocomplete pour sélection''<br />
<br />
''define('CASHDESKPAR_DONT_POPUP_TICKET',0);//bm//0//2-inhibe l'ouverture automatique du ticket''<br />
<br />
''define('CASHDESKPAR_DONT_PRINT_TICKET',0);//bm//0//3-inhibe l'impression automatique du ticket''<br />
<br />
''define('CASHDESKPAR_FOCUS_LISTE',0);//bm//0//4-Rend le focus à la liste si ref vide''<br />
<br />
''define('CASHDESKPAR_HIDE_REMISE_PERCENT',0);//bm//0//5-Cacher remise en pourcentage''<br />
<br />
''define('CASHDESKPAR_HIDE_TVA',0);//bm//0//6-cache TVA dans cashdesk''<br />
<br />
''define('CASHDESKPAR_MODIFIABLE_PRICE',0);//bm//0//7-prix modifiable''<br />
<br />
''define('CASHDESKPAR_MODIFY_DELETED',1);//bm//0//8-Modifier une ligne aprés suppression''<br />
<br />
''define('CASHDESKPAR_MONNAIE_CODE',1);//bm//////9-xx''<br />
<br />
''define('CASHDESKPAR_MONNAIE_VIDE',0);//bm//0//10-Ticket sans type de monnaie''<br />
<br />
''define('CASHDESKPAR_PANIER_RAPIDE',0);//bm//0//11-saisie rapide''<br />
<br />
''define('CASHDESKPAR_PAIEMENT_AUTO',0);//bm//0//12-saisie automatique du paiement égal au montant total''<br />
<br />
''define('CASHDESKPAR_PARAMETRES',1);//bm//0//13-Formulaire de parametrage''<br />
<br />
''define('CASHDESKPAR_QTE_ENTER_KEY',1);//bm//0//14-Faire passer au champ suivant à la validation sur le champ Qte''<br />
<br />
''define('CASHDESKPAR_SHOW_LINES',1);//bm//0//15-Voir les lignes facture''<br />
<br />
''define('CASHDESKPAR_SHOW_TEL',1);//bm//0//16-Affiche le nº de telephone dans le ticket''<br />
<br />
''define('CASHDESKPAR_THEME_31',0);//bm//////17-''<br />
<br />
''define('CASHDESKPAR_TICKET_RAPIDE_POPUP',1);//bm//0//18-requiert 4:Montre le ticket en popup''<br />
<br />
''define('CASHDESKPAR_TICKET_RAPIDE',0);//bm//0//19-4:Bouton ticket direct''<br />
<br />
''define('CASHDESKPAR_TICKET_TITRE_BONLIVRAISON',1);//bm//0//20-requiert 3:Titre ticket (Bon de livraison)''<br />
<br />
''define('CASHDESKPAR_CREATION_CHANGEMENT_CLIENTS',0);//bm//0//21-Créer et changer le client''<br />
<br />
''define('CASHDESKPAR_SEARCH_POS',-1);//im-1:10//0//22-Position de début pour recherche totale''<br />
<br />
''define('CASHDESKPAR_MOBILE_LAYOUT',0);//bm//0//23-Adapter le thème à l'écran de téléphone''<br />
<br />
''define('CASHDESKPAR_ANDROID_TICKET',1);//bm//0//24-Le ticket sera stocké dans une image sur laquelle un programme est lancé pour imprimer l'étiquette''<br />
<br />
''define('CASHDESKPAR_ANDROID_JS_TICKET',1);//bm//0//25-Le ticket stocké dans une image sera imprimé dans une webview par Javascript''<br />
<br />
''define('CASHDESKPAR_OPEN_SECTIONS',0);//bm//0//26-Ouvrir les sections au lancement de la page''<br />
<br />
''//param_PRODUCT--------------''<br />
<br />
''define('CASHDESKPAR_PRODUCT_ZY_AUTOCOMPLETE_LIMIT_RESULTS_VALUE',22);//im1-100//0//nombre de résultats d'autocomplete''<br />
<br />
''define('CASHDESKPAR_PRODUCT_ZY_AUTOSELECT_LENGTH',2);//im1-10//1//Nombre de caractéres minimum pour recherche''<br />
<br />
''define('CASHDESKPAR_PRODUCT_SELECT_BY_REFS',0);//bm//0//Activer Autoselect sur les références seulement''<br />
<br />
''define('CASHDESKPAR_PRODUCT_FORM_LIST_SORT_KEY',0);//bm//0//xxx''<br />
<br />
<br />
Ce fichier de configuration composé de plusieurs sections. L'analyseur syntaxique de configuration interprète des métadonnées en commentaires pour présenter les paramètres de configuration dans la section de paramétrage :<br />
<br />
#Chaque ligne de définition de paramètre est suivie d'un commentaire servant de métadonnées pour l'analyseur syntaxique.<br />
#Les lignes de commentaires tels que //param_PRODUCT-------------- définissent une sous section pliable sous laquelle sont présentés les paramètres en dessous regroupés sous le terme PRODUCT. Le fichier de langue contient le message contenant le nom de la sous section avec la clé param_PRODUCT.<br />
#La ligne //Param_BD-------------- définit une sous section pliable pour les paramètres de la base de données. Les paramètres qu'elle contient sont de la forme $conf->global->XX='YY';//ZZ. XX étant le nom du paramètre, YY sa valeur et ZZ un commentaire qui si il existe il est affiché en priorité dans la section de paramétrage.<br />
#Les paramètres de modules paramétrables sont déclarés en tant que constantes par une instruction '''define''' avec les premières lettres avant souligné définissent le nom du module.<br />
#Le texte en commentaire après la définition du paramètre de module paramétrable est composé de métadonnées reconnaissables par l’analyseur syntaxique de la fonction de paramétrage. On a dans l’ordre séparés par des ‘//’:<br />
##Le type et statut :<br />
###La première lettre peut prendre les valeurs '''b''' pour booléens, '''i''' pour intervalle et '''s''' pour chaine de caractère.<br />
###La deuxième lettre peut prendre les valeurs '''m''' pour modifiable, '''u''' pour non modifiable et '''h''' pour hidden ou invisible. Les paramètres invisibles dans la page d’utilisation de la fonction de paramétrage restent visibles dans la page de configuration, depuis laquelle on peut activer ou désactiver le statut visible des paramètres (Voir le wiki de Cashdeskpar dans [[Module CashdeskPar FR|https://wiki.dolibarr.org/index.php/Module_CashdeskPar_FR]])<br />
###Les paramètres de type intervalle sont suivis par une indication de la borne inférieure et supérieure séparés par ‘''':'''’.<br />
##La valeur par défaut<br />
##Le commentaire affiché s’il n’existe pas de traduction du paramètre en clé dans le fichier de langues.<br />
<br />
=Configuration du module=<br />
Pour utiliser ce module, il vous faut d'abord l'activer. Pour cela, après s'être connecté avec un compte administrateur, allez sur la page "'''Accueil - Configuration - Modules'''". Le module apparaît dans "Dolipar", cliquez sur "Activer". Un pictogramme apparaît à la fin de la ligne du module, cliquez dessus pour accéder à la page de configuration spécifique à ce module :<br />
<br />
Comme le module de paramétrage est un module système, toutes ses fonctionnalités se retrouvent dans la page de configuration suivante :<br />
[[File:Page de configuration du module.png|alt=Page de configuration du module|none|thumb|1300x1300px|Page de configuration du module]]<br />
La page de configuration se compose de deux parties :<br />
<br />
#La section de configuration et d'utilisation du module, qui comprend :<br />
##Le bouton d'activation du contrôle de modules paramétrables à travers le module de paramétrage : Ce bouton permet de remplacer tous les réglages dans les modules paramétrables par ceux définis dans le module de paramétrages. Actuellement, les deux seuls modules paramétrables existant concernés sont les modules Cashdeskpar et le gestionaire de menu Menupar. D'autres modules vont certainement étoffer cette liste dans le futur proche.<br />
##Les boutons de composition de configurations: Permettent de composer le fichier de configuration du module de paramétrage. La composition complète permet d'auto-sélectionner au départ tous les paramètres de la configuration actuelle alors que la composition de base permet de partir d'une sélection vide ( Voir paragraphe : Composition de configurations)<br />
##Le bouton de sauvegarde de configurations : Permet de sauvegarder la configuration actuelle dans un fichier. Il faut fournir un nom de fichier avant d'appuyer sur le bouton '''enregistrer'''.<br />
##Le bouton de suppression de configurations : Permet de supprimer des fichiers de configuration préalablement enregistrés.<br />
#La section de paramétrage du module de paramétrage : Cette section affiche tous les paramètres du module obtenus à travers la fonction de composition. Le bouton '''RAFRAICHIR LA PAGE''' commun à tous les modules paramétrables, permet de rafraîchir la page sans s'y déplacer pour visualiser immédiatement les effets de modification d'un paramètre<br />
<br />
=La composition de configurations :=<br />
Ci dessous la page de composition de configuration obtenue en cliquant sur le bouton de composition complète . Les trois images sont obtenues en déroulant la page :<br />
[[File:Page de composition complète.png|alt=Page de composition complète 1/3|none|thumb|1300x1300px|Page de composition complète 1/3]]<br />
[[File:Page de composition complète 2-3.png|alt=Page de composition complète 2/3|none|thumb|1300x1300px|Page de composition complète 2/3]]<br />
[[File:Page de composition complète 3-3.png|none|thumb|1300x1300px|Page de composition complète 3/3]]<br />
<br />
<br />
Nous obtenons un formulaires composé de 3 sections et un bouton '''composer''' pour l’envoyer. Chaque section est composée de sous-sections et chaque sous-section présente une série de paramètres dans une Datatable<br />
<br />
Les 3 sections sont structurées comme ci-dessous :<br />
<br />
#Paramètres dans le fichier de configuration actuel : Contient les paramètres du fichier de configuration actuel du module de paramétrage. Ils son présentés filtrés par type. On a donc un maximum de 3 sous sections :<br />
##Paramètres du core : commençant avec MAIN_ ou ne contenant pas de caractères soulignés.<br />
##Paramètres de modules non paramétrables : Autres paramètres de la base de données.<br />
##Paramètres de modules paramétrables : Paramètres déclarés par l’instruction '''define'''.<br />
#Paramètres dans les fichiers de configuration de modules paramétrables : Les fichiers de configuration des modules paramétrables sont structurés tout comme le fichier de configurations du module de paramétrage. On a donc pour chaque module paramétrable présent dans l’installation le paramètres :<br />
##Paramètres du core.<br />
##Paramètres de modules non paramétrables.<br />
##Paramètres de modules paramétrables.<br />
#Paramètres dans la base de données : Les paramètres contenus dans la table '''llx_const''' de la base de données de Dolibarr partagés en deux sous-sections :<br />
##Paramètres du core.<br />
##Paramètres de modules non paramétrables.<br />
<br />
Chaque paramètre est représenté sur cinq colonnes :<br />
<br />
#Sélection : Case à cocher pour sélectionner/désélectionner l’élément.<br />
#Module : Pour les paramètres de modules paramétrables ou non paramétrables. Il est vide pour les paramètres du core.<br />
#Paramètre : Nom complet du paramètre.<br />
#Valeur : Valeur du paramètre.<br />
#Note : Contient le commentaire affiché si le commentaire dans le fichier de configuration est vide et que le paramètre n’existe pas dans le fichier de langue<br />
<br />
Chaque groupe de paramètres est représenté dans un élément Jquery Datatable est accompagné d’un bouton pour sélectionner l’ensemble du groupe.<br />
<br />
La différence entre la composition complète et la composition de base réside en ce que dans la première, tous les paramètres présents dans les fichiers de configuration sont présélectionnes alors qu’aucun paramètre n’est sélectionné dans la seconde.<br />
<br />
En appuyant sur le bouton composer, on lance la recréation du fichier de configuration du module de paramétrage avec les paramètres sélectionnés. En case de conflit de paramètre en double un message est affiché indiquant la localisation des conflits et en appliquant le style de surbrillance aux deux paramètres en double et en invitant à désélectionner l’une des deux comme dans l’exemple suivant ( Dans la deuxième image, la page est déroulée pour faire apparaître le deuxième élément ) :<br />
[[File:Capture d’écran de 2020-01-26 13-58-07.png|alt=Conflit de paramètres 1/2|none|thumb|1300x1300px|Conflit de paramètres 1/2]]<br />
[[File:Capture d’écran de 2020-01-26 13-58-14.png|alt=Conflit de paramètres 2/2|none|thumb|1300x1300px|Conflit de paramètres 2/2]]<br />
<br /><br />
<br />
=8 -Création de sections de paramétrage dans des pages spécifiques de Dolibarr=<br />
La création de sections de paramétrage dans les pages spécifique de Dolibarr fait seulement appel aux paramètres de la base de données, paramètres du core ou de modules non paramétrables. Les paramètres de modules paramétrables existant dans les fichiers de configuration de leurs modules sont conçus pour être utilisés seulement dans les pages de ce dernier. Si on a besoin de faire appel à un paramètre de ce type, on peut toujours le déclarer en tant paramètres base de données à l’intérieur du module paramétrable.<br />
<br />
C’est cette fonction qui a permis de rendre obsolètes les modules Facturepar, Facturepar plus et corepar. Le module Facturepar affichait une section de paramétrage dans la page d’édition de factures clients avec environ 24 paramètres alors que grâce au module de paramétrage, on a 81 paramètres contrôlables dans la cette page et on peut procéder de façon similaires pour toutes les pages de Dolibarr y compris celle de modules externe<br />
<br />
Pour créer une section de paramétrage pour une page spécifique de de Dolibarr, il faut procéder en plusieurs étapes :<br />
<br />
#Composition et sauvegarde dans des fichier d’une ou plusieurs configurations.<br />
#Création manuelle d’un fichier de configuration en combinant les paramètres des fichiers composés.<br />
#Création d’une entrée dans le dictionnaire de correspondance de configuration vers urls du module de paramétrage.<br />
<br />
Pour la page d’édition de factures (ex : Facturepar) on a créé une entrée dans le dictionnaire comme dans l’image suivante :<br />
[[File:Dictionnaire des correspondances config. vers url.png|alt=Dictionnaire des correspondances configurations / urls|none|thumb|1300x1300px|Dictionnaire des correspondances configurations / urls]]<br />
Ce qui donne une section de paramétrage dans la page d’édition de factures comme dans l’image suivante accessible dans le site démo dans le lien http://dolipar.org/dolibarr/htdocs/compta/facture/card.php?facid=245 : <br />
[[File:Facturepar.png|alt=Page de l'ex module Facturepar|none|thumb|1300x1300px|Page de l'ex module Facturepar]]<br />
<br /><br />
[[Category:Modules complémentaires]]<br />
{{DEFAULTSORT:Module de Parametrage FR}}</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Syst%C3%A8me_de_substitution_de_variables&diff=41551Système de substitution de variables2019-06-04T06:33:58Z<p>Yves.brungard: /* Variables de substitution disponibles dans les emails */</p>
<hr />
<div>{{TemplateDocUtil}}<br />
= Variables de substitution disponibles dans les emails =<br />
<br />
*__USER_SIGNATURE__ -> __USER_SIGNATURE__<br />
*__USER_ID__ -> 1<br />
*__USER_LOGIN__ -> doli9<br />
*__USER_LASTNAME__ -> SuperAdmin<br />
*__USER_FIRSTNAME__ -> __USER_FIRSTNAME__<br />
*__USER_FULLNAME__ -> SuperAdmin<br />
*__USER_SUPERVISOR_ID__ -> __USER_SUPERVISOR_ID__<br />
*__USER_REMOTE_IP__ -> xxx.xxx.xxx.xxx<br />
*__MYCOMPANY_NAME__ -> Nom<br />
*__MYCOMPANY_EMAIL__ -> __MYCOMPANY_EMAIL__<br />
*__MYCOMPANY_PROFID1__ -> __MYCOMPANY_PROFID1__<br />
*__MYCOMPANY_PROFID2__ -> __MYCOMPANY_PROFID2__<br />
*__MYCOMPANY_PROFID3__ -> __MYCOMPANY_PROFID3__<br />
*__MYCOMPANY_PROFID4__ -> __MYCOMPANY_PROFID4__<br />
*__MYCOMPANY_PROFID5__ -> __MYCOMPANY_PROFID5__<br />
*__MYCOMPANY_PROFID6__ -> __MYCOMPANY_PROFID6__<br />
*__MYCOMPANY_CAPITAL__ -> __MYCOMPANY_CAPITAL__<br />
*__MYCOMPANY_FULLADDRESS__ -> France<br />
*__MYCOMPANY_ADDRESS__ -> __MYCOMPANY_ADDRESS__<br />
*__MYCOMPANY_ZIP__ -> __MYCOMPANY_ZIP__<br />
*__MYCOMPANY_TOWN__ -> __MYCOMPANY_TOWN__<br />
*__MYCOMPANY_COUNTRY__ -> France<br />
*__MYCOMPANY_COUNTRY_ID__ -> 1<br />
*__MYCOMPANY_CURRENCY_CODE__ -> EUR<br />
*__ID__ -> __ID__<br />
*__REF__ -> __REF__<br />
*__REF_CLIENT__ -> __REF_CLIENT__<br />
*__REF_SUPPLIER__ -> __REF_SUPPLIER__<br />
*__EXTRAFIELD_XXX__ -> __EXTRAFIELD_XXX__<br />
*__THIRDPARTY_ID__ -> __THIRDPARTY_ID__<br />
*__THIRDPARTY_NAME__ -> __THIRDPARTY_NAME__<br />
*__THIRDPARTY_NAME_ALIAS__ -> __THIRDPARTY_NAME_ALIAS__<br />
*__THIRDPARTY_EMAIL__ -> __THIRDPARTY_EMAIL__<br />
*__PROJECT_ID__ -> __PROJECT_ID__<br />
*__PROJECT_REF__ -> __PROJECT_REF__<br />
*__PROJECT_NAME__ -> __PROJECT_NAME__<br />
*__CONTRACT_HIGHEST_PLANNED_START_DATE__ -> Highest date planned for a service start<br />
*__CONTRACT_HIGHEST_PLANNED_START_DATETIME__ -> Highest date and hour planned for service start<br />
*__CONTRACT_LOWEST_EXPIRATION_DATE__ -> Lowest data for planned expiration of service<br />
*__CONTRACT_LOWEST_EXPIRATION_DATETIME__ -> Lowest date and hour for planned expiration of service<br />
*__ONLINE_PAYMENT_URL__ -> UrlToPayOnlineIfApplicable<br />
*__ONLINE_PAYMENT_TEXT_AND_URL__ -> TextAndUrlToPayOnlineIfApplicable<br />
*__SECUREKEYPAYMENT__ -> Security key (if key is not unique per record)<br />
*__SECUREKEYPAYMENT_MEMBER__ -> Security key for payment on a member subscription (one key per member)<br />
*__SECUREKEYPAYMENT_ORDER__ -> Security key for payment on an order<br />
*__SECUREKEYPAYMENT_INVOICE__ -> Security key for payment on an invoice<br />
*__SECUREKEYPAYMENT_CONTRACTLINE__ -> Security key for payment on a a service<br />
*__DIRECTDOWNLOAD_URL_PROPOSAL__ -> Direct download url of a proposal<br />
*__DIRECTDOWNLOAD_URL_ORDER__ -> Direct download url of an order<br />
*__DIRECTDOWNLOAD_URL_INVOICE__ -> Direct download url of an invoice. This needs that the setup INVOICE_ALLOW_EXTERNAL_DOWNLOAD is set to allow to generate the link.<br />
*__SHIPPINGTRACKNUM__ -> Shipping tacking number<br />
*__SHIPPINGTRACKNUMURL__ -> Shipping tracking url<br />
*__DATE_YMD__ -> __DATE_YMD__<br />
*__DATE_DUE_YMD__ -> __DATE_DUE_YMD__<br />
*__AMOUNT__ -> __AMOUNT__<br />
*__AMOUNT_EXCL_TAX__ -> __AMOUNT_EXCL_TAX__<br />
*__AMOUNT_VAT__ -> __AMOUNT_VAT__<br />
*__AMOUNT_FORMATED__ -> __AMOUNT_FORMATED__<br />
*__AMOUNT_EXCL_TAX_FORMATED__ -> __AMOUNT_EXCL_TAX_FORMATED__<br />
*__AMOUNT_VAT_FORMATED__ -> __AMOUNT_VAT_FORMATED__<br />
*__DAY__ -> 12<br />
*__DAY_TEXT__ -> Mardi<br />
*__DAY_TEXT_SHORT__ -> Ma<br />
*__DAY_TEXT_MIN__ -> M<br />
*__MONTH__ -> 3<br />
*__MONTH_TEXT__ -> Mars<br />
*__MONTH_TEXT_SHORT__ -> Mars<br />
*__MONTH_TEXT_MIN__ -> M<br />
*__YEAR__ -> 2019<br />
*__PREVIOUS_DAY__ -> 11<br />
*__PREVIOUS_MONTH__ -> 2<br />
*__PREVIOUS_YEAR__ -> 2018<br />
*__NEXT_DAY__ -> 13<br />
*__NEXT_MONTH__ -> 4<br />
*__NEXT_YEAR__ -> 2020<br />
*__DOL_MAIN_URL_ROOT__ -> http://mondolibarr/htdocs<br />
*__(AnyTranslationKey)__ -> Translation<br />
*__[AnyConstantKey]__ -> Valeur de constante<br />
*__CONTACT_NAME_XXX__ -> XXX est le type de contact défini dans Accueil>configuration>dictionnaires>Types de contacts/adresses (par exemple : __CONTACT_NAME_BILING__ pour le contact client désigné comme responsable de la facturation sur une facture) Contient Titre+Nom+Prénom<br />
<br />
= Variables de substitution Personalisées =</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Setup_Other&diff=41550Setup Other2019-06-04T06:31:42Z<p>Yves.brungard: __DIRECTDOWNLOAD_URL_INVOICE__ added as tag in templates</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUser}}<br />
<br />
'''Help About Screen:''' Other setup<br />
<br />
'''Menu Path:''' Home ► Setup ► Other<br />
<br />
= '''Goal''' =<br />
This page contains the list of advanced hidden parameters. In most cases, it is parameters for development, external modules, or hidden features which can allow some tweaking to your own Dolibarr instance.<br />
<br />
For standard usage of Dolibarr, this parameters must not be used.<br />
<br />
= '''Reading the List''' =<br />
After Global Options, this list is sorted alphabetically. The basic format of how the list is written is broken down in the example below:<br />
<br />
'''HIDDEN_CONFIG''' ► ''Description of config'' ► ''(specific version information) or values''<br />
<br />
= '''List of Known Hidden Options''' =<br />
Some options are not visible in the interface (often because they are deprecated or are beta features). In most cases you do not need these functions and their use may make the application unstable.<br />
<br />
To enable/override a parameter you have to define the constant name and set it to '''1''' (unless otherwise stated) in <code>Home ► Setup -> Other Setup</code><br />
<br />
<br />
== '''Global Options''' ==<br />
<br />
* '''MAIN_DISABLE_NOTES_TAB''' ►Show or hide notes tab in the card page<br />
<br />
* '''MAIN_DISABLE_CONTACTS_TAB''' ► Show or hide contacts tab in the card page<br />
<br />
* '''MAIN_LOGOUT_GOTO_URL''' ► URL to which the user will be redirected after LOGOUT<br />
<br />
* '''MAIN_FILESYSTEM_ENCODING''' ► With some PHP versions, PHP is not able to detect the page code for filesystem of the server OS. To solve this, Dolibarr assumes your OS filesystem is UTF-8 if on Linux or OSX system, and ISO-8859-1 if on Windows. If not, for example on a Windows server with a NTFS UTF-8 pagecode, you can set the variable <code>MAIN_FILESYSTEM_ENCODING</code> to "<code>utf-8</code>".<br />
<br />
* '''MAIN_SHOW_TECHNICAL_ID''' ► Show also technical IDs on elements cards or some lists (not supported everywhere).<br />
<br />
* '''MAIN_MAXTABS_IN_CARD''' ► Maximum number of tabs visible. Others are grouped into a combo list.<br />
<br />
* '''MAIN_ONLY_LOGIN_ALLOWED''' ► Only the specified login is allowed to log in Dolibarr (maintenance mode).<br />
<br />
* '''MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES''' ► Add a timestamp and user automatically when editing the ''public'' note.<br />
<br />
* '''MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES''' ► Add a timestamp and user automatically when editing the ''private'' note.<br />
<br />
* '''MAIN_SECURITY_CSRF_WITH_TOKEN''' ► Activate a second anti-CSRF protection on POST (a POST from another web site can't be done). Note there is already a default protection using test on referrer. This second protection uses TOKEN on forms and is less powerful. ► (v5.0+)<br />
<br />
* '''MAIN_APPLICATION_TITLE''' ► This will change the title of software (that appears on the login page by default). Warning, changing this may make Dolibarr version detection fail by smartphone applications like [[Application Android - DoliDroid]]<br />
<br />
* '''MAIN_AUTOFILL_DATE''' ► If this constant is defined (to something other than 0), the date of invoice, proposal, order or payment are auto-filled with the current date. It is highly recommended to NOT ENABLE this feature. This can create a lot of input errors with data not validated by users. This leads to incorrect values saved in the database causing confusion when you have to do your accountancy reports! However some users want it, so we provide it.<br />
<br />
* '''MAIN_DISABLE_FULL_SCANLIST''' ► Disables the complete scan of tables to allow the pagination to show total number of pages. May be useful to activate on systems with a very high quantity of data (tables with more than 500 000 records).<br />
<br />
* '''MAIN_FIRST_TO_UPPER''' ► Dolibarr add uppercase to Third Parties, contacts or members names if not done. Warning, with some languages (whose words with uppercase are not same words, or pagecode does not always have an uppercase, like cyrillic languages), this feature may alter your data.<br />
<br />
* '''MAIN_ENABLE_LOG_TO_HTML''' ► If this constant is defined, it is possible to have logs inside pages by adding the parameter &logtohtml=1 into URL.<br />
<br />
* '''MAIN_USE_HOURMIN_IN_DATE_RANGE''' ► On all entities lines (invoice, order, contract...), it is possible to add hour and minutes with date on fields "date start" and "date end".<br />
<br />
* '''MAIN_REMOVE_INSTALL_WARNING''' ► Remove all security warnings that appear to administrator users if URL <code>/install</code> is public. You should solve the problem if warning occurs, instead of removing the warning! For this, create a file called <code>install.lock</code> into Dolibarr root directory. This will stop the warning but also make the page <code>/install</code> not possible to use, to protect your installation.<br />
<br />
* '''MAIN_OPTIMIZE_SPEED''' ► Use some speed enhancements. See page [[Increase_Performance]] for more information.<br />
<br />
* '''MAIN_REPLACE_TRANS_xx_XX''' ► Where <code>xx_XX</code> is language code. If value is <code>string1:newstring1;string2:newstring2</code> then replace <code>string1</code> with <code>newstring1</code> in all translation done for language <code>xx_XX</code>.<br />
<br />
* '''MAIN_REPEATCONTACTONEACHTAB''' ► If added and set to '''1''', this adds contacts on all tabs, not only main tab.<br />
<br />
* '''MAIN_DISABLE_JQUERY_JNOTIFY''' ► Disable usage of <code>JNotify</code> to show confirm or error messages<br />
<br />
* '''MAIN_USE_JQUERY_JEDITABLE''' ► Allow to update from screen, directly into database, some properties of elements (invoices, proposals, ...) using Ajax. This make response time faster, but avoid using this feature, because it bypasses some business actions (updates on other data that should be done consistently) and ignores business controls on data you saved. Consequently this feature breaks consistency of data and possibly the stability of the software.<br />
<br />
* '''MAIN_USE_JQUERY_MULTISELECT''' ► Allow to use Ajax when a choice that require multiselect is used (for the moment only external modules uses select box with multiselect values). Set the value to the jQuery plugin name to use (multiselect, multiple-select, select2…). Setting it to any other value will result in unwanted side-effects and/or bugs.<br />
<br />
* '''MAIN_HELPCENTER_LINKTOUSE''' ► Define the URL link to use as the target page for link "I need help" onto logon page<br />
<br />
* '''MAIN_MODULES_FOR_EXTERNAL''' ► Limit available modules for external users. By default value is '<code>facture,commande,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda</code>'<br />
<br />
* '''MAIN_SHOW_TUNING_INFO''' ► Add tuning information into javascript console. Better when xdebug is enabled.<br />
<br />
* '''MAIN_DOL_SCRIPTS_ROOT''' ► Define directory who contains 'scripts' directory (e.g. <code>/var/www/dolibarr</code>)<br />
<br />
* '''MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING''' ► A warning saying setup of modules is not complete is shown if the number of enabled modules is lower or equal than this value (1 if not defined)<br />
<br />
* '''MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE''' ► Add signature of the first sale representative into documents (at end of public notes).<br />
<br />
* '''MAIN_DISABLE_AJAX_COMBOX''' ► If you have a large number of third parties or products, you can disable the autocomplete feature on the third parties list by setting this constant to '''1''' ► (v3.6.0+)<br />
<br />
* '''MAIN_USE_CACHE_MANIFEST''' ► Add an HTML5 cache manifest to the page - Attention, this functionality is obsolete and removed from web standards<br />
<br />
* '''MAIN_FORCELANGDIR''' ► Relative path of the directory holding your custom <code>langs</code> folder.<br />
<br />
* '''MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS''' ► Allow to define a default VAT rate<br />
<br />
* '''MAIN_HTML_TITLE''' ► Can be used to control how the html page title is formatted. If value contains key '<code>noapp</code>', application name will not be output. If value contains '<code>thirdpartynameonly</code>', on tab for thirdparties, only name of thirdparties are output. Value can be list of tags: '<code>noapp;thirdpartynameonly</code>'<br />
<br />
* '''MAIN_LANDING_PAGE''' ► Can choose the first page to show after login (the landing page). This option works as a global option (llx_const) and per user option (llx_user_param). ► (v3.9+)<br />
<br />
* '''MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN''' ► When creating an order, contract, invoice from another object, specific contacts of objects are set as specific contact of the new object when possible. ► (v4.0+)<br />
<br />
* '''MAIN_WEIGHT_DEFAULT_ROUND''' ► Accuracy of weight (number of decimals)<br />
<br />
* '''MAIN_WEIGHT_DEFAULT_UNIT''' ► Default unit for weight (0=kg, -3=g, ...)<br />
<br />
* '''MAIN_VOLUME_DEFAULT_ROUND''' ► Accuracy of volume (number of decimals)<br />
<br />
* '''MAIN_VOLUME_DEFAULT_UNIT''' ► Default unit for weight (0=kg, -3=g, ...)<br />
<br />
* '''MAIN_PUBLIC_NOTE_IN_ADDRESS''' ► Show public note in address block ► (v4.0+)<br />
<br />
* '''MAIN_DEFAULT_PAYMENT_TERM_ID''' ► With ID of a payment term, will use this as default payment term each time you create a new proposal, order, invoice (customer and supplier)<br />
<br />
* '''MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND''' ► Change way of rounding total TTC lines, rounding first of after.<br />
<br />
* '''MAIN_VIEW_LINE_NUMBER''' ► Shows a line number against each line in the order/invoice for products/services. On screen only, not on PDF.<br />
<br />
* '''MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME''' ► Add name of thirdparty at begin of generated document.<br />
<br />
* '''MAIN_DOC_USE_TIMING''' ► Add a timestamp at end of generated document. Value must be format of timestamp. For example: <code>%Y%m%d%H%M</code> (only for ODT files)<br />
<br />
* '''MAIN_DISABLEDRAFTSTATUS''' ► Disable the status Draft for some objects (project, donation, ...)<br />
<br />
* '''MAIN_USE_OLD_SEARCH_FORM''' ► Display the old search form in left menu.<br />
<br />
* '''MAIN_SERVER_TZ''' ► If you can't set the timezone of your PHP installation, set this constant. Better is to set it to UTC. In future, this constant will be forced to 'UTC' so PHP server timezone will not have effect anymore. Examples: <code>Europe/Paris</code>, <code>auto</code>.<br />
<br />
* '''MAIN_SEARCH_FORM_ON_HOME_AREAS''' ► Show the search form on home page areas for core modules (Removed after v5 due to global search combo) ► (v6.0+)<br />
<br />
* '''MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE''' ► If only one result is found, then setting this value to '''1''' will take you direct to the item (default method). Setting the value to '''0''' will show the result in the list as a single result ► (v5.0+)<br />
<br />
* '''MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES''' ► Allow to import lines into current document from "linked" compatible documents ► (v8.0+)<br />
<br />
* '''MAIN_USE_VAT_OF_PRODUCT_FOR_INDIVIDUAL_CUSTOMER_OUT_OF_EEC''' ► Allow using product VAT if customer is individual and out of E.E.C. (European Economic Community) ► (v7.0+)<br />
<br />
* '''MAIN_SHOWDATABASENAMEINHELPPAGESLINK''' ► Show database name in upper help menu ► (v8.0+)<br />
<br />
* '''MAIN_DISABLE_MULTIPLE_FILEUPLOAD''' ► Disable users to upload multiple files at once.<br />
<br />
* '''USER_HIDE_INACTIVE_IN_COMBOBOX''' ► Disable display inactive users in combobox. <br />
<br />
* '''MAIN_SERVICES_ARE_ECOMMERCE_200238EC''' ► (< 8)<br />
<br />
<br />
[[#Top|(back to top)]]<br />
<br />
== '''Agenda Module''' ==<br />
* '''AGENDA_MAX_EVENTS_DAY_VIEW''' ► Define the maximum number of visible entries for each day in agenda. Default value is '''3'''. Value '''0''' means no limit.<br />
<br />
* '''AGENDA_USE_EVENT_TYPE''' ► Add a mandatory field "Type" when creating an event (deprecated).<br />
<br />
* '''AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS''' ► To automatically set end date of event to start date + delta on event creation page.<br />
<br />
* '''MAIN_ADD_EVENT_ON_ELEMENT_CARD''' ► Allow to create an event from a document (proposal, order, invoice)<br />
[[#Top|(back to top)]]<br />
<br />
<br />
== '''Bank Module''' ==<br />
* '''BANK_CAN_RECONCILIATE_CASHACCOUNT''' ► Can reconciliate cash accounts ► (v3.8)<br />
<br />
* '''BANK_DISABLE_CHECK_DEPOSIT''' ► Disable check deposit feature<br />
<br />
* '''BANK_ASK_PAYMENT_BANK_DURING_ORDER''' ► Ask bank account during creation of an order<br />
<br />
* '''BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL''' ► Ask bank account during creation of a proposal<br />
[[#Top|(back to top)]]<br />
<br />
<br />
== '''BlockedLog''' ==<br />
* '''BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY''' ► Make disable of module "blockedlog" not possible for countries code defined into value. Example: 'FR,...'<br />
[[#Top|(back to top)]]<br />
<br />
<br />
== '''Contracts''' ==<br />
* '''CONTRACT_SUPPORT_PRODUCTS''' ► Products are also suggested into module contract.<br />
[[#Top|(back to top)]]<br />
<br />
<br />
== '''Email and SMS''' ==<br />
* '''MAIN_MAILFORM_DISABLE_ENTERKEY''' ► Activate javascript code to disable the enter key in the MAIL form. ► (>= 8.0.1)<br />
<br />
* '''MAIL_PREFIX_FOR_EMAIL_ID''' ► Prefix for the mails ID. Default value is <code>$_SERVER["SERVER_NAME"]</code> ► (>= 8.0.1)<br />
<br />
* '''MAIN_MAIL_DEBUG''' ► Write content with header of last mail into file <code>dolibarr_mail.log</code> into directory <code>dolibarr_main_data_root</code>.<br />
<br />
* '''MAIN_SMS_DEBUG''' ► Write content of SMS sent into file <code>dolibarr_sms.log</code> into directory <code>dolibarr_main_data_root</code>.<br />
<br />
* '''MAIN_MAIL_ALLOW_SENDMAIL_F''' ► On Linux or BSD system, PHP email function use the command sendmail local to server. In some cases, the sender email must be provided on command line of sendmail with option <code>-f</code>. This option is here to ask Dolibarr to call the function '''mail''' of PHP by adding value for the option <code>-f</code>. Note that in most cases, even with sendmail, sender email is correctly managed as it is added in the email technical header. This option is here only for rare setup of sendmail that ask the '''-f''' option to be mandatory or for sendmail setup that does not use by default the Return-path of header email to define the sender (with this option, the return-path will be provided also on command line and not lost by sendmail).<br />
<br />
* '''MAIN_MAIL_SENDMAIL_FORCE_BA''' ► On Linux or BSD system, PHP email function use the command sendmail local to server. In some case, we want to recipient to be provided to sendmail into the email content instead of its command line parameter. For this we must add the '''-ba''' parameter to sendmail. This option asks PHP to provide this parameter when sending a mail. Note that another solution is to edit the '''mail.force_extra_parameters=-ba''' into '''<code>php.ini</code>''' file.<br />
<br />
* '''MAIN_MAIL_NO_FULL_EMAIL''' ► Recipient email and sender are cleaned to be on form "<email>" instead of "Name <email>". This might solve problem of compatibility with very old mailers.<br />
<br />
* '''MAIN_FIX_FOR_BUGGED_MTA''' ► Some MTA agent are bugged and add some CR chars each time they saw a LF. Because Dolibarr emails are forged to be already cleaned, if MTA agent do that, you will send an email with two CR chars. This may result in having recipient not able to read your email. To fix this, add this constant to 1. Dolibarr will then create an email that is not RFC compliant but because the MTA agent is bugged, the email will be modified and become correct during sending, solving the problem of bad email received. Add this constant if your recipient experience problems when opening email for example users using webmail of <code>orange.fr</code> or <code>hotmail.com</code><br />
<br />
* '''MAIN_MAIL_DO_NOT_USE_SIGN''' ► Do not add user signature at end of suggested pre-defined email<br />
<br />
* '''MAIL_FORCE_DELIVERY_RECEIPT_INVOICE''' ► Set default as "Yes" on requesting delivery receipt when sending email through the ''Customer Invoice'' module.<br />
<br />
* '''MAIL_FORCE_DELIVERY_RECEIPT_ORDER''' ► Set default as "Yes" on requesting delivery receipt when sending email through the ''Customer Order'' module. <br />
<br />
* '''MAIL_FORCE_DELIVERY_RECEIPT_PROPAL''' ► Set default as "Yes" on requesting delivery receipt when sending email through the ''Customer Proposal'' module.<br />
<br />
* '''MAIN_EMAIL_USECCC''' ► 1 = Show field BCC into email forms, If email = Show BCC prefilled with email.<br />
<br />
* '''MAIN_MAIL_AUTOCOPY_PROPOSAL_TO''', '''MAIN_MAIL_AUTOCOPY_ORDER_TO''', '''MAIN_MAIL_AUTOCOPY_INVOICE_TO''' ► Email to use as a BCC recipient when sending email for proposal, order or invoice. You can make this value visible by setting '''MAIN_EMAIL_USECCC''' (to 1 or to another email, see previous point)<br />
<br />
* '''MAIN_EMAIL_ADD_TRACK_ID''' ► When value is '''1''' (this is also default value if option is not set): The record "Message-id" added into smtp header includes a tracking id to define where the email was sent from. When value is '''2''': you send an email from third party card, the sender email is completed with the email source tracking string "+thiXXX" on email (your email will be sent with the "From" that is myname+thi123@mycompany.com). So when user receiving email will make "Answer", email will be sent to myname@mycompany.com but with the tracking id included (into header or into target email), allowing you to know to which third party or object, the email exchange is related to.<br />
<br />
* '''MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL''' ► Restrict sending of 1 email message to <code>x</code> recipients for same email message (x for To: + CC: + BCC:). If not defined, value is <code>10</code>. Required to fight against spamming that include 1000 recipients in 1 message. Note that '''MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL''', '''MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL''' and '''MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL''' are also available.<br />
<br />
* '''MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML''' ► Force to send all email (event with text only content) as HTML formatted email.<br />
<br />
* '''MAIN_MAIL_USE_MULTI_PART''' ► Forge email content using an alternate text part ► (for 5.0.2+). By default with 6.0+<br />
<br />
* '''MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS''' ► If images were stored into the medias directory from CKEditor, then images into emails are replaced with "inline content". This may increase seriously risk of being detected as SPAM.<br />
<br />
* '''MAIN_COPY_FILE_IN_EVENT_AUTO''' ► Add attachement document on event auto generated by sending email from dolibarr. ► (v6.0+)<br />
<br />
* '''MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS''' ► Enter the public IP address of the server, so it appears in the help on the email setup page.<br />
<br />
* '''MAIN_MAIL_ENABLED_USER_DEST_SELECT''' ► Show also internal users into list of recipients of email in email sending form ► (v8.0+)<br />
[[#Top|(back to top)]]<br />
<br />
<br />
== '''Emailing Module''' ==<br />
* '''MAILING_PREFIX_FOR_EMAIL_ID''' ► Set the value that will be used to compose the "Email ID" into email headers. If you set this value to '<code>SERVER_NAME</code>', the virtual host of web server will be used. By default, this is not defined, so a hash key, unique to each instance, is used.<br />
<br />
* '''MAILING_NO_USING_PHPMAIL''' ► If set, the module emailing can't be used with mail setup of "phpmail". Using a thirdparty SMTP server is required. You can complete warning message by adding an email to contact for setup help with constant '''MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS'''.<br />
<br />
* '''MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS''' ► Contains the email of contact to show into the message visible to a user when he try to use emailing module without SMTP server and if option '''MAILING_NO_USING_PHPMAIL''' is set to on.<br />
<br />
* '''MAILING_LIMIT_WARNING_PHPMAIL''' ► Show a warning message (var contains the message to show or translation key) on emailing send form if setup is on "phpmail". For example, you can set this parameter to <code>(MAILING_LIMIT_WARNING_PHPMAIL)</code> and enter translation key for each language for this key.<br />
<br />
* '''MAILING_LIMIT_WARNING_NOPHPMAIL''' ► Show a warning message (var contains the message to show or translation key) on emailing send form if setup is something else than "phpmail". For example, you can set this parameter to <code>(MAILING_LIMIT_WARNING_NOPHPMAIL)</code> and enter translation key for each language for this key.<br />
<br />
* '''EMAILING_USE_ADVANCED_SELECTOR''' ► Enable the advanced selector for recipients.<br />
<br />
* '''MAILING_LIMIT_SENDBYWEB''' ► Restrict number of emails you can send in same sending session with emailing module from GUI. The value "<code>dolibarr_mailing_limit_sendbyweb</code>" if defined into config file is used in priority for this limit. A negative value means, sending by web is forbidden.<br />
<br />
* '''MAILING_LIMIT_SENDBYCLI''' ► Restrict number of emails you can send in same sending session with emailing module from CLI script. The value "<code>dolibarr_mailing_limit_sendbycli</code>" if defined into config file is used in priority for this limit.<br />
[[#Top|(back to top)]]<br />
<br />
== '''Expense Report''' ==<br />
* '''EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS''' ► Can enter several expense reports on same or overlapping date periods. ► (v7.0+)<br />
<br />
* '''EXPENSEREPORT_USE_OLD_NUMBERING_RULE''' ► The module Expense Report use numbering rules that you can setup (like other modules do). If you need to keep the hard-coded numbering rule of expenses report used in v6.0 set this constant to '''1''' ► (>=v7.0+)<br />
<br />
* '''MAIN_USE_EXPENSE_IK''' ► This feature allows you to set index kilometers against a mileage index for different types of vehicles. ► (v7.0+)<br />
<br />
* '''MAIN_USE_EXPENSE_RULE''' ► This feature allows you to set a variety of rules per user/group/all so they can only create reports within their limits. ► (v7.0+)<br />
[[#Top|(back to top)]]<br />
<br />
<br />
== '''Export Module''' ==<br />
* '''EXPORT_CSV_SEPARATOR_TO_USE''' ► String value to use as default separator to delimit fields of exported files (by default Dolibarr uses "<code>,</code>"). Example: EXPORT_CSV_SEPARATOR_TO_USE=<code>;</code><br />
<br />
* '''EXPORT_CSV_FORCE_CHARSET''' ► Choose the charset used in the output file built by the CSV exporter. By default it is ISO-8859-1. Example: EXPORT_CSV_FORCE_CHARSET= <code>utf-8</code><br />
<br />
* '''EXPORTTOOL_CATEGORIES''' ► Can export categories (several lines) into one column with the "product export profile"<br />
<br />
* '''USE_STRICT_CSV_RULES''' ► Use strict/real CSV format for export. Do not clean/replace CR+LF with '\n' but quote them using the escaping CSV char (<code>"</code>).<br />
[[#Top|(back to top)]]<br />
<br />
<br />
== '''Foundation Module''' ==<br />
* '''MEMBER_URL_REDIRECT_SUBSCRIPTION''' ► Link called and shown when a member account is autocreated in member module by a guest user.<br />
<br />
* '''MEMBER_EXT_URL_SUBSCRIPTION_INFO''' ► Link of external page pointed by the "Show here" link added in front of payment cell, into the page to make online subscription.<br />
[[#Top|(back to top)]]<br />
<br />
<br />
== '''Interventions Module''' ==<br />
* '''FICHINTER_CLASSIFY_BILLED'''► Allow to classify an intervention card as "Billed". This add also trigger <code>FICHINTER_CLASSIFY_BILLED</code> into list of possible automatic event into agenda.<br />
<br />
* '''FICHINTER_DISABLE_DETAILS'''► Disable entry of details line on intervention. Can validate with no line.<br />
[[#Top|(back to top)]]<br />
<br />
<br />
== '''Invoice Module''' ==<br />
* '''MAIN_DEPOSIT_MULTI_TVA''' ► In deposits invoice, creates one line per VAT rate from the origin document ► (6.0)<br />
<br />
* '''FACTURE_SHOW_SEND_REMINDER''' ► Show link "Send reminder by mail", same feature than "Send by mail" ''(obsolete feature)''.<br />
<br />
* '''INVOICE_CAN_ALWAYS_BE_EDITED''' ► Allow to edit invoices even if payment was started. Note: If the module "'''BlockedLog'''" is active (required in some countries for legal reasons), this will not change content of archived logs tracked by this module. By definition there is no way to change or remove archived records. It will just update data in your application and a new record to track your change into the read-only archive log.<br />
<br />
* '''INVOICE_CAN_ALWAYS_BE_REMOVED''' ► Allow to always delete invoices (even if invoice is not last one). Note: If the module "'''BlockedLog'''" is active (required by some countries for legal reason), this will not change content of archived logs tracked by this module. By definition there is no way to change or remove archived records. It will just update data in your application and a new record to track your change into the read-only archive log.<br />
<br />
* '''INVOICE_CAN_NEVER_BE_REMOVED''' ► Never allow to delete invoices (except draft invoices).<br />
<br />
* '''INVOICE_POSITIVE_CREDIT_NOTE''' ► All amounts on PDF credit notes are positive.<br />
<br />
* '''FACTURE_CHANGE_THIRDPARTY''' ► Allow to change the third party in the draft invoices. If a discount was set from the original thirdparty, then discount remain, making data not coherent.<br />
<br />
* '''FACTURE_USE_PROFORMAT''' ► Enable PROFORMAT invoices type.<br />
<br />
* '''FACTURE_DEPOSITS_ARE_JUST_PAYMENTS''' ► Treats deposit invoices as a special case. Deposit invoices don't get counted on turnover. They are then applied as a payment, like a discount, on the final invoice. By default, when you include the deposit into draft of final invoice, the amount of final invoice is reduced. With this option, final amount is not reduced but a payment is registered. <br />
<br />
* '''FACTURE_SENDBYEMAIL_FOR_ALL_STATUS''' ► Can send invoice by email to customer even if invoice has status "draft".<br />
<br />
* '''MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT''' ► Disable VAT on generated documents. like for an association. (Works with crabe template)<br />
<br />
* '''INVOICE_CREDIT_NOTE_STANDALONE''' ► Can make a credit note without invoice. ► (v3.9)<br />
<br />
* '''INVOICE_USE_SITUATION''' ► Enable the "situation invoice" feature<br />
<br />
* '''INVOICE_USE_SITUATION_CREDIT_NOTE''' ► Enable the "situation credit note" feature (need <code>INVOICE_USE_SITUATION</code>) ► (v8.0)<br />
<br />
* '''INVOICE_DISABLE_DEPOSIT''' ► Disable deposit invoices<br />
<br />
* '''INVOICE_DISABLE_REPLACEMENT''' ► Disable replacement invoices<br />
<br />
* '''INVOICE_DISABLE_CREDIT_NOTE''' ► Disable credit notes<br />
<br />
* '''WORKFLOW_BILL_ON_SHIPMENT''' ► Change label of button with suitable label when you need to create invoice on shipments<br />
<br />
* '''INVOICE_ALLOW_EXTERNAL_DOWNLOAD''' ► When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. Use the tag __DIRECTDOWNLOAD_URL_INVOICE__ in email template to insert it. ► (v7.0+)<br />
<br />
* '''INVOICE_POINTOFTAX_DATE''' ► Add Point of Tax Date on invoices for country-specific legality reasons ► (v4.0+)<br />
<br />
* '''FACTURE_ENABLE_NEGATIVE_LINES''' ► Allows to add negative lines to an invoice ► (v8.0.2+)<br />
<br />
* '''INVOICE_USE_DEFAULT_DOCUMENT''' ► Allow user to select a default invoice documents models according to invoice type. On invoice create page, the model is dynamically changed on invoice type selection. ► (v9.0+)<br />
<br />
* '''FACTURE_REUSE_NOTES_ON_CREATE_FROM''' ► Reuse the Public Note and Private note of the previous object (Proposal,...) when creating the bill.<br />
[[#Top|(back to top)]]<br />
<br />
== '''Look or Theme''' ==<br />
* '''MAIN_OPTIMIZEFORTEXTBROWSER''' ► Optimize output rendering for usage of a text browser (useful for blind people)<br />
<br />
* '''THEME_ELDY_DISABLE_IMAGE''' ► Disabled images of top menu for eldy theme. ► (v3.8+)<br />
<br />
* '''MAIN_MENU_HIDE_UNAUTHORIZED''' ► Hide menu if logged in user is not authorized rather than just grey them<br />
<br />
* '''THEME_TOPMENU_STICKY_POSITION''' ► Option to fix top menu with eldy theme ► (v7.0+)<br />
<br />
* '''MAIN_EASTER_EGG_COMMITSTRIP''' ► Show a comic image from the CommitStrip website. Images are refreshed daily. ► (v6.0+)<br />
<br />
* '''MAIN_STATUS_USES_CSS''' ► (v10.0+) Change status design using new style<br />
<br />
* '''MAIN_USE_NEW_TITLE_BUTTON''' ► (v10.0+) Use new list buttons design<br />
<br />
[[#Top|(back to top)]]<br />
<br />
== '''MultiCurrency''' ==<br />
* '''MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION''' ► Enable CurrencyLayer API synchronization<br />
[[#Top|(back to top)]]<br />
<br />
<br />
== '''Order Module''' ==<br />
* '''COMMANDE_REQUIRE_SOURCE''' => Make the input field "Source of order" mandatory.<br />
<br />
* '''COMMANDE_VALID_AFTER_CLOSE_PROPAL''' => When an order is created on a proposal close, the order is directly defined with status "Validated".<br />
<br />
* '''COMMANDE_CHANGE_THIRDPARTY''' => Can change customer on orders<br />
<br />
* '''WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER''' => When an order is created, the warehouse can be defined<br />
<br />
* '''ORDER_ALLOW_EXTERNAL_DOWNLOAD''' => When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. ► (v7.0+)<br />
[[#Top|(back to top)]]<br />
<br />
== '''PDF Options''' ==<br />
* '''MAIN_DISABLE_FORCE_SAVEAS''' ► If your browser always asks to save downloaded files on disk (like PDF), try this this option. File may be displayed directly in your browser.<br />
<br />
* '''MAIN_DISABLE_PDF_COMPRESSION''' ► Disable PDF compression.<br />
<br />
* '''MAIN_INVERT_SENDER_RECIPIENT''' ► Invert sender and recipient in some PDF.<br />
<br />
* '''MAIN_DISABLE_PDF_AUTOUPDATE''' ► Disable automatic generation of PDF each time we add/update/delete a product line (we can still build document by clicking on "Generate"). This option may increase interface speed on servers with low CPU.<br />
<br />
* '''MAIN_USE_BACKGROUND_ON_PDF''' ► Define this constant with short name of an image (example "<code>myimage.jpg</code>") that must be saved into directory "<code>documents/mycompany/logos</code>". This will add this background image into your generated PDF files. Warning: This option make TCPDF library being crazy sometime and content on image disappeared!<br />
<br />
* '''MAIN_ADD_PDF_BACKGROUND''' ► Define this constant with short name of a PDF file (example "<code>mypdf.pdf</code>") that must be saved into directory "<code>documents/mycompany</code>". This will add PDF as a background of some of your generated PDF files (proposals,invoices,orders). If you need to concat PDF, see instead [[Module Concat PDF]].<br />
<br />
* '''MAIN_PDF_FORCE_FONT''' ► To ignore font defined into language file and force usage of a particular font. For example "<code>DejaVuSans</code>".<br />
<br />
* '''MAIN_PDF_FREETEXT_HEIGHT''' ► Change height of space reserved to output the free text.<br />
<br />
* '''MAIN_PDF_TITLE_BACKGROUND_COLOR''' ► Can define a background color onto title line. Example: <code>220,220,200</code><br />
<br />
* '''MAIN_USE_COMPANY_NAME_OF_CONTACT''' ► Use contact name and information rather than company<br />
<br />
* '''MAIN_ODT_AS_PDF''' ► Activate PDF conversion from ODT document. If value is '<code>jodconverter</code>', java and jodconverter command line tool must be available. If value is '<code>/pathto/jodconverter.jar</code>' then java and the jodconvertar jar must exist. Soffice must also be available. <code>MAIN_DOL_SCRIPTS_ROOT</code> Must also be defined to path where the "scripts" directory is stored (for example <code>/var/www/mydolibarr</code>).<br />
<br />
* '''MAIN_ODT_AS_PDF_DEL_SOURCE''' ► For ODT generation. If set, then initial behaviour is conserved but ODT file is removed when option to convert it as PDF (see previous) is on. Disabled by default<br />
<br />
* '''MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS''' ► Adding the company address at the bottom of the page. Disabled by default<br />
<br />
* '''MAIN_GENERATE_PROPOSALS_WITH_PICTURE''' ► Include the first image of the product into the line of the generated PDF for customer proposals.<br />
<br />
* '''MAIN_GENERATE_INVOICES_WITH_PICTURE''' ► Include the first image of the product into the line of the generated PDF for customer invoices.<br />
<br />
* '''MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE''' ► Include the first image of the product into the line of the generated PDF for supplier proposals ► (v5.0.3+)<br />
<br />
* '''MAIN_DOCUMENTS_LOGO_HEIGHT''' ► Can force height of the logo on PDF.<br />
<br />
* '''MAIN_DOCUMENTS_WITH_PICTURE_WIDTH''' ► Can change size of picture when hidden option <code>MAIN_GENERATE_PROPOSALS_WITH_PICTURE</code> is used. By default value is <code>20</code>.<br />
<br />
* '''MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN''' ► Hide column with VAT information but only column not total.<br />
<br />
* '''PDF_SHOW_PROJECT''' ► Show project onto PDF (supported on supplier order only for the moment)<br />
<br />
* '''PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN''' ► Hide bank number ("code banque/guichet/compte" for France, "sort code/account number" for GB, ...) and keep only BIC/IBAN on PDF.<br />
<br />
* '''PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES''' ► Modify the use/position of Supplier Ref/Internal Ref with the item Label (name) on PDF documents.<br />
Default (constant not set or Value <code>0</code>): Internal ref followed by supplier ref in brackets."COMPANY-REF-001 (Vendor SKU SUPPLIER-REF-001) - LABEL...".<br />
<br />
Value <code>1</code>: Supplier ref only eg."SUPPLIER-REF-001 - LABEL...".<br />
<br />
Value <code>2</code>: Supplier ref followed by internal ref in brackets. eg."SUPPLIER-REF-001 (InternalRef COMPANY-REF-001) - LABEL...".<br />
<br />
* '''MAIN_PDF_ADDALSOTARGETDETAILS''' ► Add particular details like the telephone number on generated PDFs. Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.<br />
<br />
* '''PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME''' ► Include alternative/alias name into name on PDF.<br />
<br />
* '''MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING''' ► Add optional esign field in pdf propal ► (v8.0+)<br />
<br />
* '''MAIN_TVAINTRA_IN_SOURCE_ADDRESS''' ► Show VAT N° in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)<br />
<br />
* '''MAIN_PROFID1_IN_SOURCE_ADDRESS''' ► Show Professional ID 1 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)<br />
<br />
* '''MAIN_PROFID2_IN_SOURCE_ADDRESS''' ► Show Professional ID 2 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)<br />
<br />
* '''MAIN_PROFID3_IN_SOURCE_ADDRESS''' ► Show Professional ID 3 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)<br />
<br />
* '''MAIN_PROFID4_IN_SOURCE_ADDRESS''' ► Show Professional ID 4 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)<br />
<br />
* '''MAIN_PROFID5_IN_SOURCE_ADDRESS''' ► Show Professional ID 5 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)<br />
<br />
* '''MAIN_PROFID6_IN_SOURCE_ADDRESS''' ► Show Professional ID 6 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)<br />
[[#Top|(back to top)]]<br />
<br />
== '''Point of Sale''' ==<br />
* '''CASHDESK_SHOW_KEYPAD''' ► Show a mouse key pad into the 'Simple Point of Sale' module.<br />
<br />
* '''POS_ADDON''' ► Set this value to an existing numbering module rule (for example '<code>mod_facture_terre</code>', '<code>mod_facture_mars</code>', ...) to force the numbering module to us to define the invoice ref when invoice is created by the POS. For example setting value <code>POS_ADDON</code> to '<code>mod_facture_terre</code>' will use the numbering module '<code>terre</code>' for invoice generated from POS, whatever is the numbering rule defined into invoice module setup (you can also use '''POS_NUMBERING_TERRE_FORCE_PREFIX''' and '''POS_NUMBERING_MARS_FORCE_PREFIX''' variable to change the prefix used).<br />
[[#Top|(back to top)]]<br />
<br />
== '''Products Module''' ==<br />
* '''MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE''' ► Avoid Custom code and country of origin to be set as product description when added to Propal/Order/Invoice<br />
<br />
* '''PRODUCT_ADD_TYPE_IN_DOCUMENTS''' ► Add text "Product" or "Service" at beginning of details lines on built PDF documents.<br />
<br />
* '''PRODUCT_DONOTSEARCH_ANYWHERE''' ► When Ajax search is enabled, search is done on criteria anywhere in label of product. By adding this option, search is done only on start of label. This is really faster when you have a huge number of products.<br />
<br />
* '''PRODUIT_DESC_IN_LIST''' ► Show long description of product/service into lists.<br />
<br />
* '''PRODUIT_PDF_MERGE_PROPAL''' ► Enable module Propal merge product PDF<br />
<br />
* '''PRODUCT_USE_OLD_PATH_FOR_PHOTO''' ► Ask dolibarr to check also old path (before 3.7) where photos were stored.<br />
<br />
* '''PRODUCT_USE_UNITS''' ► Enable units from dictionary in product/service card.<br />
<br />
* '''PRODUCT_DISABLE_SIZE''' ► Disable size in product card.<br />
<br />
* '''PRODUCT_DISABLE_LENGTH''' ► Disable length in product card ► v4.0+<br />
<br />
* '''PRODUCT_DISABLE_SURFACE''' ► Disable surface in product card. ► v4.0+<br />
<br />
* '''PRODUCT_DISABLE_VOLUME''' ► Disable volume in product card.<br />
<br />
* '''PRODUCT_DISABLE_CUSTOM_INFO''' ► Disable custom info (custom code and country origin) in product/service card.<br />
<br />
* '''PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL''' ► When option to use price per level/segment is on, this allows to also set a dedicated vat for each price level.<br />
<br />
* '''MAIN_DIRECT_STATUS_UPDATE''' ► Allows you to change the status of the product (''for sale/not for sale for purchase/not for purchase'') directly on the product page via a ''on/off'' switch button. This can be convenient for those who need to quickly disable certain statuses of products without having to go through the editing product page individually. Also can be very useful if used as a filter on the product and product search list. This option doesn't generate a MODIFY trigger, so be careful with external modules. ► v4.0+<br />
<br />
* '''PRODUCT_CHARGES''' ► Adds an extra field for adhoc charges at the product buying price stage. The cost price is then calculated with supplier price + charges if defined. Useful for extra costs for a product or certain delivery charges to the product. ► (<= v7.0)<br />
<br />
* '''PRODUCT_MAX_VISIBLE_PHOTO''' ► Show a maximum number of product photos (as thumbnails) on the product main card. Example, setting this constant to '<code>5</code>' will show the first five product photos found on the product card.<br />
<br />
* '''PRODUCT_MAX_LENGTH_COMBO''' ► Limit the length of the label displayed when adding lines in proposals/invoices/orders<br />
<br />
* '''MAIN_DISABLE_FREE_LINES''' ► Disallow using free lines to add line in documents ► (>= 8.0)<br />
<br />
* '''MAIN_SHOW_PRODUCT_ACTIVITY_TRIM''' ► Show Product and Services turnover before for all four quarters tax over recent years recent years on the product area ► (v5.0+)<br />
<br />
* '''CATEGORY_GRAPHSTATS_ON_PRODUCTS''' ► Show graph of products with categories and totals in Products Area screen<br />
[[#Top|(back to top)]]<br />
<br />
== '''Projects Module''' ==<br />
* '''PROJECT_DISABLE_UNLINK_FROM_OVERVIEW''' ► Enable removing the button from a link in the project overview. ► (>= 8.0.1)<br />
<br />
* '''PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS''' ► Enable linking a project to any supplier even when using the third party link feature. Note: Set to 1 by default from 3.7.<br />
<br />
* '''PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS''' ► Can add time spent on tasks, even if i am not assigned to task (however, task must be a project i am a contact).<br />
<br />
* '''PROJECT_SHOW_REF_INTO_LISTS''' ► Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)<br />
<br />
* '''PROJECT_HIDE_UNSELECTABLES''' ► Hide into select list, all project that we can't select (closed or draft)<br />
<br />
* '''PROJECT_HIDE_TASKS''' ► Hide tasks. For user using project only as an analytics key and not using tasks.<br />
<br />
* '''PROJECT_LIST_SHOW_STARTDATE''' ► Shows start date of projects in project lists.<br />
<br />
* '''PROJECT_LINK_ON_OVERWIEW_DISABLED''' ► Hide the "link to" form on the overview page ► (4.0)<br />
<br />
* '''PROJECT_CREATE_ON_OVERVIEW_DISABLED''' ► Hide the "create ..." button on the overview page ► (4.0)<br />
<br />
* '''PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY''' ► Can link an object to a project of another thirdparty<br />
<br />
* '''PROJECT_ALLOW_COMMENT_ON_TASK''' ► Add comment feature on project task<br />
[[#Top|(back to top)]]<br />
<br />
<br />
== '''Proposals Module''' ==<br />
* '''PROPAL_CLONE_ON_CREATE_PAGE''' ► On the create proposal page, ask if we want to create the proposal by cloning an already existing one. You should use instead the "Clone" button available on existing proposals.<br />
<br />
* '''MAIN_PROPAL_CHOOSE_ODT_DOCUMENT''' ► On setup page, you'll be able to select which ODT document to use when close or cancel proposals.<br />
<br />
* '''MAIN_GENERATE_PROPOSALS_WITH_PICTURE''' ► Add a picture of the product (the first one found if there are several) into the generated PDF of proposals. Note that using this will reduce the available width for the product description.<br />
<br />
* '''PROPAL_DISABLE_SIGNATURE''' ► Do no show the box for signature.<br />
<br />
* '''WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES''' ► Button "Classified Billed" is visible on proposal even if there is no invoice linked to proposal.<br />
<br />
* '''PRODUIT_PDF_MERGE_PROPAL''' ► When generating the proposal PDF, all PDFs linked to products linked to proposal are also included into final PDF<br />
<br />
* '''PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD''' ► When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. ► (v7.0+)<br />
<br />
* '''MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING''' ► add optional esign field in pdf propal ► (v8.0+)<br />
[[#Top|(back to top)]]<br />
<br />
<br />
== '''Services Module''' ==<br />
* '''SERVICE_ARE_ECOMMERCE_200238EC''' ► If this option is enabled, services are processed like eServices according to directive of EU Council Directive 2002/38/EC (http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en.htm). Default VAT rate are based on buying country instead of selling country for BtoC sells.<br />
[[#Top|(back to top)]]<br />
<br />
<br />
== '''Shipments''' ==<br />
* '''STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS''' ► If set, you can add a shipment line, with no stock source defined. ► (>= 8.0.1)<br />
<br />
* '''SHIPMENT_GETS_ALL_ORDER_PRODUCTS''' ► Add all order lines in shipment, including the one with 0 in quantity<br />
[[#Top|(back to top)]]<br />
<br />
<br />
== '''Stocks''' ==<br />
* '''CASHDESK_FORCE_STOCK_ON_BILL''' => Option to force decrease of stock whatever is user setup. ► (>= 8.0.1)<br />
<br />
* '''SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED''' ► Disable stock dispatch when total expected was already received.<br />
[[#Top|(back to top)]]<br />
<br />
== '''Suppliers Module''' ==<br />
* '''FOURN_PRODUCT_AVAILABILITY''' ► On the Suppliers price page of the products, activate the supplier product availability. ''This is duplicate feature with delivery_delay introduced with 3.8.''<br />
<br />
* '''RELOAD_PAGE_ON_SUPPLIER_CHANGE''' ► On creation of a supplier order/invoice, reload form with supplier-specific details when supplier is selected from drop-down list.<br />
<br />
* '''SUPPLIER_ORDER_AUTOADD_USER_CONTACT''' ► Add user approving supplier order as a contact automatically.<br />
<br />
* '''SUPPLIER_ORDER_DEFAULT_PAYMENT_MODE_ID''' ► Set the default payment method for suppliers (<code>rowid</code> in table <code>llx_c_paiement</code>).<br />
<br />
* '''SUPPLIER_ORDER_USE_DISPATCH_STATUS''' ► Add a status on each dispatch order line when receiving products from suppliers ► (v4.0+)<br />
<br />
* '''SUPPLIER_ORDER_NO_DIRECT_APPROVE''' ► No button "Validate and Approve". Always do step "Validate" and "Approve" in 2 steps.<br />
<br />
* '''SUPPLIER_ORDER_WITH_PREDEFINED_PRICES_ONLY''' ► Restrict selection of products in supplier order to only those with a buying price defined for that supplier. ► (v6.0+)<br />
<br />
* '''SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT''' ► Can modify the buying price used for PMP calculation when making a stock reception on a supplier order. ► (v6.0+)<br />
<br />
* '''SUPPLIER_PROPOSAL_WITH_PREDEFINED_PRICES_ONLY''' ► Restrict selection of products in supplier proposal to only those with a buying price defined for that supplier. ► (v6.0+)<br />
[[#Top|(back to top)]]<br />
<br />
== '''Third Parties Module''' ==<br />
* '''COMPANY_AQUARIUM_CLEAN_REGEX''' ► Add a REGEX rule on the third parties names. It applies a regex replacement pattern on generated code if COMPANY_AQUARIUM_CLEAN_REGEX is set. Value must be a regex with parenthesis. The part into parenthesis is kept, the rest removed. For example if COMPANY_AQUARIUM_CLEAN_REGEX = '<code>^..(..)..(.*)</code>' the first char and second char are removed and the char 5 and 6 too ► (>= 8.0.1)<br />
<br />
* '''MAIN_FORCE_DEFAULT_STATE_ID''' ► <code>rowid (integer)</code> of a state/province as defined in <code>llx_c_departements</code>. On the creation of a third party/contact, the state/province corresponding to this rowid is preselected in the dropdown list. ► (>= 8.0.1)<br />
<br />
* '''SOCIETE_DISABLE_CUSTOMERS''' ► Remove all menu and features related to customers<br />
<br />
* '''SOCIETE_DISABLE_PROSPECTS''' ► Remove all menu and features related to prospects<br />
<br />
* '''SOCIETE_DISABLE_STATE''' ► Do not use field "state/province"<br />
<br />
* '''THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT''' ► Do not set status "Customer/Prospect" to "on" when creating a new third party from menu "New third party".<br />
<br />
* '''THIRDPARTY_NOTSUPPLIER_BY_DEFAULT''' ► Do not set status "Supplier" to "on" when creating a new third party from menu "New third party".<br />
<br />
* '''SOCIETE_SORT_ON_TYPEENT''' ► The combo list of "type of third party" is sorted on a field "position" that appears into dictionary instead of alphabetical order.<br />
<br />
* '''THIRDPARTY_DEFAULT_CREATE_CONTACT''' ► With this setting as '''1''' the option is set for third parties to be created WITH the child contact ► (v5.0+)<br />
<br />
* '''THIRDPARTY_DEFAULT_USEVAT''' ► When creating a new third party, the field "Use vat" is set to on or off depending on value of this parameter.<br />
<br />
* '''THIRDPARTY_DEFAULT_USELOCALTAX1''' ► When creating a new third party, the field "Use second tax" is set to on or off depending on value of this parameter.<br />
<br />
* '''THIRDPARTY_DEFAULT_USELOCALTAX2''' ► When creating a new third party, the field "Use third tax" is set to on or off depending on value of this parameter.<br />
<br />
* '''THIRDPARTY_INCLUDE_PARENT_IN_LINKTO''' ► Search also for elements on parent third party when using the "link to" object feature.<br />
<br />
* '''THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO''' ► Search also for elements on third party that own the project of the current element when using the "link to" object feature (if project is owned by a different thirdparty than current one).<br />
<br />
* '''SOCIETE_ASK_FOR_SHIPPING_METHOD''' ► Shipping method can be predefined on customer card and will be used as default on order creation<br />
<br />
* '''THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD''' ► When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.<br />
<br />
* '''MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL''' ► External users are always restricted on the thirdparty of their contact record. With this option, permission "see all thirdparty" may works also for external user. Not implemented yet...<br />
<br />
* '''THIRDPARTY_CAN_HAVE_CATEGORY_EVEN_IF_NOT_CUSTOMER_PROSPECT_SUPPLIER''' ► Possible to add Categories to third parties that are not customer, prospect or supplier.<br />
[[#Top|(back to top)]]<br />
<br />
== '''VAT Report''' ==<br />
* '''MAIN_INCLUDE_ZERO_VAT_IN_REPORTS''' ► Include lines with VAT to 0% (for "auto-liquidation" in EEC) ► (v8.0.3+)<br />
[[#Top|(back to top)]]<br />
<br />
<br />
== '''WYSIWYG Editor''' ==<br />
* '''FCKEDITOR_ENABLE_DETAILS_FULL''' ► Can cut and paste external images (hosted on external server) into description of proposal, orders or invoices. WARNING: PDF generation is not guaranteed with this. Also if the image is removed or renamed by the image hosting service, your proposal, order or invoice will be broken.<br />
[[#Top|(back to top)]]</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Installation_sur_MacOSX&diff=41442Installation sur MacOSX2019-05-13T10:54:36Z<p>Yves.brungard: Création de la page</p>
<hr />
<div>= Prérequis =<br />
Ce guide fournit les éléments pour une installation de Dolibarr sur Mac en utilisant l'infrastructure fournie pas MAMP.<br />
<br />
Version Mac OS X 10.10 minimum.<br />
<br />
= Procédure =<br />
== Téchargements ==<br />
<br />
Téléchargez MAMP (version 5.3 au moment de la rédaction) <br />
lien censuré<br />
<br />
Téléchargez Dolibarr<br />
http://sourceforge.net/projects/dolibarr/files/Dolibarr%20ERP-CRM/<br />
==Installer MAMP et les fichiers de Dolibarr ==<br />
* Continuez à travers les fenêtres de licence, etc.<br />
* Sélectionnez votre disque interne, et sur l’étape d’après cliquez sur le bouton en bas à gauche “customize”.<br />
* Décochez “MAMP Pro”, seul “MAMP” est sélectionné obligatoirement.<br />
* Choisissez “Install” et attendez la fin de l’installation. Quand MAMP est installé, choisissez si oui ou non vous voulez mettre le fichier d’installation à la corbeille. Personnellement je préfère choisir “Keep” pour garder le fichier sous le coude.<br />
* Décompressez le .ZIP de Dolibarr dans vos Téléchargements.<br />
* Déplacez ce dossier à la racine du dossier MAMP qui se trouve désormais dans le dossier Applications du Finder. Vous pouvez renommer le dossier en supprimant l'indication de version.<br />
<br />
<br />
==Configurez l’application MAMP==<br />
* Ouvrez l'application MAMP.<br />
* Commencez par décocher “Show this window when starting” en bas de la fenêtre “MAMP Cloud functions” et fermez la fenêtre.<br />
* Allez dans le menu “MAMP / Préférences” en haut à gauche dans la barre de menu.<br />
* Dans l’onglet “Général” cochez la case “Start servers”.<br />
* Dans l’onglet “Ports” notez le port Apache, qui doit être 8888 par défaut.<br />
* Dans l’onglet “Cloud”, assurez vous que “Use Cloud” est décoché.<br />
* Dans l’onglet “Web Server” à “Document Root”, cliquez sur le bouton “Select” et naviguez vers le dossier “Applications / MAMP / dolibarr” et sélectionner une fois le dossier “htdocs”. Cliquez sur “Select” en bas à droite de la fenêtre.<br />
* Puis cliquez sur le bouton “OK”<br />
<br />
MAMP est désormais configuré.<br />
<br />
Vous pouvez manuellement démarrer et éteindre le serveur qui va vous faire tourner Dolibarr.<br />
Par défaut nous l’avons configuré pour démarrer le serveur à chaque fois que MAMP est lancé.<br />
Vous l’aurez compris, si MAMP n’est pas lancé et que les voyants “Apache” et “SQL” ne sont pas au vert, pas de Dolibarr.<br />
(Vous pouvez aller dans “Préférences Système / Utilisateurs / ouverture” de votre Mac pour ajouter MAMP à la liste et faire en sorte que MAMP s’ouvre automatiquement à chaque fois que vous démarrez votre Mac).<br />
<br />
== Configurer Dolibarr==<br />
* Lancer votre navigateur et rentrer l’adresse “localhost:8888”<br />
* Choisissez la langue, puis “étape suivante”<br />
* Bouton “Démarrer” pour la première installation, et "étape suivante".<br />
<br />
<br />
Sous les options “Serveur Web” laissez tout par défaut.<br />
<br />
Sous les options “Base de Données” :<br />
* Cochez la case “Créer la base de données”<br />
* Choisissez un identifiant et un mot de passe (pour la base de données SQL, différent des utilisateurs Dolibarr)<br />
* Cochez la case “Créer le propriétaire”<br />
* "Accès super utilisateur” va apparaitre en dessous. Utilisez le user par défaut de MAMP c’est à dire identifiant “root” et mot de passe “root”<br />
* Cliquez sur “suivant”<br />
<br />
Dolibarr vous indique normalement que tout est OK :<br />
Vous avez donc créé une base de données SQL “dolibarr”, ainsi qu’un administrateur qui peut gérer cette base. Gardez bien cet identifiant car c’est avec lui que vous pourrez gérer les sauvegardes et restaurations de votre base de données.<br />
<br />
* Cliquez sur le bouton “suivant” et laissez Dolibarr procéder. Un fois que tout est OK, cliquez à nouveau sur “suivant” et vous arrivez sur la page de création de l’administrateur Dolibarr.<br />
* Choisissez un identifiant et un mot de passe. Il peut être différent ou identique à celui de l’étape précédente, mais notez que ce sont deux utilisateurs distincts.<br />
* Cliquez sur “suivant”<br />
* Dolibarr vous prévient ensuite que la création du user est OK, mais vous avertit que “pour des raisons de sécurité” “il est conseillé de placer dans le répertoire document de Dolibarr un fichier nommé install.lock en lecture seule” : Nous y reviendrons, car dans une utilisation strictement hors-réseau ça ne nous concerne pas, mais sachez que dès que vous vous connectez à un réseau, MAMP expose Dolibarr et votre base de données aux autres.<br />
* Cliquez sur “accéder à Dolibarr” en utilisant le compte administrateur Dolibarr ci-dessus.<br />
<br />
Maintenant Dolibarr fonctionne en local sur votre installation de MAMP. Vous devez configurer toutes les options propres à votre société avant de continuer : “Les informations de configuration obligatoire doivent être renseignées”.<br />
<br />
Vous effectuerez tous les réglages nécessaires à la première mise en route de Dolibarr ainsi que l'activation des modules requis en vous référant au Wiki de Dolibarr ainsi que ce forum.<br />
<br />
==Sécurisation==<br />
<br />
Une fois Dolibarr en place et que vous avez accès à la page “Accueil” de Dolibarr, en bas de cette page vous verrez deux avertissements de sécurité :<br />
* Ouvrez l’application TextEdit et sauvegardez un document vierge intitulé “install.lock” dans le dossier “Applications / MAMP / dolibarr-8.0.4 / documents”. Aller dans ce dossier avec le Finder, sélectionner le fichier qui doit normalement s’appeler “install.lock.rtf” et aller dans le menu Fichier / Informations (raccourci pomme-i). Dans la case du nom de fichier, supprimer le “.rtf” à la fin, touche entrée puis “utiliser .lock” quand le Finder vous le demande.<br />
<br />
* Retournez dans Dolibarr et rafraichir la page, normalement le premier avertissement a disparu.<br />
<br />
* Dans le Finder, naviguez vers le dossier “Applications / MAMP / dolibarr / htdocs / conf” et sélectionnez le fichier “conf.php”. Aller dans les informations (raccourci pomme-i) et en bas de la fenêtre, dans la partie “partage et autorisations” basculer toutes les lignes sur “lecture seule”. Fermez la fenêtre, retourner sur Dolibarr et rafraichir la page.<br />
* Normalement les deux avertissements en bas de la page d’accueil ont disparus.<br />
<br />
Dolibarr est désormais opérationnel.<br />
<br />
=Sauvegardes=<br />
Le plus simple c’est d’aller très régulièrement dans Dolibarr sous “Outils d’administration / Sauvegarde” et cliquez sur le bouton “générer sauvegarde”.<br />
Ces fichiers sont générés dans “Applications / MAMP / dolibarr / documents / admin / backup”<br />
C’est l’ensemble du dossier “Applications / MAMP / dolibarr / documents” que vous devrez sauvegarder. Sur Mac si votre Time Machine fonctionne correctement ça devrait suffire mais rien ne vous empêche de prendre des précautions supplémentaires…<br />
<br />
Quand vous serez plus avancé avec Dolibarr, vous pourrez commencer à mettre en place des solutions type CRON pour réaliser des sauvegardes automatiques de la base de données. <br />
<br />
Crédits : [https://www.dolibarr.fr/forum/installation-sous-mac/63928-guide-complet-mac-installation-dolibarr-sur-mamp initialsBB]</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Installation_-_Mise_%C3%A0_jour&diff=41185Installation - Mise à jour2019-04-06T13:42:17Z<p>Yves.brungard: /* Prérequis */</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUtil}}<br />
<br />
Les procédures suivantes décrivent comment installer ou mettre à jour Dolibarr.<br />
<br />
<br />
= Procédure d'installation =<br />
Ce chapitre décrit les différentes méthodes possibles (des plus simples, aux manuels) pour une première installation. Voir plus loin pour la mises à jour.<br />
<br />
== Sur votre poste/serveur dédié ==<br />
=== [[File:Logo_windows.png]] Avec DoliWamp (package Windows .exe) ===<br />
- '''Prérequis''': Windows<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Si vous maîtrisez l'installation d'un serveur Web Apache, de PHP et Mysql, le chapitre suivant est plus approprié. <br />
Pour les moins expérimentés qui sont sous Windows, il existe une distribution Dolibarr nommée '''DoliWamp''' qui permet de faire une installation Dolibarr sous Windows avec tous ses prérequis (Apache, Mysql, PHP) sans connaissance informatiques. Voici comment l'installer:<br />
<br />
* Récupérez la version de Dolibarr pour Windows.<br />
Pour cela, voir la page de [https://sourceforge.net/projects/dolibarr/files/Dolibarr%20installer%20for%20Windows%20%28DoliWamp%29/ téléchargement de DoliWamp].<br />
<br />
* Lancer le .exe téléchargé et suivez les instructions.<br />
<br />
=== [[File:Logo_ubuntu.png]] Avec DoliDeb (package Debian / Ubuntu .deb) ===<br />
- '''Prerequis''': Linux Debian, Ubuntu, ...<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Cette procédure fonctionne uniquement pour les utilisateurs Linux Debian, Ubuntu et dérivés et est recommandée pour ceux qui n'ont pas de connaissances informatiques particulières. Si vous êtes un administrateur expérimenté d'Apache, PHP et Mysql, le chapitre '''Avec Dolibarr (package standard tgz)''' sera peut-être plus approprié. Dans le cas contraire, vous pouvez utilisez DoliDeb. DoliDeb est un package de Dolibarr spécialisé pour la distribution Debian ou Ubuntu. Ce package vous permet d'installer Dolibarr sous Ubuntu ou Debian (ou dérivé) avec tous ces prérequis (Apache, Mysql, PHP) s'ils ne sont pas déjà installés et ce sans connaissances techniques particulières.<br />
<br />
* La procédure pour installer DoliDeb est décrite sur la page [[Dolibarr pour Ubuntu ou Debian]].<br />
<br />
=== [[File:Logo_rpm.png|40px]] Avec DoliRpm (package Fedora, Redhat, Mandriva, Mageia ou OpenSuse .rpm) ===<br />
- '''Prerequis''': Linux Fedora, Redhat, Mandriva, Mageia or OpenSuse (peut également fonctioner pour toute distribution Linux à rpm)<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Cette procédure fonctionne uniquement pour les utilisateurs Linux d'une distribution gérant les packages rpm et est recommandée pour ceux qui n'ont pas de connaissances informatiques particulières. Si vous êtes un administrateur expérimenté d'Apache, PHP et Mysql, le chapitre suivant '''Avec Dolibarr (package standard tgz)''' sera peut-être plus approprié. Dans le cas contraire, vous pouvez utilisez DoliRpm. DoliRpm est un package de Dolibarr spécialisé pour la distribution Fedora, Redhat, Mandriva, Mageia ou OpenSuse. Ce package vous permet d'installer Dolibarr sous ces OS avec tous ces prérequis (Apache, Mysql, PHP) s'ils ne sont pas déjà installés et ce sans connaissances techniques particulières.<br />
<br />
* La procédure pour installer DoliRpm est décrite sur la page [[Dolibarr pour Redhat ou Fedora (package rpm)]] ou [[Dolibarr pour Mandriva ou Mageia (package rpm)]] ou [[Dolibarr pour OpenSuse (package rpm)]].<br />
<br />
=== [[File:Gnu.png]] Avec Dolibarr (package standard .tgz ou sources Git) ===<br />
==== Prérequis ====<br />
Apache, PHP et un serveur de base de données (MySQL ou PostgreSQL) sont présents et opérationnels, et le login/mot de passe d'accès (à une nouvelle base ou au serveur) est connu.<br />
<br />
- '''Niveau''': Un peu de connaissances informatiques en administration Web.<br />
<br />
Cette procédure décrit l'installation manuelle (recommandée) sur un système GNU/Linux (Debian, Mandriva, ...) mais elle est valable avec d'autres systèmes comme Windows moyennant une adaptation des chemins à ceux de votre OS.<br />
Elle est applicable pour toute version de Dolibarr >= 2.0.0<br />
<br />
* Vérifiez que vous avez bien Apache, PHP {{PHPMinVersion}} et un serveur de base de données (MySQL {{MySqlMinVersion}} ou PostgreSQL) d'installés (consulter pour cela la liste des packages installés sur votre machine grâce au gestionnaire de mise à jour de package de votre distribution).<br />
<br />
* Vérifiez que l'utilisateur root ou admin principal pour le serveur de base de donnée est connu et fonctionne correctement. Si cet utilisateur root ou admin est inconnu car pas encore défini, lisez le chapitre qui suit. Sinon vous pouvez passez au point suivant:<br />
<br />
==== MySql ou MariaDB ====<br />
Pour les utilisateurs Linux utilisant MySql ou MariaDB, si vous venez juste d'installer la base de donnée, le login administrateur est '''root'''. Vous devez exécuter la commande suivante pour initialiser le mot de passe:<br />
<source lang="bash"><br />
mysql <br />
</source><br />
Une fois dans l'interface Mysql, taper la commande de modification du mote de passe de root:<br />
<source lang="sql"><br />
grant all privileges on *.* to root@'localhost' identified by 'newrootpass' with grant option; <br />
</source><br />
Puis entrée et pour quitter \q<br />
<br />
Pour vérifier que l'accès avec ce couple user/mot de passe fonctionne, lancer la commande<br />
<source lang="bash"><br />
mysql -u root -p<br />
</source><br />
Et taper votre mot de passe ''newrootpass'' suivi de \q pour quitter la sessions si la connexion a réussie.<br />
<br />
==== Postgresql ====<br />
Pour les utilisateurs Linux utilisant Postgresql, si vous venez juste d'installer la base de donnée PostgreSQL, vous devez d'abord créer un utilisateur administrateur et son mot de passe. Pour cela, ajouter la ligne suivante dans le fichier '''/etc/postgresql/x.x/main/pg_hba.conf''' (remplacer x.x avec votre version de postgres)<br />
<source lang="ini"><br />
local all dolibarrowner md5 <br />
</source><br />
De plus, mettez en commentaire la ligne<br />
<source lang="ini"><br />
#local all all ident<br />
</source><br />
qui impose que le compte système utilisé pour accéder à la base (ce sera le compte sous lequel tourne l'application web), ait le même nom que le compte dans la base (ce n'est jamais le cas).<br />
<br />
Ensuite, lancer la commande sous un shell root<br />
<source lang="bash"><br />
sudo -s -u postgres<br />
createuser dolibarrowner<br />
psql -d template1 -c "alter user dolibarrowner with password 'dolibarrownerpass'"<br />
exit<br />
psql<br />
create database databasename;<br />
grant all privileges on database databasename to dolibarrowner;<br />
ALTER DATABASE databasename OWNER TO dolibarrowner;<br />
\q<br />
sudo /etc/init.d/postgresql restart<br />
</source><br />
Vous pouvez tester la connexion pour l'utilisateur crée avec la commande<br />
<source lang="bash"><br />
psql -h localhost -d postgres -U dolibarrowner -W<br />
</source><br />
Et entrez le mot de passe ''dolibarrownerpass'' et \q pour quitter la session si la connexion est ok.<br />
==== Copie des fichiers ====<br />
* Placez-vous dans le répertoire dans lequel installer Dolibarr (le répertoire racine défini pour votre serveur web)<br />
# Pour Debian et les familles Ubuntu, il s'agit en général de: /var/www<br />
# Pour Mandriva, Mageia, RedHat, Fedora: /var/www/html<br />
# Pour Suse: /srv/www/htdocs<br />
<source lang="bash"><br />
$ cd /var/www<br />
</source><br />
<br />
* Récupérez l'application<br />
<br />
===== Avec l'archive =====<br />
Si vous partez du fichier dolibarr.tgz, récupérez le fichier et décompressez l'archive de l'application<br />
<br />
<source lang="bash"><br />
$ wget http://www.dolibarr.org/files/dolibarr.tgz<br />
$ tar xvfz dolibarr.tgz<br />
</source><br />
<br />
Renommez le répertoire dolibarr-x.y.z en dolibarr afin d'avoir un nom de répertoire indépendant de la version (où x.y.z correspond à la version source)<br />
<source lang="bash"><br />
$ mv dolibarr-x.y.z dolibarr<br />
</source><br />
<br />
===== Avec les sources Git =====<br />
Si vous partez des sources Git, récupérer les sources par<br />
<br />
<source lang="bash"><br />
$ git clone -b develop http://github.com/Dolibarr/dolibarr.git dolibarr<br />
</source><br />
<br />
Il est possible de remplacer HEAD par X.y pour récupérer la dernière version stable de la branche x.y.<br />
<br />
==== Gestion des droits ====<br />
Modifiez les permissions et propriétaires du répertoire 'dolibarr' pour être sur que tous les fichiers soient en lecture pour l'utilisateur sur lequel tourne le serveur (on supposera qu'il s'agit de l'utilisateur 'www-data' pour debian ou ubuntu, 'apache' pour Redhat, Mandriva, Mageia, Fedora)<br />
<source lang="bash"><br />
$ chmod -R 755 /var/www/dolibarr<br />
$ chown -R www-data.www-data /var/www/dolibarr<br />
ou<br />
$ chmod -R 755 /var/www/html/dolibarr<br />
$ chown -R apache.apache /var/www/html/dolibarr<br />
</source><br />
<br />
==== Fichier de configuration ====<br />
En tant que root, créez, dans le répertoire dolibarr/htdocs/conf, un fichier de configuration vide, et attribuez-lui comme propriétaire du fichier, l'utilisateur du serveur web (exemple www-data sur debian, nobody sur une vieille RedHat, apache sur une autre version ...). Ceci est requis car le serveur web a besoin d'écrire dans ce fichier lors de l'installation.<br />
<source lang="bash"><br />
$ cd dolibarr ; touch htdocs/conf/conf.php ; chown www-data htdocs/conf/conf.php<br />
</source><br />
==== SELinux sur Fedora ====<br />
Sur Fedora, comme SELinux est activé en général, il est aussi conseillé de lancer les commandes pour rendre le répertoire 'dolibarr' accepté par l'environnement SELinux (an absence de commande, vous devriez recevoir des nombreuses alertes d'anomalies) :<br />
<source lang="bash"><br />
$ semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/dolibarr(/.*)?'<br />
$ restorecon -R -v '/var/www/html/dolibarr'<br />
</source><br />
<br />
==== Répertoire de documents ====<br />
Toujours en root, créez le répertoire qui servira aux documents générés ou stockés par Dolibarr (factures pdf, images, ...), et attribuez lui comme propriétaire, l'utilisateur du serveur web (exemple www-data sur Debian, nobody sur une vieille RedHat, apache sur une Mandriva, Mageia ou une RedHat récente, ...). Le serveur web doit avoir les droits en écriture dans ce répertoire. Il faut choisir un répertoire en dehors de la racine du site web. Par exemple "/var/lib/dolibarr/documents"<br />
<source lang="bash"><br />
$ mkdir -p /var/lib/dolibarr/documents ; chown www-data /var/lib/dolibarr/documents<br />
</source><br />
<br />
==== Installation ====<br />
* Pointez votre navigateur sur la page principale<br />
<source lang="ini"><br />
http://127.0.0.1/dolibarr/htdocs/<br />
</source><br />
<br />
* Suivez les instructions de l'installation<br />
<br />
* Pour des raisons de sécurité nous vous conseillons, une fois l'installation terminée, de créer un fichier install.lock dans le répertoire dédiés aux documents, que seul root doit avoir le droit d'effacer. Ceci va verrouiller la procédure d'installation qui ne pourra plus être appelée par erreur (Il faudra le supprimer pour les mises à jour).<br />
<source lang="bash"><br />
$ touch /var/lib/dolibarr/documents/install.lock; chmod go-w /var/lib/dolibarr/documents;<br />
</source><br />
<br />
== Sur un hébergement mutualisé (à accès restreint) ==<br />
Il n'est pas possible de présenter une solution générique à ce cas car la procédures dépend de l'hébergeur.<br />
La plupart du temps, la procédure générique suivante fonctionnera:<br />
<br />
Voici toutefois quelques documents/procédures spécifiques à certains hébergeurs:<br />
* Hébergement FREE mutualisé: [[File:Installation Dolibarr Free-20100526.odt]]<br />
* Hébergement OVH oneclick: OVH propose une version de Dolibarr parfois plus ancienne que la version stable courante mais installable depuis son interface d'administration dans sa solution "OneClick".<br />
<br />
Procédure générique:<br />
<br />
- '''Prerequis''': <br />
Un serveur web Apache, PHP et une base de donnée (MySQL ou PostgreSQL) tourne correctement et le compte login/mot de passe (de la nouvelle base de donnée ou d'administration du serveur) est connu (sinon les demander à l'hébergeur).<br />
<br />
- '''Niveau''': Utilisateurs avec quelques notions d'administration Web and base de donnée. Maitrise d'un outil de transfert de fichier (FTP, SFTP, ...) pour uploader les fichiers sur le serveur.<br />
<br />
* Vérifiez que vous avez un serveur Web Apache, PHP et une base de donnée (MySQL ou PostGreSQL) qui fonctionne correctement.<br />
[[File:warning.png]] Attention, la page de code du serveur PHP et de la base de donnée doivent être identique.<br />
<br />
* Vérifiez que vous avez un compte root ou administrateur avec login/mot de passe connu et que ces comptes fonctionnent. Si inconnu, demandez les à votre hébergeur.<br />
<br />
* Récupérer l'archive de la dernière version stable de Dolibarr et décompressez la localement..<br />
<br />
* Uploadez tout le contenu du répertoire dans le répertoire racine de votre site web, par exemple par FTP en mode binaire.<br />
<br />
* Créez un répertoire nommé "documents", dans cette racine, qui servira à sauver tous les documents générés et stockés par Dolibarr (factures PDF, images uploadées, ...). Le serveur web doit avoir les permissions d'écrire dedans. Vous pouvez attribuer ces permission avec un client FTP.<br />
<br />
* Maintenant appeler la page principale index.php de dolibarr avec votre navigateur.<br />
<br />
* Suivez les instructions pas à pas du processus d'installation.<br />
<br />
* Pour des raisons de sécurité, il est recommandé, une fois l'installation terminée, de créer un fichier install.lock dans le répertoire de Dolibarr. Ceci vérrouillera l'appel au processus d'installation (il vous faudra supprimer ce fichier pour permettre les mise à jour). Si ceci n'est pas fait, Dolibarr vous affichera un warning lorsque vous êtes loggués comme administrateur.<br />
<br />
== Sur un hébergeur SaaS ou Cloud ==<br />
Dolibarr est aussi disponible en version "pré-installée" chez de nombreux hébergeurs payants, fournissant des instances hébergées "prêtes à l'emploi".<br />
<br />
Voir la page [[Solutions de Cloud]].<br />
<br />
Dolibarr peut aussi être installé manuellement sur toute plateforme Cloud (gratuite ou payante) qui supporte le PHP et Mysql.<br />
<br />
Voir la page [[Solutions de Cloud]].<br />
<br />
= Procédure de mise à jour =<br />
Ce chapitre décrit le processus pour mettre à niveau une installation existante de Dolibarr d'une ancienne version vers une autre. Le processus est le même quel que soit la version depuis laquelle vous venez et la version vers laquelle vous allez, mais sera différent selon la distribution ou système d'exploitation utilisé pour votre première installation. Il est recommandé d'utiliser le même type de distribution pour la mise à jour que celle utilisée pour la première installation.<br />
<br />
== Sauvegarde ==<br />
<br />
Avant de faire une mise à jour, il est recommendé de faire un sauvegarde de la base de donnée mais aussi des documents, de cette façon même en cas de catastrophe vous ne perdrez pas vos preciseuses données<br />
https://wiki.dolibarr.org/index.php/Sauvegardes<br />
<br />
<br />
<br />
== [[File:Logo_windows.png]] Avec DoliWamp (package Windows .exe) ==<br />
<br />
Si vous aviez installé la version de Dolibarr spécifique nommé DoliWamp (qui embarque le serveur Web, PHP et Mysql), la procédure à suivre est celle-ci (Dans tout autre cas, utilisez une des procédures des chapitres suivant):<br />
<br />
* Télécharger la nouvelle version de DoliWamp.<br />
<br />
* Lancer le .exe et laissez vous guider dans toutes les étapes de migration en cliquant suivant,suivant,... à chaque fois sans rien changer aux valeurs proposées par défaut.<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Logo_ubuntu.png]] Avec DoliDeb (package Debian / Ubuntu .deb) ==<br />
Si vous aviez installé Dolibarr via un packagage Debian-Ubuntu, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .deb.<br />
Par exemple en suivant la procédure [[Dolibarr pour Ubuntu ou Debian]].<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Logo_rpm.png|40px]] Avec DoliRpm (package Fedora, Redhat, Mandriva, Mageia ou OpenSuse .rpm) ==<br />
Si vous aviez installé Dolibarr via un packagage rpm, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .rpm.<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Gnu.png]] Avec Dolibarr (package standard .tgz) ==<br />
<br />
Cette procédure décrit la mise à jour de Dolibarr depuis une ancienne version vers une plus récente par la méthode manuelle, avec la distribution standard.<br />
<br />
* Placez-vous dans le répertoire dans lequel a été installé Dolibarr (le répertoire racine de votre serveur web, par exemple /var/www sous Debian)<br />
<source lang="bash"><br />
$ cd /var/www<br />
</source><br />
<br />
* Récupérez l'archive de la nouvelle version<br />
<source lang="bash"><br />
$ wget http://www.dolibarr.org/files/dolibarr.tgz<br />
</source><br />
<br />
* Décompressez l'archive<br />
<source lang="bash"><br />
$ tar xvfz dolibarr.tgz<br />
</source><br />
<br />
* Recopiez les nouveaux fichiers (qui ont été décompressés dans le répertoire dolibarr-x.y.z) vers le répertoire où vous avez votre ancienne version de Dolibarr. Ceci a pour effet de remplacer les anciens fichiers par les nouveaux tout en conservant les fichiers qui vous sont spécifiques (comme le fichier conf.php ou encore vos modules complémentaires non officiels installés).<br />
* Si vous deplacez ou renommez également le dossier de votre ancienne version de Dolibarr, pensez à modifier les chemins dans le fichier /conf/conf.php (sinon vous risquez un fatal error: Cannot redeclare versiontostring)<br />
<source lang="bash"><br />
$ cp -r dolibarr-x.y.z/* dolibarr<br />
</source><br />
<br />
* Vous pouvez alors supprimer le répertoire des fichiers sources<br />
<source lang="bash"><br />
$ rm -fr dolibarr-x.y.z<br />
</source><br />
<br />
* Lancer Dolibarr dans votre navigateur habituel. Ceci fera apparaître l'assistant de migration: L'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs versions, garder le choix proposé de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installée (par si vous avez installé Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
ou <br />
<br />
Lancer les 3 étapes de migration en ligne de commande:<br />
<source lang="bash"><br />
$ cd htdocs/install<br />
$ php upgrade.php oldx.oldy.oldz x.y.z > output.html<br />
$ php upgrade2.php oldx.oldy.oldz x.y.z > output2.html<br />
$ php step5.php oldx.oldy.oldz x.y.z > output3.html<br />
</source><br />
Note: z doit être "0" car seules les versions majeures ont un script de migration à exécuter.<br />
<br />
Le code retour sera 0 en cas de succès, 1 en cas d'erreur (voir alors le fichier sortie output.html ou output2.html)<br />
<br />
Note: Si vous avez un message signalant que le processus de mise à jour est verrouillé par un fichier install.lock, supprimer ce fichier (il est stocké dans le répertoire racine ou "documents" de Dolibarr) puis rafraichissez la page.<br />
<br />
* Pour des raisons de sécurité nous vous conseillons, une fois la mise à jour terminée, de verrouiller le répertoire d'installation en créant un fichier install.lock dans le répertoire de donnée de Dolibarr. Dans le cas contraire, Dolibarr vous avertira d'un message dans l'interface une fois connecté<br />
<source lang="bash"><br />
$ echo > documents/install.lock<br />
$ chmod 444 documents/install.lock<br />
</source><br />
<br />
= Configurer une connexion LDAP =<br />
Si vous désirez utiliser LDAP: Voir [[Installer et configurer OpenLDAP]].<br />
<br />
= Importer des données externes =<br />
Pour cette opération, consulter la page [[Imports_de_masse]].<br />
<br />
= Configuration - Paramétrage =<br />
Voir la page [[Premiers_paramétrages|Configuration/Paramétrage]].</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Installation_-_Mise_%C3%A0_jour&diff=41184Installation - Mise à jour2019-04-06T13:41:25Z<p>Yves.brungard: Hiérarchisation de la procédure</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUtil}}<br />
<br />
Les procédures suivantes décrivent comment installer ou mettre à jour Dolibarr.<br />
<br />
<br />
= Procédure d'installation =<br />
Ce chapitre décrit les différentes méthodes possibles (des plus simples, aux manuels) pour une première installation. Voir plus loin pour la mises à jour.<br />
<br />
== Sur votre poste/serveur dédié ==<br />
=== [[File:Logo_windows.png]] Avec DoliWamp (package Windows .exe) ===<br />
- '''Prérequis''': Windows<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Si vous maîtrisez l'installation d'un serveur Web Apache, de PHP et Mysql, le chapitre suivant est plus approprié. <br />
Pour les moins expérimentés qui sont sous Windows, il existe une distribution Dolibarr nommée '''DoliWamp''' qui permet de faire une installation Dolibarr sous Windows avec tous ses prérequis (Apache, Mysql, PHP) sans connaissance informatiques. Voici comment l'installer:<br />
<br />
* Récupérez la version de Dolibarr pour Windows.<br />
Pour cela, voir la page de [https://sourceforge.net/projects/dolibarr/files/Dolibarr%20installer%20for%20Windows%20%28DoliWamp%29/ téléchargement de DoliWamp].<br />
<br />
* Lancer le .exe téléchargé et suivez les instructions.<br />
<br />
=== [[File:Logo_ubuntu.png]] Avec DoliDeb (package Debian / Ubuntu .deb) ===<br />
- '''Prerequis''': Linux Debian, Ubuntu, ...<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Cette procédure fonctionne uniquement pour les utilisateurs Linux Debian, Ubuntu et dérivés et est recommandée pour ceux qui n'ont pas de connaissances informatiques particulières. Si vous êtes un administrateur expérimenté d'Apache, PHP et Mysql, le chapitre '''Avec Dolibarr (package standard tgz)''' sera peut-être plus approprié. Dans le cas contraire, vous pouvez utilisez DoliDeb. DoliDeb est un package de Dolibarr spécialisé pour la distribution Debian ou Ubuntu. Ce package vous permet d'installer Dolibarr sous Ubuntu ou Debian (ou dérivé) avec tous ces prérequis (Apache, Mysql, PHP) s'ils ne sont pas déjà installés et ce sans connaissances techniques particulières.<br />
<br />
* La procédure pour installer DoliDeb est décrite sur la page [[Dolibarr pour Ubuntu ou Debian]].<br />
<br />
=== [[File:Logo_rpm.png|40px]] Avec DoliRpm (package Fedora, Redhat, Mandriva, Mageia ou OpenSuse .rpm) ===<br />
- '''Prerequis''': Linux Fedora, Redhat, Mandriva, Mageia or OpenSuse (peut également fonctioner pour toute distribution Linux à rpm)<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Cette procédure fonctionne uniquement pour les utilisateurs Linux d'une distribution gérant les packages rpm et est recommandée pour ceux qui n'ont pas de connaissances informatiques particulières. Si vous êtes un administrateur expérimenté d'Apache, PHP et Mysql, le chapitre suivant '''Avec Dolibarr (package standard tgz)''' sera peut-être plus approprié. Dans le cas contraire, vous pouvez utilisez DoliRpm. DoliRpm est un package de Dolibarr spécialisé pour la distribution Fedora, Redhat, Mandriva, Mageia ou OpenSuse. Ce package vous permet d'installer Dolibarr sous ces OS avec tous ces prérequis (Apache, Mysql, PHP) s'ils ne sont pas déjà installés et ce sans connaissances techniques particulières.<br />
<br />
* La procédure pour installer DoliRpm est décrite sur la page [[Dolibarr pour Redhat ou Fedora (package rpm)]] ou [[Dolibarr pour Mandriva ou Mageia (package rpm)]] ou [[Dolibarr pour OpenSuse (package rpm)]].<br />
<br />
=== [[File:Gnu.png]] Avec Dolibarr (package standard .tgz ou sources Git) ===<br />
==== Prérequis ====<br />
Apache, PHP et un serveur de base de données (MySQL ou PostgreSQL) sont présents et opérationnels, et le login/mot de passe d'accès (à une nouvelle base ou au serveur) est connu.<br />
<br />
- '''Niveau''': Un peu de connaissances informatiques en administration Web.<br />
<br />
Cette procédure décrit l'installation manuelle (recommandée) sur un système GNU/Linux (Debian, Mandriva, ...) mais elle est valable avec d'autres systèmes comme Windows moyennant une adaptation des chemins à ceux de votre OS.<br />
Elle est applicable pour toute version de Dolibarr >= 2.0.0<br />
<br />
* Vérifiez que vous avez bien Apache, PHP {{PHPMinVersion}} et un serveur de base de données (MySQL {{MySqlMinVersion}} ou PostgreSQL) d'installés (consulter pour cela la liste des packages installés sur votre machine grâce au gestionnaire de mise à jour de package de votre distribution).<br />
<br />
* Vérifiez que l'utilisateur root ou admin principal pour le serveur de base de donnée est connu et fonctionne correctement. Si cet utilisateur root ou admin est inconnu car pas encore défini, lisez le chapitre qui suit. Sinon vous pouvez passez au point suivant:<br />
<br />
==== MySql ou MariaDB ====<br />
Pour les utilisateurs Linux utilisant MySql ou MariaDB, si vous venez juste d'installer la base de donnée, le login administrateur est '''root'''. Vous devez exécuter la commande suivante pour initialiser le mot de passe:<br />
<source lang="bash"><br />
mysql <br />
</source><br />
Une fois dans l'interface Mysql, taper la commande de modification du mote de passe de root:<br />
<source lang="sql"><br />
grant all privileges on *.* to root@'localhost' identified by 'newrootpass' with grant option; <br />
</source><br />
Puis entrée et pour quitter \q<br />
<br />
Pour vérifier que l'accès avec ce couple user/mot de passe fonctionne, lancer la commande<br />
<source lang="bash"><br />
mysql -u root -p<br />
</source><br />
Et taper votre mot de passe ''newrootpass'' suivi de \q pour quitter la sessions si la connexion a réussie.<br />
<br />
==== Postgresql ====<br />
Pour les utilisateurs Linux utilisant Postgresql, si vous venez juste d'installer la base de donnée PostgreSQL, vous devez d'abord créer un utilisateur administrateur et son mot de passe. Pour cela, ajouter la ligne suivante dans le fichier '''/etc/postgresql/x.x/main/pg_hba.conf''' (remplacer x.x avec votre version de postgres)<br />
<source lang="ini"><br />
local all dolibarrowner md5 <br />
</source><br />
De plus, mettez en commentaire la ligne<br />
<source lang="ini"><br />
#local all all ident<br />
</source><br />
qui impose que le compte système utilisé pour accéder à la base (ce sera le compte sous lequel tourne l'application web), ait le même nom que le compte dans la base (ce n'est jamais le cas).<br />
<br />
Ensuite, lancer la commande sous un shell root<br />
<source lang="bash"><br />
sudo -s -u postgres<br />
createuser dolibarrowner<br />
psql -d template1 -c "alter user dolibarrowner with password 'dolibarrownerpass'"<br />
exit<br />
psql<br />
create database databasename;<br />
grant all privileges on database databasename to dolibarrowner;<br />
ALTER DATABASE databasename OWNER TO dolibarrowner;<br />
\q<br />
sudo /etc/init.d/postgresql restart<br />
</source><br />
Vous pouvez tester la connexion pour l'utilisateur crée avec la commande<br />
<source lang="bash"><br />
psql -h localhost -d postgres -U dolibarrowner -W<br />
</source><br />
Et entrez le mot de passe ''dolibarrownerpass'' et \q pour quitter la session si la connexion est ok.<br />
==== Copie des fichiers ====<br />
* Placez-vous dans le répertoire dans lequel installer Dolibarr (le répertoire racine défini pour votre serveur web)<br />
# Pour Debian et les familles Ubuntu, il s'agit en général de: /var/www<br />
# Pour Mandriva, Mageia, RedHat, Fedora: /var/www/html<br />
# Pour Suse: /srv/www/htdocs<br />
<source lang="bash"><br />
$ cd /var/www<br />
</source><br />
<br />
* Récupérez l'application<br />
<br />
===== Avec l'archive =====<br />
Si vous partez du fichier dolibarr.tgz, récupérez le fichier et décompressez l'archive de l'application<br />
<br />
<source lang="bash"><br />
$ wget http://www.dolibarr.org/files/dolibarr.tgz<br />
$ tar xvfz dolibarr.tgz<br />
</source><br />
<br />
Renommez le répertoire dolibarr-x.y.z en dolibarr afin d'avoir un nom de répertoire indépendant de la version (où x.y.z correspond à la version source)<br />
<source lang="bash"><br />
$ mv dolibarr-x.y.z dolibarr<br />
</source><br />
<br />
===== Avec les sources Git =====<br />
Si vous partez des sources Git, récupérer les sources par<br />
<br />
<source lang="bash"><br />
$ git clone -b develop http://github.com/Dolibarr/dolibarr.git dolibarr<br />
</source><br />
<br />
Il est possible de remplacer HEAD par X.y pour récupérer la dernière version stable de la branche x.y.<br />
<br />
==== Gestion des droits ====<br />
Modifiez les permissions et propriétaires du répertoire 'dolibarr' pour être sur que tous les fichiers soient en lecture pour l'utilisateur sur lequel tourne le serveur (on supposera qu'il s'agit de l'utilisateur 'www-data' pour debian ou ubuntu, 'apache' pour Redhat, Mandriva, Mageia, Fedora)<br />
<source lang="bash"><br />
$ chmod -R 755 /var/www/dolibarr<br />
$ chown -R www-data.www-data /var/www/dolibarr<br />
ou<br />
$ chmod -R 755 /var/www/html/dolibarr<br />
$ chown -R apache.apache /var/www/html/dolibarr<br />
</source><br />
<br />
==== Fichier de configuration ====<br />
En tant que root, créez, dans le répertoire dolibarr/htdocs/conf, un fichier de configuration vide, et attribuez-lui comme propriétaire du fichier, l'utilisateur du serveur web (exemple www-data sur debian, nobody sur une vieille RedHat, apache sur une autre version ...). Ceci est requis car le serveur web a besoin d'écrire dans ce fichier lors de l'installation.<br />
<source lang="bash"><br />
$ cd dolibarr ; touch htdocs/conf/conf.php ; chown www-data htdocs/conf/conf.php<br />
</source><br />
==== SELinux sur Fedora ====<br />
Sur Fedora, comme SELinux est activé en général, il est aussi conseillé de lancer les commandes pour rendre le répertoire 'dolibarr' accepté par l'environnement SELinux (an absence de commande, vous devriez recevoir des nombreuses alertes d'anomalies) :<br />
<source lang="bash"><br />
$ semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/dolibarr(/.*)?'<br />
$ restorecon -R -v '/var/www/html/dolibarr'<br />
</source><br />
<br />
==== Répertoire de documents ====<br />
Toujours en root, créez le répertoire qui servira aux documents générés ou stockés par Dolibarr (factures pdf, images, ...), et attribuez lui comme propriétaire, l'utilisateur du serveur web (exemple www-data sur Debian, nobody sur une vieille RedHat, apache sur une Mandriva, Mageia ou une RedHat récente, ...). Le serveur web doit avoir les droits en écriture dans ce répertoire. Il faut choisir un répertoire en dehors de la racine du site web. Par exemple "/var/lib/dolibarr/documents"<br />
<source lang="bash"><br />
$ mkdir -p /var/lib/dolibarr/documents ; chown www-data /var/lib/dolibarr/documents<br />
</source><br />
<br />
==== Installation ====<br />
* Pointez votre navigateur sur la page principale<br />
<source lang="ini"><br />
http://127.0.0.1/dolibarr/htdocs/<br />
</source><br />
<br />
* Suivez les instructions de l'installation<br />
<br />
* Pour des raisons de sécurité nous vous conseillons, une fois l'installation terminée, de créer un fichier install.lock dans le répertoire dédiés aux documents, que seul root doit avoir le droit d'effacer. Ceci va verrouiller la procédure d'installation qui ne pourra plus être appelée par erreur (Il faudra le supprimer pour les mises à jour).<br />
<source lang="bash"><br />
$ touch /var/lib/dolibarr/documents/install.lock; chmod go-w /var/lib/dolibarr/documents;<br />
</source><br />
<br />
== Sur un hébergement mutualisé (à accès restreint) ==<br />
Il n'est pas possible de présenter une solution générique à ce cas car la procédures dépend de l'hébergeur.<br />
La plupart du temps, la procédure générique suivante fonctionnera:<br />
<br />
Voici toutefois quelques documents/procédures spécifiques à certains hébergeurs:<br />
* Hébergement FREE mutualisé: [[File:Installation Dolibarr Free-20100526.odt]]<br />
* Hébergement OVH oneclick: OVH propose une version de Dolibarr parfois plus ancienne que la version stable courante mais installable depuis son interface d'administration dans sa solution "OneClick".<br />
<br />
Procédure générique:<br />
<br />
- '''Prerequis''': <br />
Un serveur web Apache, PHP et une base de donnée (MySQL ou PostgreSQL) tourne correctement et le compte login/mot de passe (de la nouvelle base de donnée ou d'administration du serveur) est connu (sinon les demander à l'hébergeur).<br />
<br />
- '''Niveau''': Utilisateurs avec quelques notions d'administration Web and base de donnée. Maitrise d'un outil de transfert de fichier (FTP, SFTP, ...) pour uploader les fichiers sur le serveur.<br />
<br />
* Vérifiez que vous avez un serveur Web Apache, PHP et une base de donnée (MySQL ou PostGreSQL) qui fonctionne correctement.<br />
[[File:warning.png]] Attention, la page de code du serveur PHP et de la base de donnée doivent être identique.<br />
<br />
* Vérifiez que vous avez un compte root ou administrateur avec login/mot de passe connu et que ces comptes fonctionnent. Si inconnu, demandez les à votre hébergeur.<br />
<br />
* Récupérer l'archive de la dernière version stable de Dolibarr et décompressez la localement..<br />
<br />
* Uploadez tout le contenu du répertoire dans le répertoire racine de votre site web, par exemple par FTP en mode binaire.<br />
<br />
* Créez un répertoire nommé "documents", dans cette racine, qui servira à sauver tous les documents générés et stockés par Dolibarr (factures PDF, images uploadées, ...). Le serveur web doit avoir les permissions d'écrire dedans. Vous pouvez attribuer ces permission avec un client FTP.<br />
<br />
* Maintenant appeler la page principale index.php de dolibarr avec votre navigateur.<br />
<br />
* Suivez les instructions pas à pas du processus d'installation.<br />
<br />
* Pour des raisons de sécurité, il est recommandé, une fois l'installation terminée, de créer un fichier install.lock dans le répertoire de Dolibarr. Ceci vérrouillera l'appel au processus d'installation (il vous faudra supprimer ce fichier pour permettre les mise à jour). Si ceci n'est pas fait, Dolibarr vous affichera un warning lorsque vous êtes loggués comme administrateur.<br />
<br />
== Sur un hébergeur SaaS ou Cloud ==<br />
Dolibarr est aussi disponible en version "pré-installée" chez de nombreux hébergeurs payants, fournissant des instances hébergées "prêtes à l'emploi".<br />
<br />
Voir la page [[Solutions de Cloud]].<br />
<br />
Dolibarr peut aussi être installé manuellement sur toute plateforme Cloud (gratuite ou payante) qui supporte le PHP et Mysql.<br />
<br />
Voir la page [[Solutions de Cloud]].<br />
<br />
= Procédure de mise à jour =<br />
Ce chapitre décrit le processus pour mettre à niveau une installation existante de Dolibarr d'une ancienne version vers une autre. Le processus est le même quel que soit la version depuis laquelle vous venez et la version vers laquelle vous allez, mais sera différent selon la distribution ou système d'exploitation utilisé pour votre première installation. Il est recommandé d'utiliser le même type de distribution pour la mise à jour que celle utilisée pour la première installation.<br />
<br />
== Sauvegarde ==<br />
<br />
Avant de faire une mise à jour, il est recommendé de faire un sauvegarde de la base de donnée mais aussi des documents, de cette façon même en cas de catastrophe vous ne perdrez pas vos preciseuses données<br />
https://wiki.dolibarr.org/index.php/Sauvegardes<br />
<br />
<br />
<br />
== [[File:Logo_windows.png]] Avec DoliWamp (package Windows .exe) ==<br />
<br />
Si vous aviez installé la version de Dolibarr spécifique nommé DoliWamp (qui embarque le serveur Web, PHP et Mysql), la procédure à suivre est celle-ci (Dans tout autre cas, utilisez une des procédures des chapitres suivant):<br />
<br />
* Télécharger la nouvelle version de DoliWamp.<br />
<br />
* Lancer le .exe et laissez vous guider dans toutes les étapes de migration en cliquant suivant,suivant,... à chaque fois sans rien changer aux valeurs proposées par défaut.<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Logo_ubuntu.png]] Avec DoliDeb (package Debian / Ubuntu .deb) ==<br />
Si vous aviez installé Dolibarr via un packagage Debian-Ubuntu, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .deb.<br />
Par exemple en suivant la procédure [[Dolibarr pour Ubuntu ou Debian]].<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Logo_rpm.png|40px]] Avec DoliRpm (package Fedora, Redhat, Mandriva, Mageia ou OpenSuse .rpm) ==<br />
Si vous aviez installé Dolibarr via un packagage rpm, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .rpm.<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Gnu.png]] Avec Dolibarr (package standard .tgz) ==<br />
<br />
Cette procédure décrit la mise à jour de Dolibarr depuis une ancienne version vers une plus récente par la méthode manuelle, avec la distribution standard.<br />
<br />
* Placez-vous dans le répertoire dans lequel a été installé Dolibarr (le répertoire racine de votre serveur web, par exemple /var/www sous Debian)<br />
<source lang="bash"><br />
$ cd /var/www<br />
</source><br />
<br />
* Récupérez l'archive de la nouvelle version<br />
<source lang="bash"><br />
$ wget http://www.dolibarr.org/files/dolibarr.tgz<br />
</source><br />
<br />
* Décompressez l'archive<br />
<source lang="bash"><br />
$ tar xvfz dolibarr.tgz<br />
</source><br />
<br />
* Recopiez les nouveaux fichiers (qui ont été décompressés dans le répertoire dolibarr-x.y.z) vers le répertoire où vous avez votre ancienne version de Dolibarr. Ceci a pour effet de remplacer les anciens fichiers par les nouveaux tout en conservant les fichiers qui vous sont spécifiques (comme le fichier conf.php ou encore vos modules complémentaires non officiels installés).<br />
* Si vous deplacez ou renommez également le dossier de votre ancienne version de Dolibarr, pensez à modifier les chemins dans le fichier /conf/conf.php (sinon vous risquez un fatal error: Cannot redeclare versiontostring)<br />
<source lang="bash"><br />
$ cp -r dolibarr-x.y.z/* dolibarr<br />
</source><br />
<br />
* Vous pouvez alors supprimer le répertoire des fichiers sources<br />
<source lang="bash"><br />
$ rm -fr dolibarr-x.y.z<br />
</source><br />
<br />
* Lancer Dolibarr dans votre navigateur habituel. Ceci fera apparaître l'assistant de migration: L'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs versions, garder le choix proposé de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installée (par si vous avez installé Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
ou <br />
<br />
Lancer les 3 étapes de migration en ligne de commande:<br />
<source lang="bash"><br />
$ cd htdocs/install<br />
$ php upgrade.php oldx.oldy.oldz x.y.z > output.html<br />
$ php upgrade2.php oldx.oldy.oldz x.y.z > output2.html<br />
$ php step5.php oldx.oldy.oldz x.y.z > output3.html<br />
</source><br />
Note: z doit être "0" car seules les versions majeures ont un script de migration à exécuter.<br />
<br />
Le code retour sera 0 en cas de succès, 1 en cas d'erreur (voir alors le fichier sortie output.html ou output2.html)<br />
<br />
Note: Si vous avez un message signalant que le processus de mise à jour est verrouillé par un fichier install.lock, supprimer ce fichier (il est stocké dans le répertoire racine ou "documents" de Dolibarr) puis rafraichissez la page.<br />
<br />
* Pour des raisons de sécurité nous vous conseillons, une fois la mise à jour terminée, de verrouiller le répertoire d'installation en créant un fichier install.lock dans le répertoire de donnée de Dolibarr. Dans le cas contraire, Dolibarr vous avertira d'un message dans l'interface une fois connecté<br />
<source lang="bash"><br />
$ echo > documents/install.lock<br />
$ chmod 444 documents/install.lock<br />
</source><br />
<br />
= Configurer une connexion LDAP =<br />
Si vous désirez utiliser LDAP: Voir [[Installer et configurer OpenLDAP]].<br />
<br />
= Importer des données externes =<br />
Pour cette opération, consulter la page [[Imports_de_masse]].<br />
<br />
= Configuration - Paramétrage =<br />
Voir la page [[Premiers_paramétrages|Configuration/Paramétrage]].</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Troubleshooting_FR&diff=40270Troubleshooting FR2018-11-06T08:10:56Z<p>Yves.brungard: /* Mon problème n'est pas dans la liste */</p>
<hr />
<div>[[Category:FAQ_FR]]<br />
Cette page recense les problèmes techniques courants que vous pouvez rencontrer à l'usage.<br />
<br />
Si vous rencontrez un problème, la première étape est d'activer le module Syslog, d'ensuite refaire les manipulations qui vous conduisent au bug, puis de récupérer le fichier log résidant dans '''/documents/dolibarr.log<br />
'''<br />
= Dolibarr me demande mon login/mot de passe à chaque click sur un lien =<br />
Votre système de sauvegarde des sessions PHP est probablement défectueux.<br />
<br />
Aller dans '''Accueil - Info system - php'''<br />
<br />
Quelle valeur avez-vous pour le paramètre "session.save_handler" ?<br />
<br />
Si il s'agit de '''files''' ('''fichier'''), regarder le paramètre "session.save_path". Sa valeur doit être un chemin de répertoire. Vérifier que le serveur web a bien les droits de lire et d'écrire dans ce répertoire. Vérifier qu'il reste de l'espace sur le disque.<br />
<br />
= Je n'arrive pas à valider une facture/proposition commerciale/commande/aucun autre module =<br />
Quand vous validez un document, Dolibarr renomme les dossiers et fichiers qui appartenaient à l'ancien document temporaire en sa dénomination finale.<br />
<br />
Dans la plupart des cas, les problèmes de validations arrivent lors de ce renommage, et peuvent être causés par:<br />
<br />
* Une mauvaise permission du dossier /documents/, ce qui empêche Dolibarr de renommer les sous-dossiers. Si c'est le cas, dans votre log vous devriez voir quelquechose du genre:<br />
<br />
<source lang=text><br />
ERROR 127.0.0.1 user fiche Interfaces::run_triggers action=ORDER_SUPPLIER_VALIDATE Files found: 6, Files launched: 5, Done: 0, Failed: 1<br />
ERROR 127.0.0.1 user fiche CommandeFournisseur::valid <br />
DEBUG 127.0.0.1 user fiche ROLLBACK Transaction<br />
</source><br />
<br />
* Un mauvais masque de numérotation personnalisé: si vous utilisez dans votre masque des caractères illégaux pour les noms de fichiers dans votre système de fichiers (comme "/"), cela va faire bugguer lorsque vous essaierez de valider votre document puisqu'il sera impossible à Dolibarr d'utiliser le caractère illégal que vous avez spécifié. Essayez de temporairement désactiver les masques personnalisés et de réactiver le système de numérotation par défaut pour voir si cela corrige le problème.<br />
<br />
= Mon problème n'est pas dans la liste =<br />
==Obtenir des informations de débogage==<br />
Dolibarr a un système d'enregistrement de ce qu'il fait et des erreurs qu'il rencontre. Votre serveur web également. Voir [[Gestion d'erreur|Module syslog]].<br />
==Aide et support==<br />
Si vous ne trouvez pas la solution à votre problème grâce cette liste, essayez de réunir un maximum d'informations détaillées (comme le log Dolibarr, version php, type et version de la base de données, version de Dolibarr, le log Apache...), et regardez cette page pour trouver un organisme pour vous aider:<br />
<br />
[[Assistance Dolibarr]]</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Troubleshooting&diff=40269Troubleshooting2018-11-06T08:06:52Z<p>Yves.brungard: /* My problem is not in the list */</p>
<hr />
<div>[[Category:FAQ_EN]]<br />
This page will list all the common technical problems you can run into.<br />
<br />
If you run into a problem, the first step is to activate the Syslog module, then to redo the steps that leads you to a bug, and then check the log file residing at '''/documents/dolibarr.log'''<br />
<br />
= Dolibarr ask my login or password each time I click on a new link =<br />
You PHP system to store Dolibarr session is probably no more working.<br />
<br />
Go into '''home - system info - php'''<br />
<br />
What value do you have for parameter "session.save_handler" ?<br />
<br />
If it is '''files''', take a look at parameter "session.save_path". Its value is a directory path.<br />
Check your web server can read and write into this directory. Check also there is enough free space onto disk.<br />
<br />
= I can't approve a proposal/invoice/order/any other module =<br />
<br />
When you approve a document, Dolibarr will rename the folders and all the documents that belonged to the temporary document into the final one.<br />
<br />
In most cases, the validation problems arise when Dolibarr tries to rename, and can be caused by:<br />
<br />
* A wrong permission for the /documents/ folder, so that Dolibarr can't rename the folder. If that's the case, you should have in your syslog something like:<br />
<br />
<source lang=text><br />
ERROR 127.0.0.1 user fiche Interfaces::run_triggers action=ORDER_SUPPLIER_VALIDATE Files found: 6, Files launched: 5, Done: 0, Failed: 1<br />
ERROR 127.0.0.1 user fiche CommandeFournisseur::valid <br />
DEBUG 127.0.0.1 user fiche ROLLBACK Transaction<br />
</source><br />
<br />
* A wrong custom numerotation system: if you use illegal characters for the filesystem (like "/"), this will crash whenever you'll try to validate your document since it won't be able to use this illegal character in the renaming. Try to disable your current custom numerotation system and enable the default one temporarily to see if this fixes the issue.<br />
<br />
= I encounter a DB_ERROR message =<br />
Run the /install/repair.php page. This page can takes several minutes to run. Don't forget to run a [[Backups|backup]] first.<br />
<br />
What repair can do :<br />
* Run repair SQL file.<br />
* Search list of fields declared and list of fields created into databases, then create fields missing<br />
* Clean data into ecm_directories table<br />
* Move logos to correct new directory<br />
* Rebuild thumbs for product files<br />
* Check and clean linked elements<br />
* Check orphelins menus<br />
* Run purge of directory<br />
* Check and clean linked elements<br />
* Clean data into const when files of module were removed without being<br />
<br />
To operate, the page should be opened with at least one command:<br />
* /install/repair.php?standard=confirmed<br />
* /install/repair.php?clean_linked_elements=confirmed<br />
* /install/repair.php?restore_thirdparties_logos=confirmed<br />
* /install/repair.php?clean_menus=confirmed<br />
* /install/repair.php?clean_orphelin_dir=confirmed<br />
* /install/repair.php?clean_product_stock_batch=confirmed<br />
* /install/repair.php?set_empty_time_spent_amount=confirmed<br />
* /install/repair.php?rebuild_product_thumbs=confirmed<br />
* /install/repair.php?force_disable_of_modules_not_found=confirmed<br />
* /install/repair.php?clean_perm_table=confirmed<br />
* /install/repair.php?force_utf8_on_tables=confirmed for Mysql only, when ''Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '=' ''<br />
<br />
= I can't upload files = <br />
<br />
<span style="color: #FF0000;">This section needs more informations.</span><br />
<br />
Depending of your configuration, if you encounter the error<br />
<source lang="php"><br />
Warning: tempnam(): open_basedir restriction in effect. File(C:\WINDOWS\TEMP) is not within the allowed path(s): (c:/dolibarr) in C:\dolibarr\www\dolibarr\htdocs\core\modules\import\import_xlsx.modules.php on line 182<br />
</source><br />
<br />
You will have to edit the php.ini<br />
Find the directive upload_tmp_dir: uncomment the line and change its value to a required path. In this example it is "/var/tmp":<br />
<br />
<source lang="php"><br />
; Temporary directory for HTTP uploaded files (will use system default if not<br />
; specified).<br />
; http://php.net/upload-tmp-dir<br />
upload_tmp_dir = /var/tmp<br />
</source><br />
Additionally for PHP versions 5.5 and greater, find the directive sys_temp_dir: uncomment the line and change its value to a required path. In this example, it is "/var/tmp":<br />
<source lang="php"><br />
; Directory where the temporary files should be placed.<br />
; Defaults to the system default (see sys_get_temp_dir)<br />
sys_temp_dir = "/var/tmp"<br />
</source><br />
<br />
And in Vhosts <br />
<source lang="c"><br />
open_basedir = {WEBSPACEROOT}{/}{:}{TMP}{/}:/var/tmp<br />
</source><br />
<br />
= My problem is not in the list =<br />
==Getting debug information==<br />
Dolibarr has a system to record logs of what it does ans which errors occur. Your web server has also error logging feature. See [[Error reporting|Module syslog]].<br />
==Help and support==<br />
If the solution for your problem couldn't be found with tools in this page, please keep in a safe place a maximum of detailed informations (like the dolibarr log, php version, database type and version, dolibarr's version, Apache's log...), and seek help at the following organisms:<br />
<br />
http://wiki.dolibarr.org/index.php/Dolibarr_help_and_support</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Premiers_param%C3%A9trages&diff=40143Premiers paramétrages2018-10-16T15:48:11Z<p>Yves.brungard: Ajout entrée traduction</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUtil}}<br />
<br />
Après l'installation proprement dite de Dolibarr, vous devez le paramétrer pour l'adapter à vos besoins avant de l'utiliser réellement.<br />
<br />
= Société/Institution =<br />
<br />
Pour commencer, à partir de la page d'accueil, rendez-vous dans le menu "'''Configuration -> Société/Institution'''" et éditez les informations de votre institution.<br />
<br />
* '''Nom:''' Nom de la société ou association<br />
* '''Logo:''' Ajouter ici votre logo (.png, .jpg or .gif). Il n'y a pas de taille recommandé mais il vaut mieux un format png SANS fond transparent (Dolibarr utilise FPDF qui ne gère pas ce genre de fichier). Dans le doute, utilisez un logo au format jpg sur fond blanc.<br />
* '''Pays:''' N'oubliez pas de définir votre pays car des options en dépendent<br />
* '''TVA:''' Définissez si vous êtes soumis ou non à la TVA.<br />
<br />
= Modules =<br />
<br />
L'activation des modules est très importante. Elle dépend de l'utilisation que vous prévoyez de faire de Dolibarr. Il est très peu probable que vous ayez besoin de la totalité des modules.<br />
Il vous faut donc activer les modules dont vous aurez très probablement besoin. Par exemple: Sociétés, Factures éventuellement Comptabilité.<br />
<br />
Pour activer les modules qui vous intéressent, rendez-vous dans le menu "'''Configuration -> Modules'''" et cliquez sur le lien "Activer".<br />
<br />
La liste des modules standards est définie sur la page [[:Category:Liste des Modules|Liste des Modules]].<br />
<br />
Si vous n'êtes pas sûr de vous, activez les modules les uns après les autres et voyez les fonctionnalités qu'ils ajoutent dans Dolibarr (vérifiez avant les droits, voir ci-dessous). Il est bien sûr possible de désactiver des modules après coup.<br />
<br />
Une fois activés, certains modules nécessitent une configuration supplémentaire (cliquer sur l'icône qui apparait tout à droite sur la même ligne). Voir la [[:Category:Liste des Modules|documentation du module]] pour plus d'information.<br />
<br />
= Menus =<br />
Choisissez dans cette rubrique quel gestionnaire de menu utiliser pour les utilisateurs internes et externes. Le gestionnaire de menu influe sur les libellés, ordres et organisation des menus haut et gauches. Voir la page [[Système de menus]] pour plus d'information.<br />
<br />
= Affichage =<br />
<br />
Cette partie vous permet de choisir la langue et la présentation des pages. Dans un premier temps vous devriez conserver les options par défaut.<br />
<br />
L'option multilangue permet de gérer différente traduction pour la traduction des produit par exemple, ainsi que de choisir la langue par defaut des clients afin d'éditer les documents PDF dans la langues par defaut du tiers<br />
<br />
copie ecran<br />
<br />
[[File:Configuration_-Affichage_2018.jpg]]<br />
<br />
= Autres (Boites, Alertes, Sécurité, Limites et précisions, EMails, Dico...) =<br />
Les autres entrées du menu Configuration sont des options avancées. Il n'est pas obligatoire de les parcourir.<br />
* [[Paramétrage Traduction]]<br />
* [[Paramétrage Valeurs par défaut]]<br />
* [[Paramétrage Boites]]<br />
* [[Paramétrage Alertes]]<br />
* [[Paramétrage Sécurité]]<br />
* [[Paramétrage Limites et précisions]]<br />
* [[Paramétrage PDF]]<br />
* [[Paramétrage EMails]]<br />
* [[Paramétrage SMS]]<br />
* [[Paramétrage Dictionnaires]]<br />
* [[Paramétrage Divers]]<br />
<br />
= Utilisateurs =<br />
La dernière étape consiste à créer les utilisateurs et à attribuer les permissions.<br />
Presque tous les modules, même activés précédemment, ne sont pas accessibles si on n'en donne pas la permission.<br />
Pour cela, vous pouvez vous rendre dans le menu '''Accueil -> Utilisateurs & Groupes''' pour définir les utilisateurs et leurs droits. Attention, il faudra penser à vérifier et redéfinir les droits utilisateurs quand vous activerez à nouveau de nouveaux modules.<br />
La liste des droits disponibles dépendant des modules activés (voir plus haut) et des permissions par défaut, il est recommandé de configurer cette partie après avoir activé les modules désirés.<br />
Pour certaines actions, si vous n'avez pas les droits pour faire une action, Dolibarr ne vous la proposera pas. Vous risquez de rater des choses utiles et/ou importantes.<br />
Pour donner les droits à un utilisateur ou vous-même si vous êtes administrateur, aller dans '''Accueil -> Utilisateurs & Groupes''', choisissez la fiche de l'utilisateur désiré, puis cliquer sur l'onglet '''Permission'''.<br />
<br />
Il est possible d'éviter ces étapes de configuration à faire pour chaque nouvel utilisateur en configurant les droits par défaut (comprendre droits attribués automatiquement à chaque nouvel utilisateur créé), en configurant les permissions par défaut sur la page [[Paramétrage_Sécurité]].</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Premiers_param%C3%A9trages&diff=40142Premiers paramétrages2018-10-16T15:45:01Z<p>Yves.brungard: Ordre des entrées</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUtil}}<br />
<br />
Après l'installation proprement dite de Dolibarr, vous devez le paramétrer pour l'adapter à vos besoins avant de l'utiliser réellement.<br />
<br />
= Société/Institution =<br />
<br />
Pour commencer, à partir de la page d'accueil, rendez-vous dans le menu "'''Configuration -> Société/Institution'''" et éditez les informations de votre institution.<br />
<br />
* '''Nom:''' Nom de la société ou association<br />
* '''Logo:''' Ajouter ici votre logo (.png, .jpg or .gif). Il n'y a pas de taille recommandé mais il vaut mieux un format png SANS fond transparent (Dolibarr utilise FPDF qui ne gère pas ce genre de fichier). Dans le doute, utilisez un logo au format jpg sur fond blanc.<br />
* '''Pays:''' N'oubliez pas de définir votre pays car des options en dépendent<br />
* '''TVA:''' Définissez si vous êtes soumis ou non à la TVA.<br />
<br />
= Modules =<br />
<br />
L'activation des modules est très importante. Elle dépend de l'utilisation que vous prévoyez de faire de Dolibarr. Il est très peu probable que vous ayez besoin de la totalité des modules.<br />
Il vous faut donc activer les modules dont vous aurez très probablement besoin. Par exemple: Sociétés, Factures éventuellement Comptabilité.<br />
<br />
Pour activer les modules qui vous intéressent, rendez-vous dans le menu "'''Configuration -> Modules'''" et cliquez sur le lien "Activer".<br />
<br />
La liste des modules standards est définie sur la page [[:Category:Liste des Modules|Liste des Modules]].<br />
<br />
Si vous n'êtes pas sûr de vous, activez les modules les uns après les autres et voyez les fonctionnalités qu'ils ajoutent dans Dolibarr (vérifiez avant les droits, voir ci-dessous). Il est bien sûr possible de désactiver des modules après coup.<br />
<br />
Une fois activés, certains modules nécessitent une configuration supplémentaire (cliquer sur l'icône qui apparait tout à droite sur la même ligne). Voir la [[:Category:Liste des Modules|documentation du module]] pour plus d'information.<br />
<br />
= Menus =<br />
Choisissez dans cette rubrique quel gestionnaire de menu utiliser pour les utilisateurs internes et externes. Le gestionnaire de menu influe sur les libellés, ordres et organisation des menus haut et gauches. Voir la page [[Système de menus]] pour plus d'information.<br />
<br />
= Affichage =<br />
<br />
Cette partie vous permet de choisir la langue et la présentation des pages. Dans un premier temps vous devriez conserver les options par défaut.<br />
<br />
L'option multilangue permet de gérer différente traduction pour la traduction des produit par exemple, ainsi que de choisir la langue par defaut des clients afin d'éditer les documents PDF dans la langues par defaut du tiers<br />
<br />
copie ecran<br />
<br />
[[File:Configuration_-Affichage_2018.jpg]]<br />
<br />
= Autres (Boites, Alertes, Sécurité, Limites et précisions, EMails, Dico...) =<br />
Les autres entrées du menu Configuration sont des options avancées. Il n'est pas obligatoire de les parcourir.<br />
* [[Paramétrage Valeurs par défaut]]<br />
* [[Paramétrage Boites]]<br />
* [[Paramétrage Alertes]]<br />
* [[Paramétrage Sécurité]]<br />
* [[Paramétrage Limites et précisions]]<br />
* [[Paramétrage PDF]]<br />
* [[Paramétrage EMails]]<br />
* [[Paramétrage SMS]]<br />
* [[Paramétrage Dictionnaires]]<br />
* [[Paramétrage Divers]]<br />
<br />
= Utilisateurs =<br />
La dernière étape consiste à créer les utilisateurs et à attribuer les permissions.<br />
Presque tous les modules, même activés précédemment, ne sont pas accessibles si on n'en donne pas la permission.<br />
Pour cela, vous pouvez vous rendre dans le menu '''Accueil -> Utilisateurs & Groupes''' pour définir les utilisateurs et leurs droits. Attention, il faudra penser à vérifier et redéfinir les droits utilisateurs quand vous activerez à nouveau de nouveaux modules.<br />
La liste des droits disponibles dépendant des modules activés (voir plus haut) et des permissions par défaut, il est recommandé de configurer cette partie après avoir activé les modules désirés.<br />
Pour certaines actions, si vous n'avez pas les droits pour faire une action, Dolibarr ne vous la proposera pas. Vous risquez de rater des choses utiles et/ou importantes.<br />
Pour donner les droits à un utilisateur ou vous-même si vous êtes administrateur, aller dans '''Accueil -> Utilisateurs & Groupes''', choisissez la fiche de l'utilisateur désiré, puis cliquer sur l'onglet '''Permission'''.<br />
<br />
Il est possible d'éviter ces étapes de configuration à faire pour chaque nouvel utilisateur en configurant les droits par défaut (comprendre droits attribués automatiquement à chaque nouvel utilisateur créé), en configurant les permissions par défaut sur la page [[Paramétrage_Sécurité]].</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Param%C3%A9trage_Valeurs_par_d%C3%A9faut&diff=40132Paramétrage Valeurs par défaut2018-10-16T11:14:32Z<p>Yves.brungard: Création de la page, section Tri</p>
<hr />
<div>Ces champs de paramétrage sont accessibles par Accueil - Configuration - Valeurs par défaut<br />
=Valeurs par défaut (sur les formulaires de création)=<br />
=Filtres de recherche par défaut=<br />
=Ordre de tri par défaut=<br />
Vous pouvez définir/forcer ici la valeur par défaut que vous voulez obtenir lorsque vous créez un nouvel enregistrement, et/ou les filtres par défaut ou ordre de tri des listes. Créez une entrée avec les valeurs suivantes :<br />
* Url<br />
* Champ<br />
* Ordre de tri : desc ou asc pour respectivement descendant et ascendant<br />
<br />
Les données de configuration s'obtiennent en analysant l'url de la page qui contient la liste, une fois le TRI OPÉRÉ.<br />
Par exemple :<br />
<br />
htdocs/'''projet/list.php'''?sortfield='''p.dateo'''&sortorder='''desc'''&begin=&contextpage=projectlist&search_status=99<br />
<br />
Dans le menu de configuration renseigner :<br />
* pour l'url : projet/list.php<br />
* pour le champ "sortfield" : p.dateo<br />
* pour l'ordre de tri "sortorder" : desc<br />
=Champs par défaut ayant le focus =</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Setup_Other&diff=40012Setup Other2018-10-10T11:52:56Z<p>Yves.brungard: /* VAT Report */</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUser}}<br />
<br />
'''Help about screen:''' Other setup<br />
<br />
'''Menu path:''' Home -> Setup -> Other<br />
<br />
= Goal =<br />
This page is built to add/edit new parameters without a dedicated page to edit them. In most cases, it is parameters for your own development, external modules, or hidden features which can allow some tweaking to your own Dolibarr instance.<br />
<br />
For standard usage of Dolibarr, this screen must be kept empty and not be used.<br />
<br />
= List of Known Hidden Options =<br />
Some options are not visible in the interface (often because they are deprecated or are beta features). In most cases you do not need these functions and their use may make the application unstable.<br />
<br />
To enable/override a parameter you have to define the constant name and set it to '''1''' in '''Home -> Setup -> Other Setup''': <br />
<br />
== Global Options ==<br />
<br />
* MAIN_DISABLE_NOTES_TAB (core) => Display total of notes in the card page<br />
<br />
* MAIN_DISABLE_CONTACTS_TAB (core) => Display total of contacts in the card page<br />
<br />
* MAIN_LOGOUT_GOTO_URL => (core) url to which the user will be redirected after LOGOUT.<br />
<br />
* MAIN_FILESYSTEM_ENCODING => With some PHP versions, PHP is not able to detect the page code for filesystem of the server OS. To solve this, Dolibarr assumes your OS filesystem is UTF-8 if on linux or osx system, and iso-8859-1 if on Windows. If not, for example on a Windows server with a NTFS UTF-8 pagecode, you can set the variable MAIN_FILESYSTEM_ENCODING to "utf-8".<br />
<br />
* MAIN_SHOW_TECHNICAL_ID => Show also technical IDs on elements cards or some lists (not supported everywhere).<br />
<br />
* MAIN_MAXTABS_IN_CARD => Max number of tabs visible. Others are grouped into a combo list.<br />
<br />
* MAIN_ONLY_LOGIN_ALLOWED => Only the specified login is allowed to log in Dolibarr (maintenance mode).<br />
<br />
* MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES => Add a timestamp and user automatically when editing the ''public'' note.<br />
<br />
* MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES => Add a timestamp and user automatically when editing the ''private'' note.<br />
<br />
* MAIN_SECURITY_CSRF_WITH_TOKEN (>= 5.0) => Activate a second anti CSRF protection on POST (a POST from another web site can't be done). Note there is already a default protection using test on referrer. This second protection uses TOKEN on forms and is less powerful.<br />
<br />
* MAIN_APPLICATION_TITLE => This will change the title of software (that appears on the login page by default). Warning, changing this may make Dolibarr version detection fail by smartphone applications like [[Application Android - DoliDroid]]<br />
<br />
* MAIN_AUTOFILL_DATE => If this constant is defined (to something other than 0), the date of invoice, proposal, order or payment are auto-filled with the current date. It is highly recommended to NOT ENABLE this feature. This can create a lot of input errors with data not validated by users. This leads to incorrect values saved in the database causing confusion when you have to do your accountancy reports ! However some users want it, so we provide it.<br />
<br />
* MAIN_DISABLE_FULL_SCANLIST => Disables the complete scan of tables to allow the pagination to show total number of pages. May be useful to activate on systems with a very high quantity of data (tables with more than 500 000 records).<br />
<br />
* MAIN_FIRST_TO_UPPER => Dolibarr add uppercase to Third Parties, contacts or members names if not done. Warning, with some languages (whose words with uppercase are not same words, or pagecode does not always have an uppercase, like cyrillic languages), this feature may alter your data.<br />
<br />
* MAIN_ENABLE_LOG_TO_HTML (MAIN_LOGTOHTML before 3.9) => If this constant is defined, it is possible to have logs inside pages by adding the parameter &logtohtml=1 into URL.<br />
<br />
* MAIN_USE_HOURMIN_IN_DATE_RANGE => On all entities lines (invoice, order, contract...), it is possible to add hour and minutes with date on fields "date start" and "date end".<br />
<br />
* MAIN_REMOVE_INSTALL_WARNING => Remove all security warnings that appear to administrator users if URL /install is public. You should solve the problem if warning occurs, instead of removing the warning! For this, put a file called install.lock into Dolibarr root directory. This will stop the warning but also make the page /install not possible to use, to protect your installation.<br />
<br />
* MAIN_OPTIMIZE_SPEED => Use some speed enhancements. See page [[Increase_Performance]] for more information.<br />
<br />
* MAIN_REPLACE_TRANS_xx_XX => Where xx_XX is language code. If value is string1:newstring1;string2:newstring2 then replace string1 with newstring1 in all translation done for language xx_XX.<br />
<br />
* MAIN_REPEATCONTACTONEACHTAB => If added and set to 1, this adds contacts on all tabs, not only main tab.<br />
<br />
* MAIN_DISABLE_JQUERY_JNOTIFY => Disable usage of JNotify to show confirm or error messages<br />
<br />
* MAIN_USE_JQUERY_JEDITABLE => Allow to update from screen, directly into database, some properties of elements (invoices, proposals, ...) using Ajax. This make response time faster, but avoid using this features, because, it bypasses some business actions (updates on other data that should be done consistently) and ignores business controls on data you saved. So this feature breaks consistency of data and possibly the stability of the software.<br />
<br />
* MAIN_USE_JQUERY_MULTISELECT => Allow to use Ajax when a choice that require multiselect is used (for the moment only external modules uses select box with multiselect values). Set the value to the jQuery plugin name to use (multiselect, multiple-select, select2…). Setting it to any other value will result in unwanted side-effects and/or bugs.<br />
<br />
* MAIN_HELPCENTER_LINKTOUSE => Define the url link to use as the target page for link "I need help" onto logon page<br />
<br />
* MAIN_MODULES_FOR_EXTERNAL => Limit available modules for external users. By default value is 'facture,commande,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda'<br />
<br />
* MAIN_SHOW_TUNING_INFO => Add tuning information into javascript console. Better when xdebug is enabled.<br />
<br />
* MAIN_DOL_SCRIPTS_ROOT => Define directory who contains 'scripts' directory (e.g /var/www/dolibarr)<br />
<br />
* MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING => A warning saying setup of modules is not complete is shown if the number of enabled modules is lower or equal than this value (1 if not defined)<br />
<br />
* MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE => Add signature of the first sale representative into documents (at end of public notes).<br />
<br />
* MAIN_DISABLE_AJAX_COMBOX => If you have a large number of third parties or products, you can disable the autocomplete feature on the third parties list by setting constant MAIN_DISABLE_AJAX_COMBOX to 1 into Home-Setup-Other (with Dolibarr v3.6.0+).<br />
<br />
* MAIN_USE_CACHE_MANIFEST => Add an HTML5 cache manifest to the page - Attention, this functionality is obsolete and removed from web standards<br />
<br />
* MAIN_FORCELANGDIR => relative path of the directory holding your custom langs folder.<br />
<br />
* MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS => allow to define a default VAT rate<br />
<br />
* MAIN_HTML_TITLE => can be used to control how the html page title is formatted. If value contains key 'noapp', application name will not be output. If value contains 'thirdpartynameonly', on tab for thirdparties, only name of thirdparties are output. Value can be list of tags: 'noapp;thirdpartynameonly'<br />
<br />
* MAIN_LANDING_PAGE => (>= 3.9). Can choose the first page to show after login (the landing page). This option works as a global option (llx_const) and per user option (llx_user_param).<br />
<br />
* MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN => (>= 4.0) When creating an order, contract, invoice from another object, specific contacts of objects are set as specific contact of the new object when possible.<br />
<br />
* MAIN_WEIGHT_DEFAULT_ROUND => Accuracy of weight (number of decimals)<br />
<br />
* MAIN_WEIGHT_DEFAULT_UNIT => Default unit for weight (0=kg, -3=g, ...)<br />
<br />
* MAIN_VOLUME_DEFAULT_ROUND => Accuracy of volume (number of decimals)<br />
<br />
* MAIN_VOLUME_DEFAULT_UNIT => Default unit for weight (0=kg, -3=g, ...)<br />
<br />
* MAIN_PUBLIC_NOTE_IN_ADDRESS >=4.0 => show public note in address block<br />
<br />
* MAIN_DEFAULT_PAYMENT_TERM_ID => With id of a payment term, will use this as default payment term each time you create a new proposal, order, invoice (customer and supplier)<br />
<br />
* MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND => Change way of rounding total TTC lines, rounding first of after<br />
<br />
* MAIN_VIEW_LINE_NUMBER => Shows a line number against each line in the order/invoice for products/services. On screen only, not on PDF.<br />
<br />
* MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME => Add name of thirdparty at begin of generated document<br />
<br />
* MAIN_DOC_USE_TIMING => Add a timestamp at end of generated document. Value must be format of timestamp. For example: %Y%m%d%H%M<br />
<br />
* MAIN_DISABLEDRAFTSTATUS => Disable the status Draft for some objects (project, donation, ...)<br />
<br />
* MAIN_USE_OLD_SEARCH_FORM => Display the old search form in left menu.<br />
<br />
* MAIN_SERVER_TZ => If you can't set the timezone of your PHP installation, set this constant. Better is to set it to UTC. In future, this constant will be forced to 'UTC' so PHP server timezone will not have effect anymore. Examples : Europe/Paris, auto.<br />
<br />
* MAIN_SEARCH_FORM_ON_HOME_AREAS => Show the search form on home page areas for core modules (Removed after v5 due to global search combo) (v6.0+)<br />
<br />
* MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE => If only one result is found, then setting this value to '''1''' will take you direct to the item (default method). Setting the value to '''0''' will show the result in the list as a single result (v5.0+)<br />
<br />
* MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES (dolibarr 8.0) => Allow to import lines into current document from "linked" compatible documents<br />
<br />
* MAIN_USE_VAT_OF_PRODUCT_FOR_INDIVIDUAL_CUSTOMER_OUT_OF_EEC (dolibarr 7.0) => Allow using product VAT if customer is individual and out of E.E.C. (European Economic Community)<br />
<br />
== Look or Theme ==<br />
* MAIN_OPTIMIZEFORTEXTBROWSER => Optimize output rendering for usage of a text browser (usefull for blind people)<br />
* THEME_ELDY_DISABLE_IMAGE => Disabled images of top menu for eldy theme.<br />
* MAIN_MENU_HIDE_UNAUTHORIZED => Hide menu if logged in user is not autorized rather than just grey them<br />
* THEME_TOPMENU_STICKY_POSITION => Option to fix top menu with eldy theme (hidden conf)(v7.0+)<br />
<br />
== Email and SMS ==<br />
<br />
* MAIN_MAILFORM_DISABLE_ENTERKEY (>= 8.0.1) => Activate javascript code to disable the enter key in the MAIL form.<br />
<br />
* MAIL_PREFIX_FOR_EMAIL_ID (>= 8.0.1) => Prefix for the mails ID. Default value is $_SERVER["SERVER_NAME"]<br />
<br />
* MAIN_MAIL_DEBUG => Write content with header of last mail into file dolibarr_mail.log into directory dolibarr_main_data_root.<br />
<br />
* MAIN_SMS_DEBUG => Write content of SMS sent into file dolibarr_sms.log into directory dolibarr_main_data_root.<br />
<br />
* MAIN_MAIL_ALLOW_SENDMAIL_F => On Linux or BSD system, PHP email function use the command sendmail local to server. In some cases, the sender email must be provided on command line of sendmail with option -f. This option is here to ask Dolibarr to call the function '''mail''' of PHP by adding value for the option -f. Note that in most cases, even with sendmail, sender email is correctly managed as it is added in the email technical header. This option is here only for rare setup of sendmail that ask the '''-f''' option to be mandatory or for sendmail setup that does not use by default the Return-path of header email to define the sender (with this option, the return-path will be provided also on command line and not lost by sendmail).<br />
<br />
* MAIN_MAIL_SENDMAIL_FORCE_BA => On Linux or BSD system, PHP email function use the command sendmail local to server. In some case, we want to recipient to be provided to sendmail into the email content instead of its command line parameter. For this we must add the '''-ba''' parameter to sendmail. This option ask PHP to provide this parameter when sending a mail. Note that another solution is to edit the '''mail.force_extra_parameters=-ba''' into '''php.ini''' file.<br />
<br />
* MAIN_MAIL_NO_FULL_EMAIL => Recipient email and sender are cleaned to be on form "<email>" instead of "Name <email>". This might solve problem of compatibility with very old mailers.<br />
<br />
* MAIN_FIX_FOR_BUGGED_MTA => Some MTA agent are bugged and add some CR chars each time they saw a LF. Because Dolibarr emails are forged to be already cleaned, if MTA agent do that, you will send an email with two CR chars. This may result in having recipient not able to read your email. To fix this, add this constant to 1. Dolibarr will then create an email that is not RFC compliant but because the MTA agent is bugged, the email will be modified and become correct during sending, solving the problem of bad email received. Add this constant if your recipient experience problems when opening email for example users using webmail of orange.fr or hotmail.com<br />
<br />
* MAIN_MAIL_DO_NOT_USE_SIGN => Do not add user signature at end of suggested pre-defined email<br />
<br />
* MAIL_FORCE_DELIVERY_RECEIPT_INVOICE => Set default as "Yes" on requesting delivery receipt when sending email through the ''Customer Invoice'' module.<br />
<br />
* MAIL_FORCE_DELIVERY_RECEIPT_ORDER => Set default as "Yes" on requesting delivery receipt when sending email through the ''Customer Order'' module. <br />
<br />
* MAIL_FORCE_DELIVERY_RECEIPT_PROPAL => Set default as "Yes" on requesting delivery receipt when sending email through the ''Customer Proposal'' module.<br />
<br />
* MAIN_EMAIL_USECCC => 1 = Show field BCC into email forms, If email = Show BCC prefilled with email.<br />
<br />
* MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO => Email to use as a BCC recipients when sending email for proposal, order or invoice. You can make this value visible by setting MAIN_EMAIL_USECCC (to 1 or to another email, see previous point)<br />
<br />
* MAIN_EMAIL_ADD_TRACK_ID => When value is 1 (this is also default value if option is not set): The record "Message-id" added into smtp header includes a tracking id to define where the email was sent from. When value is 2: you send an email from third party card, the sender email is completed with the email source tracking string "+thiXXX" on email (your email will be sent with the "From" that is myname+thi123@mycompany.com). So when user receiving email will make "Answer", email will be sent to myname@mycompany.com but with the tracking id included (into header or into target email), allowing you to know to which third party or object, the email exchange is related to.<br />
<br />
* MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL => Restrict sending of 1 email message to x recipients for same email message (x for To: + CC: + BCC:). If not defined, value is 10. Required to fight against spamming that include 1000 recipients in 1 message. Note that MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL and MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL are also available.<br />
<br />
* MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML => Force to send all email (event with text only content) as HTML formatted email.<br />
<br />
* MAIN_MAIL_USE_MULTI_PART => Forge email content using an alternate text part (for 5.0.2+). By default with 6.0+<br />
<br />
* MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS => If images were stored into the medias directory from CKEditor, then images into emails are replaced with "inline content". This may increase seriously risk of being detected as SPAM.<br />
<br />
* MAIN_COPY_FILE_IN_EVENT_AUTO => Add attachement document on event auto generated by sending email from dolibarr. (v6.0+)<br />
<br />
* MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS => Enter the public ip address of the server, so it will appears into the help on the email setup page.<br />
<br />
* MAIN_MAIL_ENABLED_USER_DEST_SELECT => Show also internal users into list of recipients of email in email sending form (v8.0+)<br />
<br />
== Third Parties module ==<br />
<br />
* COMPANY_AQUARIUM_CLEAN_REGEX (>= 8.0.1) => Add a REGEX rule on the third parties names.<br />
* MAIN_FORCE_DEFAULT_STATE_ID (>= 8.0.1) => rowid (integer) of a state/province as defined in llx_c_departements. On the creation of a third party/contact, the state/province corresponding to this rowid is preselected in the dropdown list.<br />
* SOCIETE_DISABLE_CUSTOMERS => Remove all menu and features related to customers<br />
* SOCIETE_DISABLE_PROSPECTS => Remove all menu and features related to prospects<br />
* SOCIETE_DISABLE_STATE => Do not use field "state/province"<br />
* THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT => Do not set status "Customer/Prospect" to "on" when creating a new third party from menu "New third party".<br />
* THIRDPARTY_NOTSUPPLIER_BY_DEFAULT => Do not set status "Supplier" to "on" when creating a new third party from menu "New third party".<br />
* SOCIETE_SORT_ON_TYPEENT = The combo list of "type of third party" is sorted on a field "position" that appears into dictionary instead of alphabetical order.<br />
* THIRDPARTY_DEFAULT_CREATE_CONTACT (Dolibarr 5.0+) => Default Third party create are individual<br />
* MAIN_THIRDPARTY_CREATION_INDIVIDUAL (Dolibarr <5.0) => Default Third party create are individual<br />
* THIRDPARTY_DEFAULT_USEVAT => When creating a new third party, the field "Use vat" is set to on or off depending on value of this parameter.<br />
* THIRDPARTY_DEFAULT_USELOCALTAX1 => When creating a new third party, the field "Use second tax" is set to on or off depending on value of this parameter.<br />
* THIRDPARTY_DEFAULT_USELOCALTAX2 => When creating a new third party, the field "Use third tax" is set to on or off depending on value of this parameter.<br />
* THIRDPARTY_INCLUDE_PARENT_IN_LINKTO => Search also for elements on parent third party when using the "link to" object feature.<br />
* THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO => Search also for elements on third party that own the project of the current element when using the "link to" object feature (if project is owned by a different thirdparty than current one).<br />
* SOCIETE_ASK_FOR_SHIPPING_METHOD => Shipping method can be predefined on customer card and will be used as default on order creation<br />
* THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD => When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.<br />
* MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL => External users are always restricted on the thirdparty of their contact record. With this option, permission "see all thirdparty" may works also for external user. Not implemented yet...<br />
<br />
== Proposals module ==<br />
* PROPAL_CLONE_ON_CREATE_PAGE => On the create proposal page, ask if we want to create the proposal by cloning an already existing one. You should use instead the "Clone" button available on existing proposals.<br />
* MAIN_PROPAL_CHOOSE_ODT_DOCUMENT => On setup page, you'll be able to select which ODT document to use when close or cancel proposals.<br />
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Add a picture of the product (the first one found if there are several) into the generated PDF of proposals. Note that using this will reduce the available width for the product description.<br />
* PROPAL_DISABLE_SIGNATURE => Do no show the box for signature.<br />
* WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES => Button "Classified Billed" is visible on proposal even if there is no invoice linked to proposal.<br />
* PRODUIT_PDF_MERGE_PROPAL => When generating the proposal PDF, all PDFs linked to products linked to proposal are also included into final PDF<br />
* PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD => When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. (v7.0+)<br />
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => add optional esign field in pdf propal<br />
<br />
== Order module ==<br />
* COMMANDE_REQUIRE_SOURCE => Make the input field "Source of order" mandatory.<br />
* COMMANDE_VALID_AFTER_CLOSE_PROPAL => When an order is created on a proposal close, the order is directly defined with status "Validated".<br />
* COMMANDE_CHANGE_THIRDPARTY => Can change customer on orders<br />
* ORDER_ALLOW_EXTERNAL_DOWNLOAD => When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. (v7.0+)<br />
<br />
== Invoice module ==<br />
* MAIN_DEPOSIT_MULTI_TVA => In deposits invoice, creates one line per VAT rate from the origin document (6.0)<br />
* FACTURE_SHOW_SEND_REMINDER => Show link "Send reminder by mail", same feature than "Send by mail" (obsolete feature).<br />
* INVOICE_CAN_ALWAYS_BE_EDITED => Allow to edit invoices even if payment was started. Note: If the module "'''BlockedLog'''" is active (required by some countries for legal reason), this will not change content of archived logs tracked by this module. By definition there is no way to change or remove archived records. It will just update data in your application and a new record to track your change into the non reversible archive log.<br />
* INVOICE_CAN_ALWAYS_BE_REMOVED => Allow to always delete invoices (even if invoice is not last one). Note: If the module "'''BlockedLog'''" is active (required by some countries for legal reason), this will not change content of archived logs tracked by this module. By definition there is no way to change or remove archived records. It will just update data in your application and a new record to track your change into the non reversible archive log.<br />
* INVOICE_CAN_NEVER_BE_REMOVED => Never allow to delete invoices (except draft invoices).<br />
* INVOICE_POSITIVE_CREDIT_NOTE => All amounts on PDF credit notes are positive.<br />
* FACTURE_CHANGE_THIRDPARTY => Allow to change the third party in the draft invoices. If a discount was set from the original thirdparty, then discount remain, making data not coherent.<br />
* FACTURE_USE_PROFORMAT => Enable PROFORMAT invoices type.<br />
* FACTURE_DEPOSITS_ARE_JUST_PAYMENTS => Treats deposit invoices as a special case. Deposit invoices don't get counted on turnover. They are then applied as a payment, like a discount, on the final invoice. By default, when you include the deposit into draft of final invoice, the amount of final invoice is reduced. With this option, final amount is not reduced but a payment is registered. <br />
* FACTURE_SENDBYEMAIL_FOR_ALL_STATUS => Can send invoice by email to customer even if invoice has status "draft".<br />
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT => Disable VAT on genrated documents. like for an association. (it's work with crabe template)<br />
* INVOICE_CREDIT_NOTE_STANDALONE (dolibarr 3.9) => Can make a credit note without invoice.<br />
* INVOICE_USE_SITUATION = Enable the "situation invoice" feature<br />
* INVOICE_USE_SITUATION_CREDIT_NOTE (dolibarr 8.0) = Enable the "situation credit note" feature (need INVOICE_USE_SITUATION)<br />
* INVOICE_DISABLE_DEPOSIT = Disable deposit invoices<br />
* INVOICE_DISABLE_REPLACEMENT = Disable replacement invoices<br />
* INVOICE_DISABLE_CREDIT_NOTE = Disable credit notes<br />
* WORKFLOW_BILL_ON_SHIPMENT = Change label of button with suitable label when you need to create invoice on shipments<br />
* INVOICE_ALLOW_EXTERNAL_DOWNLOAD => When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. (v7.0+)<br />
<br />
== Expense Report ==<br />
* EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS => Can enter several expense reports on same or overlapping date periods. (v7.0+)<br />
<br />
==VAT Report==<br />
* MAIN_INCLUDE_ZERO_VAT_IN_REPORTS => Include lines with VAT to 0% (for "auto-liquidation" in EEC) (V8.0.3+)<br />
<br />
== Export module ==<br />
* EXPORT_CSV_SEPARATOR_TO_USE => String value to use as default separator to delimit fields of exported files (by default Dolibarr uses ","). Example: EXPORT_CSV_SEPARATOR_TO_USE=;<br />
* EXPORT_CSV_FORCE_CHARSET => Choose the charset used in the output file built by the CSV exporter. By default it is ISO-8859-1. Example: EXPORT_CSV_FORCE_CHARSET= utf-8<br />
* EXPORTTOOL_CATEGORIES => Can export categories (several lines) into one column with the "product export profile"<br />
* USE_STRICT_CSV_RULES => Use strict/real CSV format for export. Do not clean/replace CR+LF with '\n' but quote them using the escaping CSV char (").<br />
<br />
== Agenda module ==<br />
* AGENDA_MAX_EVENTS_DAY_VIEW => Define the maximum number of visible entries for each day in agenda. Default value is 3. Value 0 means no limit.<br />
* AGENDA_USE_EVENT_TYPE => Add a mandatory field "Type" when creating an event (deprecated).<br />
* AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS => To automatically set end date of event to start date + delta on event creation page.<br />
* MAIN_ADD_EVENT_ON_ELEMENT_CARD => Allow to create an event from a document (proposal, order, invoice)<br />
<br />
== Products module ==<br />
* MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE => Avoid Custom code and country of origin to be set as product description when added to Propal/Order/Invoice<br />
* PRODUCT_ADD_TYPE_IN_DOCUMENTS => Add text "Product" or "Service" at beginning of details lines on built PDF documents.<br />
* PRODUCT_DONOTSEARCH_ANYWHERE => When Ajax search is enabled, search is done on criteria anywhere in label of product. By adding this option, search is done only on start of label. This is really faster when you have a huge number of products.<br />
* PRODUIT_DESC_IN_LIST => Show long description of product/service into lists.<br />
* PRODUIT_PDF_MERGE_PROPAL => Enable module Propal merge product PDF<br />
* PRODUCT_USE_OLD_PATH_FOR_PHOTO => Ask dolibarr to check also old path (before 3.7) where photos were stored.<br />
* PRODUCT_USE_UNITS => Enable units from dictionary in product/service card.<br />
* PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL => When option to use price per level/segment is on, this allows to also set a dedicated vat for each price level.<br />
* MAIN_DIRECT_STATUS_UPDATE => Allows you to change the status of the product (''for sale/not for sale for purchase/not for purchase'') directly on the product page via a ''on/off'' switch button. This can be convenient for those who need to quickly disable certain statuses of products without having to go through the editing product page individually. Also can be very useful if used as a filter on the product and product search list. This option doesn't generate a MODIFY trigger, so be careful with external modules. v4.0+<br />
<br />
* PRODUCT_CHARGES => Adds an extra field for adhoc charges at the product buying price stage. The Cost price is then calculated with supplier price + charges if defined. Useful for extra costs for a product or certain delivery charges to the product.<br />
<br />
* PRODUCT_MAX_VISIBLE_PHOTO => Show a maximum number of product photos (as thumbnails) on the product main card. Example, setting this constant to '5' will show the first five product photos found on the product card.<br />
* PRODUCT_MAX_LENGTH_COMBO => limit the length of the label displayed when adding lines in proposals/invoices/orders<br />
* MAIN_DISABLE_FREE_LINES (>= 8.0) => Disallow using free lines to add line in documents<br />
<br />
== Services module ==<br />
* SERVICE_ARE_ECOMMERCE_200238EC => If this option is enabled, services are processed like eServices according to directive of EU Council Directive 2002/38/EC (http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en.htm). Default VAT rate are based on buying country instead of selling country for BtoC sells.<br />
<br />
== Stocks ==<br />
* MAIN_SERVICES_ARE_ECOMMERCE_200238EC (< 8) => <br />
<br />
* CASHDESK_FORCE_STOCK_ON_BILL (>= 8.0.1) => Option to force decrease of stock whatever is user setup.<br />
<br />
* SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED => Disable stock dispatch when total expected was already received.<br />
<br />
== Shipments ==<br />
* STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS (>= 8.0.1) => If set, you can add a shipment line, with no stock source defined.<br />
<br />
* SHIPMENT_GETS_ALL_ORDER_PRODUCTS => Add all order lines in shipment, including the one with 0 in quantity<br />
<br />
== Point of Sale ==<br />
* CASHDESK_SHOW_KEYPAD => Show a mouse key pad into Point Of Sale.<br />
* POS_ADDON = Set this value to an existing numbering module rule (for example 'mod_facture_terre', 'mod_facture_mars', ...) to force the numbering module to us to define the invoice ref when invoice is created by the POS. For example setting value POS_ADDON to 'mod_facture_terre' will use the numbering module 'terre' for invoice generated from POS, whatever is the numbering rule defined into invoice module setup (you can also use POS_NUMBERING_TERRE_FORCE_PREFIX and POS_NUMBERING_MARS_FORCE_PREFIX variable to change the prefix used).<br />
<br />
== Contracts ==<br />
* CONTRACT_SUPPORT_PRODUCTS => Products are also suggested into module contract.<br />
<br />
== Projects module ==<br />
* PROJECT_DISABLE_UNLINK_FROM_OVERVIEW (>= 8.0.1) => Enable removing the button from a link in the project overview.<br />
* PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS => Enable linking a project to any supplier even when using the third party link feature. Note: Set to 1 by default from 3.7.<br />
* PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS => Can add time spent on tasks, even if i am not assigned to task (however, task must be a project i am a contact).<br />
* PROJECT_SHOW_REF_INTO_LISTS => Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)<br />
* PROJECT_HIDE_UNSELECTABLES => Hide into select list, all project that we can't select (closed or draft)<br />
* PROJECT_HIDE_TASKS => Hide tasks. For user using project only as an analytics key and not using tasks.<br />
* PROJECT_LIST_SHOW_STARTDATE => Shows start date of projects in project lists.<br />
* PROJECT_LINK_ON_OVERWIEW_DISABLED (4.0) => Hide the "link to" form on the overview page<br />
* PROJECT_CREATE_ON_OVERVIEW_DISABLED (4.0) => Hide the "create ..." button on the overview page<br />
* PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY => Can link an object to a project of another thirdparty<br />
* PROJECT_ALLOW_COMMENT_ON_TASK => Add comment feature on project task<br />
<br />
== Foundation module ==<br />
* MEMBER_URL_REDIRECT_SUBSCRIPTION => Link called and shown when a member account is autocreated in member module by a guest user.<br />
* MEMBER_EXT_URL_SUBSCRIPTION_INFO => Link of external page pointed by the "Show here" link added in front off payment cell, into the page to make online subscription.<br />
<br />
== Interventions module ==<br />
* FICHINTER_CLASSIFY_BILLED => Allow to classify an intervention card as "Billed". This add also trigger FICHINTER_CLASSIFY_BILLED into list of possible automatic event into agenda.<br />
* FICHINTER_DISABLE_DETAILS => Disable entry of details line on intervention. Can validate with no line.<br />
<br />
== Suppliers module ==<br />
* FOURN_PRODUCT_AVAILABILITY => On the Suppliers price page of the products, activate the supplier product availability. This is duplicate feature with delivery_delay introduced with 3.8.<br />
* RELOAD_PAGE_ON_SUPPLIER_CHANGE => On creation of a supplier order/invoice, reload form with supplier-specific details when supplier is selected from drop-down list.<br />
* SUPPLIER_ORDER_AUTOADD_USER_CONTACT => Add user approving supplier order as a contact automatically.<br />
* SUPPLIER_ORDER_DEFAULT_PAYMENT_MODE_ID => Set the default payment method for suppliers (rowid in table llx_c_paiement).<br />
* SUPPLIER_ORDER_USE_DISPATCH_STATUS => Add a status on each dispatch order line when receiving products from suppliers (v4.0+)<br />
* SUPPLIER_ORDER_NO_DIRECT_APPROVE => No button "Validate and Approve". Always do step "Validate" and "Approve" in 2 steps.<br />
* SUPPLIER_ORDER_WITH_NOPRICEDEFINED => Can enter a product even if no supplier price defined. (v6.0+)<br />
* SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT => Can modify the buying price used for PMP calculation when making a stock reception on a supplier order. (v6.0+)<br />
<br />
== Bank module ==<br />
* BANK_CAN_RECONCILIATE_CASHACCOUNT (3.8) => Can reconciliate cash accounts<br />
* BANK_DISABLE_CHECK_DEPOSIT => Disable check deposit feature<br />
* BANK_ASK_PAYMENT_BANK_DURING_ORDER => Ask bank account during creation of an order<br />
* BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL => Ask bank account during creation of a proposal<br />
<br />
== Emailing module ==<br />
* MAILING_PREFIX_FOR_EMAIL_ID => Set the value that will be used to compose the "Email Id" into email headers. If you set this value to 'SERVER_NAME', the virtual host of web server will be used. By default, this is not defined, so a hash key, unique to each instance, is used.<br />
* MAILING_NO_USING_PHPMAIL => If set, the module emailing can't be use with mail setup of "phpmail". Using a thirdparty SMTP server is required. You can complete warning message by adding an email to contact for setup help with constant MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS.<br />
* MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS => Contains an email to show in a message visible to user when he try to use emailing module without SMTP server and if option MAILING_NO_USING_PHPMAIL is set to on.<br />
* MAILING_LIMIT_WARNING_PHPMAIL => Show a warning message (var contains the message to show or translation key) on emailing send form if setup is on "phpmail". For example, you can set this parameter to 'MAILING_LIMIT_WARNING_PHPMAIL' and enter translation key for each language for this key.<br />
* MAILING_LIMIT_WARNING_NOPHPMAIL => Show a warning message (var contains the message to show or translation key) on emailing send form if setup is something else than "phpmail". For example, you can set this parameter to 'MAILING_LIMIT_WARNING_NOPHPMAIL' and enter translation key for each language for this key.<br />
* EMAILING_USE_ADVANCED_SELECTOR => Enable the advanced selector for destinaries<br />
<br />
* MAILING_LIMIT_SENDBYWEB => Restrict number of emails you can send in same sending session with emailing module from GUI. The value "dolibarr_mailing_limit_sendbyweb" if defined into config file is used in priority for this limit. A negative value means, sending by web is forbidden.<br />
* MAILING_LIMIT_SENDBYCLI => Restrict number of emails you can send in same sending session with emailing module from CLI script. The value "dolibarr_mailing_limit_sendbycli" if defined into config file is used in priority for this limit.<br />
<br />
== PDF options ==<br />
* MAIN_DISABLE_FORCE_SAVEAS => If your browser ask always to save downloaded files on disk (like PDF), try to add this option. File might appears directly into your browser.<br />
<br />
* MAIN_DISABLE_PDF_COMPRESSION => Disable PDF compression.<br />
<br />
* MAIN_INVERT_SENDER_RECIPIENT => Invert sender and recipient in some PDF.<br />
<br />
* MAIN_DISABLE_PDF_AUTOUPDATE => Disable automatic generation of PDF each time we add/update/delete a product line (we can still build document by clicking on "Generate"). This option may increase interface speed on servers with low CPU.<br />
<br />
* MAIN_USE_BACKGROUND_ON_PDF => Define this constant with short name of an image (example "myimage.jpg") that must be saved into directory "documents/mycompany/logos". This will add this background image into your generated PDF files. Warning: This option make TCPDF library beeing crazy sometime and content on image disappeared !<br />
<br />
* MAIN_ADD_PDF_BACKGROUND => Define this constant with short name of a PDF file (example "mypdf.pdf") that must be saved into directory "documents/mycompany". This will add PDF as a background of some of your generated PDF files (proposals,invoices,orders). If you need to concat PDF, see instead [[Module Concat PDF]].<br />
<br />
* MAIN_PDF_FORCE_FONT => To ignore font defined into language file and force usage of a particular font. For example "DejaVuSans".<br />
<br />
* MAIN_PDF_FREETEXT_HEIGHT => Change height of space reserved to output the free text.<br />
<br />
* MAIN_PDF_TITLE_BACKGROUND_COLOR => Can define a background color onto title line. Example: '220,220,200'<br />
<br />
* MAIN_USE_COMPANY_NAME_OF_CONTACT => Use contact name and information rather than company<br />
<br />
* MAIN_ODT_AS_PDF => Activate PDF conversion from ODT document. If value is 'jodconverter', java and jodconverter command line tool must be available. If value is '/pathto/jodconverter.jar', then java and the jodconvertar jar must exists. soffice must also be available. MAIN_DOL_SCRIPTS_ROOT Must also be defined to path where the "scripts" directory is stored (for example /var/www/mydolibarr).<br />
<br />
* MAIN_ODT_AS_PDF_DEL_SOURCE => For ODT generation. If set, then initial behaviour is conserved but odt file is removed when option to convert it as PDF (see previous) is on. Disabled by default<br />
<br />
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Include the first image of the product into the line of the generated PDF for customer proposals.<br />
<br />
* MAIN_GENERATE_INVOICES_WITH_PICTURE => Include the first image of the product into the line of the generated PDF for customer invoices.<br />
<br />
* MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE => Include the first image of the product into the line of the generated PDF for supplier proposals (v5.0.3+)<br />
<br />
* MAIN_DOCUMENTS_WITH_PICTURE_WIDTH => Can change size of picture when hidden option MAIN_GENERATE_PROPOSALS_WITH_PICTURE is used. By default value is 20.<br />
<br />
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN => Hide column with VAT information but only column not total.<br />
<br />
* PDF_SHOW_PROJECT => Show project onto PDF (supported on supplier order only for the moment)<br />
<br />
* PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN => Hide bank number ("code banque/guichet/compte" for france, "sort number/account" for GB, ...) and keep only BIC/IBAN on PDF.<br />
<br />
* PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES => Value 1 or 2 change the way product ref is show (1 = show supplier ref only and not internal ref, 2 = show supplier then internal). Without, internal ref then supplier is shown.<br />
<br />
* MAIN_PDF_ADDALSOTARGETDETAILS => Add particular details like the telephone number on generated PDFs. Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.<br />
<br />
* PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME => Include alternative/alias name into name on PDF.<br />
<br />
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => add optional esign field in pdf propal<br />
<br />
== WYSIWYG Editor ==<br />
<br />
* FCKEDITOR_ENABLE_DETAILS_FULL => Can cut and paste external images (hosted on external server) into description of proposal, orders or invoices. WARNING: PDF generation is not guaranted with this. Also if the image is removed or renamed by the image hoster, your proposal, order or invoice will be broken.<br />
<br />
<br />
== BlockedLog ==<br />
<br />
* BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY => Make disable of module "blockedlog" not possible for countries code defined into value. Example: 'FR,...'<br />
<br />
== MultiCurrency ==<br />
<br />
* MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION => Enable CurrencyLayer API synchronization</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Setup_Other&diff=40011Setup Other2018-10-10T11:50:52Z<p>Yves.brungard: /* VAT Report */</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUser}}<br />
<br />
'''Help about screen:''' Other setup<br />
<br />
'''Menu path:''' Home -> Setup -> Other<br />
<br />
= Goal =<br />
This page is built to add/edit new parameters without a dedicated page to edit them. In most cases, it is parameters for your own development, external modules, or hidden features which can allow some tweaking to your own Dolibarr instance.<br />
<br />
For standard usage of Dolibarr, this screen must be kept empty and not be used.<br />
<br />
= List of Known Hidden Options =<br />
Some options are not visible in the interface (often because they are deprecated or are beta features). In most cases you do not need these functions and their use may make the application unstable.<br />
<br />
To enable/override a parameter you have to define the constant name and set it to '''1''' in '''Home -> Setup -> Other Setup''': <br />
<br />
== Global Options ==<br />
<br />
* MAIN_DISABLE_NOTES_TAB (core) => Display total of notes in the card page<br />
<br />
* MAIN_DISABLE_CONTACTS_TAB (core) => Display total of contacts in the card page<br />
<br />
* MAIN_LOGOUT_GOTO_URL => (core) url to which the user will be redirected after LOGOUT.<br />
<br />
* MAIN_FILESYSTEM_ENCODING => With some PHP versions, PHP is not able to detect the page code for filesystem of the server OS. To solve this, Dolibarr assumes your OS filesystem is UTF-8 if on linux or osx system, and iso-8859-1 if on Windows. If not, for example on a Windows server with a NTFS UTF-8 pagecode, you can set the variable MAIN_FILESYSTEM_ENCODING to "utf-8".<br />
<br />
* MAIN_SHOW_TECHNICAL_ID => Show also technical IDs on elements cards or some lists (not supported everywhere).<br />
<br />
* MAIN_MAXTABS_IN_CARD => Max number of tabs visible. Others are grouped into a combo list.<br />
<br />
* MAIN_ONLY_LOGIN_ALLOWED => Only the specified login is allowed to log in Dolibarr (maintenance mode).<br />
<br />
* MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES => Add a timestamp and user automatically when editing the ''public'' note.<br />
<br />
* MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES => Add a timestamp and user automatically when editing the ''private'' note.<br />
<br />
* MAIN_SECURITY_CSRF_WITH_TOKEN (>= 5.0) => Activate a second anti CSRF protection on POST (a POST from another web site can't be done). Note there is already a default protection using test on referrer. This second protection uses TOKEN on forms and is less powerful.<br />
<br />
* MAIN_APPLICATION_TITLE => This will change the title of software (that appears on the login page by default). Warning, changing this may make Dolibarr version detection fail by smartphone applications like [[Application Android - DoliDroid]]<br />
<br />
* MAIN_AUTOFILL_DATE => If this constant is defined (to something other than 0), the date of invoice, proposal, order or payment are auto-filled with the current date. It is highly recommended to NOT ENABLE this feature. This can create a lot of input errors with data not validated by users. This leads to incorrect values saved in the database causing confusion when you have to do your accountancy reports ! However some users want it, so we provide it.<br />
<br />
* MAIN_DISABLE_FULL_SCANLIST => Disables the complete scan of tables to allow the pagination to show total number of pages. May be useful to activate on systems with a very high quantity of data (tables with more than 500 000 records).<br />
<br />
* MAIN_FIRST_TO_UPPER => Dolibarr add uppercase to Third Parties, contacts or members names if not done. Warning, with some languages (whose words with uppercase are not same words, or pagecode does not always have an uppercase, like cyrillic languages), this feature may alter your data.<br />
<br />
* MAIN_ENABLE_LOG_TO_HTML (MAIN_LOGTOHTML before 3.9) => If this constant is defined, it is possible to have logs inside pages by adding the parameter &logtohtml=1 into URL.<br />
<br />
* MAIN_USE_HOURMIN_IN_DATE_RANGE => On all entities lines (invoice, order, contract...), it is possible to add hour and minutes with date on fields "date start" and "date end".<br />
<br />
* MAIN_REMOVE_INSTALL_WARNING => Remove all security warnings that appear to administrator users if URL /install is public. You should solve the problem if warning occurs, instead of removing the warning! For this, put a file called install.lock into Dolibarr root directory. This will stop the warning but also make the page /install not possible to use, to protect your installation.<br />
<br />
* MAIN_OPTIMIZE_SPEED => Use some speed enhancements. See page [[Increase_Performance]] for more information.<br />
<br />
* MAIN_REPLACE_TRANS_xx_XX => Where xx_XX is language code. If value is string1:newstring1;string2:newstring2 then replace string1 with newstring1 in all translation done for language xx_XX.<br />
<br />
* MAIN_REPEATCONTACTONEACHTAB => If added and set to 1, this adds contacts on all tabs, not only main tab.<br />
<br />
* MAIN_DISABLE_JQUERY_JNOTIFY => Disable usage of JNotify to show confirm or error messages<br />
<br />
* MAIN_USE_JQUERY_JEDITABLE => Allow to update from screen, directly into database, some properties of elements (invoices, proposals, ...) using Ajax. This make response time faster, but avoid using this features, because, it bypasses some business actions (updates on other data that should be done consistently) and ignores business controls on data you saved. So this feature breaks consistency of data and possibly the stability of the software.<br />
<br />
* MAIN_USE_JQUERY_MULTISELECT => Allow to use Ajax when a choice that require multiselect is used (for the moment only external modules uses select box with multiselect values). Set the value to the jQuery plugin name to use (multiselect, multiple-select, select2…). Setting it to any other value will result in unwanted side-effects and/or bugs.<br />
<br />
* MAIN_HELPCENTER_LINKTOUSE => Define the url link to use as the target page for link "I need help" onto logon page<br />
<br />
* MAIN_MODULES_FOR_EXTERNAL => Limit available modules for external users. By default value is 'facture,commande,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda'<br />
<br />
* MAIN_SHOW_TUNING_INFO => Add tuning information into javascript console. Better when xdebug is enabled.<br />
<br />
* MAIN_DOL_SCRIPTS_ROOT => Define directory who contains 'scripts' directory (e.g /var/www/dolibarr)<br />
<br />
* MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING => A warning saying setup of modules is not complete is shown if the number of enabled modules is lower or equal than this value (1 if not defined)<br />
<br />
* MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE => Add signature of the first sale representative into documents (at end of public notes).<br />
<br />
* MAIN_DISABLE_AJAX_COMBOX => If you have a large number of third parties or products, you can disable the autocomplete feature on the third parties list by setting constant MAIN_DISABLE_AJAX_COMBOX to 1 into Home-Setup-Other (with Dolibarr v3.6.0+).<br />
<br />
* MAIN_USE_CACHE_MANIFEST => Add an HTML5 cache manifest to the page - Attention, this functionality is obsolete and removed from web standards<br />
<br />
* MAIN_FORCELANGDIR => relative path of the directory holding your custom langs folder.<br />
<br />
* MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS => allow to define a default VAT rate<br />
<br />
* MAIN_HTML_TITLE => can be used to control how the html page title is formatted. If value contains key 'noapp', application name will not be output. If value contains 'thirdpartynameonly', on tab for thirdparties, only name of thirdparties are output. Value can be list of tags: 'noapp;thirdpartynameonly'<br />
<br />
* MAIN_LANDING_PAGE => (>= 3.9). Can choose the first page to show after login (the landing page). This option works as a global option (llx_const) and per user option (llx_user_param).<br />
<br />
* MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN => (>= 4.0) When creating an order, contract, invoice from another object, specific contacts of objects are set as specific contact of the new object when possible.<br />
<br />
* MAIN_WEIGHT_DEFAULT_ROUND => Accuracy of weight (number of decimals)<br />
<br />
* MAIN_WEIGHT_DEFAULT_UNIT => Default unit for weight (0=kg, -3=g, ...)<br />
<br />
* MAIN_VOLUME_DEFAULT_ROUND => Accuracy of volume (number of decimals)<br />
<br />
* MAIN_VOLUME_DEFAULT_UNIT => Default unit for weight (0=kg, -3=g, ...)<br />
<br />
* MAIN_PUBLIC_NOTE_IN_ADDRESS >=4.0 => show public note in address block<br />
<br />
* MAIN_DEFAULT_PAYMENT_TERM_ID => With id of a payment term, will use this as default payment term each time you create a new proposal, order, invoice (customer and supplier)<br />
<br />
* MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND => Change way of rounding total TTC lines, rounding first of after<br />
<br />
* MAIN_VIEW_LINE_NUMBER => Shows a line number against each line in the order/invoice for products/services. On screen only, not on PDF.<br />
<br />
* MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME => Add name of thirdparty at begin of generated document<br />
<br />
* MAIN_DOC_USE_TIMING => Add a timestamp at end of generated document. Value must be format of timestamp. For example: %Y%m%d%H%M<br />
<br />
* MAIN_DISABLEDRAFTSTATUS => Disable the status Draft for some objects (project, donation, ...)<br />
<br />
* MAIN_USE_OLD_SEARCH_FORM => Display the old search form in left menu.<br />
<br />
* MAIN_SERVER_TZ => If you can't set the timezone of your PHP installation, set this constant. Better is to set it to UTC. In future, this constant will be forced to 'UTC' so PHP server timezone will not have effect anymore. Examples : Europe/Paris, auto.<br />
<br />
* MAIN_SEARCH_FORM_ON_HOME_AREAS => Show the search form on home page areas for core modules (Removed after v5 due to global search combo) (v6.0+)<br />
<br />
* MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE => If only one result is found, then setting this value to '''1''' will take you direct to the item (default method). Setting the value to '''0''' will show the result in the list as a single result (v5.0+)<br />
<br />
* MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES (dolibarr 8.0) => Allow to import lines into current document from "linked" compatible documents<br />
<br />
* MAIN_USE_VAT_OF_PRODUCT_FOR_INDIVIDUAL_CUSTOMER_OUT_OF_EEC (dolibarr 7.0) => Allow using product VAT if customer is individual and out of E.E.C. (European Economic Community)<br />
<br />
== Look or Theme ==<br />
* MAIN_OPTIMIZEFORTEXTBROWSER => Optimize output rendering for usage of a text browser (usefull for blind people)<br />
* THEME_ELDY_DISABLE_IMAGE => Disabled images of top menu for eldy theme.<br />
* MAIN_MENU_HIDE_UNAUTHORIZED => Hide menu if logged in user is not autorized rather than just grey them<br />
* THEME_TOPMENU_STICKY_POSITION => Option to fix top menu with eldy theme (hidden conf)(v7.0+)<br />
<br />
== Email and SMS ==<br />
<br />
* MAIN_MAILFORM_DISABLE_ENTERKEY (>= 8.0.1) => Activate javascript code to disable the enter key in the MAIL form.<br />
<br />
* MAIL_PREFIX_FOR_EMAIL_ID (>= 8.0.1) => Prefix for the mails ID. Default value is $_SERVER["SERVER_NAME"]<br />
<br />
* MAIN_MAIL_DEBUG => Write content with header of last mail into file dolibarr_mail.log into directory dolibarr_main_data_root.<br />
<br />
* MAIN_SMS_DEBUG => Write content of SMS sent into file dolibarr_sms.log into directory dolibarr_main_data_root.<br />
<br />
* MAIN_MAIL_ALLOW_SENDMAIL_F => On Linux or BSD system, PHP email function use the command sendmail local to server. In some cases, the sender email must be provided on command line of sendmail with option -f. This option is here to ask Dolibarr to call the function '''mail''' of PHP by adding value for the option -f. Note that in most cases, even with sendmail, sender email is correctly managed as it is added in the email technical header. This option is here only for rare setup of sendmail that ask the '''-f''' option to be mandatory or for sendmail setup that does not use by default the Return-path of header email to define the sender (with this option, the return-path will be provided also on command line and not lost by sendmail).<br />
<br />
* MAIN_MAIL_SENDMAIL_FORCE_BA => On Linux or BSD system, PHP email function use the command sendmail local to server. In some case, we want to recipient to be provided to sendmail into the email content instead of its command line parameter. For this we must add the '''-ba''' parameter to sendmail. This option ask PHP to provide this parameter when sending a mail. Note that another solution is to edit the '''mail.force_extra_parameters=-ba''' into '''php.ini''' file.<br />
<br />
* MAIN_MAIL_NO_FULL_EMAIL => Recipient email and sender are cleaned to be on form "<email>" instead of "Name <email>". This might solve problem of compatibility with very old mailers.<br />
<br />
* MAIN_FIX_FOR_BUGGED_MTA => Some MTA agent are bugged and add some CR chars each time they saw a LF. Because Dolibarr emails are forged to be already cleaned, if MTA agent do that, you will send an email with two CR chars. This may result in having recipient not able to read your email. To fix this, add this constant to 1. Dolibarr will then create an email that is not RFC compliant but because the MTA agent is bugged, the email will be modified and become correct during sending, solving the problem of bad email received. Add this constant if your recipient experience problems when opening email for example users using webmail of orange.fr or hotmail.com<br />
<br />
* MAIN_MAIL_DO_NOT_USE_SIGN => Do not add user signature at end of suggested pre-defined email<br />
<br />
* MAIL_FORCE_DELIVERY_RECEIPT_INVOICE => Set default as "Yes" on requesting delivery receipt when sending email through the ''Customer Invoice'' module.<br />
<br />
* MAIL_FORCE_DELIVERY_RECEIPT_ORDER => Set default as "Yes" on requesting delivery receipt when sending email through the ''Customer Order'' module. <br />
<br />
* MAIL_FORCE_DELIVERY_RECEIPT_PROPAL => Set default as "Yes" on requesting delivery receipt when sending email through the ''Customer Proposal'' module.<br />
<br />
* MAIN_EMAIL_USECCC => 1 = Show field BCC into email forms, If email = Show BCC prefilled with email.<br />
<br />
* MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO => Email to use as a BCC recipients when sending email for proposal, order or invoice. You can make this value visible by setting MAIN_EMAIL_USECCC (to 1 or to another email, see previous point)<br />
<br />
* MAIN_EMAIL_ADD_TRACK_ID => When value is 1 (this is also default value if option is not set): The record "Message-id" added into smtp header includes a tracking id to define where the email was sent from. When value is 2: you send an email from third party card, the sender email is completed with the email source tracking string "+thiXXX" on email (your email will be sent with the "From" that is myname+thi123@mycompany.com). So when user receiving email will make "Answer", email will be sent to myname@mycompany.com but with the tracking id included (into header or into target email), allowing you to know to which third party or object, the email exchange is related to.<br />
<br />
* MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL => Restrict sending of 1 email message to x recipients for same email message (x for To: + CC: + BCC:). If not defined, value is 10. Required to fight against spamming that include 1000 recipients in 1 message. Note that MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL and MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL are also available.<br />
<br />
* MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML => Force to send all email (event with text only content) as HTML formatted email.<br />
<br />
* MAIN_MAIL_USE_MULTI_PART => Forge email content using an alternate text part (for 5.0.2+). By default with 6.0+<br />
<br />
* MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS => If images were stored into the medias directory from CKEditor, then images into emails are replaced with "inline content". This may increase seriously risk of being detected as SPAM.<br />
<br />
* MAIN_COPY_FILE_IN_EVENT_AUTO => Add attachement document on event auto generated by sending email from dolibarr. (v6.0+)<br />
<br />
* MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS => Enter the public ip address of the server, so it will appears into the help on the email setup page.<br />
<br />
* MAIN_MAIL_ENABLED_USER_DEST_SELECT => Show also internal users into list of recipients of email in email sending form (v8.0+)<br />
<br />
== Third Parties module ==<br />
<br />
* COMPANY_AQUARIUM_CLEAN_REGEX (>= 8.0.1) => Add a REGEX rule on the third parties names.<br />
* MAIN_FORCE_DEFAULT_STATE_ID (>= 8.0.1) => rowid (integer) of a state/province as defined in llx_c_departements. On the creation of a third party/contact, the state/province corresponding to this rowid is preselected in the dropdown list.<br />
* SOCIETE_DISABLE_CUSTOMERS => Remove all menu and features related to customers<br />
* SOCIETE_DISABLE_PROSPECTS => Remove all menu and features related to prospects<br />
* SOCIETE_DISABLE_STATE => Do not use field "state/province"<br />
* THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT => Do not set status "Customer/Prospect" to "on" when creating a new third party from menu "New third party".<br />
* THIRDPARTY_NOTSUPPLIER_BY_DEFAULT => Do not set status "Supplier" to "on" when creating a new third party from menu "New third party".<br />
* SOCIETE_SORT_ON_TYPEENT = The combo list of "type of third party" is sorted on a field "position" that appears into dictionary instead of alphabetical order.<br />
* THIRDPARTY_DEFAULT_CREATE_CONTACT (Dolibarr 5.0+) => Default Third party create are individual<br />
* MAIN_THIRDPARTY_CREATION_INDIVIDUAL (Dolibarr <5.0) => Default Third party create are individual<br />
* THIRDPARTY_DEFAULT_USEVAT => When creating a new third party, the field "Use vat" is set to on or off depending on value of this parameter.<br />
* THIRDPARTY_DEFAULT_USELOCALTAX1 => When creating a new third party, the field "Use second tax" is set to on or off depending on value of this parameter.<br />
* THIRDPARTY_DEFAULT_USELOCALTAX2 => When creating a new third party, the field "Use third tax" is set to on or off depending on value of this parameter.<br />
* THIRDPARTY_INCLUDE_PARENT_IN_LINKTO => Search also for elements on parent third party when using the "link to" object feature.<br />
* THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO => Search also for elements on third party that own the project of the current element when using the "link to" object feature (if project is owned by a different thirdparty than current one).<br />
* SOCIETE_ASK_FOR_SHIPPING_METHOD => Shipping method can be predefined on customer card and will be used as default on order creation<br />
* THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD => When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.<br />
* MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL => External users are always restricted on the thirdparty of their contact record. With this option, permission "see all thirdparty" may works also for external user. Not implemented yet...<br />
<br />
== Proposals module ==<br />
* PROPAL_CLONE_ON_CREATE_PAGE => On the create proposal page, ask if we want to create the proposal by cloning an already existing one. You should use instead the "Clone" button available on existing proposals.<br />
* MAIN_PROPAL_CHOOSE_ODT_DOCUMENT => On setup page, you'll be able to select which ODT document to use when close or cancel proposals.<br />
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Add a picture of the product (the first one found if there are several) into the generated PDF of proposals. Note that using this will reduce the available width for the product description.<br />
* PROPAL_DISABLE_SIGNATURE => Do no show the box for signature.<br />
* WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES => Button "Classified Billed" is visible on proposal even if there is no invoice linked to proposal.<br />
* PRODUIT_PDF_MERGE_PROPAL => When generating the proposal PDF, all PDFs linked to products linked to proposal are also included into final PDF<br />
* PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD => When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. (v7.0+)<br />
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => add optional esign field in pdf propal<br />
<br />
== Order module ==<br />
* COMMANDE_REQUIRE_SOURCE => Make the input field "Source of order" mandatory.<br />
* COMMANDE_VALID_AFTER_CLOSE_PROPAL => When an order is created on a proposal close, the order is directly defined with status "Validated".<br />
* COMMANDE_CHANGE_THIRDPARTY => Can change customer on orders<br />
* ORDER_ALLOW_EXTERNAL_DOWNLOAD => When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. (v7.0+)<br />
<br />
== Invoice module ==<br />
* MAIN_DEPOSIT_MULTI_TVA => In deposits invoice, creates one line per VAT rate from the origin document (6.0)<br />
* FACTURE_SHOW_SEND_REMINDER => Show link "Send reminder by mail", same feature than "Send by mail" (obsolete feature).<br />
* INVOICE_CAN_ALWAYS_BE_EDITED => Allow to edit invoices even if payment was started. Note: If the module "'''BlockedLog'''" is active (required by some countries for legal reason), this will not change content of archived logs tracked by this module. By definition there is no way to change or remove archived records. It will just update data in your application and a new record to track your change into the non reversible archive log.<br />
* INVOICE_CAN_ALWAYS_BE_REMOVED => Allow to always delete invoices (even if invoice is not last one). Note: If the module "'''BlockedLog'''" is active (required by some countries for legal reason), this will not change content of archived logs tracked by this module. By definition there is no way to change or remove archived records. It will just update data in your application and a new record to track your change into the non reversible archive log.<br />
* INVOICE_CAN_NEVER_BE_REMOVED => Never allow to delete invoices (except draft invoices).<br />
* INVOICE_POSITIVE_CREDIT_NOTE => All amounts on PDF credit notes are positive.<br />
* FACTURE_CHANGE_THIRDPARTY => Allow to change the third party in the draft invoices. If a discount was set from the original thirdparty, then discount remain, making data not coherent.<br />
* FACTURE_USE_PROFORMAT => Enable PROFORMAT invoices type.<br />
* FACTURE_DEPOSITS_ARE_JUST_PAYMENTS => Treats deposit invoices as a special case. Deposit invoices don't get counted on turnover. They are then applied as a payment, like a discount, on the final invoice. By default, when you include the deposit into draft of final invoice, the amount of final invoice is reduced. With this option, final amount is not reduced but a payment is registered. <br />
* FACTURE_SENDBYEMAIL_FOR_ALL_STATUS => Can send invoice by email to customer even if invoice has status "draft".<br />
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT => Disable VAT on genrated documents. like for an association. (it's work with crabe template)<br />
* INVOICE_CREDIT_NOTE_STANDALONE (dolibarr 3.9) => Can make a credit note without invoice.<br />
* INVOICE_USE_SITUATION = Enable the "situation invoice" feature<br />
* INVOICE_USE_SITUATION_CREDIT_NOTE (dolibarr 8.0) = Enable the "situation credit note" feature (need INVOICE_USE_SITUATION)<br />
* INVOICE_DISABLE_DEPOSIT = Disable deposit invoices<br />
* INVOICE_DISABLE_REPLACEMENT = Disable replacement invoices<br />
* INVOICE_DISABLE_CREDIT_NOTE = Disable credit notes<br />
* WORKFLOW_BILL_ON_SHIPMENT = Change label of button with suitable label when you need to create invoice on shipments<br />
* INVOICE_ALLOW_EXTERNAL_DOWNLOAD => When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. (v7.0+)<br />
<br />
== Expense Report ==<br />
* EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS => Can enter several expense reports on same or overlapping date periods. (v7.0+)<br />
<br />
==VAT Report==<br />
* MAIN_INCLUDE_ZERO_VAT_IN_REPORTS => Include lines with VAT to 0% (for "auto-liquidation" in EEC)<br />
<br />
== Export module ==<br />
* EXPORT_CSV_SEPARATOR_TO_USE => String value to use as default separator to delimit fields of exported files (by default Dolibarr uses ","). Example: EXPORT_CSV_SEPARATOR_TO_USE=;<br />
* EXPORT_CSV_FORCE_CHARSET => Choose the charset used in the output file built by the CSV exporter. By default it is ISO-8859-1. Example: EXPORT_CSV_FORCE_CHARSET= utf-8<br />
* EXPORTTOOL_CATEGORIES => Can export categories (several lines) into one column with the "product export profile"<br />
* USE_STRICT_CSV_RULES => Use strict/real CSV format for export. Do not clean/replace CR+LF with '\n' but quote them using the escaping CSV char (").<br />
<br />
== Agenda module ==<br />
* AGENDA_MAX_EVENTS_DAY_VIEW => Define the maximum number of visible entries for each day in agenda. Default value is 3. Value 0 means no limit.<br />
* AGENDA_USE_EVENT_TYPE => Add a mandatory field "Type" when creating an event (deprecated).<br />
* AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS => To automatically set end date of event to start date + delta on event creation page.<br />
* MAIN_ADD_EVENT_ON_ELEMENT_CARD => Allow to create an event from a document (proposal, order, invoice)<br />
<br />
== Products module ==<br />
* MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE => Avoid Custom code and country of origin to be set as product description when added to Propal/Order/Invoice<br />
* PRODUCT_ADD_TYPE_IN_DOCUMENTS => Add text "Product" or "Service" at beginning of details lines on built PDF documents.<br />
* PRODUCT_DONOTSEARCH_ANYWHERE => When Ajax search is enabled, search is done on criteria anywhere in label of product. By adding this option, search is done only on start of label. This is really faster when you have a huge number of products.<br />
* PRODUIT_DESC_IN_LIST => Show long description of product/service into lists.<br />
* PRODUIT_PDF_MERGE_PROPAL => Enable module Propal merge product PDF<br />
* PRODUCT_USE_OLD_PATH_FOR_PHOTO => Ask dolibarr to check also old path (before 3.7) where photos were stored.<br />
* PRODUCT_USE_UNITS => Enable units from dictionary in product/service card.<br />
* PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL => When option to use price per level/segment is on, this allows to also set a dedicated vat for each price level.<br />
* MAIN_DIRECT_STATUS_UPDATE => Allows you to change the status of the product (''for sale/not for sale for purchase/not for purchase'') directly on the product page via a ''on/off'' switch button. This can be convenient for those who need to quickly disable certain statuses of products without having to go through the editing product page individually. Also can be very useful if used as a filter on the product and product search list. This option doesn't generate a MODIFY trigger, so be careful with external modules. v4.0+<br />
<br />
* PRODUCT_CHARGES => Adds an extra field for adhoc charges at the product buying price stage. The Cost price is then calculated with supplier price + charges if defined. Useful for extra costs for a product or certain delivery charges to the product.<br />
<br />
* PRODUCT_MAX_VISIBLE_PHOTO => Show a maximum number of product photos (as thumbnails) on the product main card. Example, setting this constant to '5' will show the first five product photos found on the product card.<br />
* PRODUCT_MAX_LENGTH_COMBO => limit the length of the label displayed when adding lines in proposals/invoices/orders<br />
* MAIN_DISABLE_FREE_LINES (>= 8.0) => Disallow using free lines to add line in documents<br />
<br />
== Services module ==<br />
* SERVICE_ARE_ECOMMERCE_200238EC => If this option is enabled, services are processed like eServices according to directive of EU Council Directive 2002/38/EC (http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en.htm). Default VAT rate are based on buying country instead of selling country for BtoC sells.<br />
<br />
== Stocks ==<br />
* MAIN_SERVICES_ARE_ECOMMERCE_200238EC (< 8) => <br />
<br />
* CASHDESK_FORCE_STOCK_ON_BILL (>= 8.0.1) => Option to force decrease of stock whatever is user setup.<br />
<br />
* SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED => Disable stock dispatch when total expected was already received.<br />
<br />
== Shipments ==<br />
* STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS (>= 8.0.1) => If set, you can add a shipment line, with no stock source defined.<br />
<br />
* SHIPMENT_GETS_ALL_ORDER_PRODUCTS => Add all order lines in shipment, including the one with 0 in quantity<br />
<br />
== Point of Sale ==<br />
* CASHDESK_SHOW_KEYPAD => Show a mouse key pad into Point Of Sale.<br />
* POS_ADDON = Set this value to an existing numbering module rule (for example 'mod_facture_terre', 'mod_facture_mars', ...) to force the numbering module to us to define the invoice ref when invoice is created by the POS. For example setting value POS_ADDON to 'mod_facture_terre' will use the numbering module 'terre' for invoice generated from POS, whatever is the numbering rule defined into invoice module setup (you can also use POS_NUMBERING_TERRE_FORCE_PREFIX and POS_NUMBERING_MARS_FORCE_PREFIX variable to change the prefix used).<br />
<br />
== Contracts ==<br />
* CONTRACT_SUPPORT_PRODUCTS => Products are also suggested into module contract.<br />
<br />
== Projects module ==<br />
* PROJECT_DISABLE_UNLINK_FROM_OVERVIEW (>= 8.0.1) => Enable removing the button from a link in the project overview.<br />
* PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS => Enable linking a project to any supplier even when using the third party link feature. Note: Set to 1 by default from 3.7.<br />
* PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS => Can add time spent on tasks, even if i am not assigned to task (however, task must be a project i am a contact).<br />
* PROJECT_SHOW_REF_INTO_LISTS => Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)<br />
* PROJECT_HIDE_UNSELECTABLES => Hide into select list, all project that we can't select (closed or draft)<br />
* PROJECT_HIDE_TASKS => Hide tasks. For user using project only as an analytics key and not using tasks.<br />
* PROJECT_LIST_SHOW_STARTDATE => Shows start date of projects in project lists.<br />
* PROJECT_LINK_ON_OVERWIEW_DISABLED (4.0) => Hide the "link to" form on the overview page<br />
* PROJECT_CREATE_ON_OVERVIEW_DISABLED (4.0) => Hide the "create ..." button on the overview page<br />
* PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY => Can link an object to a project of another thirdparty<br />
* PROJECT_ALLOW_COMMENT_ON_TASK => Add comment feature on project task<br />
<br />
== Foundation module ==<br />
* MEMBER_URL_REDIRECT_SUBSCRIPTION => Link called and shown when a member account is autocreated in member module by a guest user.<br />
* MEMBER_EXT_URL_SUBSCRIPTION_INFO => Link of external page pointed by the "Show here" link added in front off payment cell, into the page to make online subscription.<br />
<br />
== Interventions module ==<br />
* FICHINTER_CLASSIFY_BILLED => Allow to classify an intervention card as "Billed". This add also trigger FICHINTER_CLASSIFY_BILLED into list of possible automatic event into agenda.<br />
* FICHINTER_DISABLE_DETAILS => Disable entry of details line on intervention. Can validate with no line.<br />
<br />
== Suppliers module ==<br />
* FOURN_PRODUCT_AVAILABILITY => On the Suppliers price page of the products, activate the supplier product availability. This is duplicate feature with delivery_delay introduced with 3.8.<br />
* RELOAD_PAGE_ON_SUPPLIER_CHANGE => On creation of a supplier order/invoice, reload form with supplier-specific details when supplier is selected from drop-down list.<br />
* SUPPLIER_ORDER_AUTOADD_USER_CONTACT => Add user approving supplier order as a contact automatically.<br />
* SUPPLIER_ORDER_DEFAULT_PAYMENT_MODE_ID => Set the default payment method for suppliers (rowid in table llx_c_paiement).<br />
* SUPPLIER_ORDER_USE_DISPATCH_STATUS => Add a status on each dispatch order line when receiving products from suppliers (v4.0+)<br />
* SUPPLIER_ORDER_NO_DIRECT_APPROVE => No button "Validate and Approve". Always do step "Validate" and "Approve" in 2 steps.<br />
* SUPPLIER_ORDER_WITH_NOPRICEDEFINED => Can enter a product even if no supplier price defined. (v6.0+)<br />
* SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT => Can modify the buying price used for PMP calculation when making a stock reception on a supplier order. (v6.0+)<br />
<br />
== Bank module ==<br />
* BANK_CAN_RECONCILIATE_CASHACCOUNT (3.8) => Can reconciliate cash accounts<br />
* BANK_DISABLE_CHECK_DEPOSIT => Disable check deposit feature<br />
* BANK_ASK_PAYMENT_BANK_DURING_ORDER => Ask bank account during creation of an order<br />
* BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL => Ask bank account during creation of a proposal<br />
<br />
== Emailing module ==<br />
* MAILING_PREFIX_FOR_EMAIL_ID => Set the value that will be used to compose the "Email Id" into email headers. If you set this value to 'SERVER_NAME', the virtual host of web server will be used. By default, this is not defined, so a hash key, unique to each instance, is used.<br />
* MAILING_NO_USING_PHPMAIL => If set, the module emailing can't be use with mail setup of "phpmail". Using a thirdparty SMTP server is required. You can complete warning message by adding an email to contact for setup help with constant MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS.<br />
* MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS => Contains an email to show in a message visible to user when he try to use emailing module without SMTP server and if option MAILING_NO_USING_PHPMAIL is set to on.<br />
* MAILING_LIMIT_WARNING_PHPMAIL => Show a warning message (var contains the message to show or translation key) on emailing send form if setup is on "phpmail". For example, you can set this parameter to 'MAILING_LIMIT_WARNING_PHPMAIL' and enter translation key for each language for this key.<br />
* MAILING_LIMIT_WARNING_NOPHPMAIL => Show a warning message (var contains the message to show or translation key) on emailing send form if setup is something else than "phpmail". For example, you can set this parameter to 'MAILING_LIMIT_WARNING_NOPHPMAIL' and enter translation key for each language for this key.<br />
* EMAILING_USE_ADVANCED_SELECTOR => Enable the advanced selector for destinaries<br />
<br />
* MAILING_LIMIT_SENDBYWEB => Restrict number of emails you can send in same sending session with emailing module from GUI. The value "dolibarr_mailing_limit_sendbyweb" if defined into config file is used in priority for this limit. A negative value means, sending by web is forbidden.<br />
* MAILING_LIMIT_SENDBYCLI => Restrict number of emails you can send in same sending session with emailing module from CLI script. The value "dolibarr_mailing_limit_sendbycli" if defined into config file is used in priority for this limit.<br />
<br />
== PDF options ==<br />
* MAIN_DISABLE_FORCE_SAVEAS => If your browser ask always to save downloaded files on disk (like PDF), try to add this option. File might appears directly into your browser.<br />
<br />
* MAIN_DISABLE_PDF_COMPRESSION => Disable PDF compression.<br />
<br />
* MAIN_INVERT_SENDER_RECIPIENT => Invert sender and recipient in some PDF.<br />
<br />
* MAIN_DISABLE_PDF_AUTOUPDATE => Disable automatic generation of PDF each time we add/update/delete a product line (we can still build document by clicking on "Generate"). This option may increase interface speed on servers with low CPU.<br />
<br />
* MAIN_USE_BACKGROUND_ON_PDF => Define this constant with short name of an image (example "myimage.jpg") that must be saved into directory "documents/mycompany/logos". This will add this background image into your generated PDF files. Warning: This option make TCPDF library beeing crazy sometime and content on image disappeared !<br />
<br />
* MAIN_ADD_PDF_BACKGROUND => Define this constant with short name of a PDF file (example "mypdf.pdf") that must be saved into directory "documents/mycompany". This will add PDF as a background of some of your generated PDF files (proposals,invoices,orders). If you need to concat PDF, see instead [[Module Concat PDF]].<br />
<br />
* MAIN_PDF_FORCE_FONT => To ignore font defined into language file and force usage of a particular font. For example "DejaVuSans".<br />
<br />
* MAIN_PDF_FREETEXT_HEIGHT => Change height of space reserved to output the free text.<br />
<br />
* MAIN_PDF_TITLE_BACKGROUND_COLOR => Can define a background color onto title line. Example: '220,220,200'<br />
<br />
* MAIN_USE_COMPANY_NAME_OF_CONTACT => Use contact name and information rather than company<br />
<br />
* MAIN_ODT_AS_PDF => Activate PDF conversion from ODT document. If value is 'jodconverter', java and jodconverter command line tool must be available. If value is '/pathto/jodconverter.jar', then java and the jodconvertar jar must exists. soffice must also be available. MAIN_DOL_SCRIPTS_ROOT Must also be defined to path where the "scripts" directory is stored (for example /var/www/mydolibarr).<br />
<br />
* MAIN_ODT_AS_PDF_DEL_SOURCE => For ODT generation. If set, then initial behaviour is conserved but odt file is removed when option to convert it as PDF (see previous) is on. Disabled by default<br />
<br />
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Include the first image of the product into the line of the generated PDF for customer proposals.<br />
<br />
* MAIN_GENERATE_INVOICES_WITH_PICTURE => Include the first image of the product into the line of the generated PDF for customer invoices.<br />
<br />
* MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE => Include the first image of the product into the line of the generated PDF for supplier proposals (v5.0.3+)<br />
<br />
* MAIN_DOCUMENTS_WITH_PICTURE_WIDTH => Can change size of picture when hidden option MAIN_GENERATE_PROPOSALS_WITH_PICTURE is used. By default value is 20.<br />
<br />
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN => Hide column with VAT information but only column not total.<br />
<br />
* PDF_SHOW_PROJECT => Show project onto PDF (supported on supplier order only for the moment)<br />
<br />
* PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN => Hide bank number ("code banque/guichet/compte" for france, "sort number/account" for GB, ...) and keep only BIC/IBAN on PDF.<br />
<br />
* PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES => Value 1 or 2 change the way product ref is show (1 = show supplier ref only and not internal ref, 2 = show supplier then internal). Without, internal ref then supplier is shown.<br />
<br />
* MAIN_PDF_ADDALSOTARGETDETAILS => Add particular details like the telephone number on generated PDFs. Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.<br />
<br />
* PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME => Include alternative/alias name into name on PDF.<br />
<br />
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => add optional esign field in pdf propal<br />
<br />
== WYSIWYG Editor ==<br />
<br />
* FCKEDITOR_ENABLE_DETAILS_FULL => Can cut and paste external images (hosted on external server) into description of proposal, orders or invoices. WARNING: PDF generation is not guaranted with this. Also if the image is removed or renamed by the image hoster, your proposal, order or invoice will be broken.<br />
<br />
<br />
== BlockedLog ==<br />
<br />
* BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY => Make disable of module "blockedlog" not possible for countries code defined into value. Example: 'FR,...'<br />
<br />
== MultiCurrency ==<br />
<br />
* MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION => Enable CurrencyLayer API synchronization</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Generic_website_infrastructure_setup&diff=40010Generic website infrastructure setup2018-10-10T05:38:27Z<p>Yves.brungard: /* Virtual host */</p>
<hr />
<div>This pages aims to provide links toward other reliable sources, to understand the different topics it's important to understand the principle that internet use.<br />
<br />
1. Internet is an IP network, meaning that to reach every server an IP is required<br />
<br />
2. When a name is used to reach a server, this name need to be translated to an IP by a Domain name server (DNS)<br />
<br />
3. Your network use a private range of IP address therefore can't be reached from internet without a specific configuration<br />
<br />
=Domain, Domain name server (DNS) and DynDNS=<br />
Wikipedia[https://fr.wikipedia.org/wiki/Domain_Name_System]:<br />
A DNS is important when you want to reach your server from internet because you don't want to learn your IP by heart, you'd rather buy a domain like mycompany.org and use it to reach your server. When you type "www.mydomain.com" in a browser, your computer will call the default DNS; if this DNS doesn't know the IP attached to mycompany.org it will check with other DNS until it gets the answer, sometime www.mycompany.org can refers to another domain like datacenter1.mycompany.org. In this the case, the DNS will look for the IP attached to datacenter1.mycompany.org. <br />
<br />
When you own a domain, you also own all the sub-domain like www.mycompany.org, erp.mycompany.org, yyy.xxx.mycompany.org ...; you can map this domain and its sub.domain to either an IP or another domain, usually with the company that sold you the domain. Here the main type that you will have to configure on the domain vendor portal:<br />
# "CNAME" record: used to map to another domain <br />
# "A" record: use to map an IP v4<br />
# "AAAA" record: use to map an IP v6<br />
# In case you don't own a fixed IP, you can use a Dynamic DNS[https://en.wikipedia.org/wiki/Dynamic_DNS] service: there is a daemon running on your network that will keep updating your IP in the DNS (usually the internet modem/gateway have this function). Often you will have to configure a dynamic DNS username and password on your domain vendor portal. <br />
<br />
Here the example for OVH: https://docs.ovh.com/gb/en/domains/web_hosting_how_to_edit_my_dns_zone/<br />
<br />
=Port Forwarding, DMZ and Reverse Proxy=<br />
Once your Domain/subdomain refers to your IP address, Internet requests will arrive to your internet gateway, but you'll need to setup port forwarding[https://en.wikipedia.org/wiki/Port_forwarding] in order to forward those requests toward your web server.<br />
<br />
The default internet port are 80 for http and 443 for https, once the portforwarding is configured for those port (80 & 443), it'll affect all the web traffics coming on this port. A simple port forwarding will work if you have a single web server (could host several websites) but if you have multiple web servers you may have to forward your traffic to a reverse proxy[https://en.wikipedia.org/wiki/Reverse_proxy] that will be able to redirect the traffic based on the domain/subdomain or/and url. <br />
<br />
If you want to be sure that internet traffic can't reach the other device on your network (LAN), you can place the reverse proxy in a DMZ[https://en.wikipedia.org/wiki/DMZ_(computing)] with firewall rules that allow only the traffic from internet to the reverse proxy and from the reverse proxy to specific IP on your local LAN (ie. your servers) but the firewall will block all other traffic coming from internet. For such setup there is an open source security appliance called pfSense that is able to do the firewall and the reverse proxy (with the module called HAProxy), pfSense can be installed on an old PC or deployed on a virtual machine.<br />
<br />
=Virtual host=<br />
Virtual host [https://en.wikipedia.org/wiki/Virtual_hosting] is a method which aims to define with a configuration file of the web server (e.g Apache) a domain/Url called by the user's browser to access to your application; for example a virtual host configuration can be setup for:<br />
# www.mycompnay.org, the configuration file will define where to look for the pages like /usr/share/mangento/myshop ;<br />
# cloud.mycompany.org, the configuration file can define a reverse proxy to redirect the traffic to http://localhost:8888 in order to show the nextcloud pages;<br />
# dolibarr.mycompany.og, the configuration file could be the one to access your Dolibarr [https://github.com/Dolibarr/dolibarr/blob/develop/build/debian/apache/dolibarr.conf].<br />
<br />
=SSL encryption=<br />
The SSL encryption enable the encrypt the traffic between the user web browser and the server so even if someone is able to intercept the traffic he won't be able to see you passwords, website content ... the SSL encryption is configured at the virtual host level<br />
# Certificat generation with Openssl (selfsigned)<br />
# Certificat generation with Let's encrypt<br />
# Configuration of the virtual host<br />
# Let's encrypt certificate renewal <br />
<br />
<br />
=Advanced setup=<br />
# virtualisation<br />
# LXC container<br />
# Docker<br />
# pfSense</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Generic_website_infrastructure_setup&diff=40009Generic website infrastructure setup2018-10-10T05:33:54Z<p>Yves.brungard: /* Port Forwarding, DMZ and Reverse Proxy */</p>
<hr />
<div>This pages aims to provide links toward other reliable sources, to understand the different topics it's important to understand the principle that internet use.<br />
<br />
1. Internet is an IP network, meaning that to reach every server an IP is required<br />
<br />
2. When a name is used to reach a server, this name need to be translated to an IP by a Domain name server (DNS)<br />
<br />
3. Your network use a private range of IP address therefore can't be reached from internet without a specific configuration<br />
<br />
=Domain, Domain name server (DNS) and DynDNS=<br />
Wikipedia[https://fr.wikipedia.org/wiki/Domain_Name_System]:<br />
A DNS is important when you want to reach your server from internet because you don't want to learn your IP by heart, you'd rather buy a domain like mycompany.org and use it to reach your server. When you type "www.mydomain.com" in a browser, your computer will call the default DNS; if this DNS doesn't know the IP attached to mycompany.org it will check with other DNS until it gets the answer, sometime www.mycompany.org can refers to another domain like datacenter1.mycompany.org. In this the case, the DNS will look for the IP attached to datacenter1.mycompany.org. <br />
<br />
When you own a domain, you also own all the sub-domain like www.mycompany.org, erp.mycompany.org, yyy.xxx.mycompany.org ...; you can map this domain and its sub.domain to either an IP or another domain, usually with the company that sold you the domain. Here the main type that you will have to configure on the domain vendor portal:<br />
# "CNAME" record: used to map to another domain <br />
# "A" record: use to map an IP v4<br />
# "AAAA" record: use to map an IP v6<br />
# In case you don't own a fixed IP, you can use a Dynamic DNS[https://en.wikipedia.org/wiki/Dynamic_DNS] service: there is a daemon running on your network that will keep updating your IP in the DNS (usually the internet modem/gateway have this function). Often you will have to configure a dynamic DNS username and password on your domain vendor portal. <br />
<br />
Here the example for OVH: https://docs.ovh.com/gb/en/domains/web_hosting_how_to_edit_my_dns_zone/<br />
<br />
=Port Forwarding, DMZ and Reverse Proxy=<br />
Once your Domain/subdomain refers to your IP address, Internet requests will arrive to your internet gateway, but you'll need to setup port forwarding[https://en.wikipedia.org/wiki/Port_forwarding] in order to forward those requests toward your web server.<br />
<br />
The default internet port are 80 for http and 443 for https, once the portforwarding is configured for those port (80 & 443), it'll affect all the web traffics coming on this port. A simple port forwarding will work if you have a single web server (could host several websites) but if you have multiple web servers you may have to forward your traffic to a reverse proxy[https://en.wikipedia.org/wiki/Reverse_proxy] that will be able to redirect the traffic based on the domain/subdomain or/and url. <br />
<br />
If you want to be sure that internet traffic can't reach the other device on your network (LAN), you can place the reverse proxy in a DMZ[https://en.wikipedia.org/wiki/DMZ_(computing)] with firewall rules that allow only the traffic from internet to the reverse proxy and from the reverse proxy to specific IP on your local LAN (ie. your servers) but the firewall will block all other traffic coming from internet. For such setup there is an open source security appliance called pfSense that is able to do the firewall and the reverse proxy (with the module called HAProxy), pfSense can be installed on an old PC or deployed on a virtual machine.<br />
<br />
=Virtual host=<br />
Virtual host [https://en.wikipedia.org/wiki/Virtual_hosting] is a configuration file that aim to define a configuration of the web server (e.g Apache) based on the domain/Url called by the user's browser; for instance a virtual host configuration can be setup for<br />
# www.mycompnay.org, the configuration file will define where to look for the pages like /usr/share/mangento/myshop<br />
# cloud.mycompany.org, the configuration file can define a reverse proxy to redirect the traffic to http://localhost:8888 in order to show the nextcloud pages<br />
# dolibarr.mycompny.og, the configuration file could be the one of Dolibarr [https://github.com/Dolibarr/dolibarr/blob/develop/build/debian/apache/dolibarr.conf]<br />
<br />
=SSL encryption=<br />
The SSL encryption enable the encrypt the traffic between the user web browser and the server so even if someone is able to intercept the traffic he won't be able to see you passwords, website content ... the SSL encryption is configured at the virtual host level<br />
# Certificat generation with Openssl (selfsigned)<br />
# Certificat generation with Let's encrypt<br />
# Configuration of the virtual host<br />
# Let's encrypt certificate renewal <br />
<br />
<br />
=Advanced setup=<br />
# virtualisation<br />
# LXC container<br />
# Docker<br />
# pfSense</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Generic_website_infrastructure_setup&diff=40008Generic website infrastructure setup2018-10-10T05:31:44Z<p>Yves.brungard: /* Domain, Domain name server (DNS) and DynDNS */</p>
<hr />
<div>This pages aims to provide links toward other reliable sources, to understand the different topics it's important to understand the principle that internet use.<br />
<br />
1. Internet is an IP network, meaning that to reach every server an IP is required<br />
<br />
2. When a name is used to reach a server, this name need to be translated to an IP by a Domain name server (DNS)<br />
<br />
3. Your network use a private range of IP address therefore can't be reached from internet without a specific configuration<br />
<br />
=Domain, Domain name server (DNS) and DynDNS=<br />
Wikipedia[https://fr.wikipedia.org/wiki/Domain_Name_System]:<br />
A DNS is important when you want to reach your server from internet because you don't want to learn your IP by heart, you'd rather buy a domain like mycompany.org and use it to reach your server. When you type "www.mydomain.com" in a browser, your computer will call the default DNS; if this DNS doesn't know the IP attached to mycompany.org it will check with other DNS until it gets the answer, sometime www.mycompany.org can refers to another domain like datacenter1.mycompany.org. In this the case, the DNS will look for the IP attached to datacenter1.mycompany.org. <br />
<br />
When you own a domain, you also own all the sub-domain like www.mycompany.org, erp.mycompany.org, yyy.xxx.mycompany.org ...; you can map this domain and its sub.domain to either an IP or another domain, usually with the company that sold you the domain. Here the main type that you will have to configure on the domain vendor portal:<br />
# "CNAME" record: used to map to another domain <br />
# "A" record: use to map an IP v4<br />
# "AAAA" record: use to map an IP v6<br />
# In case you don't own a fixed IP, you can use a Dynamic DNS[https://en.wikipedia.org/wiki/Dynamic_DNS] service: there is a daemon running on your network that will keep updating your IP in the DNS (usually the internet modem/gateway have this function). Often you will have to configure a dynamic DNS username and password on your domain vendor portal. <br />
<br />
Here the example for OVH: https://docs.ovh.com/gb/en/domains/web_hosting_how_to_edit_my_dns_zone/<br />
<br />
=Port Forwarding, DMZ and Reverse Proxy=<br />
Once your Domain/subdomain refers to your IP address, Internet requests will arrive to your internet gateway but you'll need to setup port forwarding[https://en.wikipedia.org/wiki/Port_forwarding] in order to forward those requests toward your web server.<br />
<br />
The default internet port are 80 for http and 443 for https, once the portforwarding is configured for those port (80 & 443) it'll affect all the web traffics coming on this port. A simple port forwarding will work if you have a single web server (could host serveral websites) but if you have multiple web servers you may have to forward your traffic to a reverse proxy[https://en.wikipedia.org/wiki/Reverse_proxy] that will be able to redirect the traffic based on the domain/subdomain or/and url. <br />
<br />
If you want to be sure that internet traffic can't reach the other device on your network (LAN), you can place the reverse proxy in a DMZ[https://en.wikipedia.org/wiki/DMZ_(computing)] with firewall rules that allow only the traffic from internet to the reverse proxy and from the reverse proxy to specific IP on your local LAN (ie. your servers) but the firewall will block all other traffic coming from internet. For such setup there is an open source security appliance called pfSense that is able to do the firewall and the reverse proxy (with the module called HAProxy), pfSense can be installed on an old Pc or deployed on a virtual machine.<br />
<br />
=Virtual host=<br />
Virtual host [https://en.wikipedia.org/wiki/Virtual_hosting] is a configuration file that aim to define a configuration of the web server (e.g Apache) based on the domain/Url called by the user's browser; for instance a virtual host configuration can be setup for<br />
# www.mycompnay.org, the configuration file will define where to look for the pages like /usr/share/mangento/myshop<br />
# cloud.mycompany.org, the configuration file can define a reverse proxy to redirect the traffic to http://localhost:8888 in order to show the nextcloud pages<br />
# dolibarr.mycompny.og, the configuration file could be the one of Dolibarr [https://github.com/Dolibarr/dolibarr/blob/develop/build/debian/apache/dolibarr.conf]<br />
<br />
=SSL encryption=<br />
The SSL encryption enable the encrypt the traffic between the user web browser and the server so even if someone is able to intercept the traffic he won't be able to see you passwords, website content ... the SSL encryption is configured at the virtual host level<br />
# Certificat generation with Openssl (selfsigned)<br />
# Certificat generation with Let's encrypt<br />
# Configuration of the virtual host<br />
# Let's encrypt certificate renewal <br />
<br />
<br />
=Advanced setup=<br />
# virtualisation<br />
# LXC container<br />
# Docker<br />
# pfSense</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Generic_website_infrastructure_setup&diff=39988Generic website infrastructure setup2018-10-09T07:27:02Z<p>Yves.brungard: /* Port Forwarding, DMZ and Reverse Proxy */</p>
<hr />
<div>This pages aims to provide links toward other reliable sources, to understand the different topics it's important to understand the principle that internet use.<br />
<br />
1. Internet is an IP network, meaning that to reach every server an IP is required<br />
<br />
2. When a name is used to reach a server, this name need to be translated to an IP by a Domain name server (DNS)<br />
<br />
3. Your network use a private range of IP address therefore can't be reached from internet without a specific configuration<br />
<br />
=Domain, Domain name server (DNS) and DynDNS=<br />
Wikipedia[https://fr.wikipedia.org/wiki/Domain_Name_System]:<br />
A DNS is important when you want to reach your server from internet because you don't want to learn your IP by heart, you'd rather buy a domain like mycompany.org and use it to reach your server.<br />
<br />
# When you own a domain, you also own all the sub-domain like www.mycompany.org, erp.mycompany.org, yyy.xxx.mycompany.org ...; you can map this domain and its sub.domain to either an IP or another domain usually with the company that sold you the domain (there is other type of DNS record but we won't mention them here).<br />
# In order to link you domain to an IP, you'll need an A DNS record for a IPv4 address or an AAA DNS record for a IPv6 address; in case you don't own a fixed IP you can use a Dynamic DNS[https://en.wikipedia.org/wiki/Dynamic_DNS] service: there is a daemon runing on your network that will keep updating your IP in the DNS (usually the internet modem/gateway have this funciton).<br />
# In order to link your domain to another domain, you will need to setup a NAME DNS record (e.g. to the domain with an A record).<br />
<br />
=Port Forwarding, DMZ and Reverse Proxy=<br />
Once your Domain refers to your IP address, Internet requests will arrive to your internet gateway but you'll need to setup port forwarding[https://en.wikipedia.org/wiki/Port_forwarding] in order to forward those requests toward your web server.<br />
<br />
The default internet port are 80 for http and 443 for https, once the PF is configured it'll affect all the traffics coming on this port. If you have multiple web servers you may have to forward your traffic to a reverse proxy[https://en.wikipedia.org/wiki/Reverse_proxy] that will be able to redirect the traffic based on the url. <br />
<br />
If you want to avoid having internet traffic on your network (LAN), you can place the reverse proxy in a DMZ[https://en.wikipedia.org/wiki/DMZ_(computing)] with firewall rule that allow only the traffic from internet to the reverse proxy and from the reverse proxy to the local LAN (ie. your servers). For such setup there is an open source called pfSense solution that is able to do the firewall and the reverse proxy (with the module called HAProxy).<br />
<br />
=Virtual host=<br />
your public IP can <br />
<br />
=SSL encryption=<br />
=Let's encrypt / ACME=<br />
=DMZ and port forwarding=<br />
=Reverse proxy and SSL offloading=</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Generic_website_infrastructure_setup&diff=39987Generic website infrastructure setup2018-10-09T07:23:27Z<p>Yves.brungard: /* Domain, Domain name server (DNS) and DynDNS */</p>
<hr />
<div>This pages aims to provide links toward other reliable sources, to understand the different topics it's important to understand the principle that internet use.<br />
<br />
1. Internet is an IP network, meaning that to reach every server an IP is required<br />
<br />
2. When a name is used to reach a server, this name need to be translated to an IP by a Domain name server (DNS)<br />
<br />
3. Your network use a private range of IP address therefore can't be reached from internet without a specific configuration<br />
<br />
=Domain, Domain name server (DNS) and DynDNS=<br />
Wikipedia[https://fr.wikipedia.org/wiki/Domain_Name_System]:<br />
A DNS is important when you want to reach your server from internet because you don't want to learn your IP by heart, you'd rather buy a domain like mycompany.org and use it to reach your server.<br />
<br />
# When you own a domain, you also own all the sub-domain like www.mycompany.org, erp.mycompany.org, yyy.xxx.mycompany.org ...; you can map this domain and its sub.domain to either an IP or another domain usually with the company that sold you the domain (there is other type of DNS record but we won't mention them here).<br />
# In order to link you domain to an IP, you'll need an A DNS record for a IPv4 address or an AAA DNS record for a IPv6 address; in case you don't own a fixed IP you can use a Dynamic DNS[https://en.wikipedia.org/wiki/Dynamic_DNS] service: there is a daemon runing on your network that will keep updating your IP in the DNS (usually the internet modem/gateway have this funciton).<br />
# In order to link your domain to another domain, you will need to setup a NAME DNS record (e.g. to the domain with an A record).<br />
<br />
=Port Forwarding, DMZ and Reverse Proxy=<br />
Once your Domain refers to your IP address, Internet messages will arrive to your internet gateway but you'll need to setup port forwarding[https://en.wikipedia.org/wiki/Port_forwarding] in order to forward those message toward your web server.<br />
<br />
the default internet port are 80 for http and 443 for https, once the PF is configured it'll affect all the traffics coming on this port, if you have multiple web server you may have to forward your traffic to a reverse proxy[https://en.wikipedia.org/wiki/Reverse_proxy] that will be able to redirect the traffic based on the url. <br />
<br />
If you want to avoid having internet traffic on your lan you can place the reverse proxy in a DMZ[https://en.wikipedia.org/wiki/DMZ_(computing)] with firewall rule that allow only the traffic from internet to the reverse proxy and from the reserse proxy to the local lan (ie. your servers). For such setup there is an open source called pfSense solution that is able to do the firewall and the reverse proxy (with the module called HAProxy)<br />
<br />
<br />
=Virtual host=<br />
your public IP can <br />
<br />
=SSL encryption=<br />
=Let's encrypt / ACME=<br />
=DMZ and port forwarding=<br />
=Reverse proxy and SSL offloading=</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Generic_website_infrastructure_setup&diff=39986Generic website infrastructure setup2018-10-09T07:22:35Z<p>Yves.brungard: /* Domain, Domain name server (DNS) and DynDNS */</p>
<hr />
<div>This pages aims to provide links toward other reliable sources, to understand the different topics it's important to understand the principle that internet use.<br />
<br />
1. Internet is an IP network, meaning that to reach every server an IP is required<br />
<br />
2. When a name is used to reach a server, this name need to be translated to an IP by a Domain name server (DNS)<br />
<br />
3. Your network use a private range of IP address therefore can't be reached from internet without a specific configuration<br />
<br />
=Domain, Domain name server (DNS) and DynDNS=<br />
Wikipedia[https://fr.wikipedia.org/wiki/Domain_Name_System]:<br />
A DNS is important when you want to reach your server from internet because you don't want to learn your IP by heart, you'd rather buy a domain like mycompany.org and use it to reach your server.<br />
<br />
# When you own a domain, you also own all the sub-domain like www.mycompany.org, erp.mycompany.org, yyy.xxx.mycompany.org ...; you can map this domain and its sub.domain to either an IP or another domain usually with the company that sold you the domain (there is other type of DNS record but we won't mention them here).<br />
<br />
# In order to link you domain to an IP, you'll need an A DNS record for a IPv4 address or an AAA DNS record for a IPv6 address; in case you don't own a fixed IP you can use a Dynamic DNS[https://en.wikipedia.org/wiki/Dynamic_DNS] service: there is a daemon runing on your network that will keep updating your IP in the DNS (usually the internet modem/gateway have this funciton).<br />
<br />
# In order to link your domain to another domain, you will need to setup a NAME DNS record (e.g. to the domain with an A record).<br />
<br />
=Port Forwarding, DMZ and Reverse Proxy=<br />
Once your Domain refers to your IP address, Internet messages will arrive to your internet gateway but you'll need to setup port forwarding[https://en.wikipedia.org/wiki/Port_forwarding] in order to forward those message toward your web server.<br />
<br />
the default internet port are 80 for http and 443 for https, once the PF is configured it'll affect all the traffics coming on this port, if you have multiple web server you may have to forward your traffic to a reverse proxy[https://en.wikipedia.org/wiki/Reverse_proxy] that will be able to redirect the traffic based on the url. <br />
<br />
If you want to avoid having internet traffic on your lan you can place the reverse proxy in a DMZ[https://en.wikipedia.org/wiki/DMZ_(computing)] with firewall rule that allow only the traffic from internet to the reverse proxy and from the reserse proxy to the local lan (ie. your servers). For such setup there is an open source called pfSense solution that is able to do the firewall and the reverse proxy (with the module called HAProxy)<br />
<br />
<br />
=Virtual host=<br />
your public IP can <br />
<br />
=SSL encryption=<br />
=Let's encrypt / ACME=<br />
=DMZ and port forwarding=<br />
=Reverse proxy and SSL offloading=</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Generic_website_infrastructure_setup&diff=39960Generic website infrastructure setup2018-10-08T07:51:21Z<p>Yves.brungard: Structure of new page</p>
<hr />
<div>=DNS=<br />
=Virtual host=<br />
=SSL encryption=<br />
=Let's encrypt / ACME=<br />
=DMZ and port forwarding=<br />
=Reverse proxy and SSL offloading=</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Troubleshooting&diff=39904Troubleshooting2018-10-02T07:25:26Z<p>Yves.brungard: mix of collations</p>
<hr />
<div>[[Category:FAQ_EN]]<br />
This page will list all the common technical problems you can run into.<br />
<br />
If you run into a problem, the first step is to activate the Syslog module, then to redo the steps that leads you to a bug, and then check the log file residing at '''/documents/dolibarr.log'''<br />
<br />
= Dolibarr ask my login or password each time I click on a new link =<br />
You PHP system to store Dolibarr session is probably no more working.<br />
<br />
Go into '''home - system info - php'''<br />
<br />
What value do you have for parameter "session.save_handler" ?<br />
<br />
If it is '''files''', take a look at parameter "session.save_path". Its value is a directory path.<br />
Check your web server can read and write into this directory. Check also there is enough free space onto disk.<br />
<br />
= I can't approve a proposal/invoice/order/any other module =<br />
<br />
When you approve a document, Dolibarr will rename the folders and all the documents that belonged to the temporary document into the final one.<br />
<br />
In most cases, the validation problems arise when Dolibarr tries to rename, and can be caused by:<br />
<br />
* A wrong permission for the /documents/ folder, so that Dolibarr can't rename the folder. If that's the case, you should have in your syslog something like:<br />
<br />
<source lang=text><br />
ERROR 127.0.0.1 user fiche Interfaces::run_triggers action=ORDER_SUPPLIER_VALIDATE Files found: 6, Files launched: 5, Done: 0, Failed: 1<br />
ERROR 127.0.0.1 user fiche CommandeFournisseur::valid <br />
DEBUG 127.0.0.1 user fiche ROLLBACK Transaction<br />
</source><br />
<br />
* A wrong custom numerotation system: if you use illegal characters for the filesystem (like "/"), this will crash whenever you'll try to validate your document since it won't be able to use this illegal character in the renaming. Try to disable your current custom numerotation system and enable the default one temporarily to see if this fixes the issue.<br />
<br />
= I encounter a DB_ERROR message =<br />
Run the /install/repair.php page. This page can takes several minutes to run. Don't forget to run a [[Backups|backup]] first.<br />
<br />
What repair can do :<br />
* Run repair SQL file.<br />
* Search list of fields declared and list of fields created into databases, then create fields missing<br />
* Clean data into ecm_directories table<br />
* Move logos to correct new directory<br />
* Rebuild thumbs for product files<br />
* Check and clean linked elements<br />
* Check orphelins menus<br />
* Run purge of directory<br />
* Check and clean linked elements<br />
* Clean data into const when files of module were removed without being<br />
<br />
To operate, the page should be opened with at least one command:<br />
* /install/repair.php?standard=confirmed<br />
* /install/repair.php?clean_linked_elements=confirmed<br />
* /install/repair.php?restore_thirdparties_logos=confirmed<br />
* /install/repair.php?clean_menus=confirmed<br />
* /install/repair.php?clean_orphelin_dir=confirmed<br />
* /install/repair.php?clean_product_stock_batch=confirmed<br />
* /install/repair.php?set_empty_time_spent_amount=confirmed<br />
* /install/repair.php?rebuild_product_thumbs=confirmed<br />
* /install/repair.php?force_disable_of_modules_not_found=confirmed<br />
* /install/repair.php?clean_perm_table=confirmed<br />
* /install/repair.php?force_utf8_on_tables=confirmed for Mysql only, when ''Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '=' ''<br />
<br />
= My problem is not in the list =<br />
<br />
If the solution for your problem couldn't be found in this page, please keep in a safe place a maximum of detailed informations (like the dolibarr log, php version, database type and version, dolibarr's version, Apache's log...), and seek help at the following organisms:<br />
<br />
http://wiki.dolibarr.org/index.php/Dolibarr_help_and_support</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Troubleshooting&diff=39903Troubleshooting2018-10-02T07:17:22Z<p>Yves.brungard: repair.php</p>
<hr />
<div>[[Category:FAQ_EN]]<br />
This page will list all the common technical problems you can run into.<br />
<br />
If you run into a problem, the first step is to activate the Syslog module, then to redo the steps that leads you to a bug, and then check the log file residing at '''/documents/dolibarr.log'''<br />
<br />
= Dolibarr ask my login or password each time I click on a new link =<br />
You PHP system to store Dolibarr session is probably no more working.<br />
<br />
Go into '''home - system info - php'''<br />
<br />
What value do you have for parameter "session.save_handler" ?<br />
<br />
If it is '''files''', take a look at parameter "session.save_path". Its value is a directory path.<br />
Check your web server can read and write into this directory. Check also there is enough free space onto disk.<br />
<br />
= I can't approve a proposal/invoice/order/any other module =<br />
<br />
When you approve a document, Dolibarr will rename the folders and all the documents that belonged to the temporary document into the final one.<br />
<br />
In most cases, the validation problems arise when Dolibarr tries to rename, and can be caused by:<br />
<br />
* A wrong permission for the /documents/ folder, so that Dolibarr can't rename the folder. If that's the case, you should have in your syslog something like:<br />
<br />
<source lang=text><br />
ERROR 127.0.0.1 user fiche Interfaces::run_triggers action=ORDER_SUPPLIER_VALIDATE Files found: 6, Files launched: 5, Done: 0, Failed: 1<br />
ERROR 127.0.0.1 user fiche CommandeFournisseur::valid <br />
DEBUG 127.0.0.1 user fiche ROLLBACK Transaction<br />
</source><br />
<br />
* A wrong custom numerotation system: if you use illegal characters for the filesystem (like "/"), this will crash whenever you'll try to validate your document since it won't be able to use this illegal character in the renaming. Try to disable your current custom numerotation system and enable the default one temporarily to see if this fixes the issue.<br />
<br />
= I encounter a DB_ERROR message =<br />
Run the /install/repair.php page. This page can takes several minutes to run. Don't forget to run a [[Backups|backup]] first.<br />
<br />
What repair can do :<br />
* Run repair SQL file.<br />
* Search list of fields declared and list of fields created into databases, then create fields missing<br />
* Clean data into ecm_directories table<br />
* Move logos to correct new directory<br />
* Rebuild thumbs for product files<br />
* Check and clean linked elements<br />
* Check orphelins menus<br />
* Run purge of directory<br />
* Check and clean linked elements<br />
* Clean data into const when files of module were removed without being<br />
<br />
To operate, the page should be opened with at least one command:<br />
* /install/repair.php?standard=confirmed<br />
* /install/repair.php?clean_linked_elements=confirmed<br />
* /install/repair.php?restore_thirdparties_logos=confirmed<br />
* /install/repair.php?clean_menus=confirmed<br />
* /install/repair.php?clean_orphelin_dir=confirmed<br />
* /install/repair.php?clean_product_stock_batch=confirmed<br />
* /install/repair.php?set_empty_time_spent_amount=confirmed<br />
* /install/repair.php?rebuild_product_thumbs=confirmed<br />
* /install/repair.php?force_disable_of_modules_not_found=confirmed<br />
* /install/repair.php?clean_perm_table=confirmed<br />
* /install/repair.php?force_utf8_on_tables=confirmed<br />
<br />
= My problem is not in the list =<br />
<br />
If the solution for your problem couldn't be found in this page, please keep in a safe place a maximum of detailed informations (like the dolibarr log, php version, database type and version, dolibarr's version, Apache's log...), and seek help at the following organisms:<br />
<br />
http://wiki.dolibarr.org/index.php/Dolibarr_help_and_support</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Troubleshooting&diff=39902Troubleshooting2018-10-02T07:04:12Z<p>Yves.brungard: Example of error</p>
<hr />
<div>[[Category:FAQ_EN]]<br />
This page will list all the common technical problems you can run into.<br />
<br />
If you run into a problem, the first step is to activate the Syslog module, then to redo the steps that leads you to a bug, and then check the log file residing at '''/documents/dolibarr.log'''<br />
<br />
= Dolibarr ask my login or password each time I click on a new link =<br />
You PHP system to store Dolibarr session is probably no more working.<br />
<br />
Go into '''home - system info - php'''<br />
<br />
What value do you have for parameter "session.save_handler" ?<br />
<br />
If it is '''files''', take a look at parameter "session.save_path". Its value is a directory path.<br />
Check your web server can read and write into this directory. Check also there is enough free space onto disk.<br />
<br />
= I can't approve a proposal/invoice/order/any other module =<br />
<br />
When you approve a document, Dolibarr will rename the folders and all the documents that belonged to the temporary document into the final one.<br />
<br />
In most cases, the validation problems arise when Dolibarr tries to rename, and can be caused by:<br />
<br />
* A wrong permission for the /documents/ folder, so that Dolibarr can't rename the folder. If that's the case, you should have in your syslog something like:<br />
<br />
<source lang=text><br />
ERROR 127.0.0.1 user fiche Interfaces::run_triggers action=ORDER_SUPPLIER_VALIDATE Files found: 6, Files launched: 5, Done: 0, Failed: 1<br />
ERROR 127.0.0.1 user fiche CommandeFournisseur::valid <br />
DEBUG 127.0.0.1 user fiche ROLLBACK Transaction<br />
</source><br />
<br />
* A wrong custom numerotation system: if you use illegal characters for the filesystem (like "/"), this will crash whenever you'll try to validate your document since it won't be able to use this illegal character in the renaming. Try to disable your current custom numerotation system and enable the default one temporarily to see if this fixes the issue.<br />
<br />
= I encounter a DB_ERROR message =<br />
Run the /install/repair.php page. This page can takes several minutes to run. Don't forget to run a [[Backups|backup]] first.<br />
<br />
What repair can do :<br />
* Run repair SQL file. This can do when sql error occurs like '' Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_swedish_ci,IMPLICIT) for operation '=' ''<br />
* Search list of fields declared and list of fields created into databases, then create fields missing<br />
* Clean data into ecm_directories table<br />
* Move logos to correct new directory<br />
* Rebuild thumbs for product files<br />
* Check and clean linked elements<br />
* Check orphelins menus<br />
* Run purge of directory<br />
* Check and clean linked elements<br />
* Clean data into const when files of module were removed without being<br />
<br />
= My problem is not in the list =<br />
<br />
If the solution for your problem couldn't be found in this page, please keep in a safe place a maximum of detailed informations (like the dolibarr log, php version, database type and version, dolibarr's version, Apache's log...), and seek help at the following organisms:<br />
<br />
http://wiki.dolibarr.org/index.php/Dolibarr_help_and_support</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Param%C3%A9trage_Divers&diff=39821Paramétrage Divers2018-09-24T17:05:57Z<p>Yves.brungard: Formatage</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUtil}}<br />
<br />
'''Aide de l'écran:''' Paramétrage Divers<br />
<br />
'''Menu d'accès:''' Accueil -> Configuration -> Divers (avec le gestionaire de menu 'eldy')<br />
<br />
<br />
<br />
<br />
= Fonction =<br />
Cette page permet d'ajouter/éditer des paramètres sans page dédiée à leur édition. Dans la plupart des cas, ce sont des paramètres pour le développement, les modules externes ou des fonctions cachées.<br />
<br />
Pour une utilisation normale de Dolibarr, cet écran de paramétrage doit rester vide et ne pas être utilisé.<br />
<br />
= Quelques options cachées =<br />
Quelques options non visibles dans les interfaces (souvent car en bêta, en expérimentation ou obsolètes) sont disponibles. Dans la plupart des cas, vous n'avez pas besoin de ces fonctions et leur utilisation peut rendre instable l'application.<br />
<br />
Pour les activer il faut définir une constante à 1 (ou à une valeur dépendant de l'option) dans '''Accueil - Configuration - Divers'''.<br />
<br />
L'utilisation de ces constantes étant à éviter, la documentation n'est disponible qu'en Anglais ([[Setup_Other#List_of_known_hidden_options]]). La page servant plutôt d'aide mémoire.<br />
<br />
<br />
=Liste des options cachées connues=<br />
<br />
==Options globales==<br />
<br />
* MAIN_LOGOUT_GOTO_URL => (core) URL à laquelle l'utilisateur sera redirigé après LOGOUT. <br />
<br />
* MAIN_FILESYSTEM_ENCODING => Avec certaines versions de PHP, PHP ne peut pas détecter le code de page du système de fichiers du système d'exploitation du serveur. Pour résoudre ce problème, Dolibarr suppose que le système de fichiers de votre système d'exploitation est UTF-8 sur les systèmes Linux ou osx et iso-8859-1 sur Windows. Si ce n'est pas le cas, par exemple sur un serveur Windows avec un code NTFS UTF-8, vous pouvez définir la variable MAIN_FILESYSTEM_ENCODING sur "utf-8". <br />
<br />
* MAIN_SHOW_TECHNICAL_ID => Afficher également les identifiants techniques sur les cartes d'éléments ou certaines listes (non supportés partout). <br />
<br />
* MAIN_MAXTABS_IN_CARD => Nombre maximum d'onglets visibles. D'autres sont regroupés dans une liste déroulante. <br />
<br />
* MAIN_ONLY_LOGIN_ALLOWED => Seul l'identifiant spécifié est autorisé à se connecter à Dolibarr (mode maintenance). <br />
<br />
* MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES => Ajoutez un horodatage et un utilisateur automatiquement lors de la modification de la note publique. <br />
<br />
* MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES => Ajoutez un horodatage et un utilisateur automatiquement lors de la modification de la note privée. <br />
<br />
* MAIN_SECURITY_CSRF_WITH_TOKEN (> = 5.0) => Activer une deuxième protection anti-CSRF sur POST (un POST d'un autre site Web ne peut être effectué). Notez qu'il existe déjà une protection par défaut utilisant le test sur le référent. Cette deuxième protection utilise TOKEN sur les formulaires et est moins puissante. <br />
* MAIN_APPLICATION_TITLE => Cela changera le titre du logiciel (qui apparaît sur la page de connexion par défaut). Attention, changer cela peut faire échouer la détection de versions Dolibarr par les applications smartphone comme Application Android - DoliDroid <br />
* MAIN_AUTOFILL_DATE => Si cette constante est définie sur une valeur différente de 0, la date de la facture, de la proposition, de la commande ou du paiement est automatiquement renseignée avec la date du jour. Il est fortement recommandé de NE PAS ACTIVER cette fonctionnalité. Cela peut créer beaucoup d'erreurs de saisie avec les données non validées par les utilisateurs. Cela conduit à des valeurs incorrectes enregistrées dans la base de données, entraînant une confusion lorsque vous devez effectuer vos rapports de comptabilité! Cependant, certains utilisateurs le veulent, nous le fournissons donc. <br />
<br />
* MAIN_DISABLE_FULL_SCANLIST => Désactive l'analyse complète des tables pour permettre à la pagination d'afficher le nombre total de pages. Peut être utile pour activer sur des systèmes avec une très grande quantité de données (tables avec plus de 500 000 enregistrements). <br />
<br />
* MAIN_FIRST_TO_UPPER => Dolibarr ajoute des majuscules aux tiers, aux contacts ou aux noms des membres si ce n'est pas fait. Attention, avec certaines langues (dont les mots avec des majuscules ne sont pas les mêmes mots, ou si pagecode n’a pas toujours une majuscule, comme les langages cyrilliques), cette fonctionnalité peut altérer vos données. <br />
<br />
* MAIN_ENABLE_LOG_TO_HTML (MAIN_LOGTOHTML avant 3.9) => Si cette constante est définie, il est possible d'avoir des journaux dans les pages en ajoutant le paramètre & logtohtml = 1 dans l'URL. <br />
<br />
* MAIN_USE_HOURMIN_IN_DATE_RANGE => Sur toutes les lignes d'entités (facture, commande, contrat ...), il est possible d'ajouter des heures et des minutes avec la date sur les champs "date de début" et "date de fin". <br />
<br />
* MAIN_REMOVE_INSTALL_WARNING => Supprimez tous les avertissements de sécurité qui apparaissent aux utilisateurs administrateurs si l'URL / installation est publique. Vous devez résoudre le problème si un avertissement se produit, au lieu de supprimer l'avertissement! Pour cela, placez un fichier nommé install.lock dans le répertoire racine de Dolibarr. Cela arrêtera l'avertissement mais rendra la page / installation impossible à utiliser pour protéger votre installation. <br />
<br />
* MAIN_OPTIMIZE_SPEED => Utilisez des améliorations de vitesse. Voir la page Increase_Performance pour plus d'informations. <br />
<br />
* MAIN_REPLACE_TRANS_xx_XX => Où xx_XX est le code de langue. Si la valeur est string1: newstring1; string2: newstring2 remplace alors string1 par newstring1 dans toute traduction effectuée pour la langue xx_XX. <br />
<br />
* MAIN_REPEATCONTACTONEACHTAB => Si ajouté et défini sur 1, cela ajoute des contacts sur tous les onglets, pas seulement l'onglet principal. <br />
<br />
* MAIN_DISABLE_JQUERY_JNOTIFY => Désactiver l'utilisation de JNotify pour afficher les messages de confirmation ou d'erreur <br />
<br />
* MAIN_USE_JQUERY_JEDITABLE => Permet de mettre à jour depuis l'écran, directement dans la base de données, certaines propriétés d'éléments (factures, propositions, ...) en utilisant Ajax. Cela accélère le temps de réponse, mais évite d'utiliser ces fonctionnalités, car il contourne certaines actions commerciales (mises à jour sur d'autres données qui doivent être effectuées de manière cohérente) et ignore les contrôles métier sur les données que vous avez enregistrées. Cette fonctionnalité brise donc la cohérence des données et peut-être la stabilité du logiciel. <br />
<br />
* MAIN_USE_JQUERY_MULTISELECT => Permet d'utiliser Ajax lorsqu'un choix nécessitant multisélection est utilisé (pour le moment, seuls les modules externes utilisent la sélection avec des valeurs multi-sélection). Définissez la valeur sur le nom du plug-in jQuery à utiliser (multi-sélection, sélection multiple, sélection2…). Le définir sur une autre valeur entraînera des effets secondaires et / ou des bogues indésirables. <br />
<br />
* MAIN_HELPCENTER_LINKTOUSE => Définir le lien URL à utiliser comme page cible pour le lien "J'ai besoin d'aide" sur la page de connexion <br />
<br />
* MAIN_MODULES_FOR_EXTERNAL => Limiter les modules disponibles pour les utilisateurs externes. La valeur par défaut est 'facture, commande, contact, propal, projet, contrat, societe, ficheinter, expedition, agenda' <br />
<br />
* MAIN_SHOW_TUNING_INFO => Ajouter des informations de réglage dans la console javascript. Mieux quand xdebug est activé. <br />
<br />
* MAIN_DOL_SCRIPTS_ROOT => Définir le répertoire qui contient le répertoire 'scripts' (par exemple / var / www / dolibarr) <br />
<br />
* MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING => Un avertissement indiquant que la configuration des modules est incomplète est affiché si le nombre de modules activés est inférieur ou égal à cette valeur (1 si non défini) <br />
<br />
* MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE => Ajouter la signature du représentant de la première vente dans les documents (à la fin des notes publiques). <br />
<br />
* MAIN_DISABLE_AJAX_COMBOX => Si vous avez un grand nombre de tiers ou de produits, vous pouvez désactiver la fonctionnalité de saisie semi-automatique dans la liste des tiers en définissant la constante MAIN_DISABLE_AJAX_COMBOX sur 1 dans Home-Setup-Other (avec Dolibarr v3.6.0 +). <br />
<br />
* MAIN_USE_CACHE_MANIFEST => Ajouter un manifeste de cache HTML5 à la page - Attention, cette fonctionnalité est obsolète et supprimée des standards Web <br />
<br />
* MAIN_FORCELANGDIR => chemin relatif du répertoire contenant votre dossier langs personnalisé. <br />
<br />
* MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS => permet de définir un taux de TVA par défaut <br />
<br />
* MAIN_HTML_TITLE => peut être utilisé pour contrôler la manière dont le titre de la page HTML est formaté. Si la valeur contient la clé 'noapp', le nom de l'application ne sera pas généré. Si value contient 'thirdpartynameonly', sur l'onglet pour les tiers, seul le nom des tiers est affiché. La valeur peut être la liste de balises: 'noapp; thirdpartynameonly' <br />
<br />
* MAIN_LANDING_PAGE => (> = 3.9). Peut choisir la première page à afficher après la connexion (la page de destination). Cette option fonctionne comme une option globale (llx_const) et par option utilisateur (llx_user_param). <br />
<br />
* MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN => (> = 4.0) Lors de la création d'une commande, d'un contrat, d'une facture à partir d'un autre objet, des contacts spécifiques d'objets sont définis comme contact spécifique du nouvel objet lorsque cela est possible. <br />
<br />
* MAIN_WEIGHT_DEFAULT_ROUND => Exactitude du poids (nombre de décimales) <br />
<br />
* MAIN_WEIGHT_DEFAULT_UNIT => Unité par défaut pour le poids (0 = kg, -3 = g, ...) <br />
<br />
* MAIN_VOLUME_DEFAULT_ROUND => Précision du volume (nombre de décimales) <br />
<br />
* MAIN_VOLUME_DEFAULT_UNIT => Unité par défaut pour le poids (0 = kg, -3 = g, ...) <br />
<br />
* MAIN_PUBLIC_NOTE_IN_ADDRESS> = 4.0 => afficher la note publique dans le bloc d'adresse <br />
<br />
* MAIN_DEFAULT_PAYMENT_TERM_ID => Avec l'identifiant d'un terme de paiement, utilisera ce dernier comme délai de paiement par défaut chaque fois que vous créez une nouvelle proposition, une commande, une facture (client et fournisseur) <br />
<br />
* MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND => Changer la manière d'arrondir les lignes TTC totales, en arrondissant d'abord après <br />
<br />
* MAIN_VIEW_LINE_NUMBER => Affiche un numéro de ligne contre chaque ligne de la commande / facture pour les produits / services. À l'écran uniquement, pas au format PDF. <br />
<br />
* MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME => Ajouter le nom de la tierce partie au début du document généré <br />
<br />
* MAIN_DOC_USE_TIMING => Ajouter un horodatage à la fin du document généré. La valeur doit être le format de l'horodatage. Par exemple:% Y% m% d% H% M <br />
<br />
* MAIN_DISABLEDRAFTSTATUS => Désactiver le statut Draft pour certains objets (projet, don, ...) <br />
<br />
* MAIN_USE_OLD_SEARCH_FORM => Afficher l'ancien formulaire de recherche dans le menu de gauche. <br />
<br />
* MAIN_SERVER_TZ => Si vous ne pouvez pas définir le fuseau horaire de votre installation PHP, définissez cette constante. Mieux vaut le régler sur UTC. A l'avenir, cette constante sera forcée à 'UTC', donc le fuseau horaire du serveur PHP n'aura plus d'effet. Exemples: Europe / Paris, auto. <br />
<br />
* MAIN_SEARCH_FORM_ON_HOME_AREAS => Afficher le formulaire de recherche sur les zones de la page d'accueil pour les modules de base (Supprimé après la v5 en raison du combo de recherche globale) (v6.0 +) <br />
<br />
* MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE => Si un seul résultat est trouvé, la définition de cette valeur à 1 vous amène directement à l'élément (méthode par défaut). Définir la valeur sur 0 affichera le résultat dans la liste comme un résultat unique (v5.0 +) <br />
<br />
* MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES (dolibarr 8.0) => Permet d'importer des lignes dans le document actuel à partir de documents compatibles "liés" <br />
<br />
==Visuel ou Thème ==<br />
<br />
* MAIN_OPTIMIZEFORTEXTBROWSER => Optimiser le rendu de sortie pour l'utilisation d'un navigateur de texte (utile pour les personnes aveugles)<br />
* THEME_ELDY_DISABLE_IMAGE => Images désactivées du menu principal pour le thème eldy.<br />
* MAIN_MENU_HIDE_UNAUTHORIZED => Masquer le menu si l'utilisateur connecté n'est pas autorisé plutôt que de simplement les griser<br />
* THEME_TOPMENU_STICKY_POSITION => Option pour corriger le menu principal avec le thème eldy (masque caché) (v7.0 +)<br />
<br />
==Email et SMS==<br />
<br />
* MAIN_MAILFORM_DISABLE_ENTERKEY (> = 8.0.1) => Activer le code javascript pour désactiver la clé de saisie dans le formulaire MAIL. <br />
<br />
* MAIL_PREFIX_FOR_EMAIL_ID (> = 8.0.1) => Préfixe de l’ID de courrier. La valeur par défaut est $ _SERVER ["SERVER_NAME"] <br />
<br />
* MAIN_MAIL_DEBUG => Ecrire le contenu avec en-tête du dernier courrier dans le fichier dolibarr_mail.log dans le répertoire dolibarr_main_data_root. <br />
<br />
* MAIN_SMS_DEBUG => Ecrire le contenu du SMS envoyé dans le fichier dolibarr_sms.log dans le répertoire dolibarr_main_data_root. <br />
<br />
* MAIN_MAIL_ALLOW_SENDMAIL_F => Sur les systèmes Linux ou BSD, la fonction de messagerie PHP utilise la commande sendmail local to server. Dans certains cas, le courrier électronique de l'expéditeur doit être fourni sur la ligne de commande de sendmail avec l'option -f. Cette option est là pour demander à Dolibarr d'appeler la fonction mail de PHP en ajoutant une valeur pour l'option -f. Notez que dans la plupart des cas, même avec sendmail, le courrier électronique de l'expéditeur est correctement géré, car il est ajouté dans l'en-tête technique du courrier électronique. Cette option est ici uniquement pour la configuration rare de sendmail qui demande à l'option -f d'être obligatoire ou pour l'installation sendmail qui n'utilise pas par défaut le chemin de retour de l'en-tête pour définir l'expéditeur (avec cette option être fourni également sur la ligne de commande et non perdu par sendmail). <br />
<br />
* MAIN_MAIL_SENDMAIL_FORCE_BA => Sur les systèmes Linux ou BSD, la fonction de messagerie PHP utilise la commande sendmail local to server. Dans certains cas, nous voulons que le destinataire soit envoyé à sendmail dans le contenu du courrier électronique au lieu de son paramètre de ligne de commande. Pour cela, il faut ajouter le paramètre -ba à sendmail. Cette option demande à PHP de fournir ce paramètre lors de l'envoi d'un mail. Notez qu'une autre solution consiste à éditer le fichier mail.force_extra_parameters = -ba dans le fichier php.ini . <br />
<br />
* MAIN_MAIL_NO_FULL_EMAIL => L'e-mail du destinataire et l'expéditeur sont nettoyés pour être sur le formulaire "<email>" au lieu de "Nom <email>". Cela pourrait résoudre le problème de la compatibilité avec les très anciens mailers. <br />
<br />
* MAIN_FIX_FOR_BUGGED_MTA => Certains agents MTA sont buggés et ajoutent des caractères CR chaque fois qu’ils voient un LF. Les e-mails Dolibarr étant falsifiés pour être déjà nettoyés, si l'agent MTA le fait, vous enverrez un e-mail avec deux caractères CR. Cela peut entraîner le destinataire ne peut pas lire votre courrier électronique. Pour résoudre ce problème, ajoutez cette constante à 1. Dolibarr créera alors un courrier électronique non conforme à la norme RFC mais, étant donné que l’agent MTA est bogue, le courrier électronique sera modifié et corrigera lors de l’envoi, ce qui résoudra le problème. Ajoutez cette constante si votre destinataire rencontre des problèmes lors de l'ouverture du courrier électronique, par exemple des utilisateurs utilisant le webmail orange.fr ou hotmail.com <br />
<br />
* MAIN_MAIL_DO_NOT_USE_SIGN => N'ajoutez pas de signature d'utilisateur à la fin de l'e-mail prédéfini suggéré <br />
<br />
* MAIL_FORCE_DELIVERY_RECEIPT_INVOICE => Définissez la valeur par défaut sur "Oui" lors de la demande d'un accusé de réception lors de l'envoi d'un courrier électronique via le module Facture client . <br />
<br />
* MAIL_FORCE_DELIVERY_RECEIPT_ORDER => Définissez la valeur par défaut sur "Oui" lors de la demande d'accusé de réception lors de l'envoi du courrier électronique via le module Commande client . <br />
<br />
* MAIL_FORCE_DELIVERY_RECEIPT_PROPAL => Définissez la valeur par défaut sur "Oui" lors de la demande d'un accusé de réception lors de l'envoi du courrier électronique via le module Proposition client . <br />
<br />
* MAIN_EMAIL_USECCC => 1 = Afficher le champ BCC dans les formulaires de courrier électronique, si email = Afficher le BCC pré-rempli avec le courrier électronique. <br />
<br />
* MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO => E-mail à utiliser en tant que destinataires BCC lors de l'envoi de courrier électronique pour proposition, commande ou facture. Vous pouvez rendre cette valeur visible en définissant MAIN_EMAIL_USECCC (à 1 ou à un autre email, voir point précédent) <br />
<br />
* MAIN_EMAIL_ADD_TRACK_ID => Lorsque la valeur est 1 (c'est également la valeur par défaut si l'option n'est pas définie): l'enregistrement "Message-id" ajouté dans l'en-tête de smtp inclut un identifiant de suivi pour définir d'où le mail a été envoyé. Lorsque la valeur est 2: vous envoyez un e-mail depuis une carte tierce, l'e-mail de l'expéditeur est complété par la chaîne de suivi de la source e-mail "+ thiXXX" (votre e-mail sera envoyé avec "myname + thi123 @ mycompany"). com). Ainsi, lorsque l'utilisateur recevant un courrier électronique répondra, un courrier électronique sera envoyé à myname@masociete.com mais avec l'identifiant de suivi inclus (dans l'en-tête ou dans le courrier électronique cible), vous permettant ainsi de savoir à quel tiers ou objet est liée à. <br />
<br />
* MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL => Restreindre l'envoi d'un email à x destinataires pour un même mail (x pour To: + CC: + BCC :). Si elle n'est pas définie, la valeur est 10. Requise pour lutter contre le spam qui inclut 1000 destinataires dans un message. Notez que MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL et MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL sont également disponibles. <br />
<br />
* MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML => Forcer l'envoi de tous les emails (événement avec un contenu texte uniquement) en tant qu'e-mail au format HTML. <br />
<br />
* MAIN_MAIL_USE_MULTI_PART => Forger le contenu d'un email en utilisant une autre partie du texte (pour 5.0.2+). Par défaut avec 6.0+ <br />
<br />
* MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS => Si des images ont été stockées dans le répertoire des médias depuis CKEditor, les images dans les e-mails sont remplacées par du "contenu en ligne". Cela peut augmenter sérieusement le risque d'être détecté en tant que SPAM. <br />
<br />
* MAIN_COPY_FILE_IN_EVENT_AUTO => Ajouter un document de pièce jointe sur l'événement auto généré en envoyant un email à partir de dolibarr. (v6.0 +) <br />
<br />
* MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS => Entrez l'adresse IP publique du serveur, elle apparaîtra donc dans l'aide sur la page de configuration du courrier électronique. <br />
<br />
* MAIN_MAIL_ENABLED_USER_DEST_SELECT => Afficher également les utilisateurs internes dans la liste des destinataires du courrier électronique dans le formulaire d'envoi de courrier électronique (v8.0 +)<br />
<br />
=Module tiers=<br />
<br />
* COMPANY_AQUARIUM_CLEAN_REGEX (> = 8.0.1) => Ajouter une règle REGEX sur les noms des tiers.<br />
* MAIN_FORCE_DEFAULT_STATE_ID (> = 8.0.1) => Permet de forcer la sélection d'un pays / province / comté à partir d'un pays en spécifiant des identifiants<br />
* SOCIETE_DISABLE_CUSTOMERS => Supprimer tous les menus et fonctionnalités liés aux clients<br />
* SOCIETE_DISABLE_PROSPECTS => Supprimer tous les menus et fonctionnalités liés aux prospects<br />
* SOCIETE_DISABLE_STATE => Ne pas utiliser le champ "state / province"<br />
* THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT => Ne définissez pas le statut "Client / Prospect" sur "on" lors de la création d'un nouveau tiers à partir du menu "Nouveau tiers".<br />
* THIRDPARTY_NOTSUPPLIER_BY_DEFAULT => Ne définissez pas le statut "Fournisseur" sur "on" lors de la création d'un nouveau tiers à partir du menu "Nouveau tiers".<br />
* SOCIETE_SORT_ON_TYPEENT = La liste déroulante du "type de tiers" est triée sur un champ "position" qui apparaît dans le dictionnaire au lieu de l'ordre alphabétique.<br />
* THIRDPARTY_DEFAULT_CREATE_CONTACT (Dolibarr 5.0+) => La création par défaut d'un tiers est individuelle<br />
* MAIN_THIRDPARTY_CREATION_INDIVIDUAL (Dolibarr <5.0) => Les tiers créés par défaut sont individuels<br />
* THIRDPARTY_DEFAULT_USEVAT => Lors de la création d'un nouveau tiers, le champ "Use vat" est activé ou désactivé en fonction de la valeur de ce paramètre.<br />
* THIRDPARTY_DEFAULT_USELOCALTAX1 => Lors de la création d'un nouveau tiers, le champ "Utiliser la deuxième taxe" est activé ou désactivé en fonction de la valeur de ce paramètre.<br />
* THIRDPARTY_DEFAULT_USELOCALTAX2 => Lors de la création d'un nouveau tiers, le champ "Utiliser la troisième taxe" est activé ou désactivé en fonction de la valeur de ce paramètre.<br />
* THIRDPARTY_INCLUDE_PARENT_IN_LINKTO => Recherchez également des éléments sur le tiers parent lorsque vous utilisez la fonctionnalité d'objet "lien vers".<br />
* THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO => Recherchez également les éléments appartenant à un tiers qui possèdent le projet de l'élément en cours lors de l'utilisation de la fonctionnalité d'objet "link to" (si le projet appartient à un tiers différent de celui en cours).<br />
* SOCIETE_ASK_FOR_SHIPPING_METHOD => Le mode de livraison peut être prédéfini sur la carte client et sera utilisé par défaut lors de la création de la commande<br />
* THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un logo est téléchargé, une clé de partage est automatiquement définie pour que le fichier puisse être téléchargé à l'aide de la clé de partage.<br />
* MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL => Les utilisateurs externes sont toujours limités au tiers de leur enregistrement de contact. Avec cette option, l'autorisation "voir toutes les tierces parties" peut également fonctionner pour un utilisateur externe. Pas encore mis en œuvre...<br />
<br />
==Module de propositions commerciales (devis)==<br />
<br />
* PROPAL_CLONE_ON_CREATE_PAGE => Sur la page de création de proposition, demandez si vous souhaitez créer la proposition en clonant une proposition déjà existante. Vous devez utiliser à la place le bouton "Cloner" disponible sur les propositions existantes.<br />
* MAIN_PROPAL_CHOOSE_ODT_DOCUMENT => Sur la page de configuration, vous pourrez sélectionner le document ODT à utiliser lorsque vous fermez ou annulez des propositions.<br />
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Ajouter une image du produit (le premier trouvé s'il y en a plusieurs) dans le PDF de propositions généré. Notez que cela réduira la largeur disponible pour la description du produit.<br />
* PROPAL_DISABLE_SIGNATURE => Ne pas afficher la boîte pour signature.<br />
* WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES => Le bouton "Classifié" est visible sur la proposition même si aucune facture n'est liée à la proposition.<br />
* PRODUIT_PDF_MERGE_PROPAL => Lors de la génération du PDF de la proposition, tous les PDF liés aux produits liés à la proposition sont également inclus dans le PDF final<br />
* PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un fichier PDF est généré, une clé de partage est automatiquement définie pour que le fichier puisse être téléchargé à l'aide de la clé de partage. (v7.0 +)<br />
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => ajouter un champ de signature optionnel en sur le PDF de la proposition.<br />
<br />
==Module de commandes==<br />
<br />
* COMMANDE_REQUIRE_SOURCE => Rendre obligatoire le champ de saisie "Source de commande".<br />
* COMMANDE_VALID_AFTER_CLOSE_PROPAL => Lorsqu'une commande est créée sur une proposition fermée, la commande est directement définie avec le statut "Validé".<br />
* COMMANDE_CHANGE_THIRDPARTY => Peut changer le client sur les commandes<br />
* ORDER_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un fichier PDF est généré, une clé de partage est automatiquement définie pour que le fichier puisse être téléchargé à l'aide de la clé de partage. (v7.0 +) <br />
<br />
==Module de facturation==<br />
<br />
* MAIN_DEPOSIT_MULTI_TVA => Dans la facture de dépôt, crée une ligne par taux de TVA à partir du document d'origine (6.0)<br />
* FACTURE_SHOW_SEND_REMINDER => Afficher le lien "Envoyer un rappel par mail", même fonctionnalité que "Envoyer par mail" (fonctionnalité obsolète).<br />
* INVOICE_CAN_ALWAYS_BE_EDITED => Permet de modifier les factures même si le paiement a été lancé. Remarque: Si le module " BlockedLog " est actif (requis par certains pays pour des raisons légales), cela ne modifiera pas le contenu des journaux archivés suivis par ce module. Par définition, il est impossible de modifier ou de supprimer des enregistrements archivés. Il ne fera que mettre à jour les données de votre application et un nouvel enregistrement pour suivre votre modification dans le journal d'archivage non réversible.<br />
* INVOICE_CAN_ALWAYS_BE_REMOVED => Permet de toujours supprimer les factures (même si la facture n’est pas la dernière). Remarque: Si le module " BlockedLog " est actif (requis par certains pays pour des raisons légales), cela ne modifiera pas le contenu des journaux archivés suivis par ce module. Par définition, il est impossible de modifier ou de supprimer des enregistrements archivés. Il ne fera que mettre à jour les données de votre application et un nouvel enregistrement pour suivre votre modification dans le journal d'archivage non réversible.<br />
* INVOICE_CAN_NEVER_BE_REMOVED => Ne jamais autoriser à supprimer des factures (sauf les factures brutes).<br />
* INVOICE_POSITIVE_CREDIT_NOTE => Tous les montants sur les notes de crédit PDF sont positifs.<br />
* FACTURE_CHANGE_THIRDPARTY => Permet de modifier le tiers dans les brouillons de factures. Si une remise a été définie à partir du tiers d'origine, la remise reste en vigueur, rendant les données non cohérentes.<br />
* FACTURE_USE_PROFORMAT => Activer le type de factures PROFORMAT.<br />
* FACTURE_DEPOSITS_ARE_JUST_PAYMENTS => Traite les factures de dépôt comme un cas particulier. Les factures de dépôt ne sont pas comptabilisées dans le chiffre d'affaires. Ils sont ensuite appliqués en tant que paiement, comme une remise, sur la facture finale. Par défaut, lorsque vous incluez le dépôt dans le brouillon de la facture finale, le montant de la facture finale est réduit. Avec cette option, le montant final n'est pas réduit mais un paiement est enregistré.<br />
* FACTURE_SENDBYEMAIL_FOR_ALL_STATUS => Peut envoyer une facture par email au client même si la facture a le statut "brouillon".<br />
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT => Désactiver la TVA sur les documents générés. comme pour une association. (c'est du travail avec le modèle de crabe)<br />
* INVOICE_CREDIT_NOTE_STANDALONE (dolibarr 3.9) => Peut faire un avoir sans facture.<br />
* INVOICE_USE_SITUATION = Activer la fonctionnalité "facture de situation"<br />
* INVOICE_USE_SITUATION_CREDIT_NOTE (dolibarr 8.0) = Activer la fonctionnalité "note de crédit de situation" (nécessite INVOICE_USE_SITUATION)<br />
* INVOICE_DISABLE_DEPOSIT = Désactiver les factures de dépôt<br />
* INVOICE_DISABLE_REPLACEMENT = Désactiver les factures de remplacement<br />
* INVOICE_DISABLE_CREDIT_NOTE = Désactiver les notes de crédit<br />
* WORKFLOW_BILL_ON_SHIPMENT = Modifier l'étiquette du bouton avec l'étiquette appropriée lorsque vous devez créer une facture pour les envois<br />
* INVOICE_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un PDF est généré, une clé de partage est automatiquement définie pour que le fichier puisse être téléchargé à l'aide de la clé de partage. (v7.0 +) <br />
<br />
==Rapport de dépenses==<br />
<br />
* EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS => Peut entrer plusieurs rapports de dépenses sur des périodes identiques ou se chevauchant. (v7.0 +) <br />
<br />
==Module d'export==<br />
<br />
* EXPORT_CSV_SEPARATOR_TO_USE => Valeur de chaîne à utiliser comme séparateur par défaut pour délimiter les champs des fichiers exportés (par défaut, Dolibarr utilise ","). Exemple: EXPORT_CSV_SEPARATOR_TO_USE =;<br />
* EXPORT_CSV_FORCE_CHARSET => Choisissez le jeu de caractères utilisé dans le fichier de sortie créé par l'exportateur CSV. Par défaut, c'est ISO-8859-1. Exemple: EXPORT_CSV_FORCE_CHARSET = utf-8<br />
* EXPORTTOOL_CATEGORIES => Peut exporter des catégories (plusieurs lignes) dans une colonne avec le "profil d'exportation de produit"<br />
* USE_STRICT_CSV_RULES => Utiliser le format CSV strict / réel pour l'exportation. Ne nettoyez / remplacez pas CR + LF par '\ n' mais citez-les en utilisant le caractère CSV d'échappement ("). <br />
<br />
==Module agenda==<br />
<br />
* AGENDA_MAX_EVENTS_DAY_VIEW => Définissez le nombre maximum d'entrées visibles pour chaque jour dans l'agenda. La valeur par défaut est 3. La valeur 0 signifie aucune limite.<br />
* AGENDA_USE_EVENT_TYPE => Ajouter un champ obligatoire "Type" lors de la création d'un événement (obsolète).<br />
* AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS => Définir automatiquement la date de fin de l'événement pour démarrer la date + delta sur la page de création de l'événement.<br />
* MAIN_ADD_EVENT_ON_ELEMENT_CARD => Permet de créer un événement à partir d'un document (proposition, commande, facture)<br />
<br />
=Module produits=<br />
<br />
MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE => Eviter que le code personnalisé et le pays d'origine soient définis comme description du produit lorsqu'ils sont ajoutés à Propal / Order / Invoice<br />
PRODUCT_ADD_TYPE_IN_DOCUMENTS => Ajoutez le texte "Produit" ou "Service" au début des lignes de détails sur les documents PDF construits.<br />
PRODUCT_DONOTSEARCH_ANYWHERE => Lorsque la recherche Ajax est activée, la recherche est effectuée sur les critères de l’étiquette du produit. En ajoutant cette option, la recherche est effectuée uniquement au début de l'étiquette. C'est vraiment plus rapide lorsque vous avez un grand nombre de produits.<br />
PRODUIT_DESC_IN_LIST => Afficher une longue description du produit / service dans les listes.<br />
PRODUIT_PDF_MERGE_PROPAL => Activer le module PDF produit<br />
PRODUCT_USE_OLD_PATH_FOR_PHOTO => Demandez à dolibarr de vérifier également l’ancien chemin (avant 3.7) où les photos ont été stockées.<br />
PRODUCT_USE_UNITS => Activer les unités du dictionnaire dans la carte de produit / service.<br />
PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL => Lorsque l'option d'utilisation du prix par niveau / segment est activée, cela permet également de définir une cuve dédiée pour chaque niveau de prix.<br />
MAIN_DIRECT_STATUS_UPDATE => Vous permet de modifier le statut du produit ( à vendre / à ne pas vendre pour l’achat / à ne pas acheter ) directement sur la page du produit via un bouton d’activation / désactivation . Cela peut être pratique pour ceux qui ont besoin de désactiver rapidement certains statuts de produits sans avoir à parcourir la page d'édition du produit individuellement. Cela peut également être très utile si vous l'utilisez comme filtre sur la liste de recherche de produits et de produits. Cette option ne génère pas de déclencheur MODIFY, soyez donc prudent avec les modules externes. v4.0 + <br />
<br />
PRODUCT_CHARGES => Ajoute un champ supplémentaire pour les frais ad hoc au stade du prix d'achat du produit. Le prix de revient est ensuite calculé avec le prix fournisseur + les frais si définis. Utile pour les coûts supplémentaires pour un produit ou certains frais de livraison au produit. <br />
<br />
PRODUCT_MAX_VISIBLE_PHOTO => Affiche un nombre maximum de photos de produits (sous forme de vignettes) sur la carte principale du produit. Par exemple, en définissant cette constante sur «5», vous verrez les cinq premières photos de produit trouvées sur la fiche produit.<br />
PRODUCT_MAX_LENGTH_COMBO => limiter la longueur de l'étiquette affichée lors de l'ajout de lignes dans les propositions / factures / commandes<br />
MAIN_DISABLE_FREE_LINES (> = 8.0) => Ne pas autoriser l'utilisation de lignes libres pour ajouter une ligne dans les documents <br />
<br />
Module services<br />
<br />
SERVICE_ARE_ECOMMERCE_200238EC => Si cette option est activée, les services sont traités comme des eServices conformément aux directives de la directive 2002/38 / CE du Conseil de l'UE ( http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en .htm ). Le taux de TVA par défaut est basé sur l'achat de pays au lieu de vendre le pays pour les ventes de BtoC. <br />
<br />
Stocks<br />
<br />
MAIN_SERVICES_ARE_ECOMMERCE_200238EC (<8) => <br />
<br />
CASHDESK_FORCE_STOCK_ON_BILL (> = 8.0.1) => Option pour forcer la diminution du stock quelle que soit la configuration de l'utilisateur. <br />
<br />
SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED => Désactiver l'envoi du stock lorsque le total attendu a déjà été reçu. <br />
<br />
Les envois<br />
<br />
STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS (> = 8.0.1) => Si défini, vous pouvez ajouter une ligne d’expédition, sans définir de source de stock. <br />
<br />
SHIPMENT_GETS_ALL_ORDER_PRODUCTS => Ajoutez toutes les lignes de commande en expédition, y compris celle dont la quantité est 0 <br />
<br />
=Point de vente=<br />
<br />
CASHDESK_SHOW_KEYPAD => Afficher un clavier de souris dans le point de vente.<br />
POS_ADDON = Définissez cette valeur sur une règle de module de numérotation existante (par exemple, "mod_facture_terre", "mod_facture_mars", ...) pour forcer le module de numérotation à définir la facture lorsque la facture est créée par le POS. Par exemple, la valeur POS_ADDON de 'mod_facture_terre' utilisera le module de numérotation 'terre' pour la facture générée depuis le point de vente, quelle que soit la règle de numérotation définie dans la configuration du module de facturation (vous pouvez également utiliser la variable POS_NUMBERING_TERRE_FORCE_PREFIX <br />
<br />
Les contrats<br />
<br />
CONTRACT_SUPPORT_PRODUCTS => Des produits sont également proposés dans le contrat de module. <br />
<br />
=Module projets=<br />
<br />
PROJECT_DISABLE_UNLINK_FROM_OVERVIEW (> = 8.0.1) => Activer la suppression du bouton d'un lien dans l'aperçu du projet.<br />
PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS => Permet de lier un projet à n'importe quel fournisseur, même en utilisant la fonction de lien tiers. Note: Défini sur 1 par défaut à partir de 3.7.<br />
PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS => Peut ajouter du temps passé sur les tâches, même si je ne suis pas affecté à une tâche (cependant, la tâche doit être un projet que je suis un contact).<br />
PROJECT_SHOW_REF_INTO_LISTS => Ajouter une colonne avec la référence du projet dans la liste (avec 3.7 liste des factures fournisseurs uniquement, sera étendue aux autres listes)<br />
PROJECT_HIDE_UNSELECTABLES => Masquer dans la liste de sélection, tout projet que nous ne pouvons pas sélectionner (fermé ou brouillon)<br />
PROJECT_HIDE_TASKS => Cacher les tâches. Pour l'utilisateur utilisant le projet uniquement en tant que clé d'analyse et n'utilisant pas de tâches.<br />
PROJECT_LIST_SHOW_STARTDATE => Affiche la date de début des projets dans les listes de projets.<br />
PROJECT_LINK_ON_OVERWIEW_DISABLED (4.0) => Masquer le formulaire "link to" sur la page d'aperçu<br />
PROJECT_CREATE_ON_OVERVIEW_DISABLED (4.0) => Cacher le bouton "créer ..." sur la page d'aperçu<br />
PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY => Peut lier un objet à un projet d'un autre tiers<br />
PROJECT_ALLOW_COMMENT_ON_TASK => Ajouter un commentaire sur la tâche du projet <br />
<br />
=Module de fondation=<br />
<br />
MEMBER_URL_REDIRECT_SUBSCRIPTION => Lien appelé et affiché lorsqu'un compte membre est créé automatiquement dans un module membre par un utilisateur invité.<br />
MEMBER_EXT_URL_SUBSCRIPTION_INFO => Lien de la page externe désignée par le lien "Afficher ici" ajouté dans la cellule de paiement, dans la page pour effectuer un abonnement en ligne. <br />
<br />
Module d'interventions<br />
<br />
FICHINTER_CLASSIFY_BILLED => Permet de classer une carte d’intervention en "Facturé". Cet ajout déclenche également FICHINTER_CLASSIFY_BILLED dans la liste des événements automatiques possibles dans l'agenda.<br />
FICHINTER_DISABLE_DETAILS => Désactiver l'entrée de la ligne de détails sur l'intervention. Peut valider sans ligne. <br />
<br />
=Module fournisseurs=<br />
<br />
FOURN_PRODUCT_AVAILABILITY => Sur la page de prix Fournisseurs des produits, activez la disponibilité du produit fournisseur. Ceci est une fonctionnalité en double avec delivery_delay introduit avec 3.8.<br />
SUPPLIER_ORDER_AUTOADD_USER_CONTACT => Ajouter automatiquement un utilisateur approuvant la commande du fournisseur en tant que contact.<br />
SUPPLIER_ORDER_USE_DISPATCH_STATUS => Ajouter un statut sur chaque ligne de commande lors de la réception des produits des fournisseurs (v4.0 +)<br />
SUPPLIER_ORDER_NO_DIRECT_APPROVE => Aucun bouton "Valider et approuver". Toujours faire l'étape "Valider" et "Approuver" en 2 étapes.<br />
SUPPLIER_ORDER_WITH_NOPRICEDEFINED => Peut entrer un produit même si aucun prix fournisseur n'est défini. (v6.0 +)<br />
SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT => Peut modifier le prix d'achat utilisé pour le calcul du PMP lors d'une réception de stock sur une commande fournisseur. (v6.0 +) <br />
<br />
Module de banque<br />
<br />
BANK_CAN_RECONCILIATE_CASHACCOUNT (3.8) => Peut réconcilier les comptes de caisse<br />
BANK_DISABLE_CHECK_DEPOSIT => Désactiver la fonctionnalité de dépôt de chèques<br />
BANK_ASK_PAYMENT_BANK_DURING_ORDER => Demander un compte bancaire lors de la création d'une commande<br />
BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL => Demander un compte bancaire lors de la création d'une proposition <br />
<br />
=Module emailing=<br />
<br />
MAILING_PREFIX_FOR_EMAIL_ID => Définissez la valeur qui sera utilisée pour composer le "Email ID" dans les en-têtes de courrier électronique. Si vous définissez cette valeur sur 'SERVER_NAME', l'hôte virtuel du serveur Web sera utilisé. Par défaut, ce n'est pas défini, donc une clé de hachage, unique à chaque instance, est utilisée.<br />
MAILING_NO_USING_PHPMAIL => Si défini, le module emailing ne peut pas être utilisé avec la configuration de messagerie de "phpmail". L'utilisation d'un serveur SMTP tiers est requise. Vous pouvez compléter le message d'avertissement en ajoutant un e-mail au contact pour l'aide à la configuration avec la constante MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS.<br />
MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS => Contient un email à afficher dans un message visible pour l'utilisateur lorsqu'il essaie d'utiliser le module emailing sans serveur SMTP et si l'option MAILING_NO_USING_PHPMAIL est activée.<br />
MAILING_LIMIT_WARNING_PHPMAIL => Afficher un message d'avertissement (var contient le message à afficher ou la clé de traduction) sur le formulaire d'envoi par email si la configuration est sur "phpmail". Par exemple, vous pouvez définir ce paramètre sur «MAILING_LIMIT_WARNING_PHPMAIL» et entrer la clé de traduction pour chaque langue pour cette clé.<br />
MAILING_LIMIT_WARNING_NOPHPMAIL => Afficher un message d’avertissement (var contient le message à afficher ou la clé de traduction) sur le formulaire d’envoi par email si l’installation est autre chose que "phpmail". Par exemple, vous pouvez définir ce paramètre sur «MAILING_LIMIT_WARNING_NOPHPMAIL» et saisir la clé de traduction pour chaque langue pour cette clé.<br />
EMAILING_USE_ADVANCED_SELECTOR => Activer le sélecteur avancé pour les destinataires <br />
<br />
MAILING_LIMIT_SENDBYWEB => Limiter le nombre d'emails que vous pouvez envoyer dans la même session d'envoi avec le module emailing de l'interface graphique. La valeur "dolibarr_mailing_limit_sendbyweb", si elle est définie dans le fichier de configuration, est utilisée en priorité pour cette limite. Une valeur négative signifie que l'envoi par le Web est interdit.<br />
MAILING_LIMIT_SENDBYCLI => Limiter le nombre d'emails que vous pouvez envoyer dans la même session d'envoi avec le module emailing du script CLI. La valeur "dolibarr_mailing_limit_sendbycli", si elle est définie dans le fichier de configuration, est utilisée en priorité pour cette limite. <br />
<br />
=Options PDF=<br />
<br />
MAIN_DISABLE_FORCE_SAVEAS => Si votre navigateur demande toujours de sauvegarder les fichiers téléchargés sur le disque (comme PDF), essayez d’ajouter cette option. Le fichier peut apparaître directement dans votre navigateur. <br />
<br />
MAIN_DISABLE_PDF_COMPRESSION => Désactiver la compression PDF. <br />
<br />
MAIN_INVERT_SENDER_RECIPIENT => Inverser l'expéditeur et le destinataire dans certains PDF. <br />
<br />
MAIN_DISABLE_PDF_AUTOUPDATE => Désactiver la génération automatique de PDF à chaque fois que nous ajoutons / mettons à jour / supprimons une ligne de produit (nous pouvons toujours créer un document en cliquant sur "Générer"). Cette option peut augmenter la vitesse d'interface sur les serveurs à faible CPU. <br />
<br />
MAIN_USE_BACKGROUND_ON_PDF => Définissez cette constante avec le nom abrégé d'une image (exemple "myimage.jpg") qui doit être enregistrée dans le répertoire "documents / mycompany / logos". Cela va ajouter cette image de fond dans vos fichiers PDF générés. Attention: cette option rend la librairie TCPDF parfois folle et le contenu de l'image a disparu! <br />
<br />
MAIN_ADD_PDF_BACKGROUND => Définissez cette constante avec le nom abrégé d'un fichier PDF (exemple "mypdf.pdf") qui doit être enregistré dans le répertoire "documents / mycompany". Cela ajoutera un fichier PDF en arrière-plan à certains de vos fichiers PDF générés (propositions, factures, commandes). Si vous avez besoin de concaténer des fichiers PDF, reportez-vous à la section Module Concat PDF . <br />
<br />
MAIN_PDF_FORCE_FONT => Pour ignorer la police définie dans le fichier de langue et forcer l'utilisation d'une police particulière. Par exemple "DejaVuSans". <br />
<br />
MAIN_PDF_FREETEXT_HEIGHT => Modifier la hauteur de l'espace réservé à la sortie du texte libre. <br />
<br />
MAIN_PDF_TITLE_BACKGROUND_COLOR => Peut définir une couleur de fond sur la ligne de titre. Exemple: '220 220 200' <br />
<br />
MAIN_USE_COMPANY_NAME_OF_CONTACT => Utiliser le nom et les informations du contact plutôt que la société <br />
<br />
MAIN_ODT_AS_PDF => Activer la conversion PDF à partir du document ODT. Si la valeur est "jodconverter", l'outil de ligne de commande Java et jodconverter doit être disponible. Si la valeur est '/pathto/jodconverter.jar', alors Java et le jodconvertar jar doivent exister. soffice doit également être disponible. MAIN_DOL_SCRIPTS_ROOT Doit également être défini sur le chemin où le répertoire "scripts" est stocké (par exemple / var / www / mydolibarr). <br />
<br />
MAIN_ODT_AS_PDF_DEL_SOURCE => Pour la génération ODT. S'il est défini, le comportement initial est conservé, mais le fichier odt est supprimé lorsque l'option permettant de le convertir au format PDF (voir ci-dessus) est activée. Désactivé par défaut <br />
<br />
MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Inclure la première image du produit dans la ligne du PDF généré pour les propositions des clients. <br />
<br />
MAIN_GENERATE_INVOICES_WITH_PICTURE => Inclure la première image du produit dans la ligne du PDF généré pour les factures client. <br />
<br />
MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE => Inclure la première image du produit dans la ligne du PDF généré pour les propositions des fournisseurs (v5.0.3 +) <br />
<br />
MAIN_DOCUMENTS_WITH_PICTURE_WIDTH => Peut changer la taille de l'image lorsque l'option masquée MAIN_GENERATE_PROPOSALS_WITH_PICTURE est utilisée. La valeur par défaut est 20. <br />
<br />
MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN => Masquer la colonne avec les informations TVA mais uniquement la colonne non totale. <br />
<br />
PDF_SHOW_PROJECT => Afficher le projet sur le PDF (supporté sur commande fournisseur pour le moment) <br />
<br />
PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN => Cacher le numéro de banque ("code banque / guichet / compte" pour la france, "trier numéro / compte" pour GB, ...) et ne conserver que BIC / IBAN au format PDF. <br />
<br />
PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES => Valeur 1 ou 2 change la façon dont la référence du produit est affichée (1 = réf. Fournisseur uniquement et non référence interne, 2 = fournisseur puis interne). Sans, la référence interne, le fournisseur est affiché. <br />
<br />
MAIN_PDF_ADDALSOTARGETDETAILS => Ajoutez des détails particuliers comme le numéro de téléphone sur les fichiers PDF générés. Peut être utile dans les cas où une commande / facture imprimée est remise à un livreur / messager, etc. <br />
<br />
PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME => Incluez le nom d'alias / de remplacement dans le fichier PDF. <br />
<br />
MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => ajouter un champ de signature optionnel en pdf propal <br />
<br />
=Éditeur WYSIWYG=<br />
<br />
FCKEDITOR_ENABLE_DETAILS_FULL => Peut couper et coller des images externes (hébergées sur un serveur externe) dans la description de la proposition, des commandes ou des factures. AVERTISSEMENT: la génération de PDF n'est pas garantie avec ceci. De plus, si l'image est supprimée ou renommée par l'hébergeur d'images, votre proposition, commande ou facture sera brisée. <br />
<br />
<br />
=BlockedLog=<br />
<br />
BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY => Rendre la désactivation du module "bloqué" impossible pour le code pays défini en valeur. Exemple: 'FR, ...' <br />
<br />
=MultiCurreny=<br />
<br />
MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION => Activer la synchronisation API CurrencyLayer</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Param%C3%A9trage_Divers&diff=39820Paramétrage Divers2018-09-24T16:56:38Z<p>Yves.brungard: /* Module de propositions */</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUtil}}<br />
<br />
'''Aide de l'écran:''' Paramétrage Divers<br />
<br />
'''Menu d'accès:''' Accueil -> Configuration -> Divers (avec le gestionaire de menu 'eldy')<br />
<br />
<br />
<br />
<br />
= Fonction =<br />
Cette page permet d'ajouter/éditer des paramètres sans page dédiée à leur édition. Dans la plupart des cas, ce sont des paramètres pour le développement, les modules externes ou des fonctions cachées.<br />
<br />
Pour une utilisation normale de Dolibarr, cet écran de paramétrage doit rester vide et ne pas être utilisé.<br />
<br />
= Quelques options cachées =<br />
Quelques options non visibles dans les interfaces (souvent car en bêta, en expérimentation ou obsolètes) sont disponibles. Dans la plupart des cas, vous n'avez pas besoin de ces fonctions et leur utilisation peut rendre instable l'application.<br />
<br />
Pour les activer il faut définir une constante à 1 (ou à une valeur dépendant de l'option) dans '''Accueil - Configuration - Divers'''.<br />
<br />
L'utilisation de ces constantes étant à éviter, la documentation n'est disponible qu'en Anglais ([[Setup_Other#List_of_known_hidden_options]]). La page servant plutôt d'aide mémoire.<br />
<br />
<br />
=Liste des options cachées connues=<br />
<br />
==Options globales==<br />
<br />
* MAIN_LOGOUT_GOTO_URL => (core) URL à laquelle l'utilisateur sera redirigé après LOGOUT. <br />
<br />
* MAIN_FILESYSTEM_ENCODING => Avec certaines versions de PHP, PHP ne peut pas détecter le code de page du système de fichiers du système d'exploitation du serveur. Pour résoudre ce problème, Dolibarr suppose que le système de fichiers de votre système d'exploitation est UTF-8 sur les systèmes Linux ou osx et iso-8859-1 sur Windows. Si ce n'est pas le cas, par exemple sur un serveur Windows avec un code NTFS UTF-8, vous pouvez définir la variable MAIN_FILESYSTEM_ENCODING sur "utf-8". <br />
<br />
* MAIN_SHOW_TECHNICAL_ID => Afficher également les identifiants techniques sur les cartes d'éléments ou certaines listes (non supportés partout). <br />
<br />
* MAIN_MAXTABS_IN_CARD => Nombre maximum d'onglets visibles. D'autres sont regroupés dans une liste déroulante. <br />
<br />
* MAIN_ONLY_LOGIN_ALLOWED => Seul l'identifiant spécifié est autorisé à se connecter à Dolibarr (mode maintenance). <br />
<br />
* MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES => Ajoutez un horodatage et un utilisateur automatiquement lors de la modification de la note publique. <br />
<br />
* MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES => Ajoutez un horodatage et un utilisateur automatiquement lors de la modification de la note privée. <br />
<br />
* MAIN_SECURITY_CSRF_WITH_TOKEN (> = 5.0) => Activer une deuxième protection anti-CSRF sur POST (un POST d'un autre site Web ne peut être effectué). Notez qu'il existe déjà une protection par défaut utilisant le test sur le référent. Cette deuxième protection utilise TOKEN sur les formulaires et est moins puissante. <br />
* MAIN_APPLICATION_TITLE => Cela changera le titre du logiciel (qui apparaît sur la page de connexion par défaut). Attention, changer cela peut faire échouer la détection de versions Dolibarr par les applications smartphone comme Application Android - DoliDroid <br />
* MAIN_AUTOFILL_DATE => Si cette constante est définie sur une valeur différente de 0, la date de la facture, de la proposition, de la commande ou du paiement est automatiquement renseignée avec la date du jour. Il est fortement recommandé de NE PAS ACTIVER cette fonctionnalité. Cela peut créer beaucoup d'erreurs de saisie avec les données non validées par les utilisateurs. Cela conduit à des valeurs incorrectes enregistrées dans la base de données, entraînant une confusion lorsque vous devez effectuer vos rapports de comptabilité! Cependant, certains utilisateurs le veulent, nous le fournissons donc. <br />
<br />
* MAIN_DISABLE_FULL_SCANLIST => Désactive l'analyse complète des tables pour permettre à la pagination d'afficher le nombre total de pages. Peut être utile pour activer sur des systèmes avec une très grande quantité de données (tables avec plus de 500 000 enregistrements). <br />
<br />
* MAIN_FIRST_TO_UPPER => Dolibarr ajoute des majuscules aux tiers, aux contacts ou aux noms des membres si ce n'est pas fait. Attention, avec certaines langues (dont les mots avec des majuscules ne sont pas les mêmes mots, ou si pagecode n’a pas toujours une majuscule, comme les langages cyrilliques), cette fonctionnalité peut altérer vos données. <br />
<br />
* MAIN_ENABLE_LOG_TO_HTML (MAIN_LOGTOHTML avant 3.9) => Si cette constante est définie, il est possible d'avoir des journaux dans les pages en ajoutant le paramètre & logtohtml = 1 dans l'URL. <br />
<br />
* MAIN_USE_HOURMIN_IN_DATE_RANGE => Sur toutes les lignes d'entités (facture, commande, contrat ...), il est possible d'ajouter des heures et des minutes avec la date sur les champs "date de début" et "date de fin". <br />
<br />
* MAIN_REMOVE_INSTALL_WARNING => Supprimez tous les avertissements de sécurité qui apparaissent aux utilisateurs administrateurs si l'URL / installation est publique. Vous devez résoudre le problème si un avertissement se produit, au lieu de supprimer l'avertissement! Pour cela, placez un fichier nommé install.lock dans le répertoire racine de Dolibarr. Cela arrêtera l'avertissement mais rendra la page / installation impossible à utiliser pour protéger votre installation. <br />
<br />
* MAIN_OPTIMIZE_SPEED => Utilisez des améliorations de vitesse. Voir la page Increase_Performance pour plus d'informations. <br />
<br />
* MAIN_REPLACE_TRANS_xx_XX => Où xx_XX est le code de langue. Si la valeur est string1: newstring1; string2: newstring2 remplace alors string1 par newstring1 dans toute traduction effectuée pour la langue xx_XX. <br />
<br />
* MAIN_REPEATCONTACTONEACHTAB => Si ajouté et défini sur 1, cela ajoute des contacts sur tous les onglets, pas seulement l'onglet principal. <br />
<br />
* MAIN_DISABLE_JQUERY_JNOTIFY => Désactiver l'utilisation de JNotify pour afficher les messages de confirmation ou d'erreur <br />
<br />
* MAIN_USE_JQUERY_JEDITABLE => Permet de mettre à jour depuis l'écran, directement dans la base de données, certaines propriétés d'éléments (factures, propositions, ...) en utilisant Ajax. Cela accélère le temps de réponse, mais évite d'utiliser ces fonctionnalités, car il contourne certaines actions commerciales (mises à jour sur d'autres données qui doivent être effectuées de manière cohérente) et ignore les contrôles métier sur les données que vous avez enregistrées. Cette fonctionnalité brise donc la cohérence des données et peut-être la stabilité du logiciel. <br />
<br />
* MAIN_USE_JQUERY_MULTISELECT => Permet d'utiliser Ajax lorsqu'un choix nécessitant multisélection est utilisé (pour le moment, seuls les modules externes utilisent la sélection avec des valeurs multi-sélection). Définissez la valeur sur le nom du plug-in jQuery à utiliser (multi-sélection, sélection multiple, sélection2…). Le définir sur une autre valeur entraînera des effets secondaires et / ou des bogues indésirables. <br />
<br />
* MAIN_HELPCENTER_LINKTOUSE => Définir le lien URL à utiliser comme page cible pour le lien "J'ai besoin d'aide" sur la page de connexion <br />
<br />
* MAIN_MODULES_FOR_EXTERNAL => Limiter les modules disponibles pour les utilisateurs externes. La valeur par défaut est 'facture, commande, contact, propal, projet, contrat, societe, ficheinter, expedition, agenda' <br />
<br />
* MAIN_SHOW_TUNING_INFO => Ajouter des informations de réglage dans la console javascript. Mieux quand xdebug est activé. <br />
<br />
* MAIN_DOL_SCRIPTS_ROOT => Définir le répertoire qui contient le répertoire 'scripts' (par exemple / var / www / dolibarr) <br />
<br />
* MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING => Un avertissement indiquant que la configuration des modules est incomplète est affiché si le nombre de modules activés est inférieur ou égal à cette valeur (1 si non défini) <br />
<br />
* MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE => Ajouter la signature du représentant de la première vente dans les documents (à la fin des notes publiques). <br />
<br />
* MAIN_DISABLE_AJAX_COMBOX => Si vous avez un grand nombre de tiers ou de produits, vous pouvez désactiver la fonctionnalité de saisie semi-automatique dans la liste des tiers en définissant la constante MAIN_DISABLE_AJAX_COMBOX sur 1 dans Home-Setup-Other (avec Dolibarr v3.6.0 +). <br />
<br />
* MAIN_USE_CACHE_MANIFEST => Ajouter un manifeste de cache HTML5 à la page - Attention, cette fonctionnalité est obsolète et supprimée des standards Web <br />
<br />
* MAIN_FORCELANGDIR => chemin relatif du répertoire contenant votre dossier langs personnalisé. <br />
<br />
* MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS => permet de définir un taux de TVA par défaut <br />
<br />
* MAIN_HTML_TITLE => peut être utilisé pour contrôler la manière dont le titre de la page HTML est formaté. Si la valeur contient la clé 'noapp', le nom de l'application ne sera pas généré. Si value contient 'thirdpartynameonly', sur l'onglet pour les tiers, seul le nom des tiers est affiché. La valeur peut être la liste de balises: 'noapp; thirdpartynameonly' <br />
<br />
* MAIN_LANDING_PAGE => (> = 3.9). Peut choisir la première page à afficher après la connexion (la page de destination). Cette option fonctionne comme une option globale (llx_const) et par option utilisateur (llx_user_param). <br />
<br />
* MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN => (> = 4.0) Lors de la création d'une commande, d'un contrat, d'une facture à partir d'un autre objet, des contacts spécifiques d'objets sont définis comme contact spécifique du nouvel objet lorsque cela est possible. <br />
<br />
* MAIN_WEIGHT_DEFAULT_ROUND => Exactitude du poids (nombre de décimales) <br />
<br />
* MAIN_WEIGHT_DEFAULT_UNIT => Unité par défaut pour le poids (0 = kg, -3 = g, ...) <br />
<br />
* MAIN_VOLUME_DEFAULT_ROUND => Précision du volume (nombre de décimales) <br />
<br />
* MAIN_VOLUME_DEFAULT_UNIT => Unité par défaut pour le poids (0 = kg, -3 = g, ...) <br />
<br />
* MAIN_PUBLIC_NOTE_IN_ADDRESS> = 4.0 => afficher la note publique dans le bloc d'adresse <br />
<br />
* MAIN_DEFAULT_PAYMENT_TERM_ID => Avec l'identifiant d'un terme de paiement, utilisera ce dernier comme délai de paiement par défaut chaque fois que vous créez une nouvelle proposition, une commande, une facture (client et fournisseur) <br />
<br />
* MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND => Changer la manière d'arrondir les lignes TTC totales, en arrondissant d'abord après <br />
<br />
* MAIN_VIEW_LINE_NUMBER => Affiche un numéro de ligne contre chaque ligne de la commande / facture pour les produits / services. À l'écran uniquement, pas au format PDF. <br />
<br />
* MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME => Ajouter le nom de la tierce partie au début du document généré <br />
<br />
* MAIN_DOC_USE_TIMING => Ajouter un horodatage à la fin du document généré. La valeur doit être le format de l'horodatage. Par exemple:% Y% m% d% H% M <br />
<br />
* MAIN_DISABLEDRAFTSTATUS => Désactiver le statut Draft pour certains objets (projet, don, ...) <br />
<br />
* MAIN_USE_OLD_SEARCH_FORM => Afficher l'ancien formulaire de recherche dans le menu de gauche. <br />
<br />
* MAIN_SERVER_TZ => Si vous ne pouvez pas définir le fuseau horaire de votre installation PHP, définissez cette constante. Mieux vaut le régler sur UTC. A l'avenir, cette constante sera forcée à 'UTC', donc le fuseau horaire du serveur PHP n'aura plus d'effet. Exemples: Europe / Paris, auto. <br />
<br />
* MAIN_SEARCH_FORM_ON_HOME_AREAS => Afficher le formulaire de recherche sur les zones de la page d'accueil pour les modules de base (Supprimé après la v5 en raison du combo de recherche globale) (v6.0 +) <br />
<br />
* MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE => Si un seul résultat est trouvé, la définition de cette valeur à 1 vous amène directement à l'élément (méthode par défaut). Définir la valeur sur 0 affichera le résultat dans la liste comme un résultat unique (v5.0 +) <br />
<br />
* MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES (dolibarr 8.0) => Permet d'importer des lignes dans le document actuel à partir de documents compatibles "liés" <br />
<br />
==Visuel ou Thème ==<br />
<br />
* MAIN_OPTIMIZEFORTEXTBROWSER => Optimiser le rendu de sortie pour l'utilisation d'un navigateur de texte (utile pour les personnes aveugles)<br />
* THEME_ELDY_DISABLE_IMAGE => Images désactivées du menu principal pour le thème eldy.<br />
* MAIN_MENU_HIDE_UNAUTHORIZED => Masquer le menu si l'utilisateur connecté n'est pas autorisé plutôt que de simplement les griser<br />
* THEME_TOPMENU_STICKY_POSITION => Option pour corriger le menu principal avec le thème eldy (masque caché) (v7.0 +)<br />
<br />
=Email et SMS=<br />
<br />
MAIN_MAILFORM_DISABLE_ENTERKEY (> = 8.0.1) => Activer le code javascript pour désactiver la clé de saisie dans le formulaire MAIL. <br />
<br />
MAIL_PREFIX_FOR_EMAIL_ID (> = 8.0.1) => Préfixe de l’ID de courrier. La valeur par défaut est $ _SERVER ["SERVER_NAME"] <br />
<br />
MAIN_MAIL_DEBUG => Ecrire le contenu avec en-tête du dernier courrier dans le fichier dolibarr_mail.log dans le répertoire dolibarr_main_data_root. <br />
<br />
MAIN_SMS_DEBUG => Ecrire le contenu du SMS envoyé dans le fichier dolibarr_sms.log dans le répertoire dolibarr_main_data_root. <br />
<br />
MAIN_MAIL_ALLOW_SENDMAIL_F => Sur les systèmes Linux ou BSD, la fonction de messagerie PHP utilise la commande sendmail local to server.<br />
Dans certains cas, le courrier électronique de l'expéditeur doit être fourni sur la ligne de commande de sendmail avec l'option -f. Cette<br />
option est là pour demander à Dolibarr d'appeler la fonction mail de PHP en ajoutant une valeur pour l'option -f. Notez que dans la plupart<br />
des cas, même avec sendmail, le courrier électronique de l'expéditeur est correctement géré, car il est ajouté dans l'en-tête technique du<br />
courrier électronique. Cette option est ici uniquement pour la configuration rare de sendmail qui demande à l'option -f d'être obligatoire <br />
ou pour l'installation sendmail qui n'utilise pas par défaut le chemin de retour de l'en-tête pour définir l'expéditeur (avec cette option <br />
être fourni également sur la ligne de commande et non perdu par sendmail). <br />
<br />
MAIN_MAIL_SENDMAIL_FORCE_BA => Sur les systèmes Linux ou BSD, la fonction de messagerie PHP utilise la commande sendmail local to server.<br />
Dans certains cas, nous voulons que le destinataire soit envoyé à sendmail dans le contenu du courrier électronique au lieu de son paramètre <br />
de ligne de commande. Pour cela, il faut ajouter le paramètre -ba à sendmail. Cette option demande à PHP de fournir ce paramètre lors de l'envoi<br />
d'un mail. Notez qu'une autre solution consiste à éditer le fichier mail.force_extra_parameters = -ba dans le fichier php.ini . <br />
<br />
MAIN_MAIL_NO_FULL_EMAIL => L'e-mail du destinataire et l'expéditeur sont nettoyés pour être sur le formulaire "<email>" au lieu de "Nom <email>". Cela pourrait résoudre le problème de la compatibilité avec les très anciens mailers. <br />
<br />
MAIN_FIX_FOR_BUGGED_MTA => Certains agents MTA sont buggés et ajoutent des caractères CR chaque fois qu’ils voient un LF. Les e-mails <br />
Dolibarr étant falsifiés pour être déjà nettoyés, si l'agent MTA le fait, vous enverrez un e-mail avec deux caractères CR. Cela peut entraîner<br />
le destinataire ne peut pas lire votre courrier électronique. Pour résoudre ce problème, ajoutez cette constante à 1. Dolibarr créera alors un courrier électronique non conforme à la norme RFC mais, étant donné que l’agent MTA est bogue, le courrier électronique sera modifié et <br />
corrigera lors de l’envoi, ce qui résoudra le problème. Ajoutez cette constante si votre destinataire rencontre des problèmes lors de <br />
l'ouverture du courrier électronique, par exemple des utilisateurs utilisant le webmail orange.fr ou hotmail.com <br />
<br />
MAIN_MAIL_DO_NOT_USE_SIGN => N'ajoutez pas de signature d'utilisateur à la fin de l'e-mail prédéfini suggéré <br />
<br />
<br />
MAIL_FORCE_DELIVERY_RECEIPT_INVOICE => Définissez la valeur par défaut sur "Oui" lors de la demande d'un accusé de réception lors de l'envoi d'un courrier électronique via le module Facture client . <br />
<br />
MAIL_FORCE_DELIVERY_RECEIPT_ORDER => Définissez la valeur par défaut sur "Oui" lors de la demande d'accusé de réception lors de l'envoi<br />
du courrier électronique via le module Commande client . <br />
<br />
MAIL_FORCE_DELIVERY_RECEIPT_PROPAL => Définissez la valeur par défaut sur "Oui" lors de la demande d'un accusé de réception lors de<br />
l'envoi du courrier électronique via le module Proposition client . <br />
<br />
MAIN_EMAIL_USECCC => 1 = Afficher le champ BCC dans les formulaires de courrier électronique, si email = Afficher le BCC pré-rempli <br />
avec le courrier électronique. <br />
<br />
MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO => E-mail à utiliser en tant que destinataires<br />
BCC lors de l'envoi de courrier électronique pour proposition, commande ou facture. Vous pouvez rendre cette valeur visible en définissant MAIN_EMAIL_USECCC (à 1 ou à un autre email, voir point précédent) <br />
<br />
MAIN_EMAIL_ADD_TRACK_ID => Lorsque la valeur est 1 (c'est également la valeur par défaut si l'option n'est pas définie): l'enregistrement "Message-id" ajouté dans l'en-tête de smtp inclut un identifiant de suivi pour définir d'où le mail a été envoyé. Lorsque la valeur est 2: <br />
vous envoyez un e-mail depuis une carte tierce, l'e-mail de l'expéditeur est complété par la chaîne de suivi de la source e-mail "+ thiXXX" <br />
(votre e-mail sera envoyé avec "myname + thi123 @ mycompany"). com). Ainsi, lorsque l'utilisateur recevant un courrier électronique répondra, <br />
un courrier électronique sera envoyé à myname@masociete.com mais avec l'identifiant de suivi inclus (dans l'en-tête ou dans le courrier <br />
électronique cible), vous permettant ainsi de savoir à quel tiers ou objet est liée à. <br />
<br />
MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL => Restreindre l'envoi d'un email à x destinataires pour un même mail (x pour To: + CC: + BCC :).<br />
Si elle n'est pas définie, la valeur est 10. Requise pour lutter contre le spam qui inclut 1000 destinataires dans un message. Notez que MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL et MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL sont <br />
également disponibles. <br />
<br />
MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML => Forcer l'envoi de tous les emails (événement avec un contenu texte uniquement) en tant qu'e-mail<br />
au format HTML. <br />
<br />
MAIN_MAIL_USE_MULTI_PART => Forger le contenu d'un email en utilisant une autre partie du texte (pour 5.0.2+). Par défaut avec 6.0+ <br />
<br />
MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS => Si des images ont été stockées dans le répertoire des médias depuis CKEditor, les images dans<br />
les e-mails sont remplacées par du "contenu en ligne". Cela peut augmenter sérieusement le risque d'être détecté en tant que SPAM. <br />
<br />
MAIN_COPY_FILE_IN_EVENT_AUTO => Ajouter un document de pièce jointe sur l'événement auto généré en envoyant un email à partir de dolibarr. <br />
(v6.0 +) <br />
<br />
MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS => Entrez l'adresse IP publique du serveur, elle apparaîtra donc dans l'aide sur la page de configuration<br />
du courrier électronique. <br />
<br />
MAIN_MAIL_ENABLED_USER_DEST_SELECT => Afficher également les utilisateurs internes dans la liste des destinataires du courrier électronique <br />
dans le formulaire d'envoi de courrier électronique (v8.0 +) <br />
<br />
=Module tiers=<br />
<br />
* COMPANY_AQUARIUM_CLEAN_REGEX (> = 8.0.1) => Ajouter une règle REGEX sur les noms des tiers.<br />
* MAIN_FORCE_DEFAULT_STATE_ID (> = 8.0.1) => Permet de forcer la sélection d'un pays / province / comté à partir d'un pays en spécifiant des identifiants<br />
* SOCIETE_DISABLE_CUSTOMERS => Supprimer tous les menus et fonctionnalités liés aux clients<br />
* SOCIETE_DISABLE_PROSPECTS => Supprimer tous les menus et fonctionnalités liés aux prospects<br />
* SOCIETE_DISABLE_STATE => Ne pas utiliser le champ "state / province"<br />
* THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT => Ne définissez pas le statut "Client / Prospect" sur "on" lors de la création d'un nouveau tiers à partir du menu "Nouveau tiers".<br />
* THIRDPARTY_NOTSUPPLIER_BY_DEFAULT => Ne définissez pas le statut "Fournisseur" sur "on" lors de la création d'un nouveau tiers à partir du menu "Nouveau tiers".<br />
* SOCIETE_SORT_ON_TYPEENT = La liste déroulante du "type de tiers" est triée sur un champ "position" qui apparaît dans le dictionnaire au lieu de l'ordre alphabétique.<br />
* THIRDPARTY_DEFAULT_CREATE_CONTACT (Dolibarr 5.0+) => La création par défaut d'un tiers est individuelle<br />
* MAIN_THIRDPARTY_CREATION_INDIVIDUAL (Dolibarr <5.0) => Les tiers créés par défaut sont individuels<br />
* THIRDPARTY_DEFAULT_USEVAT => Lors de la création d'un nouveau tiers, le champ "Use vat" est activé ou désactivé en fonction de la valeur de ce paramètre.<br />
* THIRDPARTY_DEFAULT_USELOCALTAX1 => Lors de la création d'un nouveau tiers, le champ "Utiliser la deuxième taxe" est activé ou désactivé en fonction de la valeur de ce paramètre.<br />
* THIRDPARTY_DEFAULT_USELOCALTAX2 => Lors de la création d'un nouveau tiers, le champ "Utiliser la troisième taxe" est activé ou désactivé en fonction de la valeur de ce paramètre.<br />
* THIRDPARTY_INCLUDE_PARENT_IN_LINKTO => Recherchez également des éléments sur le tiers parent lorsque vous utilisez la fonctionnalité d'objet "lien vers".<br />
* THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO => Recherchez également les éléments appartenant à un tiers qui possèdent le projet de l'élément en cours lors de l'utilisation de la fonctionnalité d'objet "link to" (si le projet appartient à un tiers différent de celui en cours).<br />
* SOCIETE_ASK_FOR_SHIPPING_METHOD => Le mode de livraison peut être prédéfini sur la carte client et sera utilisé par défaut lors de la création de la commande<br />
* THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un logo est téléchargé, une clé de partage est automatiquement définie pour que le fichier puisse être téléchargé à l'aide de la clé de partage.<br />
* MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL => Les utilisateurs externes sont toujours limités au tiers de leur enregistrement de contact. Avec cette option, l'autorisation "voir toutes les tierces parties" peut également fonctionner pour un utilisateur externe. Pas encore mis en œuvre...<br />
<br />
==Module de propositions commerciales (devis)==<br />
<br />
* PROPAL_CLONE_ON_CREATE_PAGE => Sur la page de création de proposition, demandez si vous souhaitez créer la proposition en clonant une proposition déjà existante. Vous devez utiliser à la place le bouton "Cloner" disponible sur les propositions existantes.<br />
* MAIN_PROPAL_CHOOSE_ODT_DOCUMENT => Sur la page de configuration, vous pourrez sélectionner le document ODT à utiliser lorsque vous fermez ou annulez des propositions.<br />
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Ajouter une image du produit (le premier trouvé s'il y en a plusieurs) dans le PDF de propositions généré. Notez que cela réduira la largeur disponible pour la description du produit.<br />
* PROPAL_DISABLE_SIGNATURE => Ne pas afficher la boîte pour signature.<br />
* WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES => Le bouton "Classifié" est visible sur la proposition même si aucune facture n'est liée à la proposition.<br />
* PRODUIT_PDF_MERGE_PROPAL => Lors de la génération du PDF de la proposition, tous les PDF liés aux produits liés à la proposition sont également inclus dans le PDF final<br />
* PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un fichier PDF est généré, une clé de partage est automatiquement définie pour que le fichier puisse être téléchargé à l'aide de la clé de partage. (v7.0 +)<br />
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => ajouter un champ de signature optionnel en sur le PDF de la proposition.<br />
<br />
==Module de commandes==<br />
<br />
* COMMANDE_REQUIRE_SOURCE => Rendre obligatoire le champ de saisie "Source de commande".<br />
* COMMANDE_VALID_AFTER_CLOSE_PROPAL => Lorsqu'une commande est créée sur une proposition fermée, la commande est directement définie avec le statut "Validé".<br />
* COMMANDE_CHANGE_THIRDPARTY => Peut changer le client sur les commandes<br />
* ORDER_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un fichier PDF est généré, une clé de partage est automatiquement définie pour que le fichier puisse être téléchargé à l'aide de la clé de partage. (v7.0 +) <br />
<br />
==Module de facturation==<br />
<br />
* MAIN_DEPOSIT_MULTI_TVA => Dans la facture de dépôt, crée une ligne par taux de TVA à partir du document d'origine (6.0)<br />
* FACTURE_SHOW_SEND_REMINDER => Afficher le lien "Envoyer un rappel par mail", même fonctionnalité que "Envoyer par mail" (fonctionnalité obsolète).<br />
* INVOICE_CAN_ALWAYS_BE_EDITED => Permet de modifier les factures même si le paiement a été lancé. Remarque: Si le module " BlockedLog " est actif (requis par certains pays pour des raisons légales), cela ne modifiera pas le contenu des journaux archivés suivis par ce module. Par définition, il est impossible de modifier ou de supprimer des enregistrements archivés. Il ne fera que mettre à jour les données de votre application et un nouvel enregistrement pour suivre votre modification dans le journal d'archivage non réversible.<br />
* INVOICE_CAN_ALWAYS_BE_REMOVED => Permet de toujours supprimer les factures (même si la facture n’est pas la dernière). Remarque: Si le module " BlockedLog " est actif (requis par certains pays pour des raisons légales), cela ne modifiera pas le contenu des journaux archivés suivis par ce module. Par définition, il est impossible de modifier ou de supprimer des enregistrements archivés. Il ne fera que mettre à jour les données de votre application et un nouvel enregistrement pour suivre votre modification dans le journal d'archivage non réversible.<br />
* INVOICE_CAN_NEVER_BE_REMOVED => Ne jamais autoriser à supprimer des factures (sauf les factures brutes).<br />
* INVOICE_POSITIVE_CREDIT_NOTE => Tous les montants sur les notes de crédit PDF sont positifs.<br />
* FACTURE_CHANGE_THIRDPARTY => Permet de modifier le tiers dans les brouillons de factures. Si une remise a été définie à partir du tiers d'origine, la remise reste en vigueur, rendant les données non cohérentes.<br />
* FACTURE_USE_PROFORMAT => Activer le type de factures PROFORMAT.<br />
* FACTURE_DEPOSITS_ARE_JUST_PAYMENTS => Traite les factures de dépôt comme un cas particulier. Les factures de dépôt ne sont pas comptabilisées dans le chiffre d'affaires. Ils sont ensuite appliqués en tant que paiement, comme une remise, sur la facture finale. Par défaut, lorsque vous incluez le dépôt dans le brouillon de la facture finale, le montant de la facture finale est réduit. Avec cette option, le montant final n'est pas réduit mais un paiement est enregistré.<br />
* FACTURE_SENDBYEMAIL_FOR_ALL_STATUS => Peut envoyer une facture par email au client même si la facture a le statut "brouillon".<br />
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT => Désactiver la TVA sur les documents générés. comme pour une association. (c'est du travail avec le modèle de crabe)<br />
* INVOICE_CREDIT_NOTE_STANDALONE (dolibarr 3.9) => Peut faire un avoir sans facture.<br />
* INVOICE_USE_SITUATION = Activer la fonctionnalité "facture de situation"<br />
* INVOICE_USE_SITUATION_CREDIT_NOTE (dolibarr 8.0) = Activer la fonctionnalité "note de crédit de situation" (nécessite INVOICE_USE_SITUATION)<br />
* INVOICE_DISABLE_DEPOSIT = Désactiver les factures de dépôt<br />
* INVOICE_DISABLE_REPLACEMENT = Désactiver les factures de remplacement<br />
* INVOICE_DISABLE_CREDIT_NOTE = Désactiver les notes de crédit<br />
* WORKFLOW_BILL_ON_SHIPMENT = Modifier l'étiquette du bouton avec l'étiquette appropriée lorsque vous devez créer une facture pour les envois<br />
* INVOICE_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un PDF est généré, une clé de partage est automatiquement définie pour que le fichier puisse être téléchargé à l'aide de la clé de partage. (v7.0 +) <br />
<br />
==Rapport de dépenses==<br />
<br />
* EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS => Peut entrer plusieurs rapports de dépenses sur des périodes identiques ou se chevauchant. (v7.0 +) <br />
<br />
==Module d'export==<br />
<br />
* EXPORT_CSV_SEPARATOR_TO_USE => Valeur de chaîne à utiliser comme séparateur par défaut pour délimiter les champs des fichiers exportés (par défaut, Dolibarr utilise ","). Exemple: EXPORT_CSV_SEPARATOR_TO_USE =;<br />
* EXPORT_CSV_FORCE_CHARSET => Choisissez le jeu de caractères utilisé dans le fichier de sortie créé par l'exportateur CSV. Par défaut, c'est ISO-8859-1. Exemple: EXPORT_CSV_FORCE_CHARSET = utf-8<br />
* EXPORTTOOL_CATEGORIES => Peut exporter des catégories (plusieurs lignes) dans une colonne avec le "profil d'exportation de produit"<br />
* USE_STRICT_CSV_RULES => Utiliser le format CSV strict / réel pour l'exportation. Ne nettoyez / remplacez pas CR + LF par '\ n' mais citez-les en utilisant le caractère CSV d'échappement ("). <br />
<br />
==Module agenda==<br />
<br />
* AGENDA_MAX_EVENTS_DAY_VIEW => Définissez le nombre maximum d'entrées visibles pour chaque jour dans l'agenda. La valeur par défaut est 3. La valeur 0 signifie aucune limite.<br />
* AGENDA_USE_EVENT_TYPE => Ajouter un champ obligatoire "Type" lors de la création d'un événement (obsolète).<br />
* AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS => Définir automatiquement la date de fin de l'événement pour démarrer la date + delta sur la page de création de l'événement.<br />
* MAIN_ADD_EVENT_ON_ELEMENT_CARD => Permet de créer un événement à partir d'un document (proposition, commande, facture)<br />
<br />
=Module produits=<br />
<br />
MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE => Eviter que le code personnalisé et le pays d'origine soient définis comme description du produit lorsqu'ils sont ajoutés à Propal / Order / Invoice<br />
PRODUCT_ADD_TYPE_IN_DOCUMENTS => Ajoutez le texte "Produit" ou "Service" au début des lignes de détails sur les documents PDF construits.<br />
PRODUCT_DONOTSEARCH_ANYWHERE => Lorsque la recherche Ajax est activée, la recherche est effectuée sur les critères de l’étiquette du produit. En ajoutant cette option, la recherche est effectuée uniquement au début de l'étiquette. C'est vraiment plus rapide lorsque vous avez un grand nombre de produits.<br />
PRODUIT_DESC_IN_LIST => Afficher une longue description du produit / service dans les listes.<br />
PRODUIT_PDF_MERGE_PROPAL => Activer le module PDF produit<br />
PRODUCT_USE_OLD_PATH_FOR_PHOTO => Demandez à dolibarr de vérifier également l’ancien chemin (avant 3.7) où les photos ont été stockées.<br />
PRODUCT_USE_UNITS => Activer les unités du dictionnaire dans la carte de produit / service.<br />
PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL => Lorsque l'option d'utilisation du prix par niveau / segment est activée, cela permet également de définir une cuve dédiée pour chaque niveau de prix.<br />
MAIN_DIRECT_STATUS_UPDATE => Vous permet de modifier le statut du produit ( à vendre / à ne pas vendre pour l’achat / à ne pas acheter ) directement sur la page du produit via un bouton d’activation / désactivation . Cela peut être pratique pour ceux qui ont besoin de désactiver rapidement certains statuts de produits sans avoir à parcourir la page d'édition du produit individuellement. Cela peut également être très utile si vous l'utilisez comme filtre sur la liste de recherche de produits et de produits. Cette option ne génère pas de déclencheur MODIFY, soyez donc prudent avec les modules externes. v4.0 + <br />
<br />
PRODUCT_CHARGES => Ajoute un champ supplémentaire pour les frais ad hoc au stade du prix d'achat du produit. Le prix de revient est ensuite calculé avec le prix fournisseur + les frais si définis. Utile pour les coûts supplémentaires pour un produit ou certains frais de livraison au produit. <br />
<br />
PRODUCT_MAX_VISIBLE_PHOTO => Affiche un nombre maximum de photos de produits (sous forme de vignettes) sur la carte principale du produit. Par exemple, en définissant cette constante sur «5», vous verrez les cinq premières photos de produit trouvées sur la fiche produit.<br />
PRODUCT_MAX_LENGTH_COMBO => limiter la longueur de l'étiquette affichée lors de l'ajout de lignes dans les propositions / factures / commandes<br />
MAIN_DISABLE_FREE_LINES (> = 8.0) => Ne pas autoriser l'utilisation de lignes libres pour ajouter une ligne dans les documents <br />
<br />
Module services<br />
<br />
SERVICE_ARE_ECOMMERCE_200238EC => Si cette option est activée, les services sont traités comme des eServices conformément aux directives de la directive 2002/38 / CE du Conseil de l'UE ( http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en .htm ). Le taux de TVA par défaut est basé sur l'achat de pays au lieu de vendre le pays pour les ventes de BtoC. <br />
<br />
Stocks<br />
<br />
MAIN_SERVICES_ARE_ECOMMERCE_200238EC (<8) => <br />
<br />
CASHDESK_FORCE_STOCK_ON_BILL (> = 8.0.1) => Option pour forcer la diminution du stock quelle que soit la configuration de l'utilisateur. <br />
<br />
SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED => Désactiver l'envoi du stock lorsque le total attendu a déjà été reçu. <br />
<br />
Les envois<br />
<br />
STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS (> = 8.0.1) => Si défini, vous pouvez ajouter une ligne d’expédition, sans définir de source de stock. <br />
<br />
SHIPMENT_GETS_ALL_ORDER_PRODUCTS => Ajoutez toutes les lignes de commande en expédition, y compris celle dont la quantité est 0 <br />
<br />
=Point de vente=<br />
<br />
CASHDESK_SHOW_KEYPAD => Afficher un clavier de souris dans le point de vente.<br />
POS_ADDON = Définissez cette valeur sur une règle de module de numérotation existante (par exemple, "mod_facture_terre", "mod_facture_mars", ...) pour forcer le module de numérotation à définir la facture lorsque la facture est créée par le POS. Par exemple, la valeur POS_ADDON de 'mod_facture_terre' utilisera le module de numérotation 'terre' pour la facture générée depuis le point de vente, quelle que soit la règle de numérotation définie dans la configuration du module de facturation (vous pouvez également utiliser la variable POS_NUMBERING_TERRE_FORCE_PREFIX <br />
<br />
Les contrats<br />
<br />
CONTRACT_SUPPORT_PRODUCTS => Des produits sont également proposés dans le contrat de module. <br />
<br />
=Module projets=<br />
<br />
PROJECT_DISABLE_UNLINK_FROM_OVERVIEW (> = 8.0.1) => Activer la suppression du bouton d'un lien dans l'aperçu du projet.<br />
PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS => Permet de lier un projet à n'importe quel fournisseur, même en utilisant la fonction de lien tiers. Note: Défini sur 1 par défaut à partir de 3.7.<br />
PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS => Peut ajouter du temps passé sur les tâches, même si je ne suis pas affecté à une tâche (cependant, la tâche doit être un projet que je suis un contact).<br />
PROJECT_SHOW_REF_INTO_LISTS => Ajouter une colonne avec la référence du projet dans la liste (avec 3.7 liste des factures fournisseurs uniquement, sera étendue aux autres listes)<br />
PROJECT_HIDE_UNSELECTABLES => Masquer dans la liste de sélection, tout projet que nous ne pouvons pas sélectionner (fermé ou brouillon)<br />
PROJECT_HIDE_TASKS => Cacher les tâches. Pour l'utilisateur utilisant le projet uniquement en tant que clé d'analyse et n'utilisant pas de tâches.<br />
PROJECT_LIST_SHOW_STARTDATE => Affiche la date de début des projets dans les listes de projets.<br />
PROJECT_LINK_ON_OVERWIEW_DISABLED (4.0) => Masquer le formulaire "link to" sur la page d'aperçu<br />
PROJECT_CREATE_ON_OVERVIEW_DISABLED (4.0) => Cacher le bouton "créer ..." sur la page d'aperçu<br />
PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY => Peut lier un objet à un projet d'un autre tiers<br />
PROJECT_ALLOW_COMMENT_ON_TASK => Ajouter un commentaire sur la tâche du projet <br />
<br />
=Module de fondation=<br />
<br />
MEMBER_URL_REDIRECT_SUBSCRIPTION => Lien appelé et affiché lorsqu'un compte membre est créé automatiquement dans un module membre par un utilisateur invité.<br />
MEMBER_EXT_URL_SUBSCRIPTION_INFO => Lien de la page externe désignée par le lien "Afficher ici" ajouté dans la cellule de paiement, dans la page pour effectuer un abonnement en ligne. <br />
<br />
Module d'interventions<br />
<br />
FICHINTER_CLASSIFY_BILLED => Permet de classer une carte d’intervention en "Facturé". Cet ajout déclenche également FICHINTER_CLASSIFY_BILLED dans la liste des événements automatiques possibles dans l'agenda.<br />
FICHINTER_DISABLE_DETAILS => Désactiver l'entrée de la ligne de détails sur l'intervention. Peut valider sans ligne. <br />
<br />
=Module fournisseurs=<br />
<br />
FOURN_PRODUCT_AVAILABILITY => Sur la page de prix Fournisseurs des produits, activez la disponibilité du produit fournisseur. Ceci est une fonctionnalité en double avec delivery_delay introduit avec 3.8.<br />
SUPPLIER_ORDER_AUTOADD_USER_CONTACT => Ajouter automatiquement un utilisateur approuvant la commande du fournisseur en tant que contact.<br />
SUPPLIER_ORDER_USE_DISPATCH_STATUS => Ajouter un statut sur chaque ligne de commande lors de la réception des produits des fournisseurs (v4.0 +)<br />
SUPPLIER_ORDER_NO_DIRECT_APPROVE => Aucun bouton "Valider et approuver". Toujours faire l'étape "Valider" et "Approuver" en 2 étapes.<br />
SUPPLIER_ORDER_WITH_NOPRICEDEFINED => Peut entrer un produit même si aucun prix fournisseur n'est défini. (v6.0 +)<br />
SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT => Peut modifier le prix d'achat utilisé pour le calcul du PMP lors d'une réception de stock sur une commande fournisseur. (v6.0 +) <br />
<br />
Module de banque<br />
<br />
BANK_CAN_RECONCILIATE_CASHACCOUNT (3.8) => Peut réconcilier les comptes de caisse<br />
BANK_DISABLE_CHECK_DEPOSIT => Désactiver la fonctionnalité de dépôt de chèques<br />
BANK_ASK_PAYMENT_BANK_DURING_ORDER => Demander un compte bancaire lors de la création d'une commande<br />
BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL => Demander un compte bancaire lors de la création d'une proposition <br />
<br />
=Module emailing=<br />
<br />
MAILING_PREFIX_FOR_EMAIL_ID => Définissez la valeur qui sera utilisée pour composer le "Email ID" dans les en-têtes de courrier électronique. Si vous définissez cette valeur sur 'SERVER_NAME', l'hôte virtuel du serveur Web sera utilisé. Par défaut, ce n'est pas défini, donc une clé de hachage, unique à chaque instance, est utilisée.<br />
MAILING_NO_USING_PHPMAIL => Si défini, le module emailing ne peut pas être utilisé avec la configuration de messagerie de "phpmail". L'utilisation d'un serveur SMTP tiers est requise. Vous pouvez compléter le message d'avertissement en ajoutant un e-mail au contact pour l'aide à la configuration avec la constante MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS.<br />
MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS => Contient un email à afficher dans un message visible pour l'utilisateur lorsqu'il essaie d'utiliser le module emailing sans serveur SMTP et si l'option MAILING_NO_USING_PHPMAIL est activée.<br />
MAILING_LIMIT_WARNING_PHPMAIL => Afficher un message d'avertissement (var contient le message à afficher ou la clé de traduction) sur le formulaire d'envoi par email si la configuration est sur "phpmail". Par exemple, vous pouvez définir ce paramètre sur «MAILING_LIMIT_WARNING_PHPMAIL» et entrer la clé de traduction pour chaque langue pour cette clé.<br />
MAILING_LIMIT_WARNING_NOPHPMAIL => Afficher un message d’avertissement (var contient le message à afficher ou la clé de traduction) sur le formulaire d’envoi par email si l’installation est autre chose que "phpmail". Par exemple, vous pouvez définir ce paramètre sur «MAILING_LIMIT_WARNING_NOPHPMAIL» et saisir la clé de traduction pour chaque langue pour cette clé.<br />
EMAILING_USE_ADVANCED_SELECTOR => Activer le sélecteur avancé pour les destinataires <br />
<br />
MAILING_LIMIT_SENDBYWEB => Limiter le nombre d'emails que vous pouvez envoyer dans la même session d'envoi avec le module emailing de l'interface graphique. La valeur "dolibarr_mailing_limit_sendbyweb", si elle est définie dans le fichier de configuration, est utilisée en priorité pour cette limite. Une valeur négative signifie que l'envoi par le Web est interdit.<br />
MAILING_LIMIT_SENDBYCLI => Limiter le nombre d'emails que vous pouvez envoyer dans la même session d'envoi avec le module emailing du script CLI. La valeur "dolibarr_mailing_limit_sendbycli", si elle est définie dans le fichier de configuration, est utilisée en priorité pour cette limite. <br />
<br />
=Options PDF=<br />
<br />
MAIN_DISABLE_FORCE_SAVEAS => Si votre navigateur demande toujours de sauvegarder les fichiers téléchargés sur le disque (comme PDF), essayez d’ajouter cette option. Le fichier peut apparaître directement dans votre navigateur. <br />
<br />
MAIN_DISABLE_PDF_COMPRESSION => Désactiver la compression PDF. <br />
<br />
MAIN_INVERT_SENDER_RECIPIENT => Inverser l'expéditeur et le destinataire dans certains PDF. <br />
<br />
MAIN_DISABLE_PDF_AUTOUPDATE => Désactiver la génération automatique de PDF à chaque fois que nous ajoutons / mettons à jour / supprimons une ligne de produit (nous pouvons toujours créer un document en cliquant sur "Générer"). Cette option peut augmenter la vitesse d'interface sur les serveurs à faible CPU. <br />
<br />
MAIN_USE_BACKGROUND_ON_PDF => Définissez cette constante avec le nom abrégé d'une image (exemple "myimage.jpg") qui doit être enregistrée dans le répertoire "documents / mycompany / logos". Cela va ajouter cette image de fond dans vos fichiers PDF générés. Attention: cette option rend la librairie TCPDF parfois folle et le contenu de l'image a disparu! <br />
<br />
MAIN_ADD_PDF_BACKGROUND => Définissez cette constante avec le nom abrégé d'un fichier PDF (exemple "mypdf.pdf") qui doit être enregistré dans le répertoire "documents / mycompany". Cela ajoutera un fichier PDF en arrière-plan à certains de vos fichiers PDF générés (propositions, factures, commandes). Si vous avez besoin de concaténer des fichiers PDF, reportez-vous à la section Module Concat PDF . <br />
<br />
MAIN_PDF_FORCE_FONT => Pour ignorer la police définie dans le fichier de langue et forcer l'utilisation d'une police particulière. Par exemple "DejaVuSans". <br />
<br />
MAIN_PDF_FREETEXT_HEIGHT => Modifier la hauteur de l'espace réservé à la sortie du texte libre. <br />
<br />
MAIN_PDF_TITLE_BACKGROUND_COLOR => Peut définir une couleur de fond sur la ligne de titre. Exemple: '220 220 200' <br />
<br />
MAIN_USE_COMPANY_NAME_OF_CONTACT => Utiliser le nom et les informations du contact plutôt que la société <br />
<br />
MAIN_ODT_AS_PDF => Activer la conversion PDF à partir du document ODT. Si la valeur est "jodconverter", l'outil de ligne de commande Java et jodconverter doit être disponible. Si la valeur est '/pathto/jodconverter.jar', alors Java et le jodconvertar jar doivent exister. soffice doit également être disponible. MAIN_DOL_SCRIPTS_ROOT Doit également être défini sur le chemin où le répertoire "scripts" est stocké (par exemple / var / www / mydolibarr). <br />
<br />
MAIN_ODT_AS_PDF_DEL_SOURCE => Pour la génération ODT. S'il est défini, le comportement initial est conservé, mais le fichier odt est supprimé lorsque l'option permettant de le convertir au format PDF (voir ci-dessus) est activée. Désactivé par défaut <br />
<br />
MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Inclure la première image du produit dans la ligne du PDF généré pour les propositions des clients. <br />
<br />
MAIN_GENERATE_INVOICES_WITH_PICTURE => Inclure la première image du produit dans la ligne du PDF généré pour les factures client. <br />
<br />
MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE => Inclure la première image du produit dans la ligne du PDF généré pour les propositions des fournisseurs (v5.0.3 +) <br />
<br />
MAIN_DOCUMENTS_WITH_PICTURE_WIDTH => Peut changer la taille de l'image lorsque l'option masquée MAIN_GENERATE_PROPOSALS_WITH_PICTURE est utilisée. La valeur par défaut est 20. <br />
<br />
MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN => Masquer la colonne avec les informations TVA mais uniquement la colonne non totale. <br />
<br />
PDF_SHOW_PROJECT => Afficher le projet sur le PDF (supporté sur commande fournisseur pour le moment) <br />
<br />
PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN => Cacher le numéro de banque ("code banque / guichet / compte" pour la france, "trier numéro / compte" pour GB, ...) et ne conserver que BIC / IBAN au format PDF. <br />
<br />
PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES => Valeur 1 ou 2 change la façon dont la référence du produit est affichée (1 = réf. Fournisseur uniquement et non référence interne, 2 = fournisseur puis interne). Sans, la référence interne, le fournisseur est affiché. <br />
<br />
MAIN_PDF_ADDALSOTARGETDETAILS => Ajoutez des détails particuliers comme le numéro de téléphone sur les fichiers PDF générés. Peut être utile dans les cas où une commande / facture imprimée est remise à un livreur / messager, etc. <br />
<br />
PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME => Incluez le nom d'alias / de remplacement dans le fichier PDF. <br />
<br />
MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => ajouter un champ de signature optionnel en pdf propal <br />
<br />
=Éditeur WYSIWYG=<br />
<br />
FCKEDITOR_ENABLE_DETAILS_FULL => Peut couper et coller des images externes (hébergées sur un serveur externe) dans la description de la proposition, des commandes ou des factures. AVERTISSEMENT: la génération de PDF n'est pas garantie avec ceci. De plus, si l'image est supprimée ou renommée par l'hébergeur d'images, votre proposition, commande ou facture sera brisée. <br />
<br />
<br />
=BlockedLog=<br />
<br />
BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY => Rendre la désactivation du module "bloqué" impossible pour le code pays défini en valeur. Exemple: 'FR, ...' <br />
<br />
=MultiCurreny=<br />
<br />
MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION => Activer la synchronisation API CurrencyLayer</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Param%C3%A9trage_Divers&diff=39819Paramétrage Divers2018-09-24T16:53:19Z<p>Yves.brungard: /* Module de propositions */</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUtil}}<br />
<br />
'''Aide de l'écran:''' Paramétrage Divers<br />
<br />
'''Menu d'accès:''' Accueil -> Configuration -> Divers (avec le gestionaire de menu 'eldy')<br />
<br />
<br />
<br />
<br />
= Fonction =<br />
Cette page permet d'ajouter/éditer des paramètres sans page dédiée à leur édition. Dans la plupart des cas, ce sont des paramètres pour le développement, les modules externes ou des fonctions cachées.<br />
<br />
Pour une utilisation normale de Dolibarr, cet écran de paramétrage doit rester vide et ne pas être utilisé.<br />
<br />
= Quelques options cachées =<br />
Quelques options non visibles dans les interfaces (souvent car en bêta, en expérimentation ou obsolètes) sont disponibles. Dans la plupart des cas, vous n'avez pas besoin de ces fonctions et leur utilisation peut rendre instable l'application.<br />
<br />
Pour les activer il faut définir une constante à 1 (ou à une valeur dépendant de l'option) dans '''Accueil - Configuration - Divers'''.<br />
<br />
L'utilisation de ces constantes étant à éviter, la documentation n'est disponible qu'en Anglais ([[Setup_Other#List_of_known_hidden_options]]). La page servant plutôt d'aide mémoire.<br />
<br />
<br />
=Liste des options cachées connues=<br />
<br />
==Options globales==<br />
<br />
* MAIN_LOGOUT_GOTO_URL => (core) URL à laquelle l'utilisateur sera redirigé après LOGOUT. <br />
<br />
* MAIN_FILESYSTEM_ENCODING => Avec certaines versions de PHP, PHP ne peut pas détecter le code de page du système de fichiers du système d'exploitation du serveur. Pour résoudre ce problème, Dolibarr suppose que le système de fichiers de votre système d'exploitation est UTF-8 sur les systèmes Linux ou osx et iso-8859-1 sur Windows. Si ce n'est pas le cas, par exemple sur un serveur Windows avec un code NTFS UTF-8, vous pouvez définir la variable MAIN_FILESYSTEM_ENCODING sur "utf-8". <br />
<br />
* MAIN_SHOW_TECHNICAL_ID => Afficher également les identifiants techniques sur les cartes d'éléments ou certaines listes (non supportés partout). <br />
<br />
* MAIN_MAXTABS_IN_CARD => Nombre maximum d'onglets visibles. D'autres sont regroupés dans une liste déroulante. <br />
<br />
* MAIN_ONLY_LOGIN_ALLOWED => Seul l'identifiant spécifié est autorisé à se connecter à Dolibarr (mode maintenance). <br />
<br />
* MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES => Ajoutez un horodatage et un utilisateur automatiquement lors de la modification de la note publique. <br />
<br />
* MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES => Ajoutez un horodatage et un utilisateur automatiquement lors de la modification de la note privée. <br />
<br />
* MAIN_SECURITY_CSRF_WITH_TOKEN (> = 5.0) => Activer une deuxième protection anti-CSRF sur POST (un POST d'un autre site Web ne peut être effectué). Notez qu'il existe déjà une protection par défaut utilisant le test sur le référent. Cette deuxième protection utilise TOKEN sur les formulaires et est moins puissante. <br />
* MAIN_APPLICATION_TITLE => Cela changera le titre du logiciel (qui apparaît sur la page de connexion par défaut). Attention, changer cela peut faire échouer la détection de versions Dolibarr par les applications smartphone comme Application Android - DoliDroid <br />
* MAIN_AUTOFILL_DATE => Si cette constante est définie sur une valeur différente de 0, la date de la facture, de la proposition, de la commande ou du paiement est automatiquement renseignée avec la date du jour. Il est fortement recommandé de NE PAS ACTIVER cette fonctionnalité. Cela peut créer beaucoup d'erreurs de saisie avec les données non validées par les utilisateurs. Cela conduit à des valeurs incorrectes enregistrées dans la base de données, entraînant une confusion lorsque vous devez effectuer vos rapports de comptabilité! Cependant, certains utilisateurs le veulent, nous le fournissons donc. <br />
<br />
* MAIN_DISABLE_FULL_SCANLIST => Désactive l'analyse complète des tables pour permettre à la pagination d'afficher le nombre total de pages. Peut être utile pour activer sur des systèmes avec une très grande quantité de données (tables avec plus de 500 000 enregistrements). <br />
<br />
* MAIN_FIRST_TO_UPPER => Dolibarr ajoute des majuscules aux tiers, aux contacts ou aux noms des membres si ce n'est pas fait. Attention, avec certaines langues (dont les mots avec des majuscules ne sont pas les mêmes mots, ou si pagecode n’a pas toujours une majuscule, comme les langages cyrilliques), cette fonctionnalité peut altérer vos données. <br />
<br />
* MAIN_ENABLE_LOG_TO_HTML (MAIN_LOGTOHTML avant 3.9) => Si cette constante est définie, il est possible d'avoir des journaux dans les pages en ajoutant le paramètre & logtohtml = 1 dans l'URL. <br />
<br />
* MAIN_USE_HOURMIN_IN_DATE_RANGE => Sur toutes les lignes d'entités (facture, commande, contrat ...), il est possible d'ajouter des heures et des minutes avec la date sur les champs "date de début" et "date de fin". <br />
<br />
* MAIN_REMOVE_INSTALL_WARNING => Supprimez tous les avertissements de sécurité qui apparaissent aux utilisateurs administrateurs si l'URL / installation est publique. Vous devez résoudre le problème si un avertissement se produit, au lieu de supprimer l'avertissement! Pour cela, placez un fichier nommé install.lock dans le répertoire racine de Dolibarr. Cela arrêtera l'avertissement mais rendra la page / installation impossible à utiliser pour protéger votre installation. <br />
<br />
* MAIN_OPTIMIZE_SPEED => Utilisez des améliorations de vitesse. Voir la page Increase_Performance pour plus d'informations. <br />
<br />
* MAIN_REPLACE_TRANS_xx_XX => Où xx_XX est le code de langue. Si la valeur est string1: newstring1; string2: newstring2 remplace alors string1 par newstring1 dans toute traduction effectuée pour la langue xx_XX. <br />
<br />
* MAIN_REPEATCONTACTONEACHTAB => Si ajouté et défini sur 1, cela ajoute des contacts sur tous les onglets, pas seulement l'onglet principal. <br />
<br />
* MAIN_DISABLE_JQUERY_JNOTIFY => Désactiver l'utilisation de JNotify pour afficher les messages de confirmation ou d'erreur <br />
<br />
* MAIN_USE_JQUERY_JEDITABLE => Permet de mettre à jour depuis l'écran, directement dans la base de données, certaines propriétés d'éléments (factures, propositions, ...) en utilisant Ajax. Cela accélère le temps de réponse, mais évite d'utiliser ces fonctionnalités, car il contourne certaines actions commerciales (mises à jour sur d'autres données qui doivent être effectuées de manière cohérente) et ignore les contrôles métier sur les données que vous avez enregistrées. Cette fonctionnalité brise donc la cohérence des données et peut-être la stabilité du logiciel. <br />
<br />
* MAIN_USE_JQUERY_MULTISELECT => Permet d'utiliser Ajax lorsqu'un choix nécessitant multisélection est utilisé (pour le moment, seuls les modules externes utilisent la sélection avec des valeurs multi-sélection). Définissez la valeur sur le nom du plug-in jQuery à utiliser (multi-sélection, sélection multiple, sélection2…). Le définir sur une autre valeur entraînera des effets secondaires et / ou des bogues indésirables. <br />
<br />
* MAIN_HELPCENTER_LINKTOUSE => Définir le lien URL à utiliser comme page cible pour le lien "J'ai besoin d'aide" sur la page de connexion <br />
<br />
* MAIN_MODULES_FOR_EXTERNAL => Limiter les modules disponibles pour les utilisateurs externes. La valeur par défaut est 'facture, commande, contact, propal, projet, contrat, societe, ficheinter, expedition, agenda' <br />
<br />
* MAIN_SHOW_TUNING_INFO => Ajouter des informations de réglage dans la console javascript. Mieux quand xdebug est activé. <br />
<br />
* MAIN_DOL_SCRIPTS_ROOT => Définir le répertoire qui contient le répertoire 'scripts' (par exemple / var / www / dolibarr) <br />
<br />
* MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING => Un avertissement indiquant que la configuration des modules est incomplète est affiché si le nombre de modules activés est inférieur ou égal à cette valeur (1 si non défini) <br />
<br />
* MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE => Ajouter la signature du représentant de la première vente dans les documents (à la fin des notes publiques). <br />
<br />
* MAIN_DISABLE_AJAX_COMBOX => Si vous avez un grand nombre de tiers ou de produits, vous pouvez désactiver la fonctionnalité de saisie semi-automatique dans la liste des tiers en définissant la constante MAIN_DISABLE_AJAX_COMBOX sur 1 dans Home-Setup-Other (avec Dolibarr v3.6.0 +). <br />
<br />
* MAIN_USE_CACHE_MANIFEST => Ajouter un manifeste de cache HTML5 à la page - Attention, cette fonctionnalité est obsolète et supprimée des standards Web <br />
<br />
* MAIN_FORCELANGDIR => chemin relatif du répertoire contenant votre dossier langs personnalisé. <br />
<br />
* MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS => permet de définir un taux de TVA par défaut <br />
<br />
* MAIN_HTML_TITLE => peut être utilisé pour contrôler la manière dont le titre de la page HTML est formaté. Si la valeur contient la clé 'noapp', le nom de l'application ne sera pas généré. Si value contient 'thirdpartynameonly', sur l'onglet pour les tiers, seul le nom des tiers est affiché. La valeur peut être la liste de balises: 'noapp; thirdpartynameonly' <br />
<br />
* MAIN_LANDING_PAGE => (> = 3.9). Peut choisir la première page à afficher après la connexion (la page de destination). Cette option fonctionne comme une option globale (llx_const) et par option utilisateur (llx_user_param). <br />
<br />
* MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN => (> = 4.0) Lors de la création d'une commande, d'un contrat, d'une facture à partir d'un autre objet, des contacts spécifiques d'objets sont définis comme contact spécifique du nouvel objet lorsque cela est possible. <br />
<br />
* MAIN_WEIGHT_DEFAULT_ROUND => Exactitude du poids (nombre de décimales) <br />
<br />
* MAIN_WEIGHT_DEFAULT_UNIT => Unité par défaut pour le poids (0 = kg, -3 = g, ...) <br />
<br />
* MAIN_VOLUME_DEFAULT_ROUND => Précision du volume (nombre de décimales) <br />
<br />
* MAIN_VOLUME_DEFAULT_UNIT => Unité par défaut pour le poids (0 = kg, -3 = g, ...) <br />
<br />
* MAIN_PUBLIC_NOTE_IN_ADDRESS> = 4.0 => afficher la note publique dans le bloc d'adresse <br />
<br />
* MAIN_DEFAULT_PAYMENT_TERM_ID => Avec l'identifiant d'un terme de paiement, utilisera ce dernier comme délai de paiement par défaut chaque fois que vous créez une nouvelle proposition, une commande, une facture (client et fournisseur) <br />
<br />
* MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND => Changer la manière d'arrondir les lignes TTC totales, en arrondissant d'abord après <br />
<br />
* MAIN_VIEW_LINE_NUMBER => Affiche un numéro de ligne contre chaque ligne de la commande / facture pour les produits / services. À l'écran uniquement, pas au format PDF. <br />
<br />
* MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME => Ajouter le nom de la tierce partie au début du document généré <br />
<br />
* MAIN_DOC_USE_TIMING => Ajouter un horodatage à la fin du document généré. La valeur doit être le format de l'horodatage. Par exemple:% Y% m% d% H% M <br />
<br />
* MAIN_DISABLEDRAFTSTATUS => Désactiver le statut Draft pour certains objets (projet, don, ...) <br />
<br />
* MAIN_USE_OLD_SEARCH_FORM => Afficher l'ancien formulaire de recherche dans le menu de gauche. <br />
<br />
* MAIN_SERVER_TZ => Si vous ne pouvez pas définir le fuseau horaire de votre installation PHP, définissez cette constante. Mieux vaut le régler sur UTC. A l'avenir, cette constante sera forcée à 'UTC', donc le fuseau horaire du serveur PHP n'aura plus d'effet. Exemples: Europe / Paris, auto. <br />
<br />
* MAIN_SEARCH_FORM_ON_HOME_AREAS => Afficher le formulaire de recherche sur les zones de la page d'accueil pour les modules de base (Supprimé après la v5 en raison du combo de recherche globale) (v6.0 +) <br />
<br />
* MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE => Si un seul résultat est trouvé, la définition de cette valeur à 1 vous amène directement à l'élément (méthode par défaut). Définir la valeur sur 0 affichera le résultat dans la liste comme un résultat unique (v5.0 +) <br />
<br />
* MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES (dolibarr 8.0) => Permet d'importer des lignes dans le document actuel à partir de documents compatibles "liés" <br />
<br />
==Visuel ou Thème ==<br />
<br />
* MAIN_OPTIMIZEFORTEXTBROWSER => Optimiser le rendu de sortie pour l'utilisation d'un navigateur de texte (utile pour les personnes aveugles)<br />
* THEME_ELDY_DISABLE_IMAGE => Images désactivées du menu principal pour le thème eldy.<br />
* MAIN_MENU_HIDE_UNAUTHORIZED => Masquer le menu si l'utilisateur connecté n'est pas autorisé plutôt que de simplement les griser<br />
* THEME_TOPMENU_STICKY_POSITION => Option pour corriger le menu principal avec le thème eldy (masque caché) (v7.0 +)<br />
<br />
=Email et SMS=<br />
<br />
MAIN_MAILFORM_DISABLE_ENTERKEY (> = 8.0.1) => Activer le code javascript pour désactiver la clé de saisie dans le formulaire MAIL. <br />
<br />
MAIL_PREFIX_FOR_EMAIL_ID (> = 8.0.1) => Préfixe de l’ID de courrier. La valeur par défaut est $ _SERVER ["SERVER_NAME"] <br />
<br />
MAIN_MAIL_DEBUG => Ecrire le contenu avec en-tête du dernier courrier dans le fichier dolibarr_mail.log dans le répertoire dolibarr_main_data_root. <br />
<br />
MAIN_SMS_DEBUG => Ecrire le contenu du SMS envoyé dans le fichier dolibarr_sms.log dans le répertoire dolibarr_main_data_root. <br />
<br />
MAIN_MAIL_ALLOW_SENDMAIL_F => Sur les systèmes Linux ou BSD, la fonction de messagerie PHP utilise la commande sendmail local to server.<br />
Dans certains cas, le courrier électronique de l'expéditeur doit être fourni sur la ligne de commande de sendmail avec l'option -f. Cette<br />
option est là pour demander à Dolibarr d'appeler la fonction mail de PHP en ajoutant une valeur pour l'option -f. Notez que dans la plupart<br />
des cas, même avec sendmail, le courrier électronique de l'expéditeur est correctement géré, car il est ajouté dans l'en-tête technique du<br />
courrier électronique. Cette option est ici uniquement pour la configuration rare de sendmail qui demande à l'option -f d'être obligatoire <br />
ou pour l'installation sendmail qui n'utilise pas par défaut le chemin de retour de l'en-tête pour définir l'expéditeur (avec cette option <br />
être fourni également sur la ligne de commande et non perdu par sendmail). <br />
<br />
MAIN_MAIL_SENDMAIL_FORCE_BA => Sur les systèmes Linux ou BSD, la fonction de messagerie PHP utilise la commande sendmail local to server.<br />
Dans certains cas, nous voulons que le destinataire soit envoyé à sendmail dans le contenu du courrier électronique au lieu de son paramètre <br />
de ligne de commande. Pour cela, il faut ajouter le paramètre -ba à sendmail. Cette option demande à PHP de fournir ce paramètre lors de l'envoi<br />
d'un mail. Notez qu'une autre solution consiste à éditer le fichier mail.force_extra_parameters = -ba dans le fichier php.ini . <br />
<br />
MAIN_MAIL_NO_FULL_EMAIL => L'e-mail du destinataire et l'expéditeur sont nettoyés pour être sur le formulaire "<email>" au lieu de "Nom <email>". Cela pourrait résoudre le problème de la compatibilité avec les très anciens mailers. <br />
<br />
MAIN_FIX_FOR_BUGGED_MTA => Certains agents MTA sont buggés et ajoutent des caractères CR chaque fois qu’ils voient un LF. Les e-mails <br />
Dolibarr étant falsifiés pour être déjà nettoyés, si l'agent MTA le fait, vous enverrez un e-mail avec deux caractères CR. Cela peut entraîner<br />
le destinataire ne peut pas lire votre courrier électronique. Pour résoudre ce problème, ajoutez cette constante à 1. Dolibarr créera alors un courrier électronique non conforme à la norme RFC mais, étant donné que l’agent MTA est bogue, le courrier électronique sera modifié et <br />
corrigera lors de l’envoi, ce qui résoudra le problème. Ajoutez cette constante si votre destinataire rencontre des problèmes lors de <br />
l'ouverture du courrier électronique, par exemple des utilisateurs utilisant le webmail orange.fr ou hotmail.com <br />
<br />
MAIN_MAIL_DO_NOT_USE_SIGN => N'ajoutez pas de signature d'utilisateur à la fin de l'e-mail prédéfini suggéré <br />
<br />
<br />
MAIL_FORCE_DELIVERY_RECEIPT_INVOICE => Définissez la valeur par défaut sur "Oui" lors de la demande d'un accusé de réception lors de l'envoi d'un courrier électronique via le module Facture client . <br />
<br />
MAIL_FORCE_DELIVERY_RECEIPT_ORDER => Définissez la valeur par défaut sur "Oui" lors de la demande d'accusé de réception lors de l'envoi<br />
du courrier électronique via le module Commande client . <br />
<br />
MAIL_FORCE_DELIVERY_RECEIPT_PROPAL => Définissez la valeur par défaut sur "Oui" lors de la demande d'un accusé de réception lors de<br />
l'envoi du courrier électronique via le module Proposition client . <br />
<br />
MAIN_EMAIL_USECCC => 1 = Afficher le champ BCC dans les formulaires de courrier électronique, si email = Afficher le BCC pré-rempli <br />
avec le courrier électronique. <br />
<br />
MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO => E-mail à utiliser en tant que destinataires<br />
BCC lors de l'envoi de courrier électronique pour proposition, commande ou facture. Vous pouvez rendre cette valeur visible en définissant MAIN_EMAIL_USECCC (à 1 ou à un autre email, voir point précédent) <br />
<br />
MAIN_EMAIL_ADD_TRACK_ID => Lorsque la valeur est 1 (c'est également la valeur par défaut si l'option n'est pas définie): l'enregistrement "Message-id" ajouté dans l'en-tête de smtp inclut un identifiant de suivi pour définir d'où le mail a été envoyé. Lorsque la valeur est 2: <br />
vous envoyez un e-mail depuis une carte tierce, l'e-mail de l'expéditeur est complété par la chaîne de suivi de la source e-mail "+ thiXXX" <br />
(votre e-mail sera envoyé avec "myname + thi123 @ mycompany"). com). Ainsi, lorsque l'utilisateur recevant un courrier électronique répondra, <br />
un courrier électronique sera envoyé à myname@masociete.com mais avec l'identifiant de suivi inclus (dans l'en-tête ou dans le courrier <br />
électronique cible), vous permettant ainsi de savoir à quel tiers ou objet est liée à. <br />
<br />
MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL => Restreindre l'envoi d'un email à x destinataires pour un même mail (x pour To: + CC: + BCC :).<br />
Si elle n'est pas définie, la valeur est 10. Requise pour lutter contre le spam qui inclut 1000 destinataires dans un message. Notez que MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL et MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL sont <br />
également disponibles. <br />
<br />
MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML => Forcer l'envoi de tous les emails (événement avec un contenu texte uniquement) en tant qu'e-mail<br />
au format HTML. <br />
<br />
MAIN_MAIL_USE_MULTI_PART => Forger le contenu d'un email en utilisant une autre partie du texte (pour 5.0.2+). Par défaut avec 6.0+ <br />
<br />
MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS => Si des images ont été stockées dans le répertoire des médias depuis CKEditor, les images dans<br />
les e-mails sont remplacées par du "contenu en ligne". Cela peut augmenter sérieusement le risque d'être détecté en tant que SPAM. <br />
<br />
MAIN_COPY_FILE_IN_EVENT_AUTO => Ajouter un document de pièce jointe sur l'événement auto généré en envoyant un email à partir de dolibarr. <br />
(v6.0 +) <br />
<br />
MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS => Entrez l'adresse IP publique du serveur, elle apparaîtra donc dans l'aide sur la page de configuration<br />
du courrier électronique. <br />
<br />
MAIN_MAIL_ENABLED_USER_DEST_SELECT => Afficher également les utilisateurs internes dans la liste des destinataires du courrier électronique <br />
dans le formulaire d'envoi de courrier électronique (v8.0 +) <br />
<br />
=Module tiers=<br />
<br />
* COMPANY_AQUARIUM_CLEAN_REGEX (> = 8.0.1) => Ajouter une règle REGEX sur les noms des tiers.<br />
* MAIN_FORCE_DEFAULT_STATE_ID (> = 8.0.1) => Permet de forcer la sélection d'un pays / province / comté à partir d'un pays en spécifiant des identifiants<br />
* SOCIETE_DISABLE_CUSTOMERS => Supprimer tous les menus et fonctionnalités liés aux clients<br />
* SOCIETE_DISABLE_PROSPECTS => Supprimer tous les menus et fonctionnalités liés aux prospects<br />
* SOCIETE_DISABLE_STATE => Ne pas utiliser le champ "state / province"<br />
* THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT => Ne définissez pas le statut "Client / Prospect" sur "on" lors de la création d'un nouveau tiers à partir du menu "Nouveau tiers".<br />
* THIRDPARTY_NOTSUPPLIER_BY_DEFAULT => Ne définissez pas le statut "Fournisseur" sur "on" lors de la création d'un nouveau tiers à partir du menu "Nouveau tiers".<br />
* SOCIETE_SORT_ON_TYPEENT = La liste déroulante du "type de tiers" est triée sur un champ "position" qui apparaît dans le dictionnaire au lieu de l'ordre alphabétique.<br />
* THIRDPARTY_DEFAULT_CREATE_CONTACT (Dolibarr 5.0+) => La création par défaut d'un tiers est individuelle<br />
* MAIN_THIRDPARTY_CREATION_INDIVIDUAL (Dolibarr <5.0) => Les tiers créés par défaut sont individuels<br />
* THIRDPARTY_DEFAULT_USEVAT => Lors de la création d'un nouveau tiers, le champ "Use vat" est activé ou désactivé en fonction de la valeur de ce paramètre.<br />
* THIRDPARTY_DEFAULT_USELOCALTAX1 => Lors de la création d'un nouveau tiers, le champ "Utiliser la deuxième taxe" est activé ou désactivé en fonction de la valeur de ce paramètre.<br />
* THIRDPARTY_DEFAULT_USELOCALTAX2 => Lors de la création d'un nouveau tiers, le champ "Utiliser la troisième taxe" est activé ou désactivé en fonction de la valeur de ce paramètre.<br />
* THIRDPARTY_INCLUDE_PARENT_IN_LINKTO => Recherchez également des éléments sur le tiers parent lorsque vous utilisez la fonctionnalité d'objet "lien vers".<br />
* THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO => Recherchez également les éléments appartenant à un tiers qui possèdent le projet de l'élément en cours lors de l'utilisation de la fonctionnalité d'objet "link to" (si le projet appartient à un tiers différent de celui en cours).<br />
* SOCIETE_ASK_FOR_SHIPPING_METHOD => Le mode de livraison peut être prédéfini sur la carte client et sera utilisé par défaut lors de la création de la commande<br />
* THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un logo est téléchargé, une clé de partage est automatiquement définie pour que le fichier puisse être téléchargé à l'aide de la clé de partage.<br />
* MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL => Les utilisateurs externes sont toujours limités au tiers de leur enregistrement de contact. Avec cette option, l'autorisation "voir toutes les tierces parties" peut également fonctionner pour un utilisateur externe. Pas encore mis en œuvre...<br />
<br />
=Module de propositions=<br />
<br />
* PROPAL_CLONE_ON_CREATE_PAGE => Sur la page de création de proposition, demandez si vous souhaitez créer la proposition en clonant une proposition déjà existante. Vous devez utiliser à la place le bouton "Cloner" disponible sur les propositions existantes.<br />
* MAIN_PROPAL_CHOOSE_ODT_DOCUMENT => Sur la page de configuration, vous pourrez sélectionner le document ODT à utiliser lorsque vous fermez<br />
ou annulez des propositions.<br />
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Ajouter une image du produit (le premier trouvé s'il y en a plusieurs) dans le PDF de propositions généré. Notez que cela réduira la largeur disponible pour la description du produit.<br />
* PROPAL_DISABLE_SIGNATURE => Ne pas afficher la boîte pour signature.<br />
* WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES => Le bouton "Classifié" est visible sur la proposition même si aucune facture n'est<br />
liée à la proposition.<br />
* PRODUIT_PDF_MERGE_PROPAL => Lors de la génération du PDF de la proposition, tous les PDF liés aux produits liés à la proposition sont<br />
également inclus dans le PDF final<br />
* PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un fichier PDF est généré, une clé de partage est automatiquement définie pour que le fichier <br />
puisse être téléchargé à l'aide de la clé de partage. (v7.0 +)<br />
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => ajouter un champ de signature optionnel en pdf propal <br />
<br />
==Module de commande==<br />
<br />
* COMMANDE_REQUIRE_SOURCE => Rendre obligatoire le champ de saisie "Source de commande".<br />
* COMMANDE_VALID_AFTER_CLOSE_PROPAL => Lorsqu'une commande est créée sur une proposition fermée, la commande est directement définie avec le <br />
statut "Validé".<br />
* COMMANDE_CHANGE_THIRDPARTY => Peut changer le client sur les commandes<br />
* ORDER_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un fichier PDF est généré, une clé de partage est automatiquement définie pour que le fichier puisse être téléchargé à l'aide de la clé de partage. (v7.0 +) <br />
<br />
==Module de facture==<br />
<br />
* MAIN_DEPOSIT_MULTI_TVA => Dans la facture de dépôt, crée une ligne par taux de TVA à partir du document d'origine (6.0)<br />
* FACTURE_SHOW_SEND_REMINDER => Afficher le lien "Envoyer un rappel par mail", même fonctionnalité que "Envoyer par mail" (fonctionnalité obsolète).<br />
* INVOICE_CAN_ALWAYS_BE_EDITED => Permet de modifier les factures même si le paiement a été lancé. Remarque: Si le module " BlockedLog " est actif (requis par certains pays pour des raisons légales), cela ne modifiera pas le contenu des journaux archivés suivis par ce module. Par définition, il est impossible de modifier ou de supprimer des enregistrements archivés. Il ne fera que mettre à jour les données de votre application et un nouvel enregistrement pour suivre votre modification dans le journal d'archivage non réversible.<br />
* INVOICE_CAN_ALWAYS_BE_REMOVED => Permet de toujours supprimer les factures (même si la facture n’est pas la dernière). Remarque: Si le module " BlockedLog " est actif (requis par certains pays pour des raisons légales), cela ne modifiera pas le contenu des journaux archivés suivis par ce module. Par définition, il est impossible de modifier ou de supprimer des enregistrements archivés. Il ne fera que mettre à jour les données de votre application et un nouvel enregistrement pour suivre votre modification dans le journal d'archivage non réversible.<br />
* INVOICE_CAN_NEVER_BE_REMOVED => Ne jamais autoriser à supprimer des factures (sauf les factures brutes).<br />
* INVOICE_POSITIVE_CREDIT_NOTE => Tous les montants sur les notes de crédit PDF sont positifs.<br />
* FACTURE_CHANGE_THIRDPARTY => Permet de modifier le tiers dans les brouillons de factures. Si une remise a été définie à partir du tiers d'origine, la remise reste en vigueur, rendant les données non cohérentes.<br />
* FACTURE_USE_PROFORMAT => Activer le type de factures PROFORMAT.<br />
* FACTURE_DEPOSITS_ARE_JUST_PAYMENTS => Traite les factures de dépôt comme un cas particulier. Les factures de dépôt ne sont pas comptabilisées dans le chiffre d'affaires. Ils sont ensuite appliqués en tant que paiement, comme une remise, sur la facture finale. Par défaut, lorsque vous incluez le dépôt dans le brouillon de la facture finale, le montant de la facture finale est réduit. Avec cette option, le montant final n'est pas réduit mais un paiement est enregistré.<br />
* FACTURE_SENDBYEMAIL_FOR_ALL_STATUS => Peut envoyer une facture par email au client même si la facture a le statut "brouillon".<br />
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT => Désactiver la TVA sur les documents générés. comme pour une association. (c'est du travail avec le modèle de crabe)<br />
* INVOICE_CREDIT_NOTE_STANDALONE (dolibarr 3.9) => Peut faire un avoir sans facture.<br />
* INVOICE_USE_SITUATION = Activer la fonctionnalité "facture de situation"<br />
* INVOICE_USE_SITUATION_CREDIT_NOTE (dolibarr 8.0) = Activer la fonctionnalité "note de crédit de situation" (nécessite INVOICE_USE_SITUATION)<br />
* INVOICE_DISABLE_DEPOSIT = Désactiver les factures de dépôt<br />
* INVOICE_DISABLE_REPLACEMENT = Désactiver les factures de remplacement<br />
* INVOICE_DISABLE_CREDIT_NOTE = Désactiver les notes de crédit<br />
* WORKFLOW_BILL_ON_SHIPMENT = Modifier l'étiquette du bouton avec l'étiquette appropriée lorsque vous devez créer une facture pour les envois<br />
* INVOICE_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un PDF est généré, une clé de partage est automatiquement définie pour que le fichier puisse être téléchargé à l'aide de la clé de partage. (v7.0 +) <br />
<br />
==Rapport de dépenses==<br />
<br />
* EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS => Peut entrer plusieurs rapports de dépenses sur des périodes identiques ou se chevauchant. (v7.0 +) <br />
<br />
==Module d'export==<br />
<br />
* EXPORT_CSV_SEPARATOR_TO_USE => Valeur de chaîne à utiliser comme séparateur par défaut pour délimiter les champs des fichiers exportés (par défaut, Dolibarr utilise ","). Exemple: EXPORT_CSV_SEPARATOR_TO_USE =;<br />
* EXPORT_CSV_FORCE_CHARSET => Choisissez le jeu de caractères utilisé dans le fichier de sortie créé par l'exportateur CSV. Par défaut, c'est ISO-8859-1. Exemple: EXPORT_CSV_FORCE_CHARSET = utf-8<br />
* EXPORTTOOL_CATEGORIES => Peut exporter des catégories (plusieurs lignes) dans une colonne avec le "profil d'exportation de produit"<br />
* USE_STRICT_CSV_RULES => Utiliser le format CSV strict / réel pour l'exportation. Ne nettoyez / remplacez pas CR + LF par '\ n' mais citez-les en utilisant le caractère CSV d'échappement ("). <br />
<br />
==Module agenda==<br />
<br />
* AGENDA_MAX_EVENTS_DAY_VIEW => Définissez le nombre maximum d'entrées visibles pour chaque jour dans l'agenda. La valeur par défaut est 3. La valeur 0 signifie aucune limite.<br />
* AGENDA_USE_EVENT_TYPE => Ajouter un champ obligatoire "Type" lors de la création d'un événement (obsolète).<br />
* AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS => Définir automatiquement la date de fin de l'événement pour démarrer la date + delta sur la page de création de l'événement.<br />
* MAIN_ADD_EVENT_ON_ELEMENT_CARD => Permet de créer un événement à partir d'un document (proposition, commande, facture)<br />
<br />
=Module produits=<br />
<br />
MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE => Eviter que le code personnalisé et le pays d'origine soient définis comme description du produit lorsqu'ils sont ajoutés à Propal / Order / Invoice<br />
PRODUCT_ADD_TYPE_IN_DOCUMENTS => Ajoutez le texte "Produit" ou "Service" au début des lignes de détails sur les documents PDF construits.<br />
PRODUCT_DONOTSEARCH_ANYWHERE => Lorsque la recherche Ajax est activée, la recherche est effectuée sur les critères de l’étiquette du produit. En ajoutant cette option, la recherche est effectuée uniquement au début de l'étiquette. C'est vraiment plus rapide lorsque vous avez un grand nombre de produits.<br />
PRODUIT_DESC_IN_LIST => Afficher une longue description du produit / service dans les listes.<br />
PRODUIT_PDF_MERGE_PROPAL => Activer le module PDF produit<br />
PRODUCT_USE_OLD_PATH_FOR_PHOTO => Demandez à dolibarr de vérifier également l’ancien chemin (avant 3.7) où les photos ont été stockées.<br />
PRODUCT_USE_UNITS => Activer les unités du dictionnaire dans la carte de produit / service.<br />
PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL => Lorsque l'option d'utilisation du prix par niveau / segment est activée, cela permet également de définir une cuve dédiée pour chaque niveau de prix.<br />
MAIN_DIRECT_STATUS_UPDATE => Vous permet de modifier le statut du produit ( à vendre / à ne pas vendre pour l’achat / à ne pas acheter ) directement sur la page du produit via un bouton d’activation / désactivation . Cela peut être pratique pour ceux qui ont besoin de désactiver rapidement certains statuts de produits sans avoir à parcourir la page d'édition du produit individuellement. Cela peut également être très utile si vous l'utilisez comme filtre sur la liste de recherche de produits et de produits. Cette option ne génère pas de déclencheur MODIFY, soyez donc prudent avec les modules externes. v4.0 + <br />
<br />
PRODUCT_CHARGES => Ajoute un champ supplémentaire pour les frais ad hoc au stade du prix d'achat du produit. Le prix de revient est ensuite calculé avec le prix fournisseur + les frais si définis. Utile pour les coûts supplémentaires pour un produit ou certains frais de livraison au produit. <br />
<br />
PRODUCT_MAX_VISIBLE_PHOTO => Affiche un nombre maximum de photos de produits (sous forme de vignettes) sur la carte principale du produit. Par exemple, en définissant cette constante sur «5», vous verrez les cinq premières photos de produit trouvées sur la fiche produit.<br />
PRODUCT_MAX_LENGTH_COMBO => limiter la longueur de l'étiquette affichée lors de l'ajout de lignes dans les propositions / factures / commandes<br />
MAIN_DISABLE_FREE_LINES (> = 8.0) => Ne pas autoriser l'utilisation de lignes libres pour ajouter une ligne dans les documents <br />
<br />
Module services<br />
<br />
SERVICE_ARE_ECOMMERCE_200238EC => Si cette option est activée, les services sont traités comme des eServices conformément aux directives de la directive 2002/38 / CE du Conseil de l'UE ( http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en .htm ). Le taux de TVA par défaut est basé sur l'achat de pays au lieu de vendre le pays pour les ventes de BtoC. <br />
<br />
Stocks<br />
<br />
MAIN_SERVICES_ARE_ECOMMERCE_200238EC (<8) => <br />
<br />
CASHDESK_FORCE_STOCK_ON_BILL (> = 8.0.1) => Option pour forcer la diminution du stock quelle que soit la configuration de l'utilisateur. <br />
<br />
SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED => Désactiver l'envoi du stock lorsque le total attendu a déjà été reçu. <br />
<br />
Les envois<br />
<br />
STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS (> = 8.0.1) => Si défini, vous pouvez ajouter une ligne d’expédition, sans définir de source de stock. <br />
<br />
SHIPMENT_GETS_ALL_ORDER_PRODUCTS => Ajoutez toutes les lignes de commande en expédition, y compris celle dont la quantité est 0 <br />
<br />
=Point de vente=<br />
<br />
CASHDESK_SHOW_KEYPAD => Afficher un clavier de souris dans le point de vente.<br />
POS_ADDON = Définissez cette valeur sur une règle de module de numérotation existante (par exemple, "mod_facture_terre", "mod_facture_mars", ...) pour forcer le module de numérotation à définir la facture lorsque la facture est créée par le POS. Par exemple, la valeur POS_ADDON de 'mod_facture_terre' utilisera le module de numérotation 'terre' pour la facture générée depuis le point de vente, quelle que soit la règle de numérotation définie dans la configuration du module de facturation (vous pouvez également utiliser la variable POS_NUMBERING_TERRE_FORCE_PREFIX <br />
<br />
Les contrats<br />
<br />
CONTRACT_SUPPORT_PRODUCTS => Des produits sont également proposés dans le contrat de module. <br />
<br />
=Module projets=<br />
<br />
PROJECT_DISABLE_UNLINK_FROM_OVERVIEW (> = 8.0.1) => Activer la suppression du bouton d'un lien dans l'aperçu du projet.<br />
PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS => Permet de lier un projet à n'importe quel fournisseur, même en utilisant la fonction de lien tiers. Note: Défini sur 1 par défaut à partir de 3.7.<br />
PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS => Peut ajouter du temps passé sur les tâches, même si je ne suis pas affecté à une tâche (cependant, la tâche doit être un projet que je suis un contact).<br />
PROJECT_SHOW_REF_INTO_LISTS => Ajouter une colonne avec la référence du projet dans la liste (avec 3.7 liste des factures fournisseurs uniquement, sera étendue aux autres listes)<br />
PROJECT_HIDE_UNSELECTABLES => Masquer dans la liste de sélection, tout projet que nous ne pouvons pas sélectionner (fermé ou brouillon)<br />
PROJECT_HIDE_TASKS => Cacher les tâches. Pour l'utilisateur utilisant le projet uniquement en tant que clé d'analyse et n'utilisant pas de tâches.<br />
PROJECT_LIST_SHOW_STARTDATE => Affiche la date de début des projets dans les listes de projets.<br />
PROJECT_LINK_ON_OVERWIEW_DISABLED (4.0) => Masquer le formulaire "link to" sur la page d'aperçu<br />
PROJECT_CREATE_ON_OVERVIEW_DISABLED (4.0) => Cacher le bouton "créer ..." sur la page d'aperçu<br />
PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY => Peut lier un objet à un projet d'un autre tiers<br />
PROJECT_ALLOW_COMMENT_ON_TASK => Ajouter un commentaire sur la tâche du projet <br />
<br />
=Module de fondation=<br />
<br />
MEMBER_URL_REDIRECT_SUBSCRIPTION => Lien appelé et affiché lorsqu'un compte membre est créé automatiquement dans un module membre par un utilisateur invité.<br />
MEMBER_EXT_URL_SUBSCRIPTION_INFO => Lien de la page externe désignée par le lien "Afficher ici" ajouté dans la cellule de paiement, dans la page pour effectuer un abonnement en ligne. <br />
<br />
Module d'interventions<br />
<br />
FICHINTER_CLASSIFY_BILLED => Permet de classer une carte d’intervention en "Facturé". Cet ajout déclenche également FICHINTER_CLASSIFY_BILLED dans la liste des événements automatiques possibles dans l'agenda.<br />
FICHINTER_DISABLE_DETAILS => Désactiver l'entrée de la ligne de détails sur l'intervention. Peut valider sans ligne. <br />
<br />
=Module fournisseurs=<br />
<br />
FOURN_PRODUCT_AVAILABILITY => Sur la page de prix Fournisseurs des produits, activez la disponibilité du produit fournisseur. Ceci est une fonctionnalité en double avec delivery_delay introduit avec 3.8.<br />
SUPPLIER_ORDER_AUTOADD_USER_CONTACT => Ajouter automatiquement un utilisateur approuvant la commande du fournisseur en tant que contact.<br />
SUPPLIER_ORDER_USE_DISPATCH_STATUS => Ajouter un statut sur chaque ligne de commande lors de la réception des produits des fournisseurs (v4.0 +)<br />
SUPPLIER_ORDER_NO_DIRECT_APPROVE => Aucun bouton "Valider et approuver". Toujours faire l'étape "Valider" et "Approuver" en 2 étapes.<br />
SUPPLIER_ORDER_WITH_NOPRICEDEFINED => Peut entrer un produit même si aucun prix fournisseur n'est défini. (v6.0 +)<br />
SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT => Peut modifier le prix d'achat utilisé pour le calcul du PMP lors d'une réception de stock sur une commande fournisseur. (v6.0 +) <br />
<br />
Module de banque<br />
<br />
BANK_CAN_RECONCILIATE_CASHACCOUNT (3.8) => Peut réconcilier les comptes de caisse<br />
BANK_DISABLE_CHECK_DEPOSIT => Désactiver la fonctionnalité de dépôt de chèques<br />
BANK_ASK_PAYMENT_BANK_DURING_ORDER => Demander un compte bancaire lors de la création d'une commande<br />
BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL => Demander un compte bancaire lors de la création d'une proposition <br />
<br />
=Module emailing=<br />
<br />
MAILING_PREFIX_FOR_EMAIL_ID => Définissez la valeur qui sera utilisée pour composer le "Email ID" dans les en-têtes de courrier électronique. Si vous définissez cette valeur sur 'SERVER_NAME', l'hôte virtuel du serveur Web sera utilisé. Par défaut, ce n'est pas défini, donc une clé de hachage, unique à chaque instance, est utilisée.<br />
MAILING_NO_USING_PHPMAIL => Si défini, le module emailing ne peut pas être utilisé avec la configuration de messagerie de "phpmail". L'utilisation d'un serveur SMTP tiers est requise. Vous pouvez compléter le message d'avertissement en ajoutant un e-mail au contact pour l'aide à la configuration avec la constante MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS.<br />
MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS => Contient un email à afficher dans un message visible pour l'utilisateur lorsqu'il essaie d'utiliser le module emailing sans serveur SMTP et si l'option MAILING_NO_USING_PHPMAIL est activée.<br />
MAILING_LIMIT_WARNING_PHPMAIL => Afficher un message d'avertissement (var contient le message à afficher ou la clé de traduction) sur le formulaire d'envoi par email si la configuration est sur "phpmail". Par exemple, vous pouvez définir ce paramètre sur «MAILING_LIMIT_WARNING_PHPMAIL» et entrer la clé de traduction pour chaque langue pour cette clé.<br />
MAILING_LIMIT_WARNING_NOPHPMAIL => Afficher un message d’avertissement (var contient le message à afficher ou la clé de traduction) sur le formulaire d’envoi par email si l’installation est autre chose que "phpmail". Par exemple, vous pouvez définir ce paramètre sur «MAILING_LIMIT_WARNING_NOPHPMAIL» et saisir la clé de traduction pour chaque langue pour cette clé.<br />
EMAILING_USE_ADVANCED_SELECTOR => Activer le sélecteur avancé pour les destinataires <br />
<br />
MAILING_LIMIT_SENDBYWEB => Limiter le nombre d'emails que vous pouvez envoyer dans la même session d'envoi avec le module emailing de l'interface graphique. La valeur "dolibarr_mailing_limit_sendbyweb", si elle est définie dans le fichier de configuration, est utilisée en priorité pour cette limite. Une valeur négative signifie que l'envoi par le Web est interdit.<br />
MAILING_LIMIT_SENDBYCLI => Limiter le nombre d'emails que vous pouvez envoyer dans la même session d'envoi avec le module emailing du script CLI. La valeur "dolibarr_mailing_limit_sendbycli", si elle est définie dans le fichier de configuration, est utilisée en priorité pour cette limite. <br />
<br />
=Options PDF=<br />
<br />
MAIN_DISABLE_FORCE_SAVEAS => Si votre navigateur demande toujours de sauvegarder les fichiers téléchargés sur le disque (comme PDF), essayez d’ajouter cette option. Le fichier peut apparaître directement dans votre navigateur. <br />
<br />
MAIN_DISABLE_PDF_COMPRESSION => Désactiver la compression PDF. <br />
<br />
MAIN_INVERT_SENDER_RECIPIENT => Inverser l'expéditeur et le destinataire dans certains PDF. <br />
<br />
MAIN_DISABLE_PDF_AUTOUPDATE => Désactiver la génération automatique de PDF à chaque fois que nous ajoutons / mettons à jour / supprimons une ligne de produit (nous pouvons toujours créer un document en cliquant sur "Générer"). Cette option peut augmenter la vitesse d'interface sur les serveurs à faible CPU. <br />
<br />
MAIN_USE_BACKGROUND_ON_PDF => Définissez cette constante avec le nom abrégé d'une image (exemple "myimage.jpg") qui doit être enregistrée dans le répertoire "documents / mycompany / logos". Cela va ajouter cette image de fond dans vos fichiers PDF générés. Attention: cette option rend la librairie TCPDF parfois folle et le contenu de l'image a disparu! <br />
<br />
MAIN_ADD_PDF_BACKGROUND => Définissez cette constante avec le nom abrégé d'un fichier PDF (exemple "mypdf.pdf") qui doit être enregistré dans le répertoire "documents / mycompany". Cela ajoutera un fichier PDF en arrière-plan à certains de vos fichiers PDF générés (propositions, factures, commandes). Si vous avez besoin de concaténer des fichiers PDF, reportez-vous à la section Module Concat PDF . <br />
<br />
MAIN_PDF_FORCE_FONT => Pour ignorer la police définie dans le fichier de langue et forcer l'utilisation d'une police particulière. Par exemple "DejaVuSans". <br />
<br />
MAIN_PDF_FREETEXT_HEIGHT => Modifier la hauteur de l'espace réservé à la sortie du texte libre. <br />
<br />
MAIN_PDF_TITLE_BACKGROUND_COLOR => Peut définir une couleur de fond sur la ligne de titre. Exemple: '220 220 200' <br />
<br />
MAIN_USE_COMPANY_NAME_OF_CONTACT => Utiliser le nom et les informations du contact plutôt que la société <br />
<br />
MAIN_ODT_AS_PDF => Activer la conversion PDF à partir du document ODT. Si la valeur est "jodconverter", l'outil de ligne de commande Java et jodconverter doit être disponible. Si la valeur est '/pathto/jodconverter.jar', alors Java et le jodconvertar jar doivent exister. soffice doit également être disponible. MAIN_DOL_SCRIPTS_ROOT Doit également être défini sur le chemin où le répertoire "scripts" est stocké (par exemple / var / www / mydolibarr). <br />
<br />
MAIN_ODT_AS_PDF_DEL_SOURCE => Pour la génération ODT. S'il est défini, le comportement initial est conservé, mais le fichier odt est supprimé lorsque l'option permettant de le convertir au format PDF (voir ci-dessus) est activée. Désactivé par défaut <br />
<br />
MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Inclure la première image du produit dans la ligne du PDF généré pour les propositions des clients. <br />
<br />
MAIN_GENERATE_INVOICES_WITH_PICTURE => Inclure la première image du produit dans la ligne du PDF généré pour les factures client. <br />
<br />
MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE => Inclure la première image du produit dans la ligne du PDF généré pour les propositions des fournisseurs (v5.0.3 +) <br />
<br />
MAIN_DOCUMENTS_WITH_PICTURE_WIDTH => Peut changer la taille de l'image lorsque l'option masquée MAIN_GENERATE_PROPOSALS_WITH_PICTURE est utilisée. La valeur par défaut est 20. <br />
<br />
MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN => Masquer la colonne avec les informations TVA mais uniquement la colonne non totale. <br />
<br />
PDF_SHOW_PROJECT => Afficher le projet sur le PDF (supporté sur commande fournisseur pour le moment) <br />
<br />
PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN => Cacher le numéro de banque ("code banque / guichet / compte" pour la france, "trier numéro / compte" pour GB, ...) et ne conserver que BIC / IBAN au format PDF. <br />
<br />
PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES => Valeur 1 ou 2 change la façon dont la référence du produit est affichée (1 = réf. Fournisseur uniquement et non référence interne, 2 = fournisseur puis interne). Sans, la référence interne, le fournisseur est affiché. <br />
<br />
MAIN_PDF_ADDALSOTARGETDETAILS => Ajoutez des détails particuliers comme le numéro de téléphone sur les fichiers PDF générés. Peut être utile dans les cas où une commande / facture imprimée est remise à un livreur / messager, etc. <br />
<br />
PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME => Incluez le nom d'alias / de remplacement dans le fichier PDF. <br />
<br />
MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => ajouter un champ de signature optionnel en pdf propal <br />
<br />
=Éditeur WYSIWYG=<br />
<br />
FCKEDITOR_ENABLE_DETAILS_FULL => Peut couper et coller des images externes (hébergées sur un serveur externe) dans la description de la proposition, des commandes ou des factures. AVERTISSEMENT: la génération de PDF n'est pas garantie avec ceci. De plus, si l'image est supprimée ou renommée par l'hébergeur d'images, votre proposition, commande ou facture sera brisée. <br />
<br />
<br />
=BlockedLog=<br />
<br />
BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY => Rendre la désactivation du module "bloqué" impossible pour le code pays défini en valeur. Exemple: 'FR, ...' <br />
<br />
=MultiCurreny=<br />
<br />
MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION => Activer la synchronisation API CurrencyLayer</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Param%C3%A9trage_Divers&diff=39818Paramétrage Divers2018-09-24T16:49:01Z<p>Yves.brungard: /* Module tiers */ Formatage</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUtil}}<br />
<br />
'''Aide de l'écran:''' Paramétrage Divers<br />
<br />
'''Menu d'accès:''' Accueil -> Configuration -> Divers (avec le gestionaire de menu 'eldy')<br />
<br />
<br />
<br />
<br />
= Fonction =<br />
Cette page permet d'ajouter/éditer des paramètres sans page dédiée à leur édition. Dans la plupart des cas, ce sont des paramètres pour le développement, les modules externes ou des fonctions cachées.<br />
<br />
Pour une utilisation normale de Dolibarr, cet écran de paramétrage doit rester vide et ne pas être utilisé.<br />
<br />
= Quelques options cachées =<br />
Quelques options non visibles dans les interfaces (souvent car en bêta, en expérimentation ou obsolètes) sont disponibles. Dans la plupart des cas, vous n'avez pas besoin de ces fonctions et leur utilisation peut rendre instable l'application.<br />
<br />
Pour les activer il faut définir une constante à 1 (ou à une valeur dépendant de l'option) dans '''Accueil - Configuration - Divers'''.<br />
<br />
L'utilisation de ces constantes étant à éviter, la documentation n'est disponible qu'en Anglais ([[Setup_Other#List_of_known_hidden_options]]). La page servant plutôt d'aide mémoire.<br />
<br />
<br />
=Liste des options cachées connues=<br />
<br />
==Options globales==<br />
<br />
* MAIN_LOGOUT_GOTO_URL => (core) URL à laquelle l'utilisateur sera redirigé après LOGOUT. <br />
<br />
* MAIN_FILESYSTEM_ENCODING => Avec certaines versions de PHP, PHP ne peut pas détecter le code de page du système de fichiers du système d'exploitation du serveur. Pour résoudre ce problème, Dolibarr suppose que le système de fichiers de votre système d'exploitation est UTF-8 sur les systèmes Linux ou osx et iso-8859-1 sur Windows. Si ce n'est pas le cas, par exemple sur un serveur Windows avec un code NTFS UTF-8, vous pouvez définir la variable MAIN_FILESYSTEM_ENCODING sur "utf-8". <br />
<br />
* MAIN_SHOW_TECHNICAL_ID => Afficher également les identifiants techniques sur les cartes d'éléments ou certaines listes (non supportés partout). <br />
<br />
* MAIN_MAXTABS_IN_CARD => Nombre maximum d'onglets visibles. D'autres sont regroupés dans une liste déroulante. <br />
<br />
* MAIN_ONLY_LOGIN_ALLOWED => Seul l'identifiant spécifié est autorisé à se connecter à Dolibarr (mode maintenance). <br />
<br />
* MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES => Ajoutez un horodatage et un utilisateur automatiquement lors de la modification de la note publique. <br />
<br />
* MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES => Ajoutez un horodatage et un utilisateur automatiquement lors de la modification de la note privée. <br />
<br />
* MAIN_SECURITY_CSRF_WITH_TOKEN (> = 5.0) => Activer une deuxième protection anti-CSRF sur POST (un POST d'un autre site Web ne peut être effectué). Notez qu'il existe déjà une protection par défaut utilisant le test sur le référent. Cette deuxième protection utilise TOKEN sur les formulaires et est moins puissante. <br />
* MAIN_APPLICATION_TITLE => Cela changera le titre du logiciel (qui apparaît sur la page de connexion par défaut). Attention, changer cela peut faire échouer la détection de versions Dolibarr par les applications smartphone comme Application Android - DoliDroid <br />
* MAIN_AUTOFILL_DATE => Si cette constante est définie sur une valeur différente de 0, la date de la facture, de la proposition, de la commande ou du paiement est automatiquement renseignée avec la date du jour. Il est fortement recommandé de NE PAS ACTIVER cette fonctionnalité. Cela peut créer beaucoup d'erreurs de saisie avec les données non validées par les utilisateurs. Cela conduit à des valeurs incorrectes enregistrées dans la base de données, entraînant une confusion lorsque vous devez effectuer vos rapports de comptabilité! Cependant, certains utilisateurs le veulent, nous le fournissons donc. <br />
<br />
* MAIN_DISABLE_FULL_SCANLIST => Désactive l'analyse complète des tables pour permettre à la pagination d'afficher le nombre total de pages. Peut être utile pour activer sur des systèmes avec une très grande quantité de données (tables avec plus de 500 000 enregistrements). <br />
<br />
* MAIN_FIRST_TO_UPPER => Dolibarr ajoute des majuscules aux tiers, aux contacts ou aux noms des membres si ce n'est pas fait. Attention, avec certaines langues (dont les mots avec des majuscules ne sont pas les mêmes mots, ou si pagecode n’a pas toujours une majuscule, comme les langages cyrilliques), cette fonctionnalité peut altérer vos données. <br />
<br />
* MAIN_ENABLE_LOG_TO_HTML (MAIN_LOGTOHTML avant 3.9) => Si cette constante est définie, il est possible d'avoir des journaux dans les pages en ajoutant le paramètre & logtohtml = 1 dans l'URL. <br />
<br />
* MAIN_USE_HOURMIN_IN_DATE_RANGE => Sur toutes les lignes d'entités (facture, commande, contrat ...), il est possible d'ajouter des heures et des minutes avec la date sur les champs "date de début" et "date de fin". <br />
<br />
* MAIN_REMOVE_INSTALL_WARNING => Supprimez tous les avertissements de sécurité qui apparaissent aux utilisateurs administrateurs si l'URL / installation est publique. Vous devez résoudre le problème si un avertissement se produit, au lieu de supprimer l'avertissement! Pour cela, placez un fichier nommé install.lock dans le répertoire racine de Dolibarr. Cela arrêtera l'avertissement mais rendra la page / installation impossible à utiliser pour protéger votre installation. <br />
<br />
* MAIN_OPTIMIZE_SPEED => Utilisez des améliorations de vitesse. Voir la page Increase_Performance pour plus d'informations. <br />
<br />
* MAIN_REPLACE_TRANS_xx_XX => Où xx_XX est le code de langue. Si la valeur est string1: newstring1; string2: newstring2 remplace alors string1 par newstring1 dans toute traduction effectuée pour la langue xx_XX. <br />
<br />
* MAIN_REPEATCONTACTONEACHTAB => Si ajouté et défini sur 1, cela ajoute des contacts sur tous les onglets, pas seulement l'onglet principal. <br />
<br />
* MAIN_DISABLE_JQUERY_JNOTIFY => Désactiver l'utilisation de JNotify pour afficher les messages de confirmation ou d'erreur <br />
<br />
* MAIN_USE_JQUERY_JEDITABLE => Permet de mettre à jour depuis l'écran, directement dans la base de données, certaines propriétés d'éléments (factures, propositions, ...) en utilisant Ajax. Cela accélère le temps de réponse, mais évite d'utiliser ces fonctionnalités, car il contourne certaines actions commerciales (mises à jour sur d'autres données qui doivent être effectuées de manière cohérente) et ignore les contrôles métier sur les données que vous avez enregistrées. Cette fonctionnalité brise donc la cohérence des données et peut-être la stabilité du logiciel. <br />
<br />
* MAIN_USE_JQUERY_MULTISELECT => Permet d'utiliser Ajax lorsqu'un choix nécessitant multisélection est utilisé (pour le moment, seuls les modules externes utilisent la sélection avec des valeurs multi-sélection). Définissez la valeur sur le nom du plug-in jQuery à utiliser (multi-sélection, sélection multiple, sélection2…). Le définir sur une autre valeur entraînera des effets secondaires et / ou des bogues indésirables. <br />
<br />
* MAIN_HELPCENTER_LINKTOUSE => Définir le lien URL à utiliser comme page cible pour le lien "J'ai besoin d'aide" sur la page de connexion <br />
<br />
* MAIN_MODULES_FOR_EXTERNAL => Limiter les modules disponibles pour les utilisateurs externes. La valeur par défaut est 'facture, commande, contact, propal, projet, contrat, societe, ficheinter, expedition, agenda' <br />
<br />
* MAIN_SHOW_TUNING_INFO => Ajouter des informations de réglage dans la console javascript. Mieux quand xdebug est activé. <br />
<br />
* MAIN_DOL_SCRIPTS_ROOT => Définir le répertoire qui contient le répertoire 'scripts' (par exemple / var / www / dolibarr) <br />
<br />
* MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING => Un avertissement indiquant que la configuration des modules est incomplète est affiché si le nombre de modules activés est inférieur ou égal à cette valeur (1 si non défini) <br />
<br />
* MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE => Ajouter la signature du représentant de la première vente dans les documents (à la fin des notes publiques). <br />
<br />
* MAIN_DISABLE_AJAX_COMBOX => Si vous avez un grand nombre de tiers ou de produits, vous pouvez désactiver la fonctionnalité de saisie semi-automatique dans la liste des tiers en définissant la constante MAIN_DISABLE_AJAX_COMBOX sur 1 dans Home-Setup-Other (avec Dolibarr v3.6.0 +). <br />
<br />
* MAIN_USE_CACHE_MANIFEST => Ajouter un manifeste de cache HTML5 à la page - Attention, cette fonctionnalité est obsolète et supprimée des standards Web <br />
<br />
* MAIN_FORCELANGDIR => chemin relatif du répertoire contenant votre dossier langs personnalisé. <br />
<br />
* MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS => permet de définir un taux de TVA par défaut <br />
<br />
* MAIN_HTML_TITLE => peut être utilisé pour contrôler la manière dont le titre de la page HTML est formaté. Si la valeur contient la clé 'noapp', le nom de l'application ne sera pas généré. Si value contient 'thirdpartynameonly', sur l'onglet pour les tiers, seul le nom des tiers est affiché. La valeur peut être la liste de balises: 'noapp; thirdpartynameonly' <br />
<br />
* MAIN_LANDING_PAGE => (> = 3.9). Peut choisir la première page à afficher après la connexion (la page de destination). Cette option fonctionne comme une option globale (llx_const) et par option utilisateur (llx_user_param). <br />
<br />
* MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN => (> = 4.0) Lors de la création d'une commande, d'un contrat, d'une facture à partir d'un autre objet, des contacts spécifiques d'objets sont définis comme contact spécifique du nouvel objet lorsque cela est possible. <br />
<br />
* MAIN_WEIGHT_DEFAULT_ROUND => Exactitude du poids (nombre de décimales) <br />
<br />
* MAIN_WEIGHT_DEFAULT_UNIT => Unité par défaut pour le poids (0 = kg, -3 = g, ...) <br />
<br />
* MAIN_VOLUME_DEFAULT_ROUND => Précision du volume (nombre de décimales) <br />
<br />
* MAIN_VOLUME_DEFAULT_UNIT => Unité par défaut pour le poids (0 = kg, -3 = g, ...) <br />
<br />
* MAIN_PUBLIC_NOTE_IN_ADDRESS> = 4.0 => afficher la note publique dans le bloc d'adresse <br />
<br />
* MAIN_DEFAULT_PAYMENT_TERM_ID => Avec l'identifiant d'un terme de paiement, utilisera ce dernier comme délai de paiement par défaut chaque fois que vous créez une nouvelle proposition, une commande, une facture (client et fournisseur) <br />
<br />
* MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND => Changer la manière d'arrondir les lignes TTC totales, en arrondissant d'abord après <br />
<br />
* MAIN_VIEW_LINE_NUMBER => Affiche un numéro de ligne contre chaque ligne de la commande / facture pour les produits / services. À l'écran uniquement, pas au format PDF. <br />
<br />
* MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME => Ajouter le nom de la tierce partie au début du document généré <br />
<br />
* MAIN_DOC_USE_TIMING => Ajouter un horodatage à la fin du document généré. La valeur doit être le format de l'horodatage. Par exemple:% Y% m% d% H% M <br />
<br />
* MAIN_DISABLEDRAFTSTATUS => Désactiver le statut Draft pour certains objets (projet, don, ...) <br />
<br />
* MAIN_USE_OLD_SEARCH_FORM => Afficher l'ancien formulaire de recherche dans le menu de gauche. <br />
<br />
* MAIN_SERVER_TZ => Si vous ne pouvez pas définir le fuseau horaire de votre installation PHP, définissez cette constante. Mieux vaut le régler sur UTC. A l'avenir, cette constante sera forcée à 'UTC', donc le fuseau horaire du serveur PHP n'aura plus d'effet. Exemples: Europe / Paris, auto. <br />
<br />
* MAIN_SEARCH_FORM_ON_HOME_AREAS => Afficher le formulaire de recherche sur les zones de la page d'accueil pour les modules de base (Supprimé après la v5 en raison du combo de recherche globale) (v6.0 +) <br />
<br />
* MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE => Si un seul résultat est trouvé, la définition de cette valeur à 1 vous amène directement à l'élément (méthode par défaut). Définir la valeur sur 0 affichera le résultat dans la liste comme un résultat unique (v5.0 +) <br />
<br />
* MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES (dolibarr 8.0) => Permet d'importer des lignes dans le document actuel à partir de documents compatibles "liés" <br />
<br />
==Visuel ou Thème ==<br />
<br />
* MAIN_OPTIMIZEFORTEXTBROWSER => Optimiser le rendu de sortie pour l'utilisation d'un navigateur de texte (utile pour les personnes aveugles)<br />
* THEME_ELDY_DISABLE_IMAGE => Images désactivées du menu principal pour le thème eldy.<br />
* MAIN_MENU_HIDE_UNAUTHORIZED => Masquer le menu si l'utilisateur connecté n'est pas autorisé plutôt que de simplement les griser<br />
* THEME_TOPMENU_STICKY_POSITION => Option pour corriger le menu principal avec le thème eldy (masque caché) (v7.0 +)<br />
<br />
=Email et SMS=<br />
<br />
MAIN_MAILFORM_DISABLE_ENTERKEY (> = 8.0.1) => Activer le code javascript pour désactiver la clé de saisie dans le formulaire MAIL. <br />
<br />
MAIL_PREFIX_FOR_EMAIL_ID (> = 8.0.1) => Préfixe de l’ID de courrier. La valeur par défaut est $ _SERVER ["SERVER_NAME"] <br />
<br />
MAIN_MAIL_DEBUG => Ecrire le contenu avec en-tête du dernier courrier dans le fichier dolibarr_mail.log dans le répertoire dolibarr_main_data_root. <br />
<br />
MAIN_SMS_DEBUG => Ecrire le contenu du SMS envoyé dans le fichier dolibarr_sms.log dans le répertoire dolibarr_main_data_root. <br />
<br />
MAIN_MAIL_ALLOW_SENDMAIL_F => Sur les systèmes Linux ou BSD, la fonction de messagerie PHP utilise la commande sendmail local to server.<br />
Dans certains cas, le courrier électronique de l'expéditeur doit être fourni sur la ligne de commande de sendmail avec l'option -f. Cette<br />
option est là pour demander à Dolibarr d'appeler la fonction mail de PHP en ajoutant une valeur pour l'option -f. Notez que dans la plupart<br />
des cas, même avec sendmail, le courrier électronique de l'expéditeur est correctement géré, car il est ajouté dans l'en-tête technique du<br />
courrier électronique. Cette option est ici uniquement pour la configuration rare de sendmail qui demande à l'option -f d'être obligatoire <br />
ou pour l'installation sendmail qui n'utilise pas par défaut le chemin de retour de l'en-tête pour définir l'expéditeur (avec cette option <br />
être fourni également sur la ligne de commande et non perdu par sendmail). <br />
<br />
MAIN_MAIL_SENDMAIL_FORCE_BA => Sur les systèmes Linux ou BSD, la fonction de messagerie PHP utilise la commande sendmail local to server.<br />
Dans certains cas, nous voulons que le destinataire soit envoyé à sendmail dans le contenu du courrier électronique au lieu de son paramètre <br />
de ligne de commande. Pour cela, il faut ajouter le paramètre -ba à sendmail. Cette option demande à PHP de fournir ce paramètre lors de l'envoi<br />
d'un mail. Notez qu'une autre solution consiste à éditer le fichier mail.force_extra_parameters = -ba dans le fichier php.ini . <br />
<br />
MAIN_MAIL_NO_FULL_EMAIL => L'e-mail du destinataire et l'expéditeur sont nettoyés pour être sur le formulaire "<email>" au lieu de "Nom <email>". Cela pourrait résoudre le problème de la compatibilité avec les très anciens mailers. <br />
<br />
MAIN_FIX_FOR_BUGGED_MTA => Certains agents MTA sont buggés et ajoutent des caractères CR chaque fois qu’ils voient un LF. Les e-mails <br />
Dolibarr étant falsifiés pour être déjà nettoyés, si l'agent MTA le fait, vous enverrez un e-mail avec deux caractères CR. Cela peut entraîner<br />
le destinataire ne peut pas lire votre courrier électronique. Pour résoudre ce problème, ajoutez cette constante à 1. Dolibarr créera alors un courrier électronique non conforme à la norme RFC mais, étant donné que l’agent MTA est bogue, le courrier électronique sera modifié et <br />
corrigera lors de l’envoi, ce qui résoudra le problème. Ajoutez cette constante si votre destinataire rencontre des problèmes lors de <br />
l'ouverture du courrier électronique, par exemple des utilisateurs utilisant le webmail orange.fr ou hotmail.com <br />
<br />
MAIN_MAIL_DO_NOT_USE_SIGN => N'ajoutez pas de signature d'utilisateur à la fin de l'e-mail prédéfini suggéré <br />
<br />
<br />
MAIL_FORCE_DELIVERY_RECEIPT_INVOICE => Définissez la valeur par défaut sur "Oui" lors de la demande d'un accusé de réception lors de l'envoi d'un courrier électronique via le module Facture client . <br />
<br />
MAIL_FORCE_DELIVERY_RECEIPT_ORDER => Définissez la valeur par défaut sur "Oui" lors de la demande d'accusé de réception lors de l'envoi<br />
du courrier électronique via le module Commande client . <br />
<br />
MAIL_FORCE_DELIVERY_RECEIPT_PROPAL => Définissez la valeur par défaut sur "Oui" lors de la demande d'un accusé de réception lors de<br />
l'envoi du courrier électronique via le module Proposition client . <br />
<br />
MAIN_EMAIL_USECCC => 1 = Afficher le champ BCC dans les formulaires de courrier électronique, si email = Afficher le BCC pré-rempli <br />
avec le courrier électronique. <br />
<br />
MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO => E-mail à utiliser en tant que destinataires<br />
BCC lors de l'envoi de courrier électronique pour proposition, commande ou facture. Vous pouvez rendre cette valeur visible en définissant MAIN_EMAIL_USECCC (à 1 ou à un autre email, voir point précédent) <br />
<br />
MAIN_EMAIL_ADD_TRACK_ID => Lorsque la valeur est 1 (c'est également la valeur par défaut si l'option n'est pas définie): l'enregistrement "Message-id" ajouté dans l'en-tête de smtp inclut un identifiant de suivi pour définir d'où le mail a été envoyé. Lorsque la valeur est 2: <br />
vous envoyez un e-mail depuis une carte tierce, l'e-mail de l'expéditeur est complété par la chaîne de suivi de la source e-mail "+ thiXXX" <br />
(votre e-mail sera envoyé avec "myname + thi123 @ mycompany"). com). Ainsi, lorsque l'utilisateur recevant un courrier électronique répondra, <br />
un courrier électronique sera envoyé à myname@masociete.com mais avec l'identifiant de suivi inclus (dans l'en-tête ou dans le courrier <br />
électronique cible), vous permettant ainsi de savoir à quel tiers ou objet est liée à. <br />
<br />
MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL => Restreindre l'envoi d'un email à x destinataires pour un même mail (x pour To: + CC: + BCC :).<br />
Si elle n'est pas définie, la valeur est 10. Requise pour lutter contre le spam qui inclut 1000 destinataires dans un message. Notez que MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL et MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL sont <br />
également disponibles. <br />
<br />
MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML => Forcer l'envoi de tous les emails (événement avec un contenu texte uniquement) en tant qu'e-mail<br />
au format HTML. <br />
<br />
MAIN_MAIL_USE_MULTI_PART => Forger le contenu d'un email en utilisant une autre partie du texte (pour 5.0.2+). Par défaut avec 6.0+ <br />
<br />
MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS => Si des images ont été stockées dans le répertoire des médias depuis CKEditor, les images dans<br />
les e-mails sont remplacées par du "contenu en ligne". Cela peut augmenter sérieusement le risque d'être détecté en tant que SPAM. <br />
<br />
MAIN_COPY_FILE_IN_EVENT_AUTO => Ajouter un document de pièce jointe sur l'événement auto généré en envoyant un email à partir de dolibarr. <br />
(v6.0 +) <br />
<br />
MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS => Entrez l'adresse IP publique du serveur, elle apparaîtra donc dans l'aide sur la page de configuration<br />
du courrier électronique. <br />
<br />
MAIN_MAIL_ENABLED_USER_DEST_SELECT => Afficher également les utilisateurs internes dans la liste des destinataires du courrier électronique <br />
dans le formulaire d'envoi de courrier électronique (v8.0 +) <br />
<br />
=Module tiers=<br />
<br />
* COMPANY_AQUARIUM_CLEAN_REGEX (> = 8.0.1) => Ajouter une règle REGEX sur les noms des tiers.<br />
* MAIN_FORCE_DEFAULT_STATE_ID (> = 8.0.1) => Permet de forcer la sélection d'un pays / province / comté à partir d'un pays en spécifiant des identifiants<br />
* SOCIETE_DISABLE_CUSTOMERS => Supprimer tous les menus et fonctionnalités liés aux clients<br />
* SOCIETE_DISABLE_PROSPECTS => Supprimer tous les menus et fonctionnalités liés aux prospects<br />
* SOCIETE_DISABLE_STATE => Ne pas utiliser le champ "state / province"<br />
* THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT => Ne définissez pas le statut "Client / Prospect" sur "on" lors de la création d'un nouveau tiers à partir du menu "Nouveau tiers".<br />
* THIRDPARTY_NOTSUPPLIER_BY_DEFAULT => Ne définissez pas le statut "Fournisseur" sur "on" lors de la création d'un nouveau tiers à partir du menu "Nouveau tiers".<br />
* SOCIETE_SORT_ON_TYPEENT = La liste déroulante du "type de tiers" est triée sur un champ "position" qui apparaît dans le dictionnaire au lieu de l'ordre alphabétique.<br />
* THIRDPARTY_DEFAULT_CREATE_CONTACT (Dolibarr 5.0+) => La création par défaut d'un tiers est individuelle<br />
* MAIN_THIRDPARTY_CREATION_INDIVIDUAL (Dolibarr <5.0) => Les tiers créés par défaut sont individuels<br />
* THIRDPARTY_DEFAULT_USEVAT => Lors de la création d'un nouveau tiers, le champ "Use vat" est activé ou désactivé en fonction de la valeur de ce paramètre.<br />
* THIRDPARTY_DEFAULT_USELOCALTAX1 => Lors de la création d'un nouveau tiers, le champ "Utiliser la deuxième taxe" est activé ou désactivé en fonction de la valeur de ce paramètre.<br />
* THIRDPARTY_DEFAULT_USELOCALTAX2 => Lors de la création d'un nouveau tiers, le champ "Utiliser la troisième taxe" est activé ou désactivé en fonction de la valeur de ce paramètre.<br />
* THIRDPARTY_INCLUDE_PARENT_IN_LINKTO => Recherchez également des éléments sur le tiers parent lorsque vous utilisez la fonctionnalité d'objet "lien vers".<br />
* THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO => Recherchez également les éléments appartenant à un tiers qui possèdent le projet de l'élément en cours lors de l'utilisation de la fonctionnalité d'objet "link to" (si le projet appartient à un tiers différent de celui en cours).<br />
* SOCIETE_ASK_FOR_SHIPPING_METHOD => Le mode de livraison peut être prédéfini sur la carte client et sera utilisé par défaut lors de la création de la commande<br />
* THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un logo est téléchargé, une clé de partage est automatiquement définie pour que le fichier puisse être téléchargé à l'aide de la clé de partage.<br />
* MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL => Les utilisateurs externes sont toujours limités au tiers de leur enregistrement de contact. Avec cette option, l'autorisation "voir toutes les tierces parties" peut également fonctionner pour un utilisateur externe. Pas encore mis en œuvre...<br />
<br />
=Module de propositions=<br />
<br />
PROPAL_CLONE_ON_CREATE_PAGE => Sur la page de création de proposition, demandez si vous souhaitez créer la proposition en clonant une proposition déjà existante. Vous devez utiliser à la place le bouton "Cloner" disponible sur les propositions existantes.<br />
MAIN_PROPAL_CHOOSE_ODT_DOCUMENT => Sur la page de configuration, vous pourrez sélectionner le document ODT à utiliser lorsque vous fermez<br />
ou annulez des propositions.<br />
MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Ajouter une image du produit (le premier trouvé s'il y en a plusieurs) dans le PDF de propositions généré. Notez que cela réduira la largeur disponible pour la description du produit.<br />
PROPAL_DISABLE_SIGNATURE => Ne pas afficher la boîte pour signature.<br />
WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES => Le bouton "Classifié" est visible sur la proposition même si aucune facture n'est<br />
liée à la proposition.<br />
PRODUIT_PDF_MERGE_PROPAL => Lors de la génération du PDF de la proposition, tous les PDF liés aux produits liés à la proposition sont<br />
également inclus dans le PDF final<br />
PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un fichier PDF est généré, une clé de partage est automatiquement définie pour que le fichier <br />
puisse être téléchargé à l'aide de la clé de partage. (v7.0 +)<br />
MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => ajouter un champ de signature optionnel en pdf propal <br />
<br />
Module de commande<br />
<br />
COMMANDE_REQUIRE_SOURCE => Rendre obligatoire le champ de saisie "Source de commande".<br />
COMMANDE_VALID_AFTER_CLOSE_PROPAL => Lorsqu'une commande est créée sur une proposition fermée, la commande est directement définie avec le <br />
statut "Validé".<br />
COMMANDE_CHANGE_THIRDPARTY => Peut changer le client sur les commandes<br />
ORDER_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un fichier PDF est généré, une clé de partage est automatiquement définie pour que le fichier puisse être téléchargé à l'aide de la clé de partage. (v7.0 +) <br />
<br />
Module de facture<br />
<br />
MAIN_DEPOSIT_MULTI_TVA => Dans la facture de dépôt, crée une ligne par taux de TVA à partir du document d'origine (6.0)<br />
FACTURE_SHOW_SEND_REMINDER => Afficher le lien "Envoyer un rappel par mail", même fonctionnalité que "Envoyer par mail" (fonctionnalité obsolète).<br />
INVOICE_CAN_ALWAYS_BE_EDITED => Permet de modifier les factures même si le paiement a été lancé. Remarque: Si le module " BlockedLog " est actif (requis par certains pays pour des raisons légales), cela ne modifiera pas le contenu des journaux archivés suivis par ce module. Par définition, il est impossible de modifier ou de supprimer des enregistrements archivés. Il ne fera que mettre à jour les données de votre application et un nouvel enregistrement pour suivre votre modification dans le journal d'archivage non réversible.<br />
INVOICE_CAN_ALWAYS_BE_REMOVED => Permet de toujours supprimer les factures (même si la facture n’est pas la dernière). Remarque: Si le module " BlockedLog " est actif (requis par certains pays pour des raisons légales), cela ne modifiera pas le contenu des journaux archivés suivis par ce module. Par définition, il est impossible de modifier ou de supprimer des enregistrements archivés. Il ne fera que mettre à jour les données de votre application et un nouvel enregistrement pour suivre votre modification dans le journal d'archivage non réversible.<br />
INVOICE_CAN_NEVER_BE_REMOVED => Ne jamais autoriser à supprimer des factures (sauf les factures brutes).<br />
INVOICE_POSITIVE_CREDIT_NOTE => Tous les montants sur les notes de crédit PDF sont positifs.<br />
FACTURE_CHANGE_THIRDPARTY => Permet de modifier le tiers dans les brouillons de factures. Si une remise a été définie à partir du tiers d'origine, la remise reste en vigueur, rendant les données non cohérentes.<br />
FACTURE_USE_PROFORMAT => Activer le type de factures PROFORMAT.<br />
FACTURE_DEPOSITS_ARE_JUST_PAYMENTS => Traite les factures de dépôt comme un cas particulier. Les factures de dépôt ne sont pas comptabilisées dans le chiffre d'affaires. Ils sont ensuite appliqués en tant que paiement, comme une remise, sur la facture finale. Par défaut, lorsque vous incluez le dépôt dans le brouillon de la facture finale, le montant de la facture finale est réduit. Avec cette option, le montant final n'est pas réduit mais un paiement est enregistré.<br />
FACTURE_SENDBYEMAIL_FOR_ALL_STATUS => Peut envoyer une facture par email au client même si la facture a le statut "brouillon".<br />
MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT => Désactiver la TVA sur les documents générés. comme pour une association. (c'est du travail avec le modèle de crabe)<br />
INVOICE_CREDIT_NOTE_STANDALONE (dolibarr 3.9) => Peut faire un avoir sans facture.<br />
INVOICE_USE_SITUATION = Activer la fonctionnalité "facture de situation"<br />
INVOICE_USE_SITUATION_CREDIT_NOTE (dolibarr 8.0) = Activer la fonctionnalité "note de crédit de situation" (nécessite INVOICE_USE_SITUATION)<br />
INVOICE_DISABLE_DEPOSIT = Désactiver les factures de dépôt<br />
INVOICE_DISABLE_REPLACEMENT = Désactiver les factures de remplacement<br />
INVOICE_DISABLE_CREDIT_NOTE = Désactiver les notes de crédit<br />
WORKFLOW_BILL_ON_SHIPMENT = Modifier l'étiquette du bouton avec l'étiquette appropriée lorsque vous devez créer une facture pour les envois<br />
INVOICE_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un PDF est généré, une clé de partage est automatiquement définie pour que le fichier puisse être téléchargé à l'aide de la clé de partage. (v7.0 +) <br />
<br />
Rapport de dépenses<br />
<br />
EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS => Peut entrer plusieurs rapports de dépenses sur des périodes identiques ou se chevauchant. (v7.0 +) <br />
<br />
Module d'exportation<br />
<br />
EXPORT_CSV_SEPARATOR_TO_USE => Valeur de chaîne à utiliser comme séparateur par défaut pour délimiter les champs des fichiers exportés (par défaut, Dolibarr utilise ","). Exemple: EXPORT_CSV_SEPARATOR_TO_USE =;<br />
EXPORT_CSV_FORCE_CHARSET => Choisissez le jeu de caractères utilisé dans le fichier de sortie créé par l'exportateur CSV. Par défaut, c'est ISO-8859-1. Exemple: EXPORT_CSV_FORCE_CHARSET = utf-8<br />
EXPORTTOOL_CATEGORIES => Peut exporter des catégories (plusieurs lignes) dans une colonne avec le "profil d'exportation de produit"<br />
USE_STRICT_CSV_RULES => Utiliser le format CSV strict / réel pour l'exportation. Ne nettoyez / remplacez pas CR + LF par '\ n' mais citez-les en utilisant le caractère CSV d'échappement ("). <br />
<br />
Module agenda<br />
<br />
AGENDA_MAX_EVENTS_DAY_VIEW => Définissez le nombre maximum d'entrées visibles pour chaque jour dans l'agenda. La valeur par défaut est 3. La valeur 0 signifie aucune limite.<br />
AGENDA_USE_EVENT_TYPE => Ajouter un champ obligatoire "Type" lors de la création d'un événement (obsolète).<br />
AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS => Définir automatiquement la date de fin de l'événement pour démarrer la date + delta sur la page de création de l'événement.<br />
MAIN_ADD_EVENT_ON_ELEMENT_CARD => Permet de créer un événement à partir d'un document (proposition, commande, facture) <br />
<br />
=Module produits=<br />
<br />
MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE => Eviter que le code personnalisé et le pays d'origine soient définis comme description du produit lorsqu'ils sont ajoutés à Propal / Order / Invoice<br />
PRODUCT_ADD_TYPE_IN_DOCUMENTS => Ajoutez le texte "Produit" ou "Service" au début des lignes de détails sur les documents PDF construits.<br />
PRODUCT_DONOTSEARCH_ANYWHERE => Lorsque la recherche Ajax est activée, la recherche est effectuée sur les critères de l’étiquette du produit. En ajoutant cette option, la recherche est effectuée uniquement au début de l'étiquette. C'est vraiment plus rapide lorsque vous avez un grand nombre de produits.<br />
PRODUIT_DESC_IN_LIST => Afficher une longue description du produit / service dans les listes.<br />
PRODUIT_PDF_MERGE_PROPAL => Activer le module PDF produit<br />
PRODUCT_USE_OLD_PATH_FOR_PHOTO => Demandez à dolibarr de vérifier également l’ancien chemin (avant 3.7) où les photos ont été stockées.<br />
PRODUCT_USE_UNITS => Activer les unités du dictionnaire dans la carte de produit / service.<br />
PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL => Lorsque l'option d'utilisation du prix par niveau / segment est activée, cela permet également de définir une cuve dédiée pour chaque niveau de prix.<br />
MAIN_DIRECT_STATUS_UPDATE => Vous permet de modifier le statut du produit ( à vendre / à ne pas vendre pour l’achat / à ne pas acheter ) directement sur la page du produit via un bouton d’activation / désactivation . Cela peut être pratique pour ceux qui ont besoin de désactiver rapidement certains statuts de produits sans avoir à parcourir la page d'édition du produit individuellement. Cela peut également être très utile si vous l'utilisez comme filtre sur la liste de recherche de produits et de produits. Cette option ne génère pas de déclencheur MODIFY, soyez donc prudent avec les modules externes. v4.0 + <br />
<br />
PRODUCT_CHARGES => Ajoute un champ supplémentaire pour les frais ad hoc au stade du prix d'achat du produit. Le prix de revient est ensuite calculé avec le prix fournisseur + les frais si définis. Utile pour les coûts supplémentaires pour un produit ou certains frais de livraison au produit. <br />
<br />
PRODUCT_MAX_VISIBLE_PHOTO => Affiche un nombre maximum de photos de produits (sous forme de vignettes) sur la carte principale du produit. Par exemple, en définissant cette constante sur «5», vous verrez les cinq premières photos de produit trouvées sur la fiche produit.<br />
PRODUCT_MAX_LENGTH_COMBO => limiter la longueur de l'étiquette affichée lors de l'ajout de lignes dans les propositions / factures / commandes<br />
MAIN_DISABLE_FREE_LINES (> = 8.0) => Ne pas autoriser l'utilisation de lignes libres pour ajouter une ligne dans les documents <br />
<br />
Module services<br />
<br />
SERVICE_ARE_ECOMMERCE_200238EC => Si cette option est activée, les services sont traités comme des eServices conformément aux directives de la directive 2002/38 / CE du Conseil de l'UE ( http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en .htm ). Le taux de TVA par défaut est basé sur l'achat de pays au lieu de vendre le pays pour les ventes de BtoC. <br />
<br />
Stocks<br />
<br />
MAIN_SERVICES_ARE_ECOMMERCE_200238EC (<8) => <br />
<br />
CASHDESK_FORCE_STOCK_ON_BILL (> = 8.0.1) => Option pour forcer la diminution du stock quelle que soit la configuration de l'utilisateur. <br />
<br />
SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED => Désactiver l'envoi du stock lorsque le total attendu a déjà été reçu. <br />
<br />
Les envois<br />
<br />
STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS (> = 8.0.1) => Si défini, vous pouvez ajouter une ligne d’expédition, sans définir de source de stock. <br />
<br />
SHIPMENT_GETS_ALL_ORDER_PRODUCTS => Ajoutez toutes les lignes de commande en expédition, y compris celle dont la quantité est 0 <br />
<br />
=Point de vente=<br />
<br />
CASHDESK_SHOW_KEYPAD => Afficher un clavier de souris dans le point de vente.<br />
POS_ADDON = Définissez cette valeur sur une règle de module de numérotation existante (par exemple, "mod_facture_terre", "mod_facture_mars", ...) pour forcer le module de numérotation à définir la facture lorsque la facture est créée par le POS. Par exemple, la valeur POS_ADDON de 'mod_facture_terre' utilisera le module de numérotation 'terre' pour la facture générée depuis le point de vente, quelle que soit la règle de numérotation définie dans la configuration du module de facturation (vous pouvez également utiliser la variable POS_NUMBERING_TERRE_FORCE_PREFIX <br />
<br />
Les contrats<br />
<br />
CONTRACT_SUPPORT_PRODUCTS => Des produits sont également proposés dans le contrat de module. <br />
<br />
=Module projets=<br />
<br />
PROJECT_DISABLE_UNLINK_FROM_OVERVIEW (> = 8.0.1) => Activer la suppression du bouton d'un lien dans l'aperçu du projet.<br />
PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS => Permet de lier un projet à n'importe quel fournisseur, même en utilisant la fonction de lien tiers. Note: Défini sur 1 par défaut à partir de 3.7.<br />
PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS => Peut ajouter du temps passé sur les tâches, même si je ne suis pas affecté à une tâche (cependant, la tâche doit être un projet que je suis un contact).<br />
PROJECT_SHOW_REF_INTO_LISTS => Ajouter une colonne avec la référence du projet dans la liste (avec 3.7 liste des factures fournisseurs uniquement, sera étendue aux autres listes)<br />
PROJECT_HIDE_UNSELECTABLES => Masquer dans la liste de sélection, tout projet que nous ne pouvons pas sélectionner (fermé ou brouillon)<br />
PROJECT_HIDE_TASKS => Cacher les tâches. Pour l'utilisateur utilisant le projet uniquement en tant que clé d'analyse et n'utilisant pas de tâches.<br />
PROJECT_LIST_SHOW_STARTDATE => Affiche la date de début des projets dans les listes de projets.<br />
PROJECT_LINK_ON_OVERWIEW_DISABLED (4.0) => Masquer le formulaire "link to" sur la page d'aperçu<br />
PROJECT_CREATE_ON_OVERVIEW_DISABLED (4.0) => Cacher le bouton "créer ..." sur la page d'aperçu<br />
PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY => Peut lier un objet à un projet d'un autre tiers<br />
PROJECT_ALLOW_COMMENT_ON_TASK => Ajouter un commentaire sur la tâche du projet <br />
<br />
=Module de fondation=<br />
<br />
MEMBER_URL_REDIRECT_SUBSCRIPTION => Lien appelé et affiché lorsqu'un compte membre est créé automatiquement dans un module membre par un utilisateur invité.<br />
MEMBER_EXT_URL_SUBSCRIPTION_INFO => Lien de la page externe désignée par le lien "Afficher ici" ajouté dans la cellule de paiement, dans la page pour effectuer un abonnement en ligne. <br />
<br />
Module d'interventions<br />
<br />
FICHINTER_CLASSIFY_BILLED => Permet de classer une carte d’intervention en "Facturé". Cet ajout déclenche également FICHINTER_CLASSIFY_BILLED dans la liste des événements automatiques possibles dans l'agenda.<br />
FICHINTER_DISABLE_DETAILS => Désactiver l'entrée de la ligne de détails sur l'intervention. Peut valider sans ligne. <br />
<br />
=Module fournisseurs=<br />
<br />
FOURN_PRODUCT_AVAILABILITY => Sur la page de prix Fournisseurs des produits, activez la disponibilité du produit fournisseur. Ceci est une fonctionnalité en double avec delivery_delay introduit avec 3.8.<br />
SUPPLIER_ORDER_AUTOADD_USER_CONTACT => Ajouter automatiquement un utilisateur approuvant la commande du fournisseur en tant que contact.<br />
SUPPLIER_ORDER_USE_DISPATCH_STATUS => Ajouter un statut sur chaque ligne de commande lors de la réception des produits des fournisseurs (v4.0 +)<br />
SUPPLIER_ORDER_NO_DIRECT_APPROVE => Aucun bouton "Valider et approuver". Toujours faire l'étape "Valider" et "Approuver" en 2 étapes.<br />
SUPPLIER_ORDER_WITH_NOPRICEDEFINED => Peut entrer un produit même si aucun prix fournisseur n'est défini. (v6.0 +)<br />
SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT => Peut modifier le prix d'achat utilisé pour le calcul du PMP lors d'une réception de stock sur une commande fournisseur. (v6.0 +) <br />
<br />
Module de banque<br />
<br />
BANK_CAN_RECONCILIATE_CASHACCOUNT (3.8) => Peut réconcilier les comptes de caisse<br />
BANK_DISABLE_CHECK_DEPOSIT => Désactiver la fonctionnalité de dépôt de chèques<br />
BANK_ASK_PAYMENT_BANK_DURING_ORDER => Demander un compte bancaire lors de la création d'une commande<br />
BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL => Demander un compte bancaire lors de la création d'une proposition <br />
<br />
=Module emailing=<br />
<br />
MAILING_PREFIX_FOR_EMAIL_ID => Définissez la valeur qui sera utilisée pour composer le "Email ID" dans les en-têtes de courrier électronique. Si vous définissez cette valeur sur 'SERVER_NAME', l'hôte virtuel du serveur Web sera utilisé. Par défaut, ce n'est pas défini, donc une clé de hachage, unique à chaque instance, est utilisée.<br />
MAILING_NO_USING_PHPMAIL => Si défini, le module emailing ne peut pas être utilisé avec la configuration de messagerie de "phpmail". L'utilisation d'un serveur SMTP tiers est requise. Vous pouvez compléter le message d'avertissement en ajoutant un e-mail au contact pour l'aide à la configuration avec la constante MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS.<br />
MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS => Contient un email à afficher dans un message visible pour l'utilisateur lorsqu'il essaie d'utiliser le module emailing sans serveur SMTP et si l'option MAILING_NO_USING_PHPMAIL est activée.<br />
MAILING_LIMIT_WARNING_PHPMAIL => Afficher un message d'avertissement (var contient le message à afficher ou la clé de traduction) sur le formulaire d'envoi par email si la configuration est sur "phpmail". Par exemple, vous pouvez définir ce paramètre sur «MAILING_LIMIT_WARNING_PHPMAIL» et entrer la clé de traduction pour chaque langue pour cette clé.<br />
MAILING_LIMIT_WARNING_NOPHPMAIL => Afficher un message d’avertissement (var contient le message à afficher ou la clé de traduction) sur le formulaire d’envoi par email si l’installation est autre chose que "phpmail". Par exemple, vous pouvez définir ce paramètre sur «MAILING_LIMIT_WARNING_NOPHPMAIL» et saisir la clé de traduction pour chaque langue pour cette clé.<br />
EMAILING_USE_ADVANCED_SELECTOR => Activer le sélecteur avancé pour les destinataires <br />
<br />
MAILING_LIMIT_SENDBYWEB => Limiter le nombre d'emails que vous pouvez envoyer dans la même session d'envoi avec le module emailing de l'interface graphique. La valeur "dolibarr_mailing_limit_sendbyweb", si elle est définie dans le fichier de configuration, est utilisée en priorité pour cette limite. Une valeur négative signifie que l'envoi par le Web est interdit.<br />
MAILING_LIMIT_SENDBYCLI => Limiter le nombre d'emails que vous pouvez envoyer dans la même session d'envoi avec le module emailing du script CLI. La valeur "dolibarr_mailing_limit_sendbycli", si elle est définie dans le fichier de configuration, est utilisée en priorité pour cette limite. <br />
<br />
=Options PDF=<br />
<br />
MAIN_DISABLE_FORCE_SAVEAS => Si votre navigateur demande toujours de sauvegarder les fichiers téléchargés sur le disque (comme PDF), essayez d’ajouter cette option. Le fichier peut apparaître directement dans votre navigateur. <br />
<br />
MAIN_DISABLE_PDF_COMPRESSION => Désactiver la compression PDF. <br />
<br />
MAIN_INVERT_SENDER_RECIPIENT => Inverser l'expéditeur et le destinataire dans certains PDF. <br />
<br />
MAIN_DISABLE_PDF_AUTOUPDATE => Désactiver la génération automatique de PDF à chaque fois que nous ajoutons / mettons à jour / supprimons une ligne de produit (nous pouvons toujours créer un document en cliquant sur "Générer"). Cette option peut augmenter la vitesse d'interface sur les serveurs à faible CPU. <br />
<br />
MAIN_USE_BACKGROUND_ON_PDF => Définissez cette constante avec le nom abrégé d'une image (exemple "myimage.jpg") qui doit être enregistrée dans le répertoire "documents / mycompany / logos". Cela va ajouter cette image de fond dans vos fichiers PDF générés. Attention: cette option rend la librairie TCPDF parfois folle et le contenu de l'image a disparu! <br />
<br />
MAIN_ADD_PDF_BACKGROUND => Définissez cette constante avec le nom abrégé d'un fichier PDF (exemple "mypdf.pdf") qui doit être enregistré dans le répertoire "documents / mycompany". Cela ajoutera un fichier PDF en arrière-plan à certains de vos fichiers PDF générés (propositions, factures, commandes). Si vous avez besoin de concaténer des fichiers PDF, reportez-vous à la section Module Concat PDF . <br />
<br />
MAIN_PDF_FORCE_FONT => Pour ignorer la police définie dans le fichier de langue et forcer l'utilisation d'une police particulière. Par exemple "DejaVuSans". <br />
<br />
MAIN_PDF_FREETEXT_HEIGHT => Modifier la hauteur de l'espace réservé à la sortie du texte libre. <br />
<br />
MAIN_PDF_TITLE_BACKGROUND_COLOR => Peut définir une couleur de fond sur la ligne de titre. Exemple: '220 220 200' <br />
<br />
MAIN_USE_COMPANY_NAME_OF_CONTACT => Utiliser le nom et les informations du contact plutôt que la société <br />
<br />
MAIN_ODT_AS_PDF => Activer la conversion PDF à partir du document ODT. Si la valeur est "jodconverter", l'outil de ligne de commande Java et jodconverter doit être disponible. Si la valeur est '/pathto/jodconverter.jar', alors Java et le jodconvertar jar doivent exister. soffice doit également être disponible. MAIN_DOL_SCRIPTS_ROOT Doit également être défini sur le chemin où le répertoire "scripts" est stocké (par exemple / var / www / mydolibarr). <br />
<br />
MAIN_ODT_AS_PDF_DEL_SOURCE => Pour la génération ODT. S'il est défini, le comportement initial est conservé, mais le fichier odt est supprimé lorsque l'option permettant de le convertir au format PDF (voir ci-dessus) est activée. Désactivé par défaut <br />
<br />
MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Inclure la première image du produit dans la ligne du PDF généré pour les propositions des clients. <br />
<br />
MAIN_GENERATE_INVOICES_WITH_PICTURE => Inclure la première image du produit dans la ligne du PDF généré pour les factures client. <br />
<br />
MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE => Inclure la première image du produit dans la ligne du PDF généré pour les propositions des fournisseurs (v5.0.3 +) <br />
<br />
MAIN_DOCUMENTS_WITH_PICTURE_WIDTH => Peut changer la taille de l'image lorsque l'option masquée MAIN_GENERATE_PROPOSALS_WITH_PICTURE est utilisée. La valeur par défaut est 20. <br />
<br />
MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN => Masquer la colonne avec les informations TVA mais uniquement la colonne non totale. <br />
<br />
PDF_SHOW_PROJECT => Afficher le projet sur le PDF (supporté sur commande fournisseur pour le moment) <br />
<br />
PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN => Cacher le numéro de banque ("code banque / guichet / compte" pour la france, "trier numéro / compte" pour GB, ...) et ne conserver que BIC / IBAN au format PDF. <br />
<br />
PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES => Valeur 1 ou 2 change la façon dont la référence du produit est affichée (1 = réf. Fournisseur uniquement et non référence interne, 2 = fournisseur puis interne). Sans, la référence interne, le fournisseur est affiché. <br />
<br />
MAIN_PDF_ADDALSOTARGETDETAILS => Ajoutez des détails particuliers comme le numéro de téléphone sur les fichiers PDF générés. Peut être utile dans les cas où une commande / facture imprimée est remise à un livreur / messager, etc. <br />
<br />
PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME => Incluez le nom d'alias / de remplacement dans le fichier PDF. <br />
<br />
MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => ajouter un champ de signature optionnel en pdf propal <br />
<br />
=Éditeur WYSIWYG=<br />
<br />
FCKEDITOR_ENABLE_DETAILS_FULL => Peut couper et coller des images externes (hébergées sur un serveur externe) dans la description de la proposition, des commandes ou des factures. AVERTISSEMENT: la génération de PDF n'est pas garantie avec ceci. De plus, si l'image est supprimée ou renommée par l'hébergeur d'images, votre proposition, commande ou facture sera brisée. <br />
<br />
<br />
=BlockedLog=<br />
<br />
BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY => Rendre la désactivation du module "bloqué" impossible pour le code pays défini en valeur. Exemple: 'FR, ...' <br />
<br />
=MultiCurreny=<br />
<br />
MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION => Activer la synchronisation API CurrencyLayer</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Param%C3%A9trage_Divers&diff=39817Paramétrage Divers2018-09-24T16:47:02Z<p>Yves.brungard: Formatage</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUtil}}<br />
<br />
'''Aide de l'écran:''' Paramétrage Divers<br />
<br />
'''Menu d'accès:''' Accueil -> Configuration -> Divers (avec le gestionaire de menu 'eldy')<br />
<br />
<br />
<br />
<br />
= Fonction =<br />
Cette page permet d'ajouter/éditer des paramètres sans page dédiée à leur édition. Dans la plupart des cas, ce sont des paramètres pour le développement, les modules externes ou des fonctions cachées.<br />
<br />
Pour une utilisation normale de Dolibarr, cet écran de paramétrage doit rester vide et ne pas être utilisé.<br />
<br />
= Quelques options cachées =<br />
Quelques options non visibles dans les interfaces (souvent car en bêta, en expérimentation ou obsolètes) sont disponibles. Dans la plupart des cas, vous n'avez pas besoin de ces fonctions et leur utilisation peut rendre instable l'application.<br />
<br />
Pour les activer il faut définir une constante à 1 (ou à une valeur dépendant de l'option) dans '''Accueil - Configuration - Divers'''.<br />
<br />
L'utilisation de ces constantes étant à éviter, la documentation n'est disponible qu'en Anglais ([[Setup_Other#List_of_known_hidden_options]]). La page servant plutôt d'aide mémoire.<br />
<br />
<br />
=Liste des options cachées connues=<br />
<br />
==Options globales==<br />
<br />
* MAIN_LOGOUT_GOTO_URL => (core) URL à laquelle l'utilisateur sera redirigé après LOGOUT. <br />
<br />
* MAIN_FILESYSTEM_ENCODING => Avec certaines versions de PHP, PHP ne peut pas détecter le code de page du système de fichiers du système d'exploitation du serveur. Pour résoudre ce problème, Dolibarr suppose que le système de fichiers de votre système d'exploitation est UTF-8 sur les systèmes Linux ou osx et iso-8859-1 sur Windows. Si ce n'est pas le cas, par exemple sur un serveur Windows avec un code NTFS UTF-8, vous pouvez définir la variable MAIN_FILESYSTEM_ENCODING sur "utf-8". <br />
<br />
* MAIN_SHOW_TECHNICAL_ID => Afficher également les identifiants techniques sur les cartes d'éléments ou certaines listes (non supportés partout). <br />
<br />
* MAIN_MAXTABS_IN_CARD => Nombre maximum d'onglets visibles. D'autres sont regroupés dans une liste déroulante. <br />
<br />
* MAIN_ONLY_LOGIN_ALLOWED => Seul l'identifiant spécifié est autorisé à se connecter à Dolibarr (mode maintenance). <br />
<br />
* MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES => Ajoutez un horodatage et un utilisateur automatiquement lors de la modification de la note publique. <br />
<br />
* MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES => Ajoutez un horodatage et un utilisateur automatiquement lors de la modification de la note privée. <br />
<br />
* MAIN_SECURITY_CSRF_WITH_TOKEN (> = 5.0) => Activer une deuxième protection anti-CSRF sur POST (un POST d'un autre site Web ne peut être effectué). Notez qu'il existe déjà une protection par défaut utilisant le test sur le référent. Cette deuxième protection utilise TOKEN sur les formulaires et est moins puissante. <br />
* MAIN_APPLICATION_TITLE => Cela changera le titre du logiciel (qui apparaît sur la page de connexion par défaut). Attention, changer cela peut faire échouer la détection de versions Dolibarr par les applications smartphone comme Application Android - DoliDroid <br />
* MAIN_AUTOFILL_DATE => Si cette constante est définie sur une valeur différente de 0, la date de la facture, de la proposition, de la commande ou du paiement est automatiquement renseignée avec la date du jour. Il est fortement recommandé de NE PAS ACTIVER cette fonctionnalité. Cela peut créer beaucoup d'erreurs de saisie avec les données non validées par les utilisateurs. Cela conduit à des valeurs incorrectes enregistrées dans la base de données, entraînant une confusion lorsque vous devez effectuer vos rapports de comptabilité! Cependant, certains utilisateurs le veulent, nous le fournissons donc. <br />
<br />
* MAIN_DISABLE_FULL_SCANLIST => Désactive l'analyse complète des tables pour permettre à la pagination d'afficher le nombre total de pages. Peut être utile pour activer sur des systèmes avec une très grande quantité de données (tables avec plus de 500 000 enregistrements). <br />
<br />
* MAIN_FIRST_TO_UPPER => Dolibarr ajoute des majuscules aux tiers, aux contacts ou aux noms des membres si ce n'est pas fait. Attention, avec certaines langues (dont les mots avec des majuscules ne sont pas les mêmes mots, ou si pagecode n’a pas toujours une majuscule, comme les langages cyrilliques), cette fonctionnalité peut altérer vos données. <br />
<br />
* MAIN_ENABLE_LOG_TO_HTML (MAIN_LOGTOHTML avant 3.9) => Si cette constante est définie, il est possible d'avoir des journaux dans les pages en ajoutant le paramètre & logtohtml = 1 dans l'URL. <br />
<br />
* MAIN_USE_HOURMIN_IN_DATE_RANGE => Sur toutes les lignes d'entités (facture, commande, contrat ...), il est possible d'ajouter des heures et des minutes avec la date sur les champs "date de début" et "date de fin". <br />
<br />
* MAIN_REMOVE_INSTALL_WARNING => Supprimez tous les avertissements de sécurité qui apparaissent aux utilisateurs administrateurs si l'URL / installation est publique. Vous devez résoudre le problème si un avertissement se produit, au lieu de supprimer l'avertissement! Pour cela, placez un fichier nommé install.lock dans le répertoire racine de Dolibarr. Cela arrêtera l'avertissement mais rendra la page / installation impossible à utiliser pour protéger votre installation. <br />
<br />
* MAIN_OPTIMIZE_SPEED => Utilisez des améliorations de vitesse. Voir la page Increase_Performance pour plus d'informations. <br />
<br />
* MAIN_REPLACE_TRANS_xx_XX => Où xx_XX est le code de langue. Si la valeur est string1: newstring1; string2: newstring2 remplace alors string1 par newstring1 dans toute traduction effectuée pour la langue xx_XX. <br />
<br />
* MAIN_REPEATCONTACTONEACHTAB => Si ajouté et défini sur 1, cela ajoute des contacts sur tous les onglets, pas seulement l'onglet principal. <br />
<br />
* MAIN_DISABLE_JQUERY_JNOTIFY => Désactiver l'utilisation de JNotify pour afficher les messages de confirmation ou d'erreur <br />
<br />
* MAIN_USE_JQUERY_JEDITABLE => Permet de mettre à jour depuis l'écran, directement dans la base de données, certaines propriétés d'éléments (factures, propositions, ...) en utilisant Ajax. Cela accélère le temps de réponse, mais évite d'utiliser ces fonctionnalités, car il contourne certaines actions commerciales (mises à jour sur d'autres données qui doivent être effectuées de manière cohérente) et ignore les contrôles métier sur les données que vous avez enregistrées. Cette fonctionnalité brise donc la cohérence des données et peut-être la stabilité du logiciel. <br />
<br />
* MAIN_USE_JQUERY_MULTISELECT => Permet d'utiliser Ajax lorsqu'un choix nécessitant multisélection est utilisé (pour le moment, seuls les modules externes utilisent la sélection avec des valeurs multi-sélection). Définissez la valeur sur le nom du plug-in jQuery à utiliser (multi-sélection, sélection multiple, sélection2…). Le définir sur une autre valeur entraînera des effets secondaires et / ou des bogues indésirables. <br />
<br />
* MAIN_HELPCENTER_LINKTOUSE => Définir le lien URL à utiliser comme page cible pour le lien "J'ai besoin d'aide" sur la page de connexion <br />
<br />
* MAIN_MODULES_FOR_EXTERNAL => Limiter les modules disponibles pour les utilisateurs externes. La valeur par défaut est 'facture, commande, contact, propal, projet, contrat, societe, ficheinter, expedition, agenda' <br />
<br />
* MAIN_SHOW_TUNING_INFO => Ajouter des informations de réglage dans la console javascript. Mieux quand xdebug est activé. <br />
<br />
* MAIN_DOL_SCRIPTS_ROOT => Définir le répertoire qui contient le répertoire 'scripts' (par exemple / var / www / dolibarr) <br />
<br />
* MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING => Un avertissement indiquant que la configuration des modules est incomplète est affiché si le nombre de modules activés est inférieur ou égal à cette valeur (1 si non défini) <br />
<br />
* MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE => Ajouter la signature du représentant de la première vente dans les documents (à la fin des notes publiques). <br />
<br />
* MAIN_DISABLE_AJAX_COMBOX => Si vous avez un grand nombre de tiers ou de produits, vous pouvez désactiver la fonctionnalité de saisie semi-automatique dans la liste des tiers en définissant la constante MAIN_DISABLE_AJAX_COMBOX sur 1 dans Home-Setup-Other (avec Dolibarr v3.6.0 +). <br />
<br />
* MAIN_USE_CACHE_MANIFEST => Ajouter un manifeste de cache HTML5 à la page - Attention, cette fonctionnalité est obsolète et supprimée des standards Web <br />
<br />
* MAIN_FORCELANGDIR => chemin relatif du répertoire contenant votre dossier langs personnalisé. <br />
<br />
* MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS => permet de définir un taux de TVA par défaut <br />
<br />
* MAIN_HTML_TITLE => peut être utilisé pour contrôler la manière dont le titre de la page HTML est formaté. Si la valeur contient la clé 'noapp', le nom de l'application ne sera pas généré. Si value contient 'thirdpartynameonly', sur l'onglet pour les tiers, seul le nom des tiers est affiché. La valeur peut être la liste de balises: 'noapp; thirdpartynameonly' <br />
<br />
* MAIN_LANDING_PAGE => (> = 3.9). Peut choisir la première page à afficher après la connexion (la page de destination). Cette option fonctionne comme une option globale (llx_const) et par option utilisateur (llx_user_param). <br />
<br />
* MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN => (> = 4.0) Lors de la création d'une commande, d'un contrat, d'une facture à partir d'un autre objet, des contacts spécifiques d'objets sont définis comme contact spécifique du nouvel objet lorsque cela est possible. <br />
<br />
* MAIN_WEIGHT_DEFAULT_ROUND => Exactitude du poids (nombre de décimales) <br />
<br />
* MAIN_WEIGHT_DEFAULT_UNIT => Unité par défaut pour le poids (0 = kg, -3 = g, ...) <br />
<br />
* MAIN_VOLUME_DEFAULT_ROUND => Précision du volume (nombre de décimales) <br />
<br />
* MAIN_VOLUME_DEFAULT_UNIT => Unité par défaut pour le poids (0 = kg, -3 = g, ...) <br />
<br />
* MAIN_PUBLIC_NOTE_IN_ADDRESS> = 4.0 => afficher la note publique dans le bloc d'adresse <br />
<br />
* MAIN_DEFAULT_PAYMENT_TERM_ID => Avec l'identifiant d'un terme de paiement, utilisera ce dernier comme délai de paiement par défaut chaque fois que vous créez une nouvelle proposition, une commande, une facture (client et fournisseur) <br />
<br />
* MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND => Changer la manière d'arrondir les lignes TTC totales, en arrondissant d'abord après <br />
<br />
* MAIN_VIEW_LINE_NUMBER => Affiche un numéro de ligne contre chaque ligne de la commande / facture pour les produits / services. À l'écran uniquement, pas au format PDF. <br />
<br />
* MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME => Ajouter le nom de la tierce partie au début du document généré <br />
<br />
* MAIN_DOC_USE_TIMING => Ajouter un horodatage à la fin du document généré. La valeur doit être le format de l'horodatage. Par exemple:% Y% m% d% H% M <br />
<br />
* MAIN_DISABLEDRAFTSTATUS => Désactiver le statut Draft pour certains objets (projet, don, ...) <br />
<br />
* MAIN_USE_OLD_SEARCH_FORM => Afficher l'ancien formulaire de recherche dans le menu de gauche. <br />
<br />
* MAIN_SERVER_TZ => Si vous ne pouvez pas définir le fuseau horaire de votre installation PHP, définissez cette constante. Mieux vaut le régler sur UTC. A l'avenir, cette constante sera forcée à 'UTC', donc le fuseau horaire du serveur PHP n'aura plus d'effet. Exemples: Europe / Paris, auto. <br />
<br />
* MAIN_SEARCH_FORM_ON_HOME_AREAS => Afficher le formulaire de recherche sur les zones de la page d'accueil pour les modules de base (Supprimé après la v5 en raison du combo de recherche globale) (v6.0 +) <br />
<br />
* MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE => Si un seul résultat est trouvé, la définition de cette valeur à 1 vous amène directement à l'élément (méthode par défaut). Définir la valeur sur 0 affichera le résultat dans la liste comme un résultat unique (v5.0 +) <br />
<br />
* MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES (dolibarr 8.0) => Permet d'importer des lignes dans le document actuel à partir de documents compatibles "liés" <br />
<br />
==Visuel ou Thème ==<br />
<br />
* MAIN_OPTIMIZEFORTEXTBROWSER => Optimiser le rendu de sortie pour l'utilisation d'un navigateur de texte (utile pour les personnes aveugles)<br />
* THEME_ELDY_DISABLE_IMAGE => Images désactivées du menu principal pour le thème eldy.<br />
* MAIN_MENU_HIDE_UNAUTHORIZED => Masquer le menu si l'utilisateur connecté n'est pas autorisé plutôt que de simplement les griser<br />
* THEME_TOPMENU_STICKY_POSITION => Option pour corriger le menu principal avec le thème eldy (masque caché) (v7.0 +)<br />
<br />
=Email et SMS=<br />
<br />
MAIN_MAILFORM_DISABLE_ENTERKEY (> = 8.0.1) => Activer le code javascript pour désactiver la clé de saisie dans le formulaire MAIL. <br />
<br />
MAIL_PREFIX_FOR_EMAIL_ID (> = 8.0.1) => Préfixe de l’ID de courrier. La valeur par défaut est $ _SERVER ["SERVER_NAME"] <br />
<br />
MAIN_MAIL_DEBUG => Ecrire le contenu avec en-tête du dernier courrier dans le fichier dolibarr_mail.log dans le répertoire dolibarr_main_data_root. <br />
<br />
MAIN_SMS_DEBUG => Ecrire le contenu du SMS envoyé dans le fichier dolibarr_sms.log dans le répertoire dolibarr_main_data_root. <br />
<br />
MAIN_MAIL_ALLOW_SENDMAIL_F => Sur les systèmes Linux ou BSD, la fonction de messagerie PHP utilise la commande sendmail local to server.<br />
Dans certains cas, le courrier électronique de l'expéditeur doit être fourni sur la ligne de commande de sendmail avec l'option -f. Cette<br />
option est là pour demander à Dolibarr d'appeler la fonction mail de PHP en ajoutant une valeur pour l'option -f. Notez que dans la plupart<br />
des cas, même avec sendmail, le courrier électronique de l'expéditeur est correctement géré, car il est ajouté dans l'en-tête technique du<br />
courrier électronique. Cette option est ici uniquement pour la configuration rare de sendmail qui demande à l'option -f d'être obligatoire <br />
ou pour l'installation sendmail qui n'utilise pas par défaut le chemin de retour de l'en-tête pour définir l'expéditeur (avec cette option <br />
être fourni également sur la ligne de commande et non perdu par sendmail). <br />
<br />
MAIN_MAIL_SENDMAIL_FORCE_BA => Sur les systèmes Linux ou BSD, la fonction de messagerie PHP utilise la commande sendmail local to server.<br />
Dans certains cas, nous voulons que le destinataire soit envoyé à sendmail dans le contenu du courrier électronique au lieu de son paramètre <br />
de ligne de commande. Pour cela, il faut ajouter le paramètre -ba à sendmail. Cette option demande à PHP de fournir ce paramètre lors de l'envoi<br />
d'un mail. Notez qu'une autre solution consiste à éditer le fichier mail.force_extra_parameters = -ba dans le fichier php.ini . <br />
<br />
MAIN_MAIL_NO_FULL_EMAIL => L'e-mail du destinataire et l'expéditeur sont nettoyés pour être sur le formulaire "<email>" au lieu de "Nom <email>". Cela pourrait résoudre le problème de la compatibilité avec les très anciens mailers. <br />
<br />
MAIN_FIX_FOR_BUGGED_MTA => Certains agents MTA sont buggés et ajoutent des caractères CR chaque fois qu’ils voient un LF. Les e-mails <br />
Dolibarr étant falsifiés pour être déjà nettoyés, si l'agent MTA le fait, vous enverrez un e-mail avec deux caractères CR. Cela peut entraîner<br />
le destinataire ne peut pas lire votre courrier électronique. Pour résoudre ce problème, ajoutez cette constante à 1. Dolibarr créera alors un courrier électronique non conforme à la norme RFC mais, étant donné que l’agent MTA est bogue, le courrier électronique sera modifié et <br />
corrigera lors de l’envoi, ce qui résoudra le problème. Ajoutez cette constante si votre destinataire rencontre des problèmes lors de <br />
l'ouverture du courrier électronique, par exemple des utilisateurs utilisant le webmail orange.fr ou hotmail.com <br />
<br />
MAIN_MAIL_DO_NOT_USE_SIGN => N'ajoutez pas de signature d'utilisateur à la fin de l'e-mail prédéfini suggéré <br />
<br />
<br />
MAIL_FORCE_DELIVERY_RECEIPT_INVOICE => Définissez la valeur par défaut sur "Oui" lors de la demande d'un accusé de réception lors de l'envoi d'un courrier électronique via le module Facture client . <br />
<br />
MAIL_FORCE_DELIVERY_RECEIPT_ORDER => Définissez la valeur par défaut sur "Oui" lors de la demande d'accusé de réception lors de l'envoi<br />
du courrier électronique via le module Commande client . <br />
<br />
MAIL_FORCE_DELIVERY_RECEIPT_PROPAL => Définissez la valeur par défaut sur "Oui" lors de la demande d'un accusé de réception lors de<br />
l'envoi du courrier électronique via le module Proposition client . <br />
<br />
MAIN_EMAIL_USECCC => 1 = Afficher le champ BCC dans les formulaires de courrier électronique, si email = Afficher le BCC pré-rempli <br />
avec le courrier électronique. <br />
<br />
MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO => E-mail à utiliser en tant que destinataires<br />
BCC lors de l'envoi de courrier électronique pour proposition, commande ou facture. Vous pouvez rendre cette valeur visible en définissant MAIN_EMAIL_USECCC (à 1 ou à un autre email, voir point précédent) <br />
<br />
MAIN_EMAIL_ADD_TRACK_ID => Lorsque la valeur est 1 (c'est également la valeur par défaut si l'option n'est pas définie): l'enregistrement "Message-id" ajouté dans l'en-tête de smtp inclut un identifiant de suivi pour définir d'où le mail a été envoyé. Lorsque la valeur est 2: <br />
vous envoyez un e-mail depuis une carte tierce, l'e-mail de l'expéditeur est complété par la chaîne de suivi de la source e-mail "+ thiXXX" <br />
(votre e-mail sera envoyé avec "myname + thi123 @ mycompany"). com). Ainsi, lorsque l'utilisateur recevant un courrier électronique répondra, <br />
un courrier électronique sera envoyé à myname@masociete.com mais avec l'identifiant de suivi inclus (dans l'en-tête ou dans le courrier <br />
électronique cible), vous permettant ainsi de savoir à quel tiers ou objet est liée à. <br />
<br />
MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL => Restreindre l'envoi d'un email à x destinataires pour un même mail (x pour To: + CC: + BCC :).<br />
Si elle n'est pas définie, la valeur est 10. Requise pour lutter contre le spam qui inclut 1000 destinataires dans un message. Notez que MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL et MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL sont <br />
également disponibles. <br />
<br />
MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML => Forcer l'envoi de tous les emails (événement avec un contenu texte uniquement) en tant qu'e-mail<br />
au format HTML. <br />
<br />
MAIN_MAIL_USE_MULTI_PART => Forger le contenu d'un email en utilisant une autre partie du texte (pour 5.0.2+). Par défaut avec 6.0+ <br />
<br />
MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS => Si des images ont été stockées dans le répertoire des médias depuis CKEditor, les images dans<br />
les e-mails sont remplacées par du "contenu en ligne". Cela peut augmenter sérieusement le risque d'être détecté en tant que SPAM. <br />
<br />
MAIN_COPY_FILE_IN_EVENT_AUTO => Ajouter un document de pièce jointe sur l'événement auto généré en envoyant un email à partir de dolibarr. <br />
(v6.0 +) <br />
<br />
MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS => Entrez l'adresse IP publique du serveur, elle apparaîtra donc dans l'aide sur la page de configuration<br />
du courrier électronique. <br />
<br />
MAIN_MAIL_ENABLED_USER_DEST_SELECT => Afficher également les utilisateurs internes dans la liste des destinataires du courrier électronique <br />
dans le formulaire d'envoi de courrier électronique (v8.0 +) <br />
<br />
=Module tiers=<br />
<br />
COMPANY_AQUARIUM_CLEAN_REGEX (> = 8.0.1) => Ajouter une règle REGEX sur les noms des tiers.<br />
MAIN_FORCE_DEFAULT_STATE_ID (> = 8.0.1) => Permet de forcer la sélection d'un pays / province / comté à partir d'un pays en spécifiant des identifiants<br />
SOCIETE_DISABLE_CUSTOMERS => Supprimer tous les menus et fonctionnalités liés aux clients<br />
SOCIETE_DISABLE_PROSPECTS => Supprimer tous les menus et fonctionnalités liés aux prospects<br />
SOCIETE_DISABLE_STATE => Ne pas utiliser le champ "state / province"<br />
THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT => Ne définissez pas le statut "Client / Prospect" sur "on" lors de la création d'un nouveau tiers à partir du menu "Nouveau tiers".<br />
THIRDPARTY_NOTSUPPLIER_BY_DEFAULT => Ne définissez pas le statut "Fournisseur" sur "on" lors de la création d'un nouveau tiers à partir du menu "Nouveau tiers".<br />
SOCIETE_SORT_ON_TYPEENT = La liste déroulante du "type de tiers" est triée sur un champ "position" qui apparaît dans le dictionnaire au lieu de l'ordre alphabétique.<br />
THIRDPARTY_DEFAULT_CREATE_CONTACT (Dolibarr 5.0+) => La création par défaut d'un tiers est individuelle<br />
MAIN_THIRDPARTY_CREATION_INDIVIDUAL (Dolibarr <5.0) => Les tiers créés par défaut sont individuels<br />
THIRDPARTY_DEFAULT_USEVAT => Lors de la création d'un nouveau tiers, le champ "Use vat" est activé ou désactivé en fonction de la valeur de ce paramètre.<br />
THIRDPARTY_DEFAULT_USELOCALTAX1 => Lors de la création d'un nouveau tiers, le champ "Utiliser la deuxième taxe" est activé ou désactivé en fonction de la valeur de ce paramètre.<br />
THIRDPARTY_DEFAULT_USELOCALTAX2 => Lors de la création d'un nouveau tiers, le champ "Utiliser la troisième taxe" est activé ou désactivé en fonction de la valeur de ce paramètre.<br />
THIRDPARTY_INCLUDE_PARENT_IN_LINKTO => Recherchez également des éléments sur le tiers parent lorsque vous utilisez la fonctionnalité d'objet "lien vers".<br />
THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO => Recherchez également les éléments appartenant à un tiers qui possèdent le projet de l'élément en cours lors de l'utilisation de la fonctionnalité d'objet "link to" (si le projet appartient à un tiers différent de celui en cours).<br />
SOCIETE_ASK_FOR_SHIPPING_METHOD => Le mode de livraison peut être prédéfini sur la carte client et sera utilisé par défaut lors de la création de la commande<br />
THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un logo est téléchargé, une clé de partage est automatiquement définie pour que le fichier puisse être téléchargé à l'aide de la clé de partage.<br />
MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL => Les utilisateurs externes sont toujours limités au tiers de leur enregistrement de contact. Avec cette option, l'autorisation "voir toutes les tierces parties" peut également fonctionner pour un utilisateur externe.<br />
Pas encore mis en œuvre... <br />
<br />
=Module de propositions=<br />
<br />
PROPAL_CLONE_ON_CREATE_PAGE => Sur la page de création de proposition, demandez si vous souhaitez créer la proposition en clonant une proposition déjà existante. Vous devez utiliser à la place le bouton "Cloner" disponible sur les propositions existantes.<br />
MAIN_PROPAL_CHOOSE_ODT_DOCUMENT => Sur la page de configuration, vous pourrez sélectionner le document ODT à utiliser lorsque vous fermez<br />
ou annulez des propositions.<br />
MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Ajouter une image du produit (le premier trouvé s'il y en a plusieurs) dans le PDF de propositions généré. Notez que cela réduira la largeur disponible pour la description du produit.<br />
PROPAL_DISABLE_SIGNATURE => Ne pas afficher la boîte pour signature.<br />
WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES => Le bouton "Classifié" est visible sur la proposition même si aucune facture n'est<br />
liée à la proposition.<br />
PRODUIT_PDF_MERGE_PROPAL => Lors de la génération du PDF de la proposition, tous les PDF liés aux produits liés à la proposition sont<br />
également inclus dans le PDF final<br />
PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un fichier PDF est généré, une clé de partage est automatiquement définie pour que le fichier <br />
puisse être téléchargé à l'aide de la clé de partage. (v7.0 +)<br />
MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => ajouter un champ de signature optionnel en pdf propal <br />
<br />
Module de commande<br />
<br />
COMMANDE_REQUIRE_SOURCE => Rendre obligatoire le champ de saisie "Source de commande".<br />
COMMANDE_VALID_AFTER_CLOSE_PROPAL => Lorsqu'une commande est créée sur une proposition fermée, la commande est directement définie avec le <br />
statut "Validé".<br />
COMMANDE_CHANGE_THIRDPARTY => Peut changer le client sur les commandes<br />
ORDER_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un fichier PDF est généré, une clé de partage est automatiquement définie pour que le fichier puisse être téléchargé à l'aide de la clé de partage. (v7.0 +) <br />
<br />
Module de facture<br />
<br />
MAIN_DEPOSIT_MULTI_TVA => Dans la facture de dépôt, crée une ligne par taux de TVA à partir du document d'origine (6.0)<br />
FACTURE_SHOW_SEND_REMINDER => Afficher le lien "Envoyer un rappel par mail", même fonctionnalité que "Envoyer par mail" (fonctionnalité obsolète).<br />
INVOICE_CAN_ALWAYS_BE_EDITED => Permet de modifier les factures même si le paiement a été lancé. Remarque: Si le module " BlockedLog " est actif (requis par certains pays pour des raisons légales), cela ne modifiera pas le contenu des journaux archivés suivis par ce module. Par définition, il est impossible de modifier ou de supprimer des enregistrements archivés. Il ne fera que mettre à jour les données de votre application et un nouvel enregistrement pour suivre votre modification dans le journal d'archivage non réversible.<br />
INVOICE_CAN_ALWAYS_BE_REMOVED => Permet de toujours supprimer les factures (même si la facture n’est pas la dernière). Remarque: Si le module " BlockedLog " est actif (requis par certains pays pour des raisons légales), cela ne modifiera pas le contenu des journaux archivés suivis par ce module. Par définition, il est impossible de modifier ou de supprimer des enregistrements archivés. Il ne fera que mettre à jour les données de votre application et un nouvel enregistrement pour suivre votre modification dans le journal d'archivage non réversible.<br />
INVOICE_CAN_NEVER_BE_REMOVED => Ne jamais autoriser à supprimer des factures (sauf les factures brutes).<br />
INVOICE_POSITIVE_CREDIT_NOTE => Tous les montants sur les notes de crédit PDF sont positifs.<br />
FACTURE_CHANGE_THIRDPARTY => Permet de modifier le tiers dans les brouillons de factures. Si une remise a été définie à partir du tiers d'origine, la remise reste en vigueur, rendant les données non cohérentes.<br />
FACTURE_USE_PROFORMAT => Activer le type de factures PROFORMAT.<br />
FACTURE_DEPOSITS_ARE_JUST_PAYMENTS => Traite les factures de dépôt comme un cas particulier. Les factures de dépôt ne sont pas comptabilisées dans le chiffre d'affaires. Ils sont ensuite appliqués en tant que paiement, comme une remise, sur la facture finale. Par défaut, lorsque vous incluez le dépôt dans le brouillon de la facture finale, le montant de la facture finale est réduit. Avec cette option, le montant final n'est pas réduit mais un paiement est enregistré.<br />
FACTURE_SENDBYEMAIL_FOR_ALL_STATUS => Peut envoyer une facture par email au client même si la facture a le statut "brouillon".<br />
MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT => Désactiver la TVA sur les documents générés. comme pour une association. (c'est du travail avec le modèle de crabe)<br />
INVOICE_CREDIT_NOTE_STANDALONE (dolibarr 3.9) => Peut faire un avoir sans facture.<br />
INVOICE_USE_SITUATION = Activer la fonctionnalité "facture de situation"<br />
INVOICE_USE_SITUATION_CREDIT_NOTE (dolibarr 8.0) = Activer la fonctionnalité "note de crédit de situation" (nécessite INVOICE_USE_SITUATION)<br />
INVOICE_DISABLE_DEPOSIT = Désactiver les factures de dépôt<br />
INVOICE_DISABLE_REPLACEMENT = Désactiver les factures de remplacement<br />
INVOICE_DISABLE_CREDIT_NOTE = Désactiver les notes de crédit<br />
WORKFLOW_BILL_ON_SHIPMENT = Modifier l'étiquette du bouton avec l'étiquette appropriée lorsque vous devez créer une facture pour les envois<br />
INVOICE_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un PDF est généré, une clé de partage est automatiquement définie pour que le fichier puisse être téléchargé à l'aide de la clé de partage. (v7.0 +) <br />
<br />
Rapport de dépenses<br />
<br />
EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS => Peut entrer plusieurs rapports de dépenses sur des périodes identiques ou se chevauchant. (v7.0 +) <br />
<br />
Module d'exportation<br />
<br />
EXPORT_CSV_SEPARATOR_TO_USE => Valeur de chaîne à utiliser comme séparateur par défaut pour délimiter les champs des fichiers exportés (par défaut, Dolibarr utilise ","). Exemple: EXPORT_CSV_SEPARATOR_TO_USE =;<br />
EXPORT_CSV_FORCE_CHARSET => Choisissez le jeu de caractères utilisé dans le fichier de sortie créé par l'exportateur CSV. Par défaut, c'est ISO-8859-1. Exemple: EXPORT_CSV_FORCE_CHARSET = utf-8<br />
EXPORTTOOL_CATEGORIES => Peut exporter des catégories (plusieurs lignes) dans une colonne avec le "profil d'exportation de produit"<br />
USE_STRICT_CSV_RULES => Utiliser le format CSV strict / réel pour l'exportation. Ne nettoyez / remplacez pas CR + LF par '\ n' mais citez-les en utilisant le caractère CSV d'échappement ("). <br />
<br />
Module agenda<br />
<br />
AGENDA_MAX_EVENTS_DAY_VIEW => Définissez le nombre maximum d'entrées visibles pour chaque jour dans l'agenda. La valeur par défaut est 3. La valeur 0 signifie aucune limite.<br />
AGENDA_USE_EVENT_TYPE => Ajouter un champ obligatoire "Type" lors de la création d'un événement (obsolète).<br />
AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS => Définir automatiquement la date de fin de l'événement pour démarrer la date + delta sur la page de création de l'événement.<br />
MAIN_ADD_EVENT_ON_ELEMENT_CARD => Permet de créer un événement à partir d'un document (proposition, commande, facture) <br />
<br />
=Module produits=<br />
<br />
MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE => Eviter que le code personnalisé et le pays d'origine soient définis comme description du produit lorsqu'ils sont ajoutés à Propal / Order / Invoice<br />
PRODUCT_ADD_TYPE_IN_DOCUMENTS => Ajoutez le texte "Produit" ou "Service" au début des lignes de détails sur les documents PDF construits.<br />
PRODUCT_DONOTSEARCH_ANYWHERE => Lorsque la recherche Ajax est activée, la recherche est effectuée sur les critères de l’étiquette du produit. En ajoutant cette option, la recherche est effectuée uniquement au début de l'étiquette. C'est vraiment plus rapide lorsque vous avez un grand nombre de produits.<br />
PRODUIT_DESC_IN_LIST => Afficher une longue description du produit / service dans les listes.<br />
PRODUIT_PDF_MERGE_PROPAL => Activer le module PDF produit<br />
PRODUCT_USE_OLD_PATH_FOR_PHOTO => Demandez à dolibarr de vérifier également l’ancien chemin (avant 3.7) où les photos ont été stockées.<br />
PRODUCT_USE_UNITS => Activer les unités du dictionnaire dans la carte de produit / service.<br />
PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL => Lorsque l'option d'utilisation du prix par niveau / segment est activée, cela permet également de définir une cuve dédiée pour chaque niveau de prix.<br />
MAIN_DIRECT_STATUS_UPDATE => Vous permet de modifier le statut du produit ( à vendre / à ne pas vendre pour l’achat / à ne pas acheter ) directement sur la page du produit via un bouton d’activation / désactivation . Cela peut être pratique pour ceux qui ont besoin de désactiver rapidement certains statuts de produits sans avoir à parcourir la page d'édition du produit individuellement. Cela peut également être très utile si vous l'utilisez comme filtre sur la liste de recherche de produits et de produits. Cette option ne génère pas de déclencheur MODIFY, soyez donc prudent avec les modules externes. v4.0 + <br />
<br />
PRODUCT_CHARGES => Ajoute un champ supplémentaire pour les frais ad hoc au stade du prix d'achat du produit. Le prix de revient est ensuite calculé avec le prix fournisseur + les frais si définis. Utile pour les coûts supplémentaires pour un produit ou certains frais de livraison au produit. <br />
<br />
PRODUCT_MAX_VISIBLE_PHOTO => Affiche un nombre maximum de photos de produits (sous forme de vignettes) sur la carte principale du produit. Par exemple, en définissant cette constante sur «5», vous verrez les cinq premières photos de produit trouvées sur la fiche produit.<br />
PRODUCT_MAX_LENGTH_COMBO => limiter la longueur de l'étiquette affichée lors de l'ajout de lignes dans les propositions / factures / commandes<br />
MAIN_DISABLE_FREE_LINES (> = 8.0) => Ne pas autoriser l'utilisation de lignes libres pour ajouter une ligne dans les documents <br />
<br />
Module services<br />
<br />
SERVICE_ARE_ECOMMERCE_200238EC => Si cette option est activée, les services sont traités comme des eServices conformément aux directives de la directive 2002/38 / CE du Conseil de l'UE ( http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en .htm ). Le taux de TVA par défaut est basé sur l'achat de pays au lieu de vendre le pays pour les ventes de BtoC. <br />
<br />
Stocks<br />
<br />
MAIN_SERVICES_ARE_ECOMMERCE_200238EC (<8) => <br />
<br />
CASHDESK_FORCE_STOCK_ON_BILL (> = 8.0.1) => Option pour forcer la diminution du stock quelle que soit la configuration de l'utilisateur. <br />
<br />
SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED => Désactiver l'envoi du stock lorsque le total attendu a déjà été reçu. <br />
<br />
Les envois<br />
<br />
STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS (> = 8.0.1) => Si défini, vous pouvez ajouter une ligne d’expédition, sans définir de source de stock. <br />
<br />
SHIPMENT_GETS_ALL_ORDER_PRODUCTS => Ajoutez toutes les lignes de commande en expédition, y compris celle dont la quantité est 0 <br />
<br />
=Point de vente=<br />
<br />
CASHDESK_SHOW_KEYPAD => Afficher un clavier de souris dans le point de vente.<br />
POS_ADDON = Définissez cette valeur sur une règle de module de numérotation existante (par exemple, "mod_facture_terre", "mod_facture_mars", ...) pour forcer le module de numérotation à définir la facture lorsque la facture est créée par le POS. Par exemple, la valeur POS_ADDON de 'mod_facture_terre' utilisera le module de numérotation 'terre' pour la facture générée depuis le point de vente, quelle que soit la règle de numérotation définie dans la configuration du module de facturation (vous pouvez également utiliser la variable POS_NUMBERING_TERRE_FORCE_PREFIX <br />
<br />
Les contrats<br />
<br />
CONTRACT_SUPPORT_PRODUCTS => Des produits sont également proposés dans le contrat de module. <br />
<br />
=Module projets=<br />
<br />
PROJECT_DISABLE_UNLINK_FROM_OVERVIEW (> = 8.0.1) => Activer la suppression du bouton d'un lien dans l'aperçu du projet.<br />
PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS => Permet de lier un projet à n'importe quel fournisseur, même en utilisant la fonction de lien tiers. Note: Défini sur 1 par défaut à partir de 3.7.<br />
PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS => Peut ajouter du temps passé sur les tâches, même si je ne suis pas affecté à une tâche (cependant, la tâche doit être un projet que je suis un contact).<br />
PROJECT_SHOW_REF_INTO_LISTS => Ajouter une colonne avec la référence du projet dans la liste (avec 3.7 liste des factures fournisseurs uniquement, sera étendue aux autres listes)<br />
PROJECT_HIDE_UNSELECTABLES => Masquer dans la liste de sélection, tout projet que nous ne pouvons pas sélectionner (fermé ou brouillon)<br />
PROJECT_HIDE_TASKS => Cacher les tâches. Pour l'utilisateur utilisant le projet uniquement en tant que clé d'analyse et n'utilisant pas de tâches.<br />
PROJECT_LIST_SHOW_STARTDATE => Affiche la date de début des projets dans les listes de projets.<br />
PROJECT_LINK_ON_OVERWIEW_DISABLED (4.0) => Masquer le formulaire "link to" sur la page d'aperçu<br />
PROJECT_CREATE_ON_OVERVIEW_DISABLED (4.0) => Cacher le bouton "créer ..." sur la page d'aperçu<br />
PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY => Peut lier un objet à un projet d'un autre tiers<br />
PROJECT_ALLOW_COMMENT_ON_TASK => Ajouter un commentaire sur la tâche du projet <br />
<br />
=Module de fondation=<br />
<br />
MEMBER_URL_REDIRECT_SUBSCRIPTION => Lien appelé et affiché lorsqu'un compte membre est créé automatiquement dans un module membre par un utilisateur invité.<br />
MEMBER_EXT_URL_SUBSCRIPTION_INFO => Lien de la page externe désignée par le lien "Afficher ici" ajouté dans la cellule de paiement, dans la page pour effectuer un abonnement en ligne. <br />
<br />
Module d'interventions<br />
<br />
FICHINTER_CLASSIFY_BILLED => Permet de classer une carte d’intervention en "Facturé". Cet ajout déclenche également FICHINTER_CLASSIFY_BILLED dans la liste des événements automatiques possibles dans l'agenda.<br />
FICHINTER_DISABLE_DETAILS => Désactiver l'entrée de la ligne de détails sur l'intervention. Peut valider sans ligne. <br />
<br />
=Module fournisseurs=<br />
<br />
FOURN_PRODUCT_AVAILABILITY => Sur la page de prix Fournisseurs des produits, activez la disponibilité du produit fournisseur. Ceci est une fonctionnalité en double avec delivery_delay introduit avec 3.8.<br />
SUPPLIER_ORDER_AUTOADD_USER_CONTACT => Ajouter automatiquement un utilisateur approuvant la commande du fournisseur en tant que contact.<br />
SUPPLIER_ORDER_USE_DISPATCH_STATUS => Ajouter un statut sur chaque ligne de commande lors de la réception des produits des fournisseurs (v4.0 +)<br />
SUPPLIER_ORDER_NO_DIRECT_APPROVE => Aucun bouton "Valider et approuver". Toujours faire l'étape "Valider" et "Approuver" en 2 étapes.<br />
SUPPLIER_ORDER_WITH_NOPRICEDEFINED => Peut entrer un produit même si aucun prix fournisseur n'est défini. (v6.0 +)<br />
SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT => Peut modifier le prix d'achat utilisé pour le calcul du PMP lors d'une réception de stock sur une commande fournisseur. (v6.0 +) <br />
<br />
Module de banque<br />
<br />
BANK_CAN_RECONCILIATE_CASHACCOUNT (3.8) => Peut réconcilier les comptes de caisse<br />
BANK_DISABLE_CHECK_DEPOSIT => Désactiver la fonctionnalité de dépôt de chèques<br />
BANK_ASK_PAYMENT_BANK_DURING_ORDER => Demander un compte bancaire lors de la création d'une commande<br />
BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL => Demander un compte bancaire lors de la création d'une proposition <br />
<br />
=Module emailing=<br />
<br />
MAILING_PREFIX_FOR_EMAIL_ID => Définissez la valeur qui sera utilisée pour composer le "Email ID" dans les en-têtes de courrier électronique. Si vous définissez cette valeur sur 'SERVER_NAME', l'hôte virtuel du serveur Web sera utilisé. Par défaut, ce n'est pas défini, donc une clé de hachage, unique à chaque instance, est utilisée.<br />
MAILING_NO_USING_PHPMAIL => Si défini, le module emailing ne peut pas être utilisé avec la configuration de messagerie de "phpmail". L'utilisation d'un serveur SMTP tiers est requise. Vous pouvez compléter le message d'avertissement en ajoutant un e-mail au contact pour l'aide à la configuration avec la constante MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS.<br />
MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS => Contient un email à afficher dans un message visible pour l'utilisateur lorsqu'il essaie d'utiliser le module emailing sans serveur SMTP et si l'option MAILING_NO_USING_PHPMAIL est activée.<br />
MAILING_LIMIT_WARNING_PHPMAIL => Afficher un message d'avertissement (var contient le message à afficher ou la clé de traduction) sur le formulaire d'envoi par email si la configuration est sur "phpmail". Par exemple, vous pouvez définir ce paramètre sur «MAILING_LIMIT_WARNING_PHPMAIL» et entrer la clé de traduction pour chaque langue pour cette clé.<br />
MAILING_LIMIT_WARNING_NOPHPMAIL => Afficher un message d’avertissement (var contient le message à afficher ou la clé de traduction) sur le formulaire d’envoi par email si l’installation est autre chose que "phpmail". Par exemple, vous pouvez définir ce paramètre sur «MAILING_LIMIT_WARNING_NOPHPMAIL» et saisir la clé de traduction pour chaque langue pour cette clé.<br />
EMAILING_USE_ADVANCED_SELECTOR => Activer le sélecteur avancé pour les destinataires <br />
<br />
MAILING_LIMIT_SENDBYWEB => Limiter le nombre d'emails que vous pouvez envoyer dans la même session d'envoi avec le module emailing de l'interface graphique. La valeur "dolibarr_mailing_limit_sendbyweb", si elle est définie dans le fichier de configuration, est utilisée en priorité pour cette limite. Une valeur négative signifie que l'envoi par le Web est interdit.<br />
MAILING_LIMIT_SENDBYCLI => Limiter le nombre d'emails que vous pouvez envoyer dans la même session d'envoi avec le module emailing du script CLI. La valeur "dolibarr_mailing_limit_sendbycli", si elle est définie dans le fichier de configuration, est utilisée en priorité pour cette limite. <br />
<br />
=Options PDF=<br />
<br />
MAIN_DISABLE_FORCE_SAVEAS => Si votre navigateur demande toujours de sauvegarder les fichiers téléchargés sur le disque (comme PDF), essayez d’ajouter cette option. Le fichier peut apparaître directement dans votre navigateur. <br />
<br />
MAIN_DISABLE_PDF_COMPRESSION => Désactiver la compression PDF. <br />
<br />
MAIN_INVERT_SENDER_RECIPIENT => Inverser l'expéditeur et le destinataire dans certains PDF. <br />
<br />
MAIN_DISABLE_PDF_AUTOUPDATE => Désactiver la génération automatique de PDF à chaque fois que nous ajoutons / mettons à jour / supprimons une ligne de produit (nous pouvons toujours créer un document en cliquant sur "Générer"). Cette option peut augmenter la vitesse d'interface sur les serveurs à faible CPU. <br />
<br />
MAIN_USE_BACKGROUND_ON_PDF => Définissez cette constante avec le nom abrégé d'une image (exemple "myimage.jpg") qui doit être enregistrée dans le répertoire "documents / mycompany / logos". Cela va ajouter cette image de fond dans vos fichiers PDF générés. Attention: cette option rend la librairie TCPDF parfois folle et le contenu de l'image a disparu! <br />
<br />
MAIN_ADD_PDF_BACKGROUND => Définissez cette constante avec le nom abrégé d'un fichier PDF (exemple "mypdf.pdf") qui doit être enregistré dans le répertoire "documents / mycompany". Cela ajoutera un fichier PDF en arrière-plan à certains de vos fichiers PDF générés (propositions, factures, commandes). Si vous avez besoin de concaténer des fichiers PDF, reportez-vous à la section Module Concat PDF . <br />
<br />
MAIN_PDF_FORCE_FONT => Pour ignorer la police définie dans le fichier de langue et forcer l'utilisation d'une police particulière. Par exemple "DejaVuSans". <br />
<br />
MAIN_PDF_FREETEXT_HEIGHT => Modifier la hauteur de l'espace réservé à la sortie du texte libre. <br />
<br />
MAIN_PDF_TITLE_BACKGROUND_COLOR => Peut définir une couleur de fond sur la ligne de titre. Exemple: '220 220 200' <br />
<br />
MAIN_USE_COMPANY_NAME_OF_CONTACT => Utiliser le nom et les informations du contact plutôt que la société <br />
<br />
MAIN_ODT_AS_PDF => Activer la conversion PDF à partir du document ODT. Si la valeur est "jodconverter", l'outil de ligne de commande Java et jodconverter doit être disponible. Si la valeur est '/pathto/jodconverter.jar', alors Java et le jodconvertar jar doivent exister. soffice doit également être disponible. MAIN_DOL_SCRIPTS_ROOT Doit également être défini sur le chemin où le répertoire "scripts" est stocké (par exemple / var / www / mydolibarr). <br />
<br />
MAIN_ODT_AS_PDF_DEL_SOURCE => Pour la génération ODT. S'il est défini, le comportement initial est conservé, mais le fichier odt est supprimé lorsque l'option permettant de le convertir au format PDF (voir ci-dessus) est activée. Désactivé par défaut <br />
<br />
MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Inclure la première image du produit dans la ligne du PDF généré pour les propositions des clients. <br />
<br />
MAIN_GENERATE_INVOICES_WITH_PICTURE => Inclure la première image du produit dans la ligne du PDF généré pour les factures client. <br />
<br />
MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE => Inclure la première image du produit dans la ligne du PDF généré pour les propositions des fournisseurs (v5.0.3 +) <br />
<br />
MAIN_DOCUMENTS_WITH_PICTURE_WIDTH => Peut changer la taille de l'image lorsque l'option masquée MAIN_GENERATE_PROPOSALS_WITH_PICTURE est utilisée. La valeur par défaut est 20. <br />
<br />
MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN => Masquer la colonne avec les informations TVA mais uniquement la colonne non totale. <br />
<br />
PDF_SHOW_PROJECT => Afficher le projet sur le PDF (supporté sur commande fournisseur pour le moment) <br />
<br />
PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN => Cacher le numéro de banque ("code banque / guichet / compte" pour la france, "trier numéro / compte" pour GB, ...) et ne conserver que BIC / IBAN au format PDF. <br />
<br />
PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES => Valeur 1 ou 2 change la façon dont la référence du produit est affichée (1 = réf. Fournisseur uniquement et non référence interne, 2 = fournisseur puis interne). Sans, la référence interne, le fournisseur est affiché. <br />
<br />
MAIN_PDF_ADDALSOTARGETDETAILS => Ajoutez des détails particuliers comme le numéro de téléphone sur les fichiers PDF générés. Peut être utile dans les cas où une commande / facture imprimée est remise à un livreur / messager, etc. <br />
<br />
PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME => Incluez le nom d'alias / de remplacement dans le fichier PDF. <br />
<br />
MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => ajouter un champ de signature optionnel en pdf propal <br />
<br />
=Éditeur WYSIWYG=<br />
<br />
FCKEDITOR_ENABLE_DETAILS_FULL => Peut couper et coller des images externes (hébergées sur un serveur externe) dans la description de la proposition, des commandes ou des factures. AVERTISSEMENT: la génération de PDF n'est pas garantie avec ceci. De plus, si l'image est supprimée ou renommée par l'hébergeur d'images, votre proposition, commande ou facture sera brisée. <br />
<br />
<br />
=BlockedLog=<br />
<br />
BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY => Rendre la désactivation du module "bloqué" impossible pour le code pays défini en valeur. Exemple: 'FR, ...' <br />
<br />
=MultiCurreny=<br />
<br />
MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION => Activer la synchronisation API CurrencyLayer</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Param%C3%A9trage_Divers&diff=39810Paramétrage Divers2018-09-24T07:22:03Z<p>Yves.brungard: supprime doublon</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUtil}}<br />
<br />
'''Aide de l'écran:''' Paramétrage Divers<br />
<br />
'''Menu d'accès:''' Accueil -> Configuration -> Divers (avec le gestionaire de menu 'eldy')<br />
<br />
<br />
<br />
<br />
= Fonction =<br />
Cette page permet d'ajouter/éditer des paramètres sans page dédiée à leur édition. Dans la plupart des cas, ce sont des paramètres pour le développement, les modules externes ou des fonctions cachées.<br />
<br />
Pour une utilisation normale de Dolibarr, cet écran de paramétrage doit rester vide et ne pas être utilisé.<br />
<br />
= Quelques options cachées =<br />
Quelques options non visibles dans les interfaces (souvent car en bêta, en expérimentation ou obsolètes) sont disponibles. Dans la plupart des cas, vous n'avez pas besoin de ces fonctions et leur utilisation peut rendre instable l'application.<br />
<br />
Pour les activer il faut définir une constante à 1 (ou à une valeur dépendant de l'option) dans '''Accueil - Configuration - Divers'''.<br />
<br />
L'utilisation de ces constantes étant à éviter, la documentation n'est disponible qu'en Anglais ([[Setup_Other#List_of_known_hidden_options]]). La page servant plutôt d'aide mémoire.<br />
<br />
<br />
=Liste des options cachées connues=<br />
<br />
Options globales<br />
<br />
MAIN_LOGOUT_GOTO_URL => (core) URL à laquelle l'utilisateur sera redirigé après LOGOUT. <br />
<br />
MAIN_FILESYSTEM_ENCODING => Avec certaines versions de PHP, PHP ne peut pas détecter le code de page du système de fichiers du système<br />
d'exploitation du serveur. Pour résoudre ce problème, Dolibarr suppose que le système de fichiers de votre système d'exploitation est UTF-8<br />
sur les systèmes Linux ou osx et iso-8859-1 sur Windows. Si ce n'est pas le cas, par exemple sur un serveur Windows avec un pagecode<br />
NTFS UTF-8, vous pouvez définir la variable MAIN_FILESYSTEM_ENCODING sur "utf-8". <br />
<br />
MAIN_SHOW_TECHNICAL_ID => Afficher également les identifiants techniques sur les cartes d'éléments ou certaines listes <br />
(non supportés partout). <br />
<br />
MAIN_MAXTABS_IN_CARD => Nombre maximum d'onglets visibles. D'autres sont regroupés dans une liste déroulante. <br />
<br />
MAIN_ONLY_LOGIN_ALLOWED => Seul l'identifiant spécifié est autorisé à se connecter à Dolibarr (mode maintenance). <br />
<br />
MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES => Ajoutez un horodatage et un utilisateur automatiquement lors de la modification de la note publique . <br />
<br />
MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES => Ajoutez un horodatage et un utilisateur automatiquement lors de la modification de la note privée . <br />
<br />
MAIN_SECURITY_CSRF_WITH_TOKEN (> = 5.0) => Activer une deuxième protection anti-CSRF sur POST (un POST d'un autre site Web ne peut être effectué). Notez qu'il existe déjà une protection par défaut utilisant le test sur le référent. Cette deuxième protection utilise TOKEN sur les formulaires et est moins puissante. <br />
<br />
MAIN_APPLICATION_TITLE => Cela changera le titre du logiciel (qui apparaît sur la page de connexion par défaut). Attention, changer cela peut faire échouer la détection de versions Dolibarr par les applications smartphone comme Application Android - DoliDroid <br />
<br />
MAIN_AUTOFILL_DATE => Si cette constante est définie sur une valeur différente de 0, la date de la facture, de la proposition, de la commande<br />
ou du paiement est automatiquement renseignée avec la date du jour. Il est fortement recommandé de NE PAS ACTIVER cette fonctionnalité. Cela peut<br />
créer beaucoup d'erreurs de saisie avec les données non validées par les utilisateurs. Cela conduit à des valeurs incorrectes enregistrées dans <br />
la base de données, entraînant une confusion lorsque vous devez effectuer vos rapports de comptabilité! Cependant, certains utilisateurs le <br />
veulent, nous le fournissons donc. <br />
<br />
MAIN_DISABLE_FULL_SCANLIST => Désactive l'analyse complète des tables pour permettre à la pagination d'afficher le nombre total de pages. <br />
Peut être utile pour activer sur des systèmes avec une très grande quantité de données (tables avec plus de 500 000 enregistrements). <br />
<br />
MAIN_FIRST_TO_UPPER => Dolibarr ajoute des majuscules aux tiers, aux contacts ou aux noms des membres si ce n'est pas fait. Attention, avec<br />
certaines langues (dont les mots avec des majuscules ne sont pas les mêmes mots, ou si pagecode n’a pas toujours une majuscule, comme les<br />
langages cyrilliques), cette fonctionnalité peut altérer vos données. <br />
<br />
MAIN_ENABLE_LOG_TO_HTML (MAIN_LOGTOHTML avant 3.9) => Si cette constante est définie, il est possible d'avoir des journaux dans les pages<br />
en ajoutant le paramètre & logtohtml = 1 dans l'URL. <br />
<br />
MAIN_USE_HOURMIN_IN_DATE_RANGE => Sur toutes les lignes d'entités (facture, commande, contrat ...), il est possible d'ajouter des heures et<br />
des minutes avec la date sur les champs "date de début" et "date de fin". <br />
<br />
MAIN_REMOVE_INSTALL_WARNING => Supprimez tous les avertissements de sécurité qui apparaissent aux utilisateurs administrateurs si l'URL / installation est publique. Vous devez résoudre le problème si un avertissement se produit, au lieu de supprimer l'avertissement! Pour cela, placez<br />
un fichier nommé install.lock dans le répertoire racine de Dolibarr. Cela arrêtera l'avertissement mais rendra la page / installation impossible <br />
à utiliser pour protéger votre installation. <br />
<br />
MAIN_OPTIMIZE_SPEED => Utilisez des améliorations de vitesse. Voir la page Increase_Performance pour plus d'informations. <br />
<br />
MAIN_REPLACE_TRANS_xx_XX => Où xx_XX est le code de langue. Si la valeur est string1: newstring1; string2: newstring2 remplace alors string1 <br />
par newstring1 dans toute traduction effectuée pour la langue xx_XX. <br />
<br />
MAIN_REPEATCONTACTONEACHTAB => Si ajouté et défini sur 1, cela ajoute des contacts sur tous les onglets, pas seulement l'onglet principal. <br />
<br />
MAIN_DISABLE_JQUERY_JNOTIFY => Désactiver l'utilisation de JNotify pour afficher les messages de confirmation ou d'erreur <br />
<br />
MAIN_USE_JQUERY_JEDITABLE => Permet de mettre à jour depuis l'écran, directement dans la base de données, certaines propriétés d'éléments (factures, propositions, ...) en utilisant Ajax. Cela accélère le temps de réponse, mais évite d'utiliser ces fonctionnalités, car il contourne certaines actions commerciales (mises à jour sur d'autres données qui doivent être effectuées de manière cohérente) et ignore les contrôles <br />
métier sur les données que vous avez enregistrées. Cette fonctionnalité brise donc la cohérence des données et peut-être la stabilité du logiciel. <br />
<br />
MAIN_USE_JQUERY_MULTISELECT => Permet d'utiliser Ajax lorsqu'un choix nécessitant multisélection est utilisé (pour le moment, seuls <br />
les modules externes utilisent la sélection avec des valeurs multi-sélection). Définissez la valeur sur le nom du plug-in jQuery à utiliser <br />
(multi-sélection, sélection multiple, sélection2…). Le définir sur une autre valeur entraînera des effets secondaires et / ou des bogues indésirables. <br />
<br />
MAIN_HELPCENTER_LINKTOUSE => Définir le lien URL à utiliser comme page cible pour le lien "J'ai besoin d'aide" sur la page de <br />
connexion <br />
<br />
MAIN_MODULES_FOR_EXTERNAL => Limiter les modules disponibles pour les utilisateurs externes. La valeur par défaut est 'facture, <br />
commande, contact, propal, projet, contrat, societe, ficheinter, expedition, agenda' <br />
<br />
MAIN_SHOW_TUNING_INFO => Ajouter des informations de réglage dans la console javascript. Mieux quand xdebug est activé. <br />
<br />
MAIN_DOL_SCRIPTS_ROOT => Définir le répertoire qui contient le répertoire 'scripts' (par exemple / var / www / dolibarr) <br />
<br />
MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING => Un avertissement indiquant que la configuration des modules est incomplète est affiché si <br />
le nombre de modules activés est inférieur ou égal à cette valeur (1 si non défini) <br />
<br />
<br />
MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE => Ajouter la signature du représentant de la première vente dans les documents (à la fin des notes publiques). <br />
<br />
MAIN_DISABLE_AJAX_COMBOX => Si vous avez un grand nombre de tiers ou de produits, vous pouvez désactiver la fonctionnalité de <br />
saisie semi-automatique dans la liste des tiers en définissant la constante MAIN_DISABLE_AJAX_COMBOX sur 1 dans Home-Setup-Other (avec Dolibarr v3.6.0 +). <br />
<br />
MAIN_USE_CACHE_MANIFEST => Ajouter un manifeste de cache HTML5 à la page - Attention, cette fonctionnalité est obsolète et supprimée des standards Web <br />
<br />
MAIN_FORCELANGDIR => chemin relatif du répertoire contenant votre dossier langs personnalisé. <br />
<br />
MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS => permet de définir un taux de TVA par défaut <br />
<br />
MAIN_HTML_TITLE => peut être utilisé pour contrôler la manière dont le titre de la page HTML est formaté. Si la valeur contient la clé <br />
'noapp', le nom de l'application ne sera pas généré. Si value contient 'thirdpartynameonly', sur l'onglet pour les tiers, seul le nom des <br />
tiers est affiché. La valeur peut être la liste de balises: 'noapp; thirdpartynameonly' <br />
<br />
MAIN_LANDING_PAGE => (> = 3.9). Peut choisir la première page à afficher après la connexion (la page de destination). Cette option <br />
fonctionne comme une option globale (llx_const) et par option utilisateur (llx_user_param). <br />
<br />
MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN => (> = 4.0) Lors de la création d'une commande, d'un contrat, d'une facture à partir d'un autre<br />
objet, des contacts spécifiques d'objets sont définis comme contact spécifique du nouvel objet lorsque cela est possible. <br />
<br />
MAIN_WEIGHT_DEFAULT_ROUND => Exactitude du poids (nombre de décimales) <br />
<br />
MAIN_WEIGHT_DEFAULT_UNIT => Unité par défaut pour le poids (0 = kg, -3 = g, ...) <br />
<br />
MAIN_VOLUME_DEFAULT_ROUND => Précision du volume (nombre de décimales) <br />
<br />
MAIN_VOLUME_DEFAULT_UNIT => Unité par défaut pour le poids (0 = kg, -3 = g, ...) <br />
<br />
MAIN_PUBLIC_NOTE_IN_ADDRESS> = 4.0 => afficher la note publique dans le bloc d'adresse <br />
<br />
MAIN_DEFAULT_PAYMENT_TERM_ID => Avec l'identifiant d'un terme de paiement, utilisera ce dernier comme délai de paiement par défaut<br />
chaque fois que vous créez une nouvelle proposition, une commande, une facture (client et fournisseur) <br />
<br />
MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND => Changer la manière d'arrondir les lignes TTC totales, en arrondissant d'abord après <br />
<br />
MAIN_VIEW_LINE_NUMBER => Affiche un numéro de ligne contre chaque ligne de la commande / facture pour les produits / services. À l'écran uniquement, pas au format PDF. <br />
<br />
MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME => Ajouter le nom de la tierce partie au début du document généré <br />
<br />
MAIN_DOC_USE_TIMING => Ajouter un horodatage à la fin du document généré. La valeur doit être le format de l'horodatage. Par exemple:% Y% m% d% H% M <br />
<br />
MAIN_DISABLEDRAFTSTATUS => Désactiver le statut Draft pour certains objets (projet, don, ...) <br />
<br />
MAIN_USE_OLD_SEARCH_FORM => Afficher l'ancien formulaire de recherche dans le menu de gauche. <br />
<br />
MAIN_SERVER_TZ => Si vous ne pouvez pas définir le fuseau horaire de votre installation PHP, définissez cette constante. Mieux <br />
vaut le régler sur UTC. A l'avenir, cette constante sera forcée à 'UTC', donc le fuseau horaire du serveur PHP n'aura plus d'effet. <br />
Exemples: Europe / Paris, auto. <br />
<br />
MAIN_SEARCH_FORM_ON_HOME_AREAS => Afficher le formulaire de recherche sur les zones de la page d'accueil pour les modules de base<br />
(Supprimé après la v5 en raison du combo de recherche globale) (v6.0 +) <br />
<br />
MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE => Si un seul résultat est trouvé, la définition de cette valeur à 1 vous amène directement à l'élément (méthode par défaut). Définir la valeur sur 0 affichera le résultat dans la liste comme un résultat unique (v5.0 +) <br />
<br />
MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES (dolibarr 8.0) => Permet d'importer des lignes dans le document actuel à partir de documents compatibles "liés" <br />
<br />
Regard ou Thème<br />
<br />
MAIN_OPTIMIZEFORTEXTBROWSER => Optimiser le rendu de sortie pour l'utilisation d'un navigateur de texte (utile pour les personnes aveugles)<br />
THEME_ELDY_DISABLE_IMAGE => Images désactivées du menu principal pour le thème eldy.<br />
MAIN_MENU_HIDE_UNAUTHORIZED => Masquer le menu si l'utilisateur connecté n'est pas autorisé plutôt que de simplement les griser<br />
THEME_TOPMENU_STICKY_POSITION => Option pour corriger le menu principal avec le thème eldy (masque caché) (v7.0 +) <br />
<br />
=Email et SMS=<br />
<br />
MAIN_MAILFORM_DISABLE_ENTERKEY (> = 8.0.1) => Activer le code javascript pour désactiver la clé de saisie dans le formulaire MAIL. <br />
<br />
MAIL_PREFIX_FOR_EMAIL_ID (> = 8.0.1) => Préfixe de l’ID de courrier. La valeur par défaut est $ _SERVER ["SERVER_NAME"] <br />
<br />
MAIN_MAIL_DEBUG => Ecrire le contenu avec en-tête du dernier courrier dans le fichier dolibarr_mail.log dans le répertoire dolibarr_main_data_root. <br />
<br />
MAIN_SMS_DEBUG => Ecrire le contenu du SMS envoyé dans le fichier dolibarr_sms.log dans le répertoire dolibarr_main_data_root. <br />
<br />
MAIN_MAIL_ALLOW_SENDMAIL_F => Sur les systèmes Linux ou BSD, la fonction de messagerie PHP utilise la commande sendmail local to server.<br />
Dans certains cas, le courrier électronique de l'expéditeur doit être fourni sur la ligne de commande de sendmail avec l'option -f. Cette<br />
option est là pour demander à Dolibarr d'appeler la fonction mail de PHP en ajoutant une valeur pour l'option -f. Notez que dans la plupart<br />
des cas, même avec sendmail, le courrier électronique de l'expéditeur est correctement géré, car il est ajouté dans l'en-tête technique du<br />
courrier électronique. Cette option est ici uniquement pour la configuration rare de sendmail qui demande à l'option -f d'être obligatoire <br />
ou pour l'installation sendmail qui n'utilise pas par défaut le chemin de retour de l'en-tête pour définir l'expéditeur (avec cette option <br />
être fourni également sur la ligne de commande et non perdu par sendmail). <br />
<br />
MAIN_MAIL_SENDMAIL_FORCE_BA => Sur les systèmes Linux ou BSD, la fonction de messagerie PHP utilise la commande sendmail local to server.<br />
Dans certains cas, nous voulons que le destinataire soit envoyé à sendmail dans le contenu du courrier électronique au lieu de son paramètre <br />
de ligne de commande. Pour cela, il faut ajouter le paramètre -ba à sendmail. Cette option demande à PHP de fournir ce paramètre lors de l'envoi<br />
d'un mail. Notez qu'une autre solution consiste à éditer le fichier mail.force_extra_parameters = -ba dans le fichier php.ini . <br />
<br />
MAIN_MAIL_NO_FULL_EMAIL => L'e-mail du destinataire et l'expéditeur sont nettoyés pour être sur le formulaire "<email>" au lieu de "Nom <email>". Cela pourrait résoudre le problème de la compatibilité avec les très anciens mailers. <br />
<br />
MAIN_FIX_FOR_BUGGED_MTA => Certains agents MTA sont buggés et ajoutent des caractères CR chaque fois qu’ils voient un LF. Les e-mails <br />
Dolibarr étant falsifiés pour être déjà nettoyés, si l'agent MTA le fait, vous enverrez un e-mail avec deux caractères CR. Cela peut entraîner<br />
le destinataire ne peut pas lire votre courrier électronique. Pour résoudre ce problème, ajoutez cette constante à 1. Dolibarr créera alors un courrier électronique non conforme à la norme RFC mais, étant donné que l’agent MTA est bogue, le courrier électronique sera modifié et <br />
corrigera lors de l’envoi, ce qui résoudra le problème. Ajoutez cette constante si votre destinataire rencontre des problèmes lors de <br />
l'ouverture du courrier électronique, par exemple des utilisateurs utilisant le webmail orange.fr ou hotmail.com <br />
<br />
MAIN_MAIL_DO_NOT_USE_SIGN => N'ajoutez pas de signature d'utilisateur à la fin de l'e-mail prédéfini suggéré <br />
<br />
<br />
MAIL_FORCE_DELIVERY_RECEIPT_INVOICE => Définissez la valeur par défaut sur "Oui" lors de la demande d'un accusé de réception lors de l'envoi d'un courrier électronique via le module Facture client . <br />
<br />
MAIL_FORCE_DELIVERY_RECEIPT_ORDER => Définissez la valeur par défaut sur "Oui" lors de la demande d'accusé de réception lors de l'envoi<br />
du courrier électronique via le module Commande client . <br />
<br />
MAIL_FORCE_DELIVERY_RECEIPT_PROPAL => Définissez la valeur par défaut sur "Oui" lors de la demande d'un accusé de réception lors de<br />
l'envoi du courrier électronique via le module Proposition client . <br />
<br />
MAIN_EMAIL_USECCC => 1 = Afficher le champ BCC dans les formulaires de courrier électronique, si email = Afficher le BCC pré-rempli <br />
avec le courrier électronique. <br />
<br />
MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO => E-mail à utiliser en tant que destinataires<br />
BCC lors de l'envoi de courrier électronique pour proposition, commande ou facture. Vous pouvez rendre cette valeur visible en définissant MAIN_EMAIL_USECCC (à 1 ou à un autre email, voir point précédent) <br />
<br />
MAIN_EMAIL_ADD_TRACK_ID => Lorsque la valeur est 1 (c'est également la valeur par défaut si l'option n'est pas définie): l'enregistrement "Message-id" ajouté dans l'en-tête de smtp inclut un identifiant de suivi pour définir d'où le mail a été envoyé. Lorsque la valeur est 2: <br />
vous envoyez un e-mail depuis une carte tierce, l'e-mail de l'expéditeur est complété par la chaîne de suivi de la source e-mail "+ thiXXX" <br />
(votre e-mail sera envoyé avec "myname + thi123 @ mycompany"). com). Ainsi, lorsque l'utilisateur recevant un courrier électronique répondra, <br />
un courrier électronique sera envoyé à myname@masociete.com mais avec l'identifiant de suivi inclus (dans l'en-tête ou dans le courrier <br />
électronique cible), vous permettant ainsi de savoir à quel tiers ou objet est liée à. <br />
<br />
MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL => Restreindre l'envoi d'un email à x destinataires pour un même mail (x pour To: + CC: + BCC :).<br />
Si elle n'est pas définie, la valeur est 10. Requise pour lutter contre le spam qui inclut 1000 destinataires dans un message. Notez que MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL et MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL sont <br />
également disponibles. <br />
<br />
MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML => Forcer l'envoi de tous les emails (événement avec un contenu texte uniquement) en tant qu'e-mail<br />
au format HTML. <br />
<br />
MAIN_MAIL_USE_MULTI_PART => Forger le contenu d'un email en utilisant une autre partie du texte (pour 5.0.2+). Par défaut avec 6.0+ <br />
<br />
MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS => Si des images ont été stockées dans le répertoire des médias depuis CKEditor, les images dans<br />
les e-mails sont remplacées par du "contenu en ligne". Cela peut augmenter sérieusement le risque d'être détecté en tant que SPAM. <br />
<br />
MAIN_COPY_FILE_IN_EVENT_AUTO => Ajouter un document de pièce jointe sur l'événement auto généré en envoyant un email à partir de dolibarr. <br />
(v6.0 +) <br />
<br />
MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS => Entrez l'adresse IP publique du serveur, elle apparaîtra donc dans l'aide sur la page de configuration<br />
du courrier électronique. <br />
<br />
MAIN_MAIL_ENABLED_USER_DEST_SELECT => Afficher également les utilisateurs internes dans la liste des destinataires du courrier électronique <br />
dans le formulaire d'envoi de courrier électronique (v8.0 +) <br />
<br />
=Module tiers=<br />
<br />
COMPANY_AQUARIUM_CLEAN_REGEX (> = 8.0.1) => Ajouter une règle REGEX sur les noms des tiers.<br />
MAIN_FORCE_DEFAULT_STATE_ID (> = 8.0.1) => Permet de forcer la sélection d'un pays / province / comté à partir d'un pays en spécifiant des identifiants<br />
SOCIETE_DISABLE_CUSTOMERS => Supprimer tous les menus et fonctionnalités liés aux clients<br />
SOCIETE_DISABLE_PROSPECTS => Supprimer tous les menus et fonctionnalités liés aux prospects<br />
SOCIETE_DISABLE_STATE => Ne pas utiliser le champ "state / province"<br />
THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT => Ne définissez pas le statut "Client / Prospect" sur "on" lors de la création d'un nouveau tiers à partir du menu "Nouveau tiers".<br />
THIRDPARTY_NOTSUPPLIER_BY_DEFAULT => Ne définissez pas le statut "Fournisseur" sur "on" lors de la création d'un nouveau tiers à partir du menu "Nouveau tiers".<br />
SOCIETE_SORT_ON_TYPEENT = La liste déroulante du "type de tiers" est triée sur un champ "position" qui apparaît dans le dictionnaire au lieu de l'ordre alphabétique.<br />
THIRDPARTY_DEFAULT_CREATE_CONTACT (Dolibarr 5.0+) => La création par défaut d'un tiers est individuelle<br />
MAIN_THIRDPARTY_CREATION_INDIVIDUAL (Dolibarr <5.0) => Les tiers créés par défaut sont individuels<br />
THIRDPARTY_DEFAULT_USEVAT => Lors de la création d'un nouveau tiers, le champ "Use vat" est activé ou désactivé en fonction de la valeur de ce paramètre.<br />
THIRDPARTY_DEFAULT_USELOCALTAX1 => Lors de la création d'un nouveau tiers, le champ "Utiliser la deuxième taxe" est activé ou désactivé en fonction de la valeur de ce paramètre.<br />
THIRDPARTY_DEFAULT_USELOCALTAX2 => Lors de la création d'un nouveau tiers, le champ "Utiliser la troisième taxe" est activé ou désactivé en fonction de la valeur de ce paramètre.<br />
THIRDPARTY_INCLUDE_PARENT_IN_LINKTO => Recherchez également des éléments sur le tiers parent lorsque vous utilisez la fonctionnalité d'objet "lien vers".<br />
THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO => Recherchez également les éléments appartenant à un tiers qui possèdent le projet de l'élément en cours lors de l'utilisation de la fonctionnalité d'objet "link to" (si le projet appartient à un tiers différent de celui en cours).<br />
SOCIETE_ASK_FOR_SHIPPING_METHOD => Le mode de livraison peut être prédéfini sur la carte client et sera utilisé par défaut lors de la création de la commande<br />
THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un logo est téléchargé, une clé de partage est automatiquement définie pour que le fichier puisse être téléchargé à l'aide de la clé de partage.<br />
MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL => Les utilisateurs externes sont toujours limités au tiers de leur enregistrement de contact. Avec cette option, l'autorisation "voir toutes les tierces parties" peut également fonctionner pour un utilisateur externe.<br />
Pas encore mis en œuvre... <br />
<br />
=Module de propositions=<br />
<br />
PROPAL_CLONE_ON_CREATE_PAGE => Sur la page de création de proposition, demandez si vous souhaitez créer la proposition en clonant une proposition déjà existante. Vous devez utiliser à la place le bouton "Cloner" disponible sur les propositions existantes.<br />
MAIN_PROPAL_CHOOSE_ODT_DOCUMENT => Sur la page de configuration, vous pourrez sélectionner le document ODT à utiliser lorsque vous fermez<br />
ou annulez des propositions.<br />
MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Ajouter une image du produit (le premier trouvé s'il y en a plusieurs) dans le PDF de propositions généré. Notez que cela réduira la largeur disponible pour la description du produit.<br />
PROPAL_DISABLE_SIGNATURE => Ne pas afficher la boîte pour signature.<br />
WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES => Le bouton "Classifié" est visible sur la proposition même si aucune facture n'est<br />
liée à la proposition.<br />
PRODUIT_PDF_MERGE_PROPAL => Lors de la génération du PDF de la proposition, tous les PDF liés aux produits liés à la proposition sont<br />
également inclus dans le PDF final<br />
PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un fichier PDF est généré, une clé de partage est automatiquement définie pour que le fichier <br />
puisse être téléchargé à l'aide de la clé de partage. (v7.0 +)<br />
MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => ajouter un champ de signature optionnel en pdf propal <br />
<br />
Module de commande<br />
<br />
COMMANDE_REQUIRE_SOURCE => Rendre obligatoire le champ de saisie "Source de commande".<br />
COMMANDE_VALID_AFTER_CLOSE_PROPAL => Lorsqu'une commande est créée sur une proposition fermée, la commande est directement définie avec le <br />
statut "Validé".<br />
COMMANDE_CHANGE_THIRDPARTY => Peut changer le client sur les commandes<br />
ORDER_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un fichier PDF est généré, une clé de partage est automatiquement définie pour que le fichier puisse être téléchargé à l'aide de la clé de partage. (v7.0 +) <br />
<br />
Module de facture<br />
<br />
MAIN_DEPOSIT_MULTI_TVA => Dans la facture de dépôt, crée une ligne par taux de TVA à partir du document d'origine (6.0)<br />
FACTURE_SHOW_SEND_REMINDER => Afficher le lien "Envoyer un rappel par mail", même fonctionnalité que "Envoyer par mail" (fonctionnalité obsolète).<br />
INVOICE_CAN_ALWAYS_BE_EDITED => Permet de modifier les factures même si le paiement a été lancé. Remarque: Si le module " BlockedLog " est actif (requis par certains pays pour des raisons légales), cela ne modifiera pas le contenu des journaux archivés suivis par ce module. Par définition, il est impossible de modifier ou de supprimer des enregistrements archivés. Il ne fera que mettre à jour les données de votre application et un nouvel enregistrement pour suivre votre modification dans le journal d'archivage non réversible.<br />
INVOICE_CAN_ALWAYS_BE_REMOVED => Permet de toujours supprimer les factures (même si la facture n’est pas la dernière). Remarque: Si le module " BlockedLog " est actif (requis par certains pays pour des raisons légales), cela ne modifiera pas le contenu des journaux archivés suivis par ce module. Par définition, il est impossible de modifier ou de supprimer des enregistrements archivés. Il ne fera que mettre à jour les données de votre application et un nouvel enregistrement pour suivre votre modification dans le journal d'archivage non réversible.<br />
INVOICE_CAN_NEVER_BE_REMOVED => Ne jamais autoriser à supprimer des factures (sauf les factures brutes).<br />
INVOICE_POSITIVE_CREDIT_NOTE => Tous les montants sur les notes de crédit PDF sont positifs.<br />
FACTURE_CHANGE_THIRDPARTY => Permet de modifier le tiers dans les brouillons de factures. Si une remise a été définie à partir du tiers d'origine, la remise reste en vigueur, rendant les données non cohérentes.<br />
FACTURE_USE_PROFORMAT => Activer le type de factures PROFORMAT.<br />
FACTURE_DEPOSITS_ARE_JUST_PAYMENTS => Traite les factures de dépôt comme un cas particulier. Les factures de dépôt ne sont pas comptabilisées dans le chiffre d'affaires. Ils sont ensuite appliqués en tant que paiement, comme une remise, sur la facture finale. Par défaut, lorsque vous incluez le dépôt dans le brouillon de la facture finale, le montant de la facture finale est réduit. Avec cette option, le montant final n'est pas réduit mais un paiement est enregistré.<br />
FACTURE_SENDBYEMAIL_FOR_ALL_STATUS => Peut envoyer une facture par email au client même si la facture a le statut "brouillon".<br />
MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT => Désactiver la TVA sur les documents générés. comme pour une association. (c'est du travail avec le modèle de crabe)<br />
INVOICE_CREDIT_NOTE_STANDALONE (dolibarr 3.9) => Peut faire un avoir sans facture.<br />
INVOICE_USE_SITUATION = Activer la fonctionnalité "facture de situation"<br />
INVOICE_USE_SITUATION_CREDIT_NOTE (dolibarr 8.0) = Activer la fonctionnalité "note de crédit de situation" (nécessite INVOICE_USE_SITUATION)<br />
INVOICE_DISABLE_DEPOSIT = Désactiver les factures de dépôt<br />
INVOICE_DISABLE_REPLACEMENT = Désactiver les factures de remplacement<br />
INVOICE_DISABLE_CREDIT_NOTE = Désactiver les notes de crédit<br />
WORKFLOW_BILL_ON_SHIPMENT = Modifier l'étiquette du bouton avec l'étiquette appropriée lorsque vous devez créer une facture pour les envois<br />
INVOICE_ALLOW_EXTERNAL_DOWNLOAD => Lorsqu'un PDF est généré, une clé de partage est automatiquement définie pour que le fichier puisse être téléchargé à l'aide de la clé de partage. (v7.0 +) <br />
<br />
Rapport de dépenses<br />
<br />
EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS => Peut entrer plusieurs rapports de dépenses sur des périodes identiques ou se chevauchant. (v7.0 +) <br />
<br />
Module d'exportation<br />
<br />
EXPORT_CSV_SEPARATOR_TO_USE => Valeur de chaîne à utiliser comme séparateur par défaut pour délimiter les champs des fichiers exportés (par défaut, Dolibarr utilise ","). Exemple: EXPORT_CSV_SEPARATOR_TO_USE =;<br />
EXPORT_CSV_FORCE_CHARSET => Choisissez le jeu de caractères utilisé dans le fichier de sortie créé par l'exportateur CSV. Par défaut, c'est ISO-8859-1. Exemple: EXPORT_CSV_FORCE_CHARSET = utf-8<br />
EXPORTTOOL_CATEGORIES => Peut exporter des catégories (plusieurs lignes) dans une colonne avec le "profil d'exportation de produit"<br />
USE_STRICT_CSV_RULES => Utiliser le format CSV strict / réel pour l'exportation. Ne nettoyez / remplacez pas CR + LF par '\ n' mais citez-les en utilisant le caractère CSV d'échappement ("). <br />
<br />
Module agenda<br />
<br />
AGENDA_MAX_EVENTS_DAY_VIEW => Définissez le nombre maximum d'entrées visibles pour chaque jour dans l'agenda. La valeur par défaut est 3. La valeur 0 signifie aucune limite.<br />
AGENDA_USE_EVENT_TYPE => Ajouter un champ obligatoire "Type" lors de la création d'un événement (obsolète).<br />
AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS => Définir automatiquement la date de fin de l'événement pour démarrer la date + delta sur la page de création de l'événement.<br />
MAIN_ADD_EVENT_ON_ELEMENT_CARD => Permet de créer un événement à partir d'un document (proposition, commande, facture) <br />
<br />
=Module produits=<br />
<br />
MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE => Eviter que le code personnalisé et le pays d'origine soient définis comme description du produit lorsqu'ils sont ajoutés à Propal / Order / Invoice<br />
PRODUCT_ADD_TYPE_IN_DOCUMENTS => Ajoutez le texte "Produit" ou "Service" au début des lignes de détails sur les documents PDF construits.<br />
PRODUCT_DONOTSEARCH_ANYWHERE => Lorsque la recherche Ajax est activée, la recherche est effectuée sur les critères de l’étiquette du produit. En ajoutant cette option, la recherche est effectuée uniquement au début de l'étiquette. C'est vraiment plus rapide lorsque vous avez un grand nombre de produits.<br />
PRODUIT_DESC_IN_LIST => Afficher une longue description du produit / service dans les listes.<br />
PRODUIT_PDF_MERGE_PROPAL => Activer le module PDF produit<br />
PRODUCT_USE_OLD_PATH_FOR_PHOTO => Demandez à dolibarr de vérifier également l’ancien chemin (avant 3.7) où les photos ont été stockées.<br />
PRODUCT_USE_UNITS => Activer les unités du dictionnaire dans la carte de produit / service.<br />
PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL => Lorsque l'option d'utilisation du prix par niveau / segment est activée, cela permet également de définir une cuve dédiée pour chaque niveau de prix.<br />
MAIN_DIRECT_STATUS_UPDATE => Vous permet de modifier le statut du produit ( à vendre / à ne pas vendre pour l’achat / à ne pas acheter ) directement sur la page du produit via un bouton d’activation / désactivation . Cela peut être pratique pour ceux qui ont besoin de désactiver rapidement certains statuts de produits sans avoir à parcourir la page d'édition du produit individuellement. Cela peut également être très utile si vous l'utilisez comme filtre sur la liste de recherche de produits et de produits. Cette option ne génère pas de déclencheur MODIFY, soyez donc prudent avec les modules externes. v4.0 + <br />
<br />
PRODUCT_CHARGES => Ajoute un champ supplémentaire pour les frais ad hoc au stade du prix d'achat du produit. Le prix de revient est ensuite calculé avec le prix fournisseur + les frais si définis. Utile pour les coûts supplémentaires pour un produit ou certains frais de livraison au produit. <br />
<br />
PRODUCT_MAX_VISIBLE_PHOTO => Affiche un nombre maximum de photos de produits (sous forme de vignettes) sur la carte principale du produit. Par exemple, en définissant cette constante sur «5», vous verrez les cinq premières photos de produit trouvées sur la fiche produit.<br />
PRODUCT_MAX_LENGTH_COMBO => limiter la longueur de l'étiquette affichée lors de l'ajout de lignes dans les propositions / factures / commandes<br />
MAIN_DISABLE_FREE_LINES (> = 8.0) => Ne pas autoriser l'utilisation de lignes libres pour ajouter une ligne dans les documents <br />
<br />
Module services<br />
<br />
SERVICE_ARE_ECOMMERCE_200238EC => Si cette option est activée, les services sont traités comme des eServices conformément aux directives de la directive 2002/38 / CE du Conseil de l'UE ( http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en .htm ). Le taux de TVA par défaut est basé sur l'achat de pays au lieu de vendre le pays pour les ventes de BtoC. <br />
<br />
Stocks<br />
<br />
MAIN_SERVICES_ARE_ECOMMERCE_200238EC (<8) => <br />
<br />
CASHDESK_FORCE_STOCK_ON_BILL (> = 8.0.1) => Option pour forcer la diminution du stock quelle que soit la configuration de l'utilisateur. <br />
<br />
SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED => Désactiver l'envoi du stock lorsque le total attendu a déjà été reçu. <br />
<br />
Les envois<br />
<br />
STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS (> = 8.0.1) => Si défini, vous pouvez ajouter une ligne d’expédition, sans définir de source de stock. <br />
<br />
SHIPMENT_GETS_ALL_ORDER_PRODUCTS => Ajoutez toutes les lignes de commande en expédition, y compris celle dont la quantité est 0 <br />
<br />
=Point de vente=<br />
<br />
CASHDESK_SHOW_KEYPAD => Afficher un clavier de souris dans le point de vente.<br />
POS_ADDON = Définissez cette valeur sur une règle de module de numérotation existante (par exemple, "mod_facture_terre", "mod_facture_mars", ...) pour forcer le module de numérotation à définir la facture lorsque la facture est créée par le POS. Par exemple, la valeur POS_ADDON de 'mod_facture_terre' utilisera le module de numérotation 'terre' pour la facture générée depuis le point de vente, quelle que soit la règle de numérotation définie dans la configuration du module de facturation (vous pouvez également utiliser la variable POS_NUMBERING_TERRE_FORCE_PREFIX <br />
<br />
Les contrats<br />
<br />
CONTRACT_SUPPORT_PRODUCTS => Des produits sont également proposés dans le contrat de module. <br />
<br />
=Module projets=<br />
<br />
PROJECT_DISABLE_UNLINK_FROM_OVERVIEW (> = 8.0.1) => Activer la suppression du bouton d'un lien dans l'aperçu du projet.<br />
PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS => Permet de lier un projet à n'importe quel fournisseur, même en utilisant la fonction de lien tiers. Note: Défini sur 1 par défaut à partir de 3.7.<br />
PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS => Peut ajouter du temps passé sur les tâches, même si je ne suis pas affecté à une tâche (cependant, la tâche doit être un projet que je suis un contact).<br />
PROJECT_SHOW_REF_INTO_LISTS => Ajouter une colonne avec la référence du projet dans la liste (avec 3.7 liste des factures fournisseurs uniquement, sera étendue aux autres listes)<br />
PROJECT_HIDE_UNSELECTABLES => Masquer dans la liste de sélection, tout projet que nous ne pouvons pas sélectionner (fermé ou brouillon)<br />
PROJECT_HIDE_TASKS => Cacher les tâches. Pour l'utilisateur utilisant le projet uniquement en tant que clé d'analyse et n'utilisant pas de tâches.<br />
PROJECT_LIST_SHOW_STARTDATE => Affiche la date de début des projets dans les listes de projets.<br />
PROJECT_LINK_ON_OVERWIEW_DISABLED (4.0) => Masquer le formulaire "link to" sur la page d'aperçu<br />
PROJECT_CREATE_ON_OVERVIEW_DISABLED (4.0) => Cacher le bouton "créer ..." sur la page d'aperçu<br />
PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY => Peut lier un objet à un projet d'un autre tiers<br />
PROJECT_ALLOW_COMMENT_ON_TASK => Ajouter un commentaire sur la tâche du projet <br />
<br />
=Module de fondation=<br />
<br />
MEMBER_URL_REDIRECT_SUBSCRIPTION => Lien appelé et affiché lorsqu'un compte membre est créé automatiquement dans un module membre par un utilisateur invité.<br />
MEMBER_EXT_URL_SUBSCRIPTION_INFO => Lien de la page externe désignée par le lien "Afficher ici" ajouté dans la cellule de paiement, dans la page pour effectuer un abonnement en ligne. <br />
<br />
Module d'interventions<br />
<br />
FICHINTER_CLASSIFY_BILLED => Permet de classer une carte d’intervention en "Facturé". Cet ajout déclenche également FICHINTER_CLASSIFY_BILLED dans la liste des événements automatiques possibles dans l'agenda.<br />
FICHINTER_DISABLE_DETAILS => Désactiver l'entrée de la ligne de détails sur l'intervention. Peut valider sans ligne. <br />
<br />
=Module fournisseurs=<br />
<br />
FOURN_PRODUCT_AVAILABILITY => Sur la page de prix Fournisseurs des produits, activez la disponibilité du produit fournisseur. Ceci est une fonctionnalité en double avec delivery_delay introduit avec 3.8.<br />
SUPPLIER_ORDER_AUTOADD_USER_CONTACT => Ajouter automatiquement un utilisateur approuvant la commande du fournisseur en tant que contact.<br />
SUPPLIER_ORDER_USE_DISPATCH_STATUS => Ajouter un statut sur chaque ligne de commande lors de la réception des produits des fournisseurs (v4.0 +)<br />
SUPPLIER_ORDER_NO_DIRECT_APPROVE => Aucun bouton "Valider et approuver". Toujours faire l'étape "Valider" et "Approuver" en 2 étapes.<br />
SUPPLIER_ORDER_WITH_NOPRICEDEFINED => Peut entrer un produit même si aucun prix fournisseur n'est défini. (v6.0 +)<br />
SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT => Peut modifier le prix d'achat utilisé pour le calcul du PMP lors d'une réception de stock sur une commande fournisseur. (v6.0 +) <br />
<br />
Module de banque<br />
<br />
BANK_CAN_RECONCILIATE_CASHACCOUNT (3.8) => Peut réconcilier les comptes de caisse<br />
BANK_DISABLE_CHECK_DEPOSIT => Désactiver la fonctionnalité de dépôt de chèques<br />
BANK_ASK_PAYMENT_BANK_DURING_ORDER => Demander un compte bancaire lors de la création d'une commande<br />
BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL => Demander un compte bancaire lors de la création d'une proposition <br />
<br />
=Module emailing=<br />
<br />
MAILING_PREFIX_FOR_EMAIL_ID => Définissez la valeur qui sera utilisée pour composer le "Email ID" dans les en-têtes de courrier électronique. Si vous définissez cette valeur sur 'SERVER_NAME', l'hôte virtuel du serveur Web sera utilisé. Par défaut, ce n'est pas défini, donc une clé de hachage, unique à chaque instance, est utilisée.<br />
MAILING_NO_USING_PHPMAIL => Si défini, le module emailing ne peut pas être utilisé avec la configuration de messagerie de "phpmail". L'utilisation d'un serveur SMTP tiers est requise. Vous pouvez compléter le message d'avertissement en ajoutant un e-mail au contact pour l'aide à la configuration avec la constante MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS.<br />
MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS => Contient un email à afficher dans un message visible pour l'utilisateur lorsqu'il essaie d'utiliser le module emailing sans serveur SMTP et si l'option MAILING_NO_USING_PHPMAIL est activée.<br />
MAILING_LIMIT_WARNING_PHPMAIL => Afficher un message d'avertissement (var contient le message à afficher ou la clé de traduction) sur le formulaire d'envoi par email si la configuration est sur "phpmail". Par exemple, vous pouvez définir ce paramètre sur «MAILING_LIMIT_WARNING_PHPMAIL» et entrer la clé de traduction pour chaque langue pour cette clé.<br />
MAILING_LIMIT_WARNING_NOPHPMAIL => Afficher un message d’avertissement (var contient le message à afficher ou la clé de traduction) sur le formulaire d’envoi par email si l’installation est autre chose que "phpmail". Par exemple, vous pouvez définir ce paramètre sur «MAILING_LIMIT_WARNING_NOPHPMAIL» et saisir la clé de traduction pour chaque langue pour cette clé.<br />
EMAILING_USE_ADVANCED_SELECTOR => Activer le sélecteur avancé pour les destinataires <br />
<br />
MAILING_LIMIT_SENDBYWEB => Limiter le nombre d'emails que vous pouvez envoyer dans la même session d'envoi avec le module emailing de l'interface graphique. La valeur "dolibarr_mailing_limit_sendbyweb", si elle est définie dans le fichier de configuration, est utilisée en priorité pour cette limite. Une valeur négative signifie que l'envoi par le Web est interdit.<br />
MAILING_LIMIT_SENDBYCLI => Limiter le nombre d'emails que vous pouvez envoyer dans la même session d'envoi avec le module emailing du script CLI. La valeur "dolibarr_mailing_limit_sendbycli", si elle est définie dans le fichier de configuration, est utilisée en priorité pour cette limite. <br />
<br />
=Options PDF=<br />
<br />
MAIN_DISABLE_FORCE_SAVEAS => Si votre navigateur demande toujours de sauvegarder les fichiers téléchargés sur le disque (comme PDF), essayez d’ajouter cette option. Le fichier peut apparaître directement dans votre navigateur. <br />
<br />
MAIN_DISABLE_PDF_COMPRESSION => Désactiver la compression PDF. <br />
<br />
MAIN_INVERT_SENDER_RECIPIENT => Inverser l'expéditeur et le destinataire dans certains PDF. <br />
<br />
MAIN_DISABLE_PDF_AUTOUPDATE => Désactiver la génération automatique de PDF à chaque fois que nous ajoutons / mettons à jour / supprimons une ligne de produit (nous pouvons toujours créer un document en cliquant sur "Générer"). Cette option peut augmenter la vitesse d'interface sur les serveurs à faible CPU. <br />
<br />
MAIN_USE_BACKGROUND_ON_PDF => Définissez cette constante avec le nom abrégé d'une image (exemple "myimage.jpg") qui doit être enregistrée dans le répertoire "documents / mycompany / logos". Cela va ajouter cette image de fond dans vos fichiers PDF générés. Attention: cette option rend la librairie TCPDF parfois folle et le contenu de l'image a disparu! <br />
<br />
MAIN_ADD_PDF_BACKGROUND => Définissez cette constante avec le nom abrégé d'un fichier PDF (exemple "mypdf.pdf") qui doit être enregistré dans le répertoire "documents / mycompany". Cela ajoutera un fichier PDF en arrière-plan à certains de vos fichiers PDF générés (propositions, factures, commandes). Si vous avez besoin de concaténer des fichiers PDF, reportez-vous à la section Module Concat PDF . <br />
<br />
MAIN_PDF_FORCE_FONT => Pour ignorer la police définie dans le fichier de langue et forcer l'utilisation d'une police particulière. Par exemple "DejaVuSans". <br />
<br />
MAIN_PDF_FREETEXT_HEIGHT => Modifier la hauteur de l'espace réservé à la sortie du texte libre. <br />
<br />
MAIN_PDF_TITLE_BACKGROUND_COLOR => Peut définir une couleur de fond sur la ligne de titre. Exemple: '220 220 200' <br />
<br />
MAIN_USE_COMPANY_NAME_OF_CONTACT => Utiliser le nom et les informations du contact plutôt que la société <br />
<br />
MAIN_ODT_AS_PDF => Activer la conversion PDF à partir du document ODT. Si la valeur est "jodconverter", l'outil de ligne de commande Java et jodconverter doit être disponible. Si la valeur est '/pathto/jodconverter.jar', alors Java et le jodconvertar jar doivent exister. soffice doit également être disponible. MAIN_DOL_SCRIPTS_ROOT Doit également être défini sur le chemin où le répertoire "scripts" est stocké (par exemple / var / www / mydolibarr). <br />
<br />
MAIN_ODT_AS_PDF_DEL_SOURCE => Pour la génération ODT. S'il est défini, le comportement initial est conservé, mais le fichier odt est supprimé lorsque l'option permettant de le convertir au format PDF (voir ci-dessus) est activée. Désactivé par défaut <br />
<br />
MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Inclure la première image du produit dans la ligne du PDF généré pour les propositions des clients. <br />
<br />
MAIN_GENERATE_INVOICES_WITH_PICTURE => Inclure la première image du produit dans la ligne du PDF généré pour les factures client. <br />
<br />
MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE => Inclure la première image du produit dans la ligne du PDF généré pour les propositions des fournisseurs (v5.0.3 +) <br />
<br />
MAIN_DOCUMENTS_WITH_PICTURE_WIDTH => Peut changer la taille de l'image lorsque l'option masquée MAIN_GENERATE_PROPOSALS_WITH_PICTURE est utilisée. La valeur par défaut est 20. <br />
<br />
MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN => Masquer la colonne avec les informations TVA mais uniquement la colonne non totale. <br />
<br />
PDF_SHOW_PROJECT => Afficher le projet sur le PDF (supporté sur commande fournisseur pour le moment) <br />
<br />
PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN => Cacher le numéro de banque ("code banque / guichet / compte" pour la france, "trier numéro / compte" pour GB, ...) et ne conserver que BIC / IBAN au format PDF. <br />
<br />
PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES => Valeur 1 ou 2 change la façon dont la référence du produit est affichée (1 = réf. Fournisseur uniquement et non référence interne, 2 = fournisseur puis interne). Sans, la référence interne, le fournisseur est affiché. <br />
<br />
MAIN_PDF_ADDALSOTARGETDETAILS => Ajoutez des détails particuliers comme le numéro de téléphone sur les fichiers PDF générés. Peut être utile dans les cas où une commande / facture imprimée est remise à un livreur / messager, etc. <br />
<br />
PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME => Incluez le nom d'alias / de remplacement dans le fichier PDF. <br />
<br />
MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => ajouter un champ de signature optionnel en pdf propal <br />
<br />
=Éditeur WYSIWYG=<br />
<br />
FCKEDITOR_ENABLE_DETAILS_FULL => Peut couper et coller des images externes (hébergées sur un serveur externe) dans la description de la proposition, des commandes ou des factures. AVERTISSEMENT: la génération de PDF n'est pas garantie avec ceci. De plus, si l'image est supprimée ou renommée par l'hébergeur d'images, votre proposition, commande ou facture sera brisée. <br />
<br />
<br />
=BlockedLog=<br />
<br />
BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY => Rendre la désactivation du module "bloqué" impossible pour le code pays défini en valeur. Exemple: 'FR, ...' <br />
<br />
=MultiCurreny=<br />
<br />
MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION => Activer la synchronisation API CurrencyLayer</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Langages_et_normes&diff=39742Langages et normes2018-09-20T05:38:12Z<p>Yves.brungard: Cleaning</p>
<hr />
<div>{{TemplateDocDev}}<br />
<br />
Voici les quelques règles sur le langage, la syntaxe et normes de développement en vigueur pour le projet Dolibarr:<br />
<br />
= Versions =<br />
<br />
* Dolibarr doit fonctionner sur:<br />
# Tous OS (Windows, Linux, MACOS...)<br />
# PHP {{PHPMinVersion}} (Doit fonctionner sans aucun module PHP complémentaire hors les modules d'accès base de donnée).<br />
# Mysql {{MySqlMinVersion}}<br />
<br />
= Normes Copyright =<br />
* Tout fichier PHP doit avoir un en-tête selon le masque suivant<br />
<source lang="php"><br />
<?php<br />
/* Copyright (C) YYYY John Doe <email@email.com><br />
*<br />
* Licence information<br />
*/<br />
...<br />
</source><br />
Quand vous éditez un fichier existant du projet, ajouter une ligne Copyright sous celles existantes.<br />
<br />
= Normes PHP =<br />
<br />
== PHP ==<br />
* Dolibarr est écrit en PHP et supporte toutes versions PHP supérieures à la {{PHPMinVersion}}. Les fichiers doivent tous comporter l'extension .php<br />
<br />
* L'appel aux variables superglobales PHP doit passer par les opérateurs dédiés $_COOKIES, $_SERVER, $_ENV mais par la fonction dolibarr GETPOST() pour récupérer les contenus de $_GET ou $_POST.<br />
Les autres opérateurs ($HTTP_SERVER_GET, ...) ayant été passés en deprecated au sein de PHP, ne doivent plus être utilisés. Ainsi le code doit fonctionner y compris quand l'option '''register_long_arrays''' est à off.<br />
De plus, le code doit fonctionner aussi bien quand l'option PHP '''register_globals''' est à off (recommandé par PHP) que quand l'option '''register_globals''' est à on (par défaut sur de nombreuses installations).<br />
<br />
* Pas d'utilisation de la variable '''PHP_SELF'''. Utiliser à la place $_SERVER["PHP_SELF"]. Notez aussi que le framework Dolibarr passe une routine pour rendre plus sûr le contenu du $_SERVER["PHP_SELF"] (dans le fichier main.inc.php, donc avant tout traitement métier)<br />
<br />
* Quand plusieurs variables doivent être initialisées avec la même valeur, il faut utiliser plusieurs instructions:<br />
<source lang="php"><br />
$var1=1;$var2=1;$var3=1;<br />
</source><br />
plutôt que<br />
<source lang="php"><br />
$var1=$var2=$var3=1;<br />
</source><br />
qui est moins performant.<br />
<br />
* Les chaines doivent être encadrées de simple quote et les variables sorties de la chaine.<br />
<source lang="php"><br />
print 'Mon texte affiche ma '.$variable.' !';<br />
</source><br />
<br />
* Les commentaires doivent suivre la syntaxe C, ie un double antislash pour un commentaire d'une ligne et utilisation slash-étoile pour ouvrir un bloc de plusieurs lignes<br />
<source lang="php"><br />
/* Bloc de commentaire<br />
*<br />
* Fin du bloc<br />
*/<br />
<br />
$monobjet = new MonObjet($db);<br />
$result=$monobjet->fetch($idobject);<br />
<br />
for ($i = 1 , $i < 2 ; $i++)<br />
{<br />
// commentaire sur une ligne<br />
print $i;<br />
}<br />
<br />
</source><br />
<br />
* Les fonctions doivent retourner une valeure strictement > à 0 en cas de succès, et un nombre < à 0 en cas d'erreur.<br />
<br />
* Pas de code mort (non utilisé) dans le code principal de Dolibarr (le code utilisé uniquement par un module externe doit être inclus dans le module externe).<br />
<br />
* Utiliser "include_once" pour l'inclusion de tout fichier contenant des définitions de fonction ou de classes (donc fichiers *.class.php et *.lib.php), utiliser "include" pour tout inclusion de fichier de type template ou contenant un mixte de HTML et PHP (donc fichiers *.inc.php et *.tpl.php).<br />
<br />
* Le style de code a utiliser est le PSR-2 (https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md). Seules les règles "MUST" sont imposées. Notez aussi les points/excetions suivants:<br />
** La longueur des lignes: PSR-2 indique que la longueur des lignes a une limite "soft" à 120. Il est en effet préférable d'avoir de longues lignes de données de déclaration plutôt que de longues pages car ce code ne contient aucune logique, toutefois une limite "hard" a été instauré à '''1000''' caractères. Du code qui ira au dela provoquera des erreurs dans la plateforme d'Intégration Continue.<br />
** Les tabulations sont acceptées: L'autre exception est qu'on ne remplace pas les tabulations systématiquement par des espaces. L'utilisation des tabulations simplifie la vie de certains développeurs. De plus, l'utilisation d'espaces rend certaines fonctions d'autoformatage défectueuses (comme sur certaines versions d'Eclipse, lors de copié-collé).<br />
** Note 1: Les règles suivantes sont particulièrement importantes:<br />
*** Les fichiers doivent être sauvés en format Unix (LF) et non Windows (CR/LF). Le format Unix étant compatible sur les OS Unix like, Windows, Mac, alors que le format fichier texte Windows pose problème sous certains PHP sous Unix.<br />
*** Les smart tags PHP ne sont pas utilisés. Les sections de code doivent commencer par '''<?php'''<br />
** Note 2: Vous pouvez utiliser le fichier '''dev/codesniffer/ruleset.xml''' comme fichier de contrôle pour vérifier votre style de code avec PHPCodeSniffer.<br />
** Note 3: Vous remarquerez que le code actuel ne suit pas forcément tout cela. La raison est historique. La règle fut instaurée en cours de route, aussi, si vous trouvez du code non respectueux de ce standard, n'hésitez pas à le corriger.<br />
<br />
== Structures des classes et champs ==<br />
<br />
Certaines propriétés de classes se retrouvent dans de nombreuses classes. Pour homogénéité, on utilisera les noms suivants:<br />
{{TemplatePHPFields}}<br />
<br />
= Normes SQL =<br />
<br />
== Structure des tables et champs ==<br />
* Toutes les tables sont préfixées pour éviter les conflits de nommage. Aujourd'hui, le préfixe est modifiable au moment de l'installation. Sa valeur par défaut est <tt>llx_</tt>.<br />
<br />
* Structure des tables.<br />
Lorsque vous créez une table, il est recommandé de prendre les même conventions de nommages de tables que les autres tables Dolibarr. Avec, à minima les champs suivant:<br />
- rowid INTEGER AUTO_INCREMENT PRIMARY KEY qui est l'id technique<br />
- entity INTEGER default 1 that is id for the multicompany feature<br />
- date_creation datetime that is the creation date<br />
- tms timestamp qui sera un champ contenant la date de chaque mise à jour (la base de donnée le gère tout seul, pas besoin de le gérer par le code)<br />
- import_key qui contiendra le code d'import YYYYMMDDHHMMSS si vous faites des imports en masse dans la table.<br />
<br />
Eventuellement<br />
- fk_user_creat integer qui est l'id du user de création (fk_user_author also found)<br />
- fk_user_modif integer qui est l'id du user de modification<br />
- fk_user_valid integer qui est l'id du user de validation<br />
- fk_soc integer qui est l'id du tiers (si applicable)<br />
<br />
* Type des champs<br />
Dans la pratique, afin d'etre compatible avec toutes les précisions des pays, syntaxes des bases, on utilisera uniquement les types suivants:<br />
- smallint pour tout petit nombre entier<br />
- integer pour tout nombre entier, id ou clé étrangère<br />
- double(24,8) pour tout montant<br />
- double(6,3) pour les taux de tva<br />
- real pour une quantité<br />
- varchar pour une chaine (y compris de longueur 1, le type char est de plus en plus déprécié)<br />
- timestamp pour un champ date+heure devant être mis a jour automatiquement<br />
- datetime pour un champ date+heure<br />
- date pour un champ date<br />
<br />
== Clé primaire ==<br />
La clé primaire d'une table s'appelle <tt>rowid</tt>.<br />
<br />
Il y a quelques tables qui échappent à cette règle actuellement (ex [[Table llx_c_actioncomm]]), pour des raisons historiques. Une évolution pourra être étudiée pour une prochaine version.<br />
<br />
== Clés étrangères ==<br />
Le nom d'une clé étrangère commence par le préfixe <tt>fk_</tt> suivi du nom de la table liée (requis pour éviter doublons globales à la base, problématiques sous certains SGBD comme postgresql) puis du champ lié (pour permettre plusieurs clés étrangères différentes sur une même table).<br />
<br />
Exemple:<br />
fk_facture_fourn_fk_soc<br />
<br />
Note: Si vous développez votre propre module externe, il ne doit pas y avoir de clé étrangère depuis vos tables qui pointent sur les tables standards de Dolibarr. Ceci casserait les fonctionnalités de mise à jour, de réparation, de sauvegardes et de restauration.<br />
<br />
== Clés alternatives ==<br />
Parfois, il n'y a pas que la clé primaire qui doit être unique. On peut donc ajouter aussi un index clé alternative unique. Un tel index est nommé par un nom qui commence par le préfixe <tt>uk_</tt> suivi du nom de la table (requis pour éviter doublons d'index globals à la base, problématiques sous certains SGBD comme postgresql) puis d'un suffixe qui caractérise la clé (pour permettre plusieurs index uniques sur une même table).<br />
<br />
Exemple:<br />
uk_societe_code_client<br />
<br />
== Index performance ==<br />
Certains champs sont souvent utilisés comme critère de recherche, de tri ou de jointure. Il convient dans ce cas, d'y mettre un index de performance. De tels indexes seront nommés avec un préfix <tt>idx_</tt> puis le nom de la table et le nom du champ sur lequel porte l'index.<br />
<br />
Exemple:<br />
idx_societe_user_creat<br />
<br />
== Format de fichier DDL ==<br />
Les fichiers qui contiennent la définition de la structure de la base (DDL) doivent être au nombre de 2 par tables:<br />
Chaque table est définie dans son propre fichier dont le nom est <tt>llx_''matable''.sql</tt>. <br />
On mettra un commentaire à côté de chaque champ pour en expliquer la signification.<br />
Les clés étrangères et index de performance ou autres contraintes d'unicité sont définies dans un fichier séparé dont le nom est <tt>llx_''matable''.key.sql</tt><br />
<br />
Ces fichiers sont placés dans le répertoire '''install/mysql/tables''' pour les fichiers standards ou '''monmodule/tables''' pour les tables amenées par un module.<br />
<br />
Exemple '''fichier table llx_matable.sql''':<br />
<br />
<source lang="sql"><br />
-- ===========================================================================<br />
-- Copyright (C) 2008 Author <email@author.com><br />
-- <br />
-- This program is free software; you can redistribute it and/or modify<br />
-- it under the terms of the GNU General Public License as published by<br />
-- the Free Software Foundation; either version 2 of the License, or<br />
-- (at your option) any later version.<br />
--<br />
-- This program is distributed in the hope that it will be useful,<br />
-- but WITHOUT ANY WARRANTY; without even the implied warranty of<br />
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br />
-- GNU General Public License for more details.<br />
--<br />
-- You should have received a copy of the GNU General Public License<br />
-- along with this program. If not, see <http://www.gnu.org/licenses/>.<br />
-- ===========================================================================<br />
<br />
create table llx_matable<br />
(<br />
rowid integer AUTO_INCREMENT PRIMARY KEY,<br />
field_one integer,<br />
field_two integer NOT NULL,<br />
fk_field integer,<br />
field_date datetime,<br />
tms timestamp<br />
)ENGINE=innodb;<br />
</source><br />
<br />
Exemple '''fichier clés/index llx_matable.key.sql''':<br />
<br />
<source lang="sql"><br />
-- ===========================================================================<br />
-- Copyright (C) 2008 Author <email@author.com><br />
-- <br />
-- This program is free software; you can redistribute it and/or modify<br />
-- it under the terms of the GNU General Public License as published by<br />
-- the Free Software Foundation; either version 2 of the License, or<br />
-- (at your option) any later version.<br />
--<br />
-- This program is distributed in the hope that it will be useful,<br />
-- but WITHOUT ANY WARRANTY; without even the implied warranty of<br />
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br />
-- GNU General Public License for more details.<br />
--<br />
-- You should have received a copy of the GNU General Public License<br />
-- along with this program. If not, see <http://www.gnu.org/licenses/>.<br />
-- ===========================================================================<br />
<br />
ALTER TABLE llx_matable ADD UNIQUE uk_matable_field(field_one, field_two);<br />
<br />
ALTER TABLE llx_matable ADD CONSTRAINT fk_matable_fk_field FOREIGN KEY (fk_field) REFERENCES llx_matablepere (rowid);<br />
</source><br />
<br />
== Règles de codage SQL ==<br />
* Utilisation des alias/nommage de champs<br />
Dans le cas des select on pourra utiliser les alias pour simplifier l'écriture des requêtes:<br />
<source lang="sql"><br />
select chp1, chpxxx2 as chp2 from table2 as t1, table2 as t2 where t1.chpx = t2.chpy<br />
</source><br />
Toutefois, il ne faut pas utiliser ces alias sur des requêtes update car non compatible avec mysql 3.1.<br />
<br />
* Les SELECT * sont interdits ! Chaque SELECT doit spécifier la liste complète des champs à récupérer. Cela permet d'éviter les confusions. Exemple:<br />
<source lang="sql"><br />
SELECT field_a, field_b, field_c FROM table_1 WHERE field_d = '$id'<br />
</source><br />
<br />
* Dans les requêtes SQL, on quote les champs mais pas les numériques qui contiennent des montants destinés à être stockés dans des champs de type double ou real. Les quotes sur les numériques de type float provoquent parfois un stockage d'une valeur différente. Par exemple 412.62 dans le insert sera en fait stocké avec la valeur 412.61999512 en base (suite à des conversions chaines-numériques implicites) si le champ est de type double(24,8). Et seul le PHP voit 412.61999512. Les autres outils verront 412.62 donnant l'impression qu'il n'y a pas de problème. Et c'est le PHP qui a raison, il y a problème en base. En supprimant les quotes sur les numériques, cela va mieux.<br />
<br />
Exemple:<br />
<source lang="sql"><br />
Bon: INSERT INTO table_1 (field_txt, field_num) VALUES ('txt', 412.62)<br />
Mauvais: INSERT INTO table_1 (field_txt, field_num) VALUES ('txt', '412.62')<br />
</source><br />
<br />
Remarque, le problème des float est général et pas seulement sur les accès base, il est présent dans tous les languages quand on travaille sur des nombres réels, aussi ils doivent être, dès que affectés, nettoyés par la fonction price2num avec le 2eme paramètre renseigné à:<br />
'MU' (si il s'agit d'un prix unitaire), 'MT' (s'il s'agit d'un prix total) ou 'MS' (autres cas) selon le besoin.<br />
Voir aussi le chapitre "Les nombres réels, montants et calculs" plus bas.<br />
<br />
* Les fonctions NOW, SYSDATE ou DATEDIFF sont interdites au sein des ordres SQL. S'il faut saisir la date du moment dans un champ, la valeur doit venir du PHP, par exemple par la fonction dol_now(), et non du moteur de base de données. Ceci afin d'avoir une meilleure portabilité du code mais surtout d'avoir une gestion correcte des TimeZone et ne pas dépendre du TimeZone de la base de donnée.<br />
<br />
Par exemple, on ne fera pas:<br />
<source lang="php"><br />
$sql="SELECT rowid FROM table where datefield = NOW()";<br />
</source><br />
mais:<br />
<source lang="php"><br />
$sql="SELECT rowid FROM table where datefield = '".$this->db->idate(dol_now())."'";<br />
</source><br />
<br />
Par exemple, on ne fera pas:<br />
<source lang="php"><br />
$sql="SELECT rowid FROM table where DATEDIFF(table.datefield, NOW()) > 7";<br />
</source><br />
mais:<br />
<source lang="php"><br />
$sql="SELECT rowid FROM table where datefield < '".$this->db->idate(dol_now() - (7 * 24 * 3600))."'";<br />
</source><br />
<br />
Un autre avantage de cette règle est que la requête peut bénéficier de l'utilisation de l'index puisqu'on compare datefield à une valeur fixe. Dans le cas du datediff, on applique un traitement sur le champ avant comparaison, rendant impossible l'utilisation de l'index de ce champ. Les conséquences sont des performances très dégradées par rapport à la version sans datediff.<br />
<br />
== Règles de migration de base ==<br />
* Les scripts de migration de structure sont les fichiers de type '''install/mysql/migration/a.b.c-x.y.z.sql'''. Dans un fichier de migration de n vers n+1, on ne détruit une table (DROP TABLE) qui n'est plus utilisée en n+1 que lors de la migration de la version n+1 vers n+2. Ceci afin de toujours conserver les tables deprecated le temps d'une version pour réparer une situation en cas d'erreur de migration.<br />
<br />
== Spécificités MySQL ==<br />
* Les tables doivent être au format InnoDB.<br />
En effet, ce format gère les clés étrangères, les éventuelles restrictions qui y sont attachées et la notion d'intégrité de transactions requise pour avoir des données en base cohérente entre tables.<br />
<br />
* Dolibarr DOIT fonctionner même avec les options '''strict''' de Mysql active.<br />
Pour l'activer, ajouter la ligne suivante dans le fichier config du serveur Mysql (my.cnf ou my.ini)<br />
<source lang="ini"><br />
sql-mode="STRICT_ALL_TABLES,ONLY_FULL_GROUP_BY,NO_ZERO_DATE"<br />
</source><br />
<br />
== Spécificités PostgreSQL ==<br />
Seuls les fichiers pour Mysql doivent être maintenus.<br />
Les fichiers pour les autres bases sont convertis "à la volée" par le driver Dolibarr de la base.<br />
<br />
Il existe une exception.<br />
Les requêtes "UPDATE FROM" : <br />
Syntax MySQL :<br />
<source lang="sql"><br />
UPDATE table_taget as target, table_source as source SET fieldtarget=source.fieldsource<br />
WHERE source.rowid=target.rowid;<br />
</source><br />
<br />
Syntax PgSQL:<br />
<source lang="sql"><br />
UPDATE table_taget as target SET fieldtarget=source.fieldsource<br />
FROM table_source as source WHERE source.rowid=target.rowid;<br />
</source><br />
<br />
Il n'en existe pas dans Dolibarr, mais pour vos modules Vous devriez faire tel que :<br />
<source lang="php"><br />
if ($this->db->type=='pgsql') {<br />
$sql="UPDATE table_taget as target SET fieldtarget=source.fieldsource<br />
FROM table_source as source WHERE source.rowid=target.rowid";<br />
} else {<br />
$sql= "UPDATE table_taget as target, table_source as source SET fieldtarget=source.fieldsource<br />
WHERE source.rowid=target.rowid";<br />
}<br />
</source><br />
<br />
= Normes HTML =<br />
<br />
* Tous les attributs dans les balises HTML doivent être *en minuscule* et quotés avec des *doubles quote*.<br />
<br />
* Les liens href doivent être absolus en se basant sur la fonction dol_buildpath() pour obtenir un chemin absolu depuis un chemin relatif au répertoire htdocs. Pour les tags img, il faut faire appel à la fonction img_picto().<br />
Par example:<br />
<source lang="php"><br />
print '<a href="'.dol_buildpath('/monrep/mapage.php').'">'.img_picto('Texte alt','nompictopng','').'</a>';<br />
</source><br />
<br />
* Les tables HTML doivent avoir des colonnes sans valeurs forcées, excepté pour les colonnes qui contiennent une information dont la longueur est non variable. Par exemple, une colonne avec un picto peut être forcée à with="20px". Dans les autres cas, il faut éviter de forcer la largeur des colonnes. La raison est que, dans la plupart des cas, le navigateur fait un meilleur travail pour définir automatiquement la bonne largeur des colonnes qu'en forçant manuellement les largeurs. Et ceci marche quelque soit la résolution de l'écran.<br />
<br />
* Le javascript/ajax et l'appel aux scripts java dans les pages php est à proscrire. Si toutefois du code javascript est inclus, il doit être conditionné par le test sur "$conf->use_javascript_ajax"<br />
<source lang="php"><br />
if ($conf->use_javascript_ajax) {<br />
... // Le code php qui génère du javascript est ici<br />
}<br />
</source><br />
<br />
* Les popups windows ne doivent pas être utilisées, sauf pour des tooltips (et restent conditionnées par le point ci-dessus).<br />
<br />
* Les scripts externes sont écrits en Perl s'ils ne peuvent l'être en php, l'utilisation d'un autre langage n'est pas interdit mais doit être discuté au préalable dans la mailing list des développeurs.<br />
<br />
= Normes Dolibarr et squelettes de code =<br />
<br />
== Squelettes de code ==<br />
Afin d'uniformiser le code et d'accélérer le développement de nouveaux composants dans Dolibarr, se trouvent dans le répertoire '''dev/skeletons''', 4 squelettes de code tout préparés.<br />
<br />
* 1 qui sert d'exemple de descripteur de module: '''myModule.class.php'''<br />
* 1 qui sert d'exemple de code pour faire une nouvelle classe: '''skeleton_class.class.php'''<br />
* 1 qui sert d'exemple de code pour faire une nouvelle page: '''skeleton_page.php'''<br />
* 1 qui sert d'exemple de code pour faire un script à exécuter en ligne de commande: '''skeleton_script.php'''<br />
<br />
Servez-vous en comme exemple.<br />
Notons que ces squelettes sont aussi utilisés par le générateur de code PHP qui est décrit dans la chapitre de développement de module Dolibarr pour accélérer vos développement.<br />
<br />
== Les dates et TimeZone ==<br />
Dolibarr se veut une application multi-utilisateur et multi-localisation. Il convient donc de stocker les dates dans le bon format. Pour éviter les problèmes de conversion, les règles suivantes doivent être appliquées:<br />
* Une date en mémoire doit être au format Timestamp GMT.<br />
* Une date stockée en base de données contient le Timestamp issue de la date soumise dans la requête en heure <b>locale du serveur PHP</b>. Cela ne concerne pas les dates mises à jour automatiquement par la base (champ '''tms''' en base).<br />
Ainsi le 1er janvier 1970, 3 heures à Paris (TZ=+1) = 1er janvier 1970, 2 heures à Greenwich (TZ=0) sera stocké en mémoire par 7200 et sera soumis à la base de données avec la chaine '19700101030000' (PHP convertit en heure de son TZ et la base déconvertit avec son TZ qui est le même que celui de PHP).<br />
<br />
Les méthodes select doivent donc traduire les champs dates lus qui sont au format chaine TZ de la base ('19700101030000') par appel de la méthode db->jdate afin de récupérer une information en mémoire au format Timestamp GMT. Et les méthodes insert doivent lors de la génération de la requête convertir la date mémoire connue en variable, par la méthode db->idate (Voir exemples générés par le squelette).<br />
<br />
* Les dates mises à jour automatiquement par la base (champ '''tms''' en base) contiennent le Timestamp où la modification est faite selon le timezone de la base de donnée. Les méthodes select récupèrent cette donnée en mémoire au format Timestamp GMT en appliquant également le db->jdate. Si le timezone de la base de donnée diffère de celui du PHP (un des 2 est mal réglé), il peut donc y avoir des écarts entre date de création et modification.<br />
<br />
* La manipulation de dates en PHP doit être faite en utilisant les fonctions dates de Dolibarr: '''dol_now(), dol_mktime(), dol_stringtotime(), dol_getdate(), dol_time_plus_duree()'''. Vous trouverez également d'autres fonctions prêtes à l'emploi dans le fichier '''date.lib.php'''.<br />
<br />
== L'encodage UTF8/ISO ==<br />
Dolibarr stocke les informations de manière suivante:<br />
* En base de donnée, les données sont en UTF8 ou ISO. Cela dépend du pagecode de la base, donc des options à la création de cette base. Dans tous les cas le driver d'accès base Dolibarr (dans /lib/database) s'arrange à la lecture et insertion pour convertir vers et depuis de l'UTF8.<br />
* Les données en mémoires sont donc stockées en UTF8 (instances d'objets PHP).<br />
* Les pages web affichées à l'écran sont au format UTF8 (avec les versions < 2.5.1, c'est le vieux paramètre $character_set du fichier conf.php qui définissait le format de sortie).<br />
<br />
== Les nombres réels, montants et calculs ==<br />
En PHP comme dans d'autres langages (Java par exemple), les données non entières (float, real, double) ne sont pas fiables.<br />
Essayer de faire par exemple <br />
<source lang="php"><br />
print 239.2 - 229.3 - 9.9;<br />
</source><br />
Vous n'obtiendrez pas zéro mais un nombre très petit en puissance de 10 négative. Si vous obtenez zéro, vous pourrez trouvez d'autres exemples qui ne fonctionnent pas.<br />
Le problème des float est général, une variable résultante de calcul de nombre réels doit SYSTEMATIQUEMENT être nettoyée par la fonction '''price2num()''' avec le 2eme paramètre renseigné à: 'MU', 'MT' ou 'MS' selon le besoin (voir doc fonction).<br />
<source lang="php"><br />
print price2num(239.2 - 229.3 - 9.9, 'MT');<br />
</source><br />
S'il ne s'agit pas d'un prix sur lequel s'adapte les paramètres MU, MT ou MS, il faut utiliser la fonction '''round()'''.<br />
<br />
== Création de tables ==<br />
Ne pas créer de table à l'utilisation, c'est-à-dire à la '''première utilisation''' du module.<br />
Si vous créez un module qui utilise des tables qui ne sont pas intégrées en standard dans le code de Dolibarr, veillez à suivre le didacticiel [[Développement module]] qui explique comment joindre des tables qui se créent à l'activation du module et non à son utilisation (voir plus haut).<br />
<br />
== Comparer la version ==<br />
<br />
Si votre code a besoin de faire des choses différentes selon la version de Dolibarr, vous pouvez utiliser le truc suivant pour comparer les versions<br />
<br />
<source lang="php"><br />
$version=preg_split('/[\.-]/',DOL_VERSION);<br />
if (versioncompare($version,array(5,0,-4)) >= 0) { //mycode for 5.0 only; } // For dolibarr 5.0.* (the -4 means we include also alpha, beta, rc and rcX)<br />
</source><br />
<br />
Mais cette solution requiert de faire un include avoir la fonction versioncompare. Une alternative est d'utiliser le test suivant:<br />
<source lang="php"><br />
if ((float) DOL_VERSION >= 5.0) { //mycode for 5.0 only; } // For dolibarr 5.0.*<br />
</source><br />
<br />
== Logs ==<br />
Ajouter des traces dans votre code avec la fonction<br />
<source lang="php"><br />
dol_syslog($yourmessage, LOG_INFO|LOG_DEBUG|LOG_WARNING|LOG_ERR);<br />
</source><br />
<br />
== Répertoires de travail ==<br />
Si vous avez besoin de créer un répertoire de travail, dans votre code, faites référence à ce répertoire par<br />
'''DOL_DATA_ROOT.'/monmodule''''<br />
<br />
Le répertoire peut être créé dans votre code à l'exécution par le code suivant:<br />
<source lang="php"><br />
$mymoduledir=DOL_DATA_ROOT.'/monmodule';<br />
dol_mkdir($mymoduledir);<br />
</source><br />
<br />
Si vous avez besoin d'un répertoire qui contiendra des données temporaires, ce répertoire doit être''' DOL_DATA_ROOT.'/monmodule/temp''''<br />
<br />
= Design patterns et programmation objet =<br />
<br />
== Design patterns de Création (GoF) ==<br />
Design patterns défini par le Gang Of Four (voir la wikipédia sur les [[wikipedia:Patron de conception|Design patterns]]).<br />
Dans Dolibarr, pas de mise en oeuvre de design patterns de comportement particulier.<br />
On trouve des objets proches des Singletons et Fabriques conforme à 100% dans l'esprit mais pas dans la syntaxe, ceci afin d’être compatible avec le PHP 4 qui n'est pas un langage objet complet.<br />
<br />
== Design patterns d'entreprises (Martin Fowler) ==<br />
<br />
=== Mode d'organisation du code ===<br />
[[wikipedia:Martin_Fowler|Martin Fowler]] a identifié 3 méthodes d'organisation du code appelées '''patterns''' ('''motifs'''):<br />
* Le '''Transaction Script''' (Le code est linéaire en fonction d'une action utilisateur).<br />
C'est le motif à l'ancienne utilisé dans les langages procéduraux.<br />
Inconvénient: Redondance du code. Nécessité de connaitre le modèle physique pour développer les parties métiers.<br />
* Le '''Domain Model'''<br />
C'est un concept possible depuis les langages objets. Ce sont les procédures métiers (qui doivent être identifiés avant) qui servent de bases pour les classes objets.<br />
Inconvénient: Motif complexe à maintenir.<br />
* Le '''Table Module'''<br />
Un intermédiaire entre les 2 précédents où l'on a une instance unique de classe par table de la base de données.<br />
<br />
-> Comme le montre les squelettes de code (voir point précédent), Dolibarr se base sur le principe du '''Table Module'''.<br />
<br />
=== Communication Logique métier - Données (ORM) ===<br />
Il existe 3 modes de liaisons:<br />
* Le '''Table And Row Data Gateway'''<br />
C'est le plus simple. On crée une classe par table et chaque classe est un pont avec la table correspondante et propose les méthodes CRUD sur cette table (Create, Read, Update, Delete). Une instance de classe étant alors un enregistrement de la table. La classe ne contient que du code d'accès aux lignes ou colonnes de tables. Le code métier doit alors être ajouté dans d'autres classes. Les liens entre ces classes tables et les classes métiers devant être connues ou déduite de la connaissance du développeur.<br />
<br />
Exemple: C'est le mode mis en oeuvre quand on utilise certains Frameworks d'ORM comme '''iBatis''' (http://ibatis.apache.org/).<br />
<br />
* Le '''Active Record'''<br />
Identique au précédent, mais on se permet d'ajouter quelques fonctions métiers sur la classe, à conditions que ces fonctions soient propres à la table ou à l'enregistrement. C'est le pattern qui offre le meilleur rapport fonctionnalité/complexité.<br />
<br />
Exemple: C'est le mode choisi pour les développements Dolibarr et de nombreuses autres applications PHP qui ont leur propre framework et pratiques de développements.<br />
<br />
* Le '''Data Mapper'''<br />
Les classes représentent les entités du problème et non les données. Il faut donc doubler, tripler... ces classes avec des classes Mapper pour accéder aux données.<br />
Plus "puriste" sur le papier car plus proche du métier, ce mode a aussi l'inconvénient d'être plus complexe sur le plan pratique.<br />
<br />
Exemple: C'est le choix si on utilise le Framework d'ORM '''Propel''' (http://propel.phpdb.org/trac/). On le trouve donc sur des applications plus lourdes basées sur cet ORM entre autres.<br />
<br />
-> Pour les développements Dolibarr, il est recommandé d'utiliser le mode de liaison '''Active Record''' qui offre les avantages d'un modèle proche du métier sans en avoir la complexité et sans trop masquer non plus la technique. C'est dans ce mode que le développement, la compréhension du code et la maintenance technique et/ou fonctionnelle semble la plus productive (ceci est toutefois un éternel débat entre les puristes et les pragmatiques, débat dans lequel personne ne peut vraiment avoir raison, car tout dépend des objectifs à atteindre).</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Setup_Other&diff=39461Setup Other2018-08-31T06:33:19Z<p>Yves.brungard: Proposals module: add MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUser}}<br />
<br />
'''Help about screen:''' Other setup<br />
<br />
'''Menu path:''' Home -> Setup -> Other<br />
<br />
= Goal =<br />
This page is built to add/edit new parameters without a dedicated page to edit them. In most cases, it is parameters for your own development, external modules, or hidden features which can allow some tweaking to your own Dolibarr instance.<br />
<br />
For standard usage of Dolibarr, this screen must be kept empty and not be used.<br />
<br />
= List of Known Hidden Options =<br />
Some options are not visible in the interface (often because they are deprecated or are beta features). In most cases you do not need these functions and their use may make the application unstable.<br />
<br />
To enable them you have to define a constant to '''1''' in '''Home -> Setup -> Other Setup''': <br />
<br />
== Global Options ==<br />
* MAIN_FILESYSTEM_ENCODING => With some PHP version, PHP is not able to detect what is page code for filesystem of the server OS. To solve this, Dolibarr suppose your OS filesystem is UTF-8 if on linux or osx system, and iso-8859-1 if on Windows. If not, for example on a Windows server with a NTFS UTF-8 pagecode, you can set the variable MAIN_FILESYSTEM_ENCODING to "utf-8".<br />
<br />
* MAIN_SHOW_TECHNICAL_ID => Show also technical IDs on elements cards or some lists (not supported everywhere).<br />
<br />
* MAIN_MAXTABS_IN_CARD => Max number of tabs visible. Others are grouped into a combo list.<br />
<br />
* MAIN_ONLY_LOGIN_ALLOWED => Only the specified login is allowed to log in Dolibarr (maintenance mode)<br />
<br />
* MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES => Add a timestamp and user automatically when editing the ''public'' note.<br />
<br />
* MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES => Add a timestamp and user automatically when editing the ''private'' note.<br />
<br />
* MAIN_SECURITY_CSRF_WITH_TOKEN (>= 5.0) => Activate a second anti CSRF protection on POST (a POST from another web site can't be done). Note there is already a default protection using test on referrer. This second protection uses TOKEN on forms and is less powerful.<br />
<br />
* MAIN_APPLICATION_TITLE => This will change the title of software (that appears on the login page by default). Warning, changing this may make Dolibarr version detection fails by smartphone applications like [[Application Android - DoliDroid]]<br />
<br />
* MAIN_AUTOFILL_DATE => If this constant is defined (to something else than 0), the date of invoice, proposal, order or payment are filled with current date. It is highly recommended to NOT ENABLE this feature. This create a lot of input errors with no data not validated by users. This lead in bad values saved in database giving headaches when you have to do your accountancy reports ! However some users want it, so we provide it.<br />
<br />
* MAIN_DISABLE_FULL_SCANLIST => Constant to define to disable complete scan of tables to know the total amount of element to allow the pagination to show total number of pages. To activate on systems with a very important number of data (Tables with more than 500 000 records).<br />
<br />
* MAIN_FIRST_TO_UPPER => Dolibarr add uppercase to thirdparties, contacts or members names if not done. Warning, with some languages (whose words with uppercase are not same words, or pagecode does not always have an uppercase, like cyrillic languages), this feature may alter your data.<br />
<br />
* MAIN_ENABLE_LOG_TO_HTML (MAIN_LOGTOHTML before 3.9) => If this constants is defined, it is possible to have logs inside pages by adding the parameter &logtohtml=1 into URL.<br />
<br />
* MAIN_USE_HOURMIN_IN_DATE_RANGE => On all entities lines (invoice, order, contract...), it is possible to add hour and minutes with date on fields "date start" and "date end".<br />
<br />
* MAIN_REMOVE_INSTALL_WARNING => Remove all security warning that appears to administrator users if URL /install is public. You should solve the problem if warning occurs instead of removing this warning. For this, put a file called install.lock into Dolibarr root directory. This will remove warning but also make the page /install not possible to use to protect your installation.<br />
<br />
* MAIN_OPTIMIZE_SPEED => Use some speed enhancements. See page [[Increase_Performance]] for more information.<br />
<br />
* MAIN_REPLACE_TRANS_xx_XX => Where xx_XX is language code. If value is string1:newstring1;string2:newstring2 then replace string1 with newstring1 in all translation done for language xx_XX.<br />
<br />
* MAIN_REPEATCONTACTONEACHTAB => If added and set to 1, this add contacts on all tabs, not only main tab.<br />
<br />
* MAIN_DISABLE_JQUERY_JNOTIFY => Disable usage of JNotify to show confirm or error messages<br />
<br />
* MAIN_USE_JQUERY_JEDITABLE => Allow to update from screen, directly into database, some properties of elements (invoices, proposals, ...) using Ajax. This make response time faster, but avoid using this features, because, it overpass some business actions (updates on other data that should be done consistently) and ignore business controls on data you saved. So this feature breaks consistency of data and stability of software.<br />
<br />
* MAIN_USE_JQUERY_MULTISELECT => Allow to use Ajax when a choice that require multiselect is used (for the moment only external modules uses select box with multiselect values). Set the value to the jQuery plugin name to use (multiselect, multiple-select, select2…). Setting it to any other value will result in unwanted side-effects and/or bugs.<br />
<br />
* MAIN_HELPCENTER_LINKTOUSE => Define the url link to use as the target page for link "I need help" onto logon page<br />
<br />
* MAIN_MODULES_FOR_EXTERNAL => Limit available modules for external users. By default value is 'facture,commande,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda'<br />
<br />
* MAIN_SHOW_TUNING_INFO => Add tuning information into javascript console. Better when xdebug is enabled.<br />
<br />
* MAIN_DOL_SCRIPTS_ROOT => Define directory who contains 'scripts' directory (e.g /var/www/dolibarr)<br />
<br />
* MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING => A warning saying setup of modules is not complete is shown if number of enabled modules is lower or equal than this value (1 if not defined)<br />
<br />
* MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE => Add signature of the first sale representative into documents (at end of public notes).<br />
<br />
* MAIN_DISABLE_AJAX_COMBOX => If you have a large number of third parties or products, you can disable the autocomplete feature on the third parties list by setting constant MAIN_DISABLE_AJAX_COMBOX to 1 into Home-Setup-Other (with Dolibarr v3.6.0+).<br />
<br />
* MAIN_USE_CACHE_MANIFEST => Add an HTML5 cache manifest to the page - Attention, this functionality is obsolete and removed from web standards<br />
<br />
* MAIN_FORCELANGDIR => relative path of the directory holding your custom langs folder.<br />
<br />
* MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS => allow to define a default VAT rate<br />
<br />
* MAIN_HTML_TITLE => can be used to control how html title is formatted. If value contains key 'noapp', application name will not be output. If value contains 'thirdpartynameonly', on tab for thirdparties, only name of thirdparties are output. Value can be list of tags: 'noapp;thirdpartynameonly'<br />
<br />
* MAIN_LANDING_PAGE => (>= 3.9). Can choose the first page to show after login (the landing page). This option works as a global option (llx_const) and per user option (llx_user_param).<br />
<br />
* MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN => (>= 4.0) When creating an order, contract, invoice from another object, specific contacts of objects are set as specific contact of the new object when possible.<br />
<br />
* MAIN_WEIGHT_DEFAULT_ROUND => Accuracy of weight (number of decimals)<br />
<br />
* MAIN_WEIGHT_DEFAULT_UNIT => Default unit for weight (0=kg, -3=g, ...)<br />
<br />
* MAIN_VOLUME_DEFAULT_ROUND => Accuracy of volume (number of decimals)<br />
<br />
* MAIN_VOLUME_DEFAULT_UNIT => Default unit for weight (0=kg, -3=g, ...)<br />
<br />
* MAIN_PUBLIC_NOTE_IN_ADDRESS >=4.0 => show public note in address block<br />
<br />
* MAIN_DEFAULT_PAYMENT_TERM_ID => With id of a payment term, will use this as default payment term each time you create a new proposal, order, invoice (customer and supplier)<br />
<br />
* MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND => Change way of rounding total TTC lines, rounding first of after<br />
<br />
* MAIN_VIEW_LINE_NUMBER => Shows a line number against each line in the order/invoice for products/services. On screen only, not on PDF.<br />
<br />
* MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME => Add name of thirdparty at begin of generated document<br />
<br />
* MAIN_DOC_USE_TIMING => Add a timestamp at end of generated document. Value must be format of timestamp. For example: %Y%m%d%H%M<br />
<br />
* MAIN_DISABLEDRAFTSTATUS => Disable the status Draft for some object (project, donation, ...)<br />
<br />
* MAIN_USE_OLD_SEARCH_FORM => Display the old search form in left menu<br />
<br />
* MAIN_SERVER_TZ => If you can't set timezone of your PHP, set this constant. Better is to set it to UTC. In future, this constant will be forced to 'UTC' so PHP server timezone will not have effect anymore. Examples : Europe/Paris, auto.<br />
<br />
* MAIN_SEARCH_FORM_ON_HOME_AREAS => Show the search form on home page areas for core modules (Removed after v5 due to global search combo) (v6.0+)<br />
<br />
* MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE => If only one result is found, then setting this value to '''1''' will take you direct to the item (default method). Setting the value to '''0''' will show the result in the list as a single result (v5.0+)<br />
<br />
== Look or Theme ==<br />
* MAIN_OPTIMIZEFORTEXTBROWSER => Optimize output rendering for usage of a text browser (usefull for blind people)<br />
* THEME_ELDY_DISABLE_IMAGE => Disabled images of top menu for eldy theme.<br />
* MAIN_MENU_HIDE_UNAUTHORIZED => Hide menu if logged in user is not autorized rather than just grey them<br />
* THEME_TOPMENU_STICKY_POSITION => Option to fix top menu with eldy theme (hidden conf)(v7.0+)<br />
<br />
== Email and SMS ==<br />
* MAIN_MAIL_DEBUG => Write content with header of last mail into file dolibarr_mail.log into directory dolibarr_main_data_root.<br />
<br />
* MAIN_SMS_DEBUG => Write content of SMS sent into file dolibarr_sms.log into directory dolibarr_main_data_root.<br />
<br />
* MAIN_MAIL_ALLOW_SENDMAIL_F => On Linux or BSD system, PHP email function use the command sendmail local to server. In some cases, the sender email must be provided on command line of sendmail with option -f. This option is here to ask Dolibarr to call the function '''mail''' of PHP by adding value for the option -f. Note that in most cases, even with sendmail, sender email is correctly managed as it is added in the email technical header. This option is here only for rare setup of sendmail that ask the '''-f''' option to be mandatory or for sendmail setup that does not use by default the Return-path of header email to define the sender (with this option, the return-path will be provided also on command line and not lost by sendmail).<br />
<br />
* MAIN_MAIL_SENDMAIL_FORCE_BA => On Linux or BSD system, PHP email function use the command sendmail local to server. In some case, we want to recipient to be provided to sendmail into the email content instead of its command line parameter. For this we must add the '''-ba''' parameter to sendmail. This option ask PHP to provide this parameter when sending a mail. Note that another solution is to edit the '''mail.force_extra_parameters=-ba''' into '''php.ini''' file.<br />
<br />
* MAIN_MAIL_NO_FULL_EMAIL => Recipient email and sender are cleaned to be on form "<email>" instead of "Name <email>". This might solve problem of compatibility with very old mailers.<br />
<br />
* MAIN_FIX_FOR_BUGGED_MTA => Some MTA agent are bugged and add some CR chars each time they saw a LF. Because Dolibarr emails are forged to be already cleaned, if MTA agent do that, you will send an email with two CR chars. This may result in having recipient not able to read your email. To fix this, add this constant to 1. Dolibarr will then create an email that is not RFC compliant but because the MTA agent is bugged, the email will be modified and become correct during sending, solving the problem of bad email received. Add this constant if your recipient experience problems when opening email for example users using webmail of orange.fr or hotmail.com<br />
<br />
* MAIN_MAIL_DO_NOT_USE_SIGN => Do not add user signature at end of suggested pre-defined email<br />
<br />
* MAIL_FORCE_DELIVERY_RECEIPT_INVOICE => Set default as "Yes" on requesting delivery receipt when sending email through the ''Customer Invoice'' module.<br />
<br />
* MAIL_FORCE_DELIVERY_RECEIPT_ORDER => Set default as "Yes" on requesting delivery receipt when sending email through the ''Customer Order'' module. <br />
<br />
* MAIL_FORCE_DELIVERY_RECEIPT_PROPAL => Set default as "Yes" on requesting delivery receipt when sending email through the ''Customer Proposal'' module.<br />
<br />
* MAIN_EMAIL_USECCC => 1 = Show field BCC into email forms, If email = Show BCC prefilled with email.<br />
<br />
* MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO => Email to use as a BCC recipients when sending email for proposal, order or invoice. You can make this value visible by setting MAIN_EMAIL_USECCC (to 1 or to another email, see previous point)<br />
<br />
* MAIN_EMAIL_ADD_TRACK_ID => When value is 1 (this is also default value if option is not set): The record "Message-id" added into smtp header includes a tracking id to define where the email was sent from. When value is 2: you send an email from third party card, the sender email is completed with the email source tracking string "+thiXXX" on email (your email will be sent with the "From" that is myname+thi123@mycompany.com). So when user receiving email will make "Answer", email will be sent to myname@mycompany.com but with the tracking id included (into header or into target email), allowing you to know to which third party or object, the email exchange is related to.<br />
<br />
* MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL => Restrict sending of 1 email message to x recipients for same email message (x for To: + CC: + BCC:). If not defined, value is 10. Required to fight against spamming that include 1000 recipients in 1 message. Note that MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL and MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL are also available.<br />
<br />
* MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML => Force to send all email (event with text only content) as HTML formatted email.<br />
<br />
* MAIN_MAIL_USE_MULTI_PART => Forge email content using an alternate text part (for 5.0.2+). By default with 6.0+<br />
<br />
* MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS => If images were stored into the medias directory from CKEditor, then images into emails are replaced with "inline content". This may increase seriously risk of being detected as SPAM.<br />
<br />
* MAIN_COPY_FILE_IN_EVENT_AUTO => Add attachement document on event auto generated by sending email from dolibarr. (v6.0+)<br />
<br />
* MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS => Enter the public ip address of the server, so it will appears into the help on the email setup page.<br />
<br />
* MAIN_MAIL_ENABLED_USER_DEST_SELECT => Show also internal users into list of recipients of email in email sending form (v8.0+)<br />
<br />
== Third Parties module ==<br />
* SOCIETE_DISABLE_CUSTOMERS => Remove all menu and features related to customers<br />
* SOCIETE_DISABLE_PROSPECTS => Remove all menu and features related to prospects<br />
* SOCIETE_DISABLE_STATE => Do not use field "state/province"<br />
* THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT => Do not set status "Customer/Prospect" to "on" when creating a new third party from menu "New third party".<br />
* THIRDPARTY_NOTSUPPLIER_BY_DEFAULT => Do not set status "Supplier" to "on" when creating a new third party from menu "New third party".<br />
* SOCIETE_SORT_ON_TYPEENT = The combo list of "type of third party" is sorted on a field "position" that appears into dictionary instead of alphabetical order.<br />
* THIRDPARTY_DEFAULT_CREATE_CONTACT (Dolibarr 5.0+) => Default Third party create are individual<br />
* MAIN_THIRDPARTY_CREATION_INDIVIDUAL (Dolibarr <5.0) => Default Third party create are individual<br />
* THIRDPARTY_DEFAULT_USEVAT => When creating a new third party, the field "Use vat" is set to on or off depending on value of this parameter.<br />
* THIRDPARTY_DEFAULT_USELOCALTAX1 => When creating a new third party, the field "Use second tax" is set to on or off depending on value of this parameter.<br />
* THIRDPARTY_DEFAULT_USELOCALTAX2 => When creating a new third party, the field "Use third tax" is set to on or off depending on value of this parameter.<br />
* THIRDPARTY_INCLUDE_PARENT_IN_LINKTO => Search also for elements on parent third party when using the "link to" object feature.<br />
* THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO => Search also for elements on third party that own the project of the current element when using the "link to" object feature (if project is owned by a different thirdparty than current one).<br />
* SOCIETE_ASK_FOR_SHIPPING_METHOD => Shipping method can be predefined on customer card and will be used as default on order creation<br />
* THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD => When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.<br />
* MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL => External users are always restricted on the thirdparty of their contact record. With this option, permission "see all thirdparty" may works also for external user. Not implemented yet...<br />
<br />
== Proposals module ==<br />
* PROPAL_CLONE_ON_CREATE_PAGE => On the create proposal page, ask if we want to create the proposal by cloning an already existing one. You should use instead the "Clone" button available on existing proposals.<br />
* MAIN_PROPAL_CHOOSE_ODT_DOCUMENT => On setup page, you'll be able to select which ODT document to use when close or cancel proposals.<br />
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Add a picture of the product (the first one found if there are several) into the generated PDF of proposals. Note that using this will reduce the available width for the product description.<br />
* PROPAL_DISABLE_SIGNATURE => Do no show the box for signature.<br />
* WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES => Button "Classified Billed" is visible on proposal even if there is no invoice linked to proposal.<br />
* PRODUIT_PDF_MERGE_PROPAL => When generating the proposal PDF, all PDFs linked to products linked to proposal are also included into final PDF<br />
* PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD => When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. (v7.0+)<br />
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => add optional esign field in pdf propal<br />
<br />
== Order module ==<br />
* COMMANDE_REQUIRE_SOURCE => Make the input field "Source of order" mandatory.<br />
* COMMANDE_VALID_AFTER_CLOSE_PROPAL => When an order is created on a proposal close, the order is directly defined with status "Validated".<br />
* COMMANDE_CHANGE_THIRDPARTY => Can change customer on orders<br />
* ORDER_ALLOW_EXTERNAL_DOWNLOAD => When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. (v7.0+)<br />
<br />
== Invoice module ==<br />
* MAIN_DEPOSIT_MULTI_TVA => In deposits invoice, creates one line per VAT rate from the origin document (6.0)<br />
* FACTURE_SHOW_SEND_REMINDER => Show link "Send reminder by mail", same feature than "Send by mail" (obsolete feature).<br />
* INVOICE_CAN_ALWAYS_BE_EDITED => Allow to edit invoices even if payment was started. Note: If the module "'''BlockedLog'''" is active (required by some countries for legal reason), this will not change content of archived logs tracked by this module. By definition there is no way to change or remove archived records. It will just update data in your application and a new record to track your change into the non reversible archive log.<br />
* INVOICE_CAN_ALWAYS_BE_REMOVED => Allow to always delete invoices (even if invoice is not last one). Note: If the module "'''BlockedLog'''" is active (required by some countries for legal reason), this will not change content of archived logs tracked by this module. By definition there is no way to change or remove archived records. It will just update data in your application and a new record to track your change into the non reversible archive log.<br />
* INVOICE_CAN_NEVER_BE_REMOVED => Never allow to delete invoices (except draft invoices).<br />
* INVOICE_POSITIVE_CREDIT_NOTE => All amounts on PDF credit notes are positive.<br />
* FACTURE_CHANGE_THIRDPARTY => Allow to change the third party in the draft invoices. If a discount was set from the original thirdparty, then discount remain, making data not coherent.<br />
* FACTURE_USE_PROFORMAT => Enable PROFORMAT invoices type.<br />
* FACTURE_DEPOSITS_ARE_JUST_PAYMENTS => Treats deposit invoices as a special case. Deposit invoices don't get counted on turnover. They are then applied as a payment, like a discount, on the final invoice. By default, when you include the deposit into draft of final invoice, the amount of final invoice is reduced. With this option, final amount is not reduced but a payment is registered. <br />
* FACTURE_SENDBYEMAIL_FOR_ALL_STATUS => Can send invoice by email to customer even if invoice has status "draft".<br />
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT => Disable VAT on genrated documents. like for an association. (it's work with crabe template)<br />
* INVOICE_CREDIT_NOTE_STANDALONE (dolibarr 3.9) => Can make a credit note without invoice.<br />
* INVOICE_USE_SITUATION = Enable the "situation invoice" feature<br />
* INVOICE_DISABLE_DEPOSIT = Disable deposit invoices<br />
* INVOICE_DISABLE_REPLACEMENT = Disable replacement invoices<br />
* INVOICE_DISABLE_CREDIT_NOTE = Disable credit notes<br />
* WORKFLOW_BILL_ON_SHIPMENT = Change label of button with suitable label when you need to create invoice on shipments<br />
* INVOICE_ALLOW_EXTERNAL_DOWNLOAD => When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. (v7.0+)<br />
<br />
== Expense Report ==<br />
* EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS => Can enter several expense reports on same or overlapping date periods. (v7.0+)<br />
<br />
== Export module ==<br />
* EXPORT_CSV_SEPARATOR_TO_USE => String value to use as separator to delimit fields int exported files (by default Dolibarr use ","). Example: EXPORT_CSV_SEPARATOR_TO_USE=;<br />
* EXPORT_CSV_FORCE_CHARSET => Choose the charset of file built by CSV export. By default: UTF-8. Example: EXPORT_CSV_FORCE_CHARSET=ISO-8859-1<br />
* EXPORTTOOL_CATEGORIES => Can export categories (several lines) into one column with the "product export profile"<br />
* USE_STRICT_CSV_RULES => Use strict/real CSV format for export. Do not clean/replace CR+LF with '\n' but quote them using the escaping CSV char (").<br />
<br />
== Agenda module ==<br />
* AGENDA_MAX_EVENTS_DAY_VIEW => Define the maximum number of visible entries for each day in agenda. Default value is 3. Value 0 means no limit.<br />
* AGENDA_USE_EVENT_TYPE => Add a mandatory field "Type" when creating an event (deprecated).<br />
* AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS => To automatically set end date of event to start date + delta on event creation page.<br />
* MAIN_ADD_EVENT_ON_ELEMENT_CARD => Allow to create an event from a document (proposal, order, invoice)<br />
<br />
== Products module ==<br />
* MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE => Avoid Custom code and country of origin to be set as product description when added to Propal/Order/Invoice<br />
* PRODUCT_ADD_TYPE_IN_DOCUMENTS => Add text "Product" or "Service" at beginning of details lines on built PDF documents.<br />
* PRODUCT_DONOTSEARCH_ANYWHERE => When Ajax search is enabled, search is done on criteria anywhere in label of product. By adding this option, search is done only on start of label. This is really faster when you have a huge number of products.<br />
* PRODUIT_DESC_IN_LIST => Show long description of product/service into lists.<br />
* PRODUIT_PDF_MERGE_PROPAL => Enable module Propal merge product PDF<br />
* PRODUCT_USE_OLD_PATH_FOR_PHOTO => Ask dolibarr to check also old path (before 3.7) where photos were stored.<br />
* PRODUCT_USE_UNITS => Enable units from dictionary in product/service card.<br />
* PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL => When option to use price per level/segment is on, this allows to also set a dedicated vat for each price level.<br />
* MAIN_DIRECT_STATUS_UPDATE => Allows you to change the status of the product (''for sale/not for sale for purchase/not for purchase'') directly on the product page via a ''on/off'' switch button. This can be convenient for those who need to quickly disable certain statuses of products without having to go through the editing product page individually. Also can be very useful if used as a filter on the product and product search list. This option doesn't generate a MODIFY trigger, so be careful with external modules. v4.0+<br />
<br />
* PRODUCT_CHARGES => Adds an extra field for adhoc charges at the product buying price stage. The Cost price is then calculated with supplier price + charges if defined. Useful for extra costs for a product or certain delivery charges to the product.<br />
<br />
* PRODUCT_MAX_VISIBLE_PHOTO => Show a maximum number of product photos (as thumbnails) on the product main card. Example, setting this constant to '5' will show the first five product photos found on the product card.<br />
* PRODUCT_MAX_LENGTH_COMBO => limit the length of the label displayed when adding lines in proposals/invoices/orders<br />
* MAIN_DISABLE_FREE_LINES (>= 8.0) => Disallow using free lines to add line in documents<br />
<br />
== Services module ==<br />
* SERVICE_ARE_ECOMMERCE_200238EC => If this option is enabled, services are processed like eServices according to directive of EU Council Directive 2002/38/EC (http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en.htm). Default VAT rate are based on buying country instead of selling country for BtoC sells.<br />
<br />
== Stocks ==<br />
* SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED => Disable stock dispatch when total expected was already received.<br />
<br />
== Shipments ==<br />
* SHIPMENT_GETS_ALL_ORDER_PRODUCTS => Add all order lines in shipment, including the one with 0 in quantity<br />
<br />
== Point of Sale ==<br />
* CASHDESK_SHOW_KEYPAD => Show a mouse key pad into Point Of Sale.<br />
* POS_ADDON = Set this value to an existing numbering module rule (for example 'mod_facture_terre', 'mod_facture_mars', ...) to force the numbering module to us to define the invoice ref when invoice is created by the POS. For example setting value POS_ADDON to 'mod_facture_terre' will use the numbering module 'terre' for invoice generated from POS, whatever is the numbering rule defined into invoice module setup (you can also use POS_NUMBERING_TERRE_FORCE_PREFIX and POS_NUMBERING_MARS_FORCE_PREFIX variable to change the prefix used).<br />
<br />
== Contracts ==<br />
* CONTRACT_SUPPORT_PRODUCTS => Products are also suggested into module contract.<br />
<br />
== Projects module ==<br />
* PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS => Enable linking a project to any supplier even when using the third party link feature. Note: Set to 1 by default from 3.7.<br />
* PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS => Can add time spent on tasks, even if i am not assigned to task (however, task must be a project i am a contact).<br />
* PROJECT_SHOW_REF_INTO_LISTS => Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)<br />
* PROJECT_HIDE_UNSELECTABLES => Hide into select list, all project that we can't select (closed or draft)<br />
* PROJECT_HIDE_TASKS => Hide tasks. For user using project only as an analytics key and not using tasks.<br />
* PROJECT_LIST_SHOW_STARTDATE => Shows start date of projects in project lists.<br />
* PROJECT_LINK_ON_OVERWIEW_DISABLED (4.0) => Hide the "link to" form on the overview page<br />
* PROJECT_CREATE_ON_OVERVIEW_DISABLED (4.0) => Hide the "create ..." button on the overview page<br />
* PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY => Can link an object to a project of another thirdparty<br />
* PROJECT_ALLOW_COMMENT_ON_TASK => Add comment feature on project task<br />
<br />
== Foundation module ==<br />
* MEMBER_URL_REDIRECT_SUBSCRIPTION => Link called and shown when a member account is autocreated in member module by a guest user.<br />
* MEMBER_EXT_URL_SUBSCRIPTION_INFO => Link of external page pointed by the "Show here" link added in front off payment cell, into the page to make online subscription.<br />
<br />
== Interventions module ==<br />
* FICHINTER_CLASSIFY_BILLED => Allow to classify an intervention card as "Billed". This add also trigger FICHINTER_CLASSIFY_BILLED into list of possible automatic event into agenda.<br />
* FICHINTER_DISABLE_DETAILS => Disable entry of details line on intervention. Can validate with no line.<br />
<br />
== Suppliers module ==<br />
* FOURN_PRODUCT_AVAILABILITY => On the Suppliers price page of the products, activate the supplier product availability. This is duplicate feature with delivery_delay introduced with 3.8.<br />
* SUPPLIER_ORDER_AUTOADD_USER_CONTACT => Add user approving supplier order as a contact automatically.<br />
* SUPPLIER_ORDER_USE_DISPATCH_STATUS => Add a status on each dispatch order line when receiving products from suppliers (v4.0+)<br />
* SUPPLIER_ORDER_NO_DIRECT_APPROVE => No button "Validate and Approve". Always do step "Validate" and "Approve" in 2 steps.<br />
* SUPPLIER_ORDER_WITH_NOPRICEDEFINED => Can enter a product even if no supplier price defined. (v6.0+)<br />
* SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT => Can modify the buying price used for PMP calculation when making a stock reception on a supplier order. (v6.0+)<br />
<br />
== Bank module ==<br />
* BANK_CAN_RECONCILIATE_CASHACCOUNT (3.8) => Can reconciliate cash accounts<br />
* BANK_DISABLE_CHECK_DEPOSIT => Disable check deposit feature<br />
* BANK_ASK_PAYMENT_BANK_DURING_ORDER => Ask bank account during creation of an order<br />
* BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL => Ask bank account during creation of a proposal<br />
<br />
== Emailing module ==<br />
* MAILING_PREFIX_FOR_EMAIL_ID => Set the value that will be used to compose the "Email Id" into email headers. If you set this value to 'SERVER_NAME', the virtual host of web server will be used. By default, this is not defined, so a hash key, unique to each instance, is used.<br />
* MAILING_NO_USING_PHPMAIL => If set, the module emailing can't be use with mail setup of "phpmail". Using a thirdparty SMTP server is required. You can complete warning message by adding an email to contact for setup help with constant MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS.<br />
* MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS => Contains an email to show in a message visible to user when he try to use emailing module without SMTP server and if option MAILING_NO_USING_PHPMAIL is set to on.<br />
* MAILING_LIMIT_WARNING_PHPMAIL => Show a warning message (var contains the message to show or translation key) on emailing send form if setup is on "phpmail". For example, you can set this parameter to 'MAILING_LIMIT_WARNING_PHPMAIL' and enter translation key for each language for this key.<br />
* MAILING_LIMIT_WARNING_NOPHPMAIL => Show a warning message (var contains the message to show or translation key) on emailing send form if setup is something else than "phpmail". For example, you can set this parameter to 'MAILING_LIMIT_WARNING_NOPHPMAIL' and enter translation key for each language for this key.<br />
* EMAILING_USE_ADVANCED_SELECTOR => Enable the advanced selector for destinaries<br />
<br />
* MAILING_LIMIT_SENDBYWEB => Restrict number of emails you can send in same sending session with emailing module from GUI. The value "dolibarr_mailing_limit_sendbyweb" if defined into config file is used in priority for this limit. A negative value means, sending by web is forbidden.<br />
* MAILING_LIMIT_SENDBYCLI => Restrict number of emails you can send in same sending session with emailing module from CLI script. The value "dolibarr_mailing_limit_sendbycli" if defined into config file is used in priority for this limit.<br />
<br />
== PDF options ==<br />
* MAIN_DISABLE_FORCE_SAVEAS => If your browser ask always to save downloaded files on disk (like PDF), try to add this option. File might appears directly into your browser.<br />
<br />
* MAIN_DISABLE_PDF_COMPRESSION => Disable PDF compression.<br />
<br />
* MAIN_INVERT_SENDER_RECIPIENT => Invert sender and recipient in some PDF.<br />
<br />
* MAIN_DISABLE_PDF_AUTOUPDATE => Disable automatic generation of PDF each time we add/update/delete a product line (we can still build document by clicking on "Generate"). This option may increase interface speed on servers with low CPU.<br />
<br />
* MAIN_USE_BACKGROUND_ON_PDF => Define this constant with short name of an image (example "myimage.jpg") that must be saved into directory "documents/mycompany/logos". This will add this background image into your generated PDF files. Warning: This option make TCPDF library beeing crazy sometime and content on image disappeared !<br />
<br />
* MAIN_ADD_PDF_BACKGROUND => Define this constant with short name of a PDF file (example "mypdf.pdf") that must be saved into directory "documents/mycompany". This will add PDF as a background of some of your generated PDF files (proposals,invoices,orders). If you need to concat PDF, see instead [[Module Concat PDF]].<br />
<br />
* MAIN_PDF_FORCE_FONT => To ignore font defined into language file and force usage of a particular font. For example "DejaVuSans".<br />
<br />
* MAIN_PDF_FREETEXT_HEIGHT => Change height of space reserved to output the free text.<br />
<br />
* MAIN_PDF_TITLE_BACKGROUND_COLOR => Can define a background color onto title line. Example: '220,220,200'<br />
<br />
* MAIN_USE_COMPANY_NAME_OF_CONTACT => Use contact name and information rather than company<br />
<br />
* MAIN_ODT_AS_PDF => Activate PDF conversion from ODT document. If value is 'jodconverter', java and jodconverter command line tool must be available. If value is '/pathto/jodconverter.jar', then java and the jodconvertar jar must exists. soffice must also be available. MAIN_DOL_SCRIPTS_ROOT Must also be defined to path where the "scripts" directory is stored (for example /var/www/mydolibarr).<br />
<br />
* MAIN_ODT_AS_PDF_DEL_SOURCE => For ODT generation. If set, then initial behaviour is conserved but odt file is removed when option to convert it as PDF (see previous) is on. Disabled by default<br />
<br />
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Include the first image of the product into the line of the generated PDF for customer proposals.<br />
<br />
* MAIN_GENERATE_INVOICES_WITH_PICTURE => Include the first image of the product into the line of the generated PDF for customer invoices.<br />
<br />
* MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE => Include the first image of the product into the line of the generated PDF for supplier proposals (v5.0.3+)<br />
<br />
* MAIN_DOCUMENTS_WITH_PICTURE_WIDTH => Can change size of picture when hidden option MAIN_GENERATE_PROPOSALS_WITH_PICTURE is used. By default value is 20.<br />
<br />
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN => Hide column with VAT information but only column not total.<br />
<br />
* PDF_SHOW_PROJECT => Show project onto PDF (supported on supplier order only for the moment)<br />
<br />
* PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN => Hide bank number ("code banque/guichet/compte" for france, "sort number/account" for GB, ...) and keep only BIC/IBAN on PDF.<br />
<br />
* PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES => Value 1 or 2 change the way product ref is show (1 = show supplier ref only and not internal ref, 2 = show supplier then internal). Without, internal ref then supplier is shown.<br />
<br />
* MAIN_PDF_ADDALSOTARGETDETAILS => Add particular details like the telephone number on generated PDFs. Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.<br />
<br />
* PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME => Include alternative/alias name into name on PDF.<br />
<br />
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => add optional esign field in pdf propal<br />
<br />
== WYSIWYG Editor ==<br />
<br />
* FCKEDITOR_ENABLE_DETAILS_FULL => Can cut and paste external images (hosted on external server) into description of proposal, orders or invoices. WARNING: PDF generation is not guaranted with this. Also if the image is removed or renamed by the image hoster, your proposal, order or invoice will be broken.<br />
<br />
<br />
== BlockedLog ==<br />
<br />
* BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY => Make disable of module "blockedlog" not possible for countries code defined into value. Example: 'FR,...'<br />
<br />
== MultiCurreny ==<br />
<br />
* MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION => Enable CurrencyLayer API synchronization</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Setup_Other&diff=39460Setup Other2018-08-31T06:31:28Z<p>Yves.brungard: add MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING in PDF section</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUser}}<br />
<br />
'''Help about screen:''' Other setup<br />
<br />
'''Menu path:''' Home -> Setup -> Other<br />
<br />
= Goal =<br />
This page is built to add/edit new parameters without a dedicated page to edit them. In most cases, it is parameters for your own development, external modules, or hidden features which can allow some tweaking to your own Dolibarr instance.<br />
<br />
For standard usage of Dolibarr, this screen must be kept empty and not be used.<br />
<br />
= List of Known Hidden Options =<br />
Some options are not visible in the interface (often because they are deprecated or are beta features). In most cases you do not need these functions and their use may make the application unstable.<br />
<br />
To enable them you have to define a constant to '''1''' in '''Home -> Setup -> Other Setup''': <br />
<br />
== Global Options ==<br />
* MAIN_FILESYSTEM_ENCODING => With some PHP version, PHP is not able to detect what is page code for filesystem of the server OS. To solve this, Dolibarr suppose your OS filesystem is UTF-8 if on linux or osx system, and iso-8859-1 if on Windows. If not, for example on a Windows server with a NTFS UTF-8 pagecode, you can set the variable MAIN_FILESYSTEM_ENCODING to "utf-8".<br />
<br />
* MAIN_SHOW_TECHNICAL_ID => Show also technical IDs on elements cards or some lists (not supported everywhere).<br />
<br />
* MAIN_MAXTABS_IN_CARD => Max number of tabs visible. Others are grouped into a combo list.<br />
<br />
* MAIN_ONLY_LOGIN_ALLOWED => Only the specified login is allowed to log in Dolibarr (maintenance mode)<br />
<br />
* MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES => Add a timestamp and user automatically when editing the ''public'' note.<br />
<br />
* MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES => Add a timestamp and user automatically when editing the ''private'' note.<br />
<br />
* MAIN_SECURITY_CSRF_WITH_TOKEN (>= 5.0) => Activate a second anti CSRF protection on POST (a POST from another web site can't be done). Note there is already a default protection using test on referrer. This second protection uses TOKEN on forms and is less powerful.<br />
<br />
* MAIN_APPLICATION_TITLE => This will change the title of software (that appears on the login page by default). Warning, changing this may make Dolibarr version detection fails by smartphone applications like [[Application Android - DoliDroid]]<br />
<br />
* MAIN_AUTOFILL_DATE => If this constant is defined (to something else than 0), the date of invoice, proposal, order or payment are filled with current date. It is highly recommended to NOT ENABLE this feature. This create a lot of input errors with no data not validated by users. This lead in bad values saved in database giving headaches when you have to do your accountancy reports ! However some users want it, so we provide it.<br />
<br />
* MAIN_DISABLE_FULL_SCANLIST => Constant to define to disable complete scan of tables to know the total amount of element to allow the pagination to show total number of pages. To activate on systems with a very important number of data (Tables with more than 500 000 records).<br />
<br />
* MAIN_FIRST_TO_UPPER => Dolibarr add uppercase to thirdparties, contacts or members names if not done. Warning, with some languages (whose words with uppercase are not same words, or pagecode does not always have an uppercase, like cyrillic languages), this feature may alter your data.<br />
<br />
* MAIN_ENABLE_LOG_TO_HTML (MAIN_LOGTOHTML before 3.9) => If this constants is defined, it is possible to have logs inside pages by adding the parameter &logtohtml=1 into URL.<br />
<br />
* MAIN_USE_HOURMIN_IN_DATE_RANGE => On all entities lines (invoice, order, contract...), it is possible to add hour and minutes with date on fields "date start" and "date end".<br />
<br />
* MAIN_REMOVE_INSTALL_WARNING => Remove all security warning that appears to administrator users if URL /install is public. You should solve the problem if warning occurs instead of removing this warning. For this, put a file called install.lock into Dolibarr root directory. This will remove warning but also make the page /install not possible to use to protect your installation.<br />
<br />
* MAIN_OPTIMIZE_SPEED => Use some speed enhancements. See page [[Increase_Performance]] for more information.<br />
<br />
* MAIN_REPLACE_TRANS_xx_XX => Where xx_XX is language code. If value is string1:newstring1;string2:newstring2 then replace string1 with newstring1 in all translation done for language xx_XX.<br />
<br />
* MAIN_REPEATCONTACTONEACHTAB => If added and set to 1, this add contacts on all tabs, not only main tab.<br />
<br />
* MAIN_DISABLE_JQUERY_JNOTIFY => Disable usage of JNotify to show confirm or error messages<br />
<br />
* MAIN_USE_JQUERY_JEDITABLE => Allow to update from screen, directly into database, some properties of elements (invoices, proposals, ...) using Ajax. This make response time faster, but avoid using this features, because, it overpass some business actions (updates on other data that should be done consistently) and ignore business controls on data you saved. So this feature breaks consistency of data and stability of software.<br />
<br />
* MAIN_USE_JQUERY_MULTISELECT => Allow to use Ajax when a choice that require multiselect is used (for the moment only external modules uses select box with multiselect values). Set the value to the jQuery plugin name to use (multiselect, multiple-select, select2…). Setting it to any other value will result in unwanted side-effects and/or bugs.<br />
<br />
* MAIN_HELPCENTER_LINKTOUSE => Define the url link to use as the target page for link "I need help" onto logon page<br />
<br />
* MAIN_MODULES_FOR_EXTERNAL => Limit available modules for external users. By default value is 'facture,commande,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda'<br />
<br />
* MAIN_SHOW_TUNING_INFO => Add tuning information into javascript console. Better when xdebug is enabled.<br />
<br />
* MAIN_DOL_SCRIPTS_ROOT => Define directory who contains 'scripts' directory (e.g /var/www/dolibarr)<br />
<br />
* MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING => A warning saying setup of modules is not complete is shown if number of enabled modules is lower or equal than this value (1 if not defined)<br />
<br />
* MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE => Add signature of the first sale representative into documents (at end of public notes).<br />
<br />
* MAIN_DISABLE_AJAX_COMBOX => If you have a large number of third parties or products, you can disable the autocomplete feature on the third parties list by setting constant MAIN_DISABLE_AJAX_COMBOX to 1 into Home-Setup-Other (with Dolibarr v3.6.0+).<br />
<br />
* MAIN_USE_CACHE_MANIFEST => Add an HTML5 cache manifest to the page - Attention, this functionality is obsolete and removed from web standards<br />
<br />
* MAIN_FORCELANGDIR => relative path of the directory holding your custom langs folder.<br />
<br />
* MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS => allow to define a default VAT rate<br />
<br />
* MAIN_HTML_TITLE => can be used to control how html title is formatted. If value contains key 'noapp', application name will not be output. If value contains 'thirdpartynameonly', on tab for thirdparties, only name of thirdparties are output. Value can be list of tags: 'noapp;thirdpartynameonly'<br />
<br />
* MAIN_LANDING_PAGE => (>= 3.9). Can choose the first page to show after login (the landing page). This option works as a global option (llx_const) and per user option (llx_user_param).<br />
<br />
* MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN => (>= 4.0) When creating an order, contract, invoice from another object, specific contacts of objects are set as specific contact of the new object when possible.<br />
<br />
* MAIN_WEIGHT_DEFAULT_ROUND => Accuracy of weight (number of decimals)<br />
<br />
* MAIN_WEIGHT_DEFAULT_UNIT => Default unit for weight (0=kg, -3=g, ...)<br />
<br />
* MAIN_VOLUME_DEFAULT_ROUND => Accuracy of volume (number of decimals)<br />
<br />
* MAIN_VOLUME_DEFAULT_UNIT => Default unit for weight (0=kg, -3=g, ...)<br />
<br />
* MAIN_PUBLIC_NOTE_IN_ADDRESS >=4.0 => show public note in address block<br />
<br />
* MAIN_DEFAULT_PAYMENT_TERM_ID => With id of a payment term, will use this as default payment term each time you create a new proposal, order, invoice (customer and supplier)<br />
<br />
* MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND => Change way of rounding total TTC lines, rounding first of after<br />
<br />
* MAIN_VIEW_LINE_NUMBER => Shows a line number against each line in the order/invoice for products/services. On screen only, not on PDF.<br />
<br />
* MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME => Add name of thirdparty at begin of generated document<br />
<br />
* MAIN_DOC_USE_TIMING => Add a timestamp at end of generated document. Value must be format of timestamp. For example: %Y%m%d%H%M<br />
<br />
* MAIN_DISABLEDRAFTSTATUS => Disable the status Draft for some object (project, donation, ...)<br />
<br />
* MAIN_USE_OLD_SEARCH_FORM => Display the old search form in left menu<br />
<br />
* MAIN_SERVER_TZ => If you can't set timezone of your PHP, set this constant. Better is to set it to UTC. In future, this constant will be forced to 'UTC' so PHP server timezone will not have effect anymore. Examples : Europe/Paris, auto.<br />
<br />
* MAIN_SEARCH_FORM_ON_HOME_AREAS => Show the search form on home page areas for core modules (Removed after v5 due to global search combo) (v6.0+)<br />
<br />
* MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE => If only one result is found, then setting this value to '''1''' will take you direct to the item (default method). Setting the value to '''0''' will show the result in the list as a single result (v5.0+)<br />
<br />
== Look or Theme ==<br />
* MAIN_OPTIMIZEFORTEXTBROWSER => Optimize output rendering for usage of a text browser (usefull for blind people)<br />
* THEME_ELDY_DISABLE_IMAGE => Disabled images of top menu for eldy theme.<br />
* MAIN_MENU_HIDE_UNAUTHORIZED => Hide menu if logged in user is not autorized rather than just grey them<br />
* THEME_TOPMENU_STICKY_POSITION => Option to fix top menu with eldy theme (hidden conf)(v7.0+)<br />
<br />
== Email and SMS ==<br />
* MAIN_MAIL_DEBUG => Write content with header of last mail into file dolibarr_mail.log into directory dolibarr_main_data_root.<br />
<br />
* MAIN_SMS_DEBUG => Write content of SMS sent into file dolibarr_sms.log into directory dolibarr_main_data_root.<br />
<br />
* MAIN_MAIL_ALLOW_SENDMAIL_F => On Linux or BSD system, PHP email function use the command sendmail local to server. In some cases, the sender email must be provided on command line of sendmail with option -f. This option is here to ask Dolibarr to call the function '''mail''' of PHP by adding value for the option -f. Note that in most cases, even with sendmail, sender email is correctly managed as it is added in the email technical header. This option is here only for rare setup of sendmail that ask the '''-f''' option to be mandatory or for sendmail setup that does not use by default the Return-path of header email to define the sender (with this option, the return-path will be provided also on command line and not lost by sendmail).<br />
<br />
* MAIN_MAIL_SENDMAIL_FORCE_BA => On Linux or BSD system, PHP email function use the command sendmail local to server. In some case, we want to recipient to be provided to sendmail into the email content instead of its command line parameter. For this we must add the '''-ba''' parameter to sendmail. This option ask PHP to provide this parameter when sending a mail. Note that another solution is to edit the '''mail.force_extra_parameters=-ba''' into '''php.ini''' file.<br />
<br />
* MAIN_MAIL_NO_FULL_EMAIL => Recipient email and sender are cleaned to be on form "<email>" instead of "Name <email>". This might solve problem of compatibility with very old mailers.<br />
<br />
* MAIN_FIX_FOR_BUGGED_MTA => Some MTA agent are bugged and add some CR chars each time they saw a LF. Because Dolibarr emails are forged to be already cleaned, if MTA agent do that, you will send an email with two CR chars. This may result in having recipient not able to read your email. To fix this, add this constant to 1. Dolibarr will then create an email that is not RFC compliant but because the MTA agent is bugged, the email will be modified and become correct during sending, solving the problem of bad email received. Add this constant if your recipient experience problems when opening email for example users using webmail of orange.fr or hotmail.com<br />
<br />
* MAIN_MAIL_DO_NOT_USE_SIGN => Do not add user signature at end of suggested pre-defined email<br />
<br />
* MAIL_FORCE_DELIVERY_RECEIPT_INVOICE => Set default as "Yes" on requesting delivery receipt when sending email through the ''Customer Invoice'' module.<br />
<br />
* MAIL_FORCE_DELIVERY_RECEIPT_ORDER => Set default as "Yes" on requesting delivery receipt when sending email through the ''Customer Order'' module. <br />
<br />
* MAIL_FORCE_DELIVERY_RECEIPT_PROPAL => Set default as "Yes" on requesting delivery receipt when sending email through the ''Customer Proposal'' module.<br />
<br />
* MAIN_EMAIL_USECCC => 1 = Show field BCC into email forms, If email = Show BCC prefilled with email.<br />
<br />
* MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO => Email to use as a BCC recipients when sending email for proposal, order or invoice. You can make this value visible by setting MAIN_EMAIL_USECCC (to 1 or to another email, see previous point)<br />
<br />
* MAIN_EMAIL_ADD_TRACK_ID => When value is 1 (this is also default value if option is not set): The record "Message-id" added into smtp header includes a tracking id to define where the email was sent from. When value is 2: you send an email from third party card, the sender email is completed with the email source tracking string "+thiXXX" on email (your email will be sent with the "From" that is myname+thi123@mycompany.com). So when user receiving email will make "Answer", email will be sent to myname@mycompany.com but with the tracking id included (into header or into target email), allowing you to know to which third party or object, the email exchange is related to.<br />
<br />
* MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL => Restrict sending of 1 email message to x recipients for same email message (x for To: + CC: + BCC:). If not defined, value is 10. Required to fight against spamming that include 1000 recipients in 1 message. Note that MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL and MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL are also available.<br />
<br />
* MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML => Force to send all email (event with text only content) as HTML formatted email.<br />
<br />
* MAIN_MAIL_USE_MULTI_PART => Forge email content using an alternate text part (for 5.0.2+). By default with 6.0+<br />
<br />
* MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS => If images were stored into the medias directory from CKEditor, then images into emails are replaced with "inline content". This may increase seriously risk of being detected as SPAM.<br />
<br />
* MAIN_COPY_FILE_IN_EVENT_AUTO => Add attachement document on event auto generated by sending email from dolibarr. (v6.0+)<br />
<br />
* MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS => Enter the public ip address of the server, so it will appears into the help on the email setup page.<br />
<br />
* MAIN_MAIL_ENABLED_USER_DEST_SELECT => Show also internal users into list of recipients of email in email sending form (v8.0+)<br />
<br />
== Third Parties module ==<br />
* SOCIETE_DISABLE_CUSTOMERS => Remove all menu and features related to customers<br />
* SOCIETE_DISABLE_PROSPECTS => Remove all menu and features related to prospects<br />
* SOCIETE_DISABLE_STATE => Do not use field "state/province"<br />
* THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT => Do not set status "Customer/Prospect" to "on" when creating a new third party from menu "New third party".<br />
* THIRDPARTY_NOTSUPPLIER_BY_DEFAULT => Do not set status "Supplier" to "on" when creating a new third party from menu "New third party".<br />
* SOCIETE_SORT_ON_TYPEENT = The combo list of "type of third party" is sorted on a field "position" that appears into dictionary instead of alphabetical order.<br />
* THIRDPARTY_DEFAULT_CREATE_CONTACT (Dolibarr 5.0+) => Default Third party create are individual<br />
* MAIN_THIRDPARTY_CREATION_INDIVIDUAL (Dolibarr <5.0) => Default Third party create are individual<br />
* THIRDPARTY_DEFAULT_USEVAT => When creating a new third party, the field "Use vat" is set to on or off depending on value of this parameter.<br />
* THIRDPARTY_DEFAULT_USELOCALTAX1 => When creating a new third party, the field "Use second tax" is set to on or off depending on value of this parameter.<br />
* THIRDPARTY_DEFAULT_USELOCALTAX2 => When creating a new third party, the field "Use third tax" is set to on or off depending on value of this parameter.<br />
* THIRDPARTY_INCLUDE_PARENT_IN_LINKTO => Search also for elements on parent third party when using the "link to" object feature.<br />
* THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO => Search also for elements on third party that own the project of the current element when using the "link to" object feature (if project is owned by a different thirdparty than current one).<br />
* SOCIETE_ASK_FOR_SHIPPING_METHOD => Shipping method can be predefined on customer card and will be used as default on order creation<br />
* THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD => When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.<br />
* MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL => External users are always restricted on the thirdparty of their contact record. With this option, permission "see all thirdparty" may works also for external user. Not implemented yet...<br />
<br />
== Proposals module ==<br />
* PROPAL_CLONE_ON_CREATE_PAGE => On the create proposal page, ask if we want to create the proposal by cloning an already existing one. You should use instead the "Clone" button available on existing proposals.<br />
* MAIN_PROPAL_CHOOSE_ODT_DOCUMENT => On setup page, you'll be able to select which ODT document to use when close or cancel proposals.<br />
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Add a picture of the product (the first one found if there are several) into the generated PDF of proposals. Note that using this will reduce the available width for the product description.<br />
* PROPAL_DISABLE_SIGNATURE => Do no show the box for signature.<br />
* WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES => Button "Classified Billed" is visible on proposal even if there is no invoice linked to proposal.<br />
* PRODUIT_PDF_MERGE_PROPAL => When generating the proposal PDF, all PDFs linked to products linked to proposal are also included into final PDF<br />
* PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD => When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. (v7.0+)<br />
<br />
== Order module ==<br />
* COMMANDE_REQUIRE_SOURCE => Make the input field "Source of order" mandatory.<br />
* COMMANDE_VALID_AFTER_CLOSE_PROPAL => When an order is created on a proposal close, the order is directly defined with status "Validated".<br />
* COMMANDE_CHANGE_THIRDPARTY => Can change customer on orders<br />
* ORDER_ALLOW_EXTERNAL_DOWNLOAD => When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. (v7.0+)<br />
<br />
== Invoice module ==<br />
* MAIN_DEPOSIT_MULTI_TVA => In deposits invoice, creates one line per VAT rate from the origin document (6.0)<br />
* FACTURE_SHOW_SEND_REMINDER => Show link "Send reminder by mail", same feature than "Send by mail" (obsolete feature).<br />
* INVOICE_CAN_ALWAYS_BE_EDITED => Allow to edit invoices even if payment was started. Note: If the module "'''BlockedLog'''" is active (required by some countries for legal reason), this will not change content of archived logs tracked by this module. By definition there is no way to change or remove archived records. It will just update data in your application and a new record to track your change into the non reversible archive log.<br />
* INVOICE_CAN_ALWAYS_BE_REMOVED => Allow to always delete invoices (even if invoice is not last one). Note: If the module "'''BlockedLog'''" is active (required by some countries for legal reason), this will not change content of archived logs tracked by this module. By definition there is no way to change or remove archived records. It will just update data in your application and a new record to track your change into the non reversible archive log.<br />
* INVOICE_CAN_NEVER_BE_REMOVED => Never allow to delete invoices (except draft invoices).<br />
* INVOICE_POSITIVE_CREDIT_NOTE => All amounts on PDF credit notes are positive.<br />
* FACTURE_CHANGE_THIRDPARTY => Allow to change the third party in the draft invoices. If a discount was set from the original thirdparty, then discount remain, making data not coherent.<br />
* FACTURE_USE_PROFORMAT => Enable PROFORMAT invoices type.<br />
* FACTURE_DEPOSITS_ARE_JUST_PAYMENTS => Treats deposit invoices as a special case. Deposit invoices don't get counted on turnover. They are then applied as a payment, like a discount, on the final invoice. By default, when you include the deposit into draft of final invoice, the amount of final invoice is reduced. With this option, final amount is not reduced but a payment is registered. <br />
* FACTURE_SENDBYEMAIL_FOR_ALL_STATUS => Can send invoice by email to customer even if invoice has status "draft".<br />
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT => Disable VAT on genrated documents. like for an association. (it's work with crabe template)<br />
* INVOICE_CREDIT_NOTE_STANDALONE (dolibarr 3.9) => Can make a credit note without invoice.<br />
* INVOICE_USE_SITUATION = Enable the "situation invoice" feature<br />
* INVOICE_DISABLE_DEPOSIT = Disable deposit invoices<br />
* INVOICE_DISABLE_REPLACEMENT = Disable replacement invoices<br />
* INVOICE_DISABLE_CREDIT_NOTE = Disable credit notes<br />
* WORKFLOW_BILL_ON_SHIPMENT = Change label of button with suitable label when you need to create invoice on shipments<br />
* INVOICE_ALLOW_EXTERNAL_DOWNLOAD => When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. (v7.0+)<br />
<br />
== Expense Report ==<br />
* EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS => Can enter several expense reports on same or overlapping date periods. (v7.0+)<br />
<br />
== Export module ==<br />
* EXPORT_CSV_SEPARATOR_TO_USE => String value to use as separator to delimit fields int exported files (by default Dolibarr use ","). Example: EXPORT_CSV_SEPARATOR_TO_USE=;<br />
* EXPORT_CSV_FORCE_CHARSET => Choose the charset of file built by CSV export. By default: UTF-8. Example: EXPORT_CSV_FORCE_CHARSET=ISO-8859-1<br />
* EXPORTTOOL_CATEGORIES => Can export categories (several lines) into one column with the "product export profile"<br />
* USE_STRICT_CSV_RULES => Use strict/real CSV format for export. Do not clean/replace CR+LF with '\n' but quote them using the escaping CSV char (").<br />
<br />
== Agenda module ==<br />
* AGENDA_MAX_EVENTS_DAY_VIEW => Define the maximum number of visible entries for each day in agenda. Default value is 3. Value 0 means no limit.<br />
* AGENDA_USE_EVENT_TYPE => Add a mandatory field "Type" when creating an event (deprecated).<br />
* AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS => To automatically set end date of event to start date + delta on event creation page.<br />
* MAIN_ADD_EVENT_ON_ELEMENT_CARD => Allow to create an event from a document (proposal, order, invoice)<br />
<br />
== Products module ==<br />
* MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE => Avoid Custom code and country of origin to be set as product description when added to Propal/Order/Invoice<br />
* PRODUCT_ADD_TYPE_IN_DOCUMENTS => Add text "Product" or "Service" at beginning of details lines on built PDF documents.<br />
* PRODUCT_DONOTSEARCH_ANYWHERE => When Ajax search is enabled, search is done on criteria anywhere in label of product. By adding this option, search is done only on start of label. This is really faster when you have a huge number of products.<br />
* PRODUIT_DESC_IN_LIST => Show long description of product/service into lists.<br />
* PRODUIT_PDF_MERGE_PROPAL => Enable module Propal merge product PDF<br />
* PRODUCT_USE_OLD_PATH_FOR_PHOTO => Ask dolibarr to check also old path (before 3.7) where photos were stored.<br />
* PRODUCT_USE_UNITS => Enable units from dictionary in product/service card.<br />
* PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL => When option to use price per level/segment is on, this allows to also set a dedicated vat for each price level.<br />
* MAIN_DIRECT_STATUS_UPDATE => Allows you to change the status of the product (''for sale/not for sale for purchase/not for purchase'') directly on the product page via a ''on/off'' switch button. This can be convenient for those who need to quickly disable certain statuses of products without having to go through the editing product page individually. Also can be very useful if used as a filter on the product and product search list. This option doesn't generate a MODIFY trigger, so be careful with external modules. v4.0+<br />
<br />
* PRODUCT_CHARGES => Adds an extra field for adhoc charges at the product buying price stage. The Cost price is then calculated with supplier price + charges if defined. Useful for extra costs for a product or certain delivery charges to the product.<br />
<br />
* PRODUCT_MAX_VISIBLE_PHOTO => Show a maximum number of product photos (as thumbnails) on the product main card. Example, setting this constant to '5' will show the first five product photos found on the product card.<br />
* PRODUCT_MAX_LENGTH_COMBO => limit the length of the label displayed when adding lines in proposals/invoices/orders<br />
* MAIN_DISABLE_FREE_LINES (>= 8.0) => Disallow using free lines to add line in documents<br />
<br />
== Services module ==<br />
* SERVICE_ARE_ECOMMERCE_200238EC => If this option is enabled, services are processed like eServices according to directive of EU Council Directive 2002/38/EC (http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en.htm). Default VAT rate are based on buying country instead of selling country for BtoC sells.<br />
<br />
== Stocks ==<br />
* SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED => Disable stock dispatch when total expected was already received.<br />
<br />
== Shipments ==<br />
* SHIPMENT_GETS_ALL_ORDER_PRODUCTS => Add all order lines in shipment, including the one with 0 in quantity<br />
<br />
== Point of Sale ==<br />
* CASHDESK_SHOW_KEYPAD => Show a mouse key pad into Point Of Sale.<br />
* POS_ADDON = Set this value to an existing numbering module rule (for example 'mod_facture_terre', 'mod_facture_mars', ...) to force the numbering module to us to define the invoice ref when invoice is created by the POS. For example setting value POS_ADDON to 'mod_facture_terre' will use the numbering module 'terre' for invoice generated from POS, whatever is the numbering rule defined into invoice module setup (you can also use POS_NUMBERING_TERRE_FORCE_PREFIX and POS_NUMBERING_MARS_FORCE_PREFIX variable to change the prefix used).<br />
<br />
== Contracts ==<br />
* CONTRACT_SUPPORT_PRODUCTS => Products are also suggested into module contract.<br />
<br />
== Projects module ==<br />
* PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS => Enable linking a project to any supplier even when using the third party link feature. Note: Set to 1 by default from 3.7.<br />
* PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS => Can add time spent on tasks, even if i am not assigned to task (however, task must be a project i am a contact).<br />
* PROJECT_SHOW_REF_INTO_LISTS => Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)<br />
* PROJECT_HIDE_UNSELECTABLES => Hide into select list, all project that we can't select (closed or draft)<br />
* PROJECT_HIDE_TASKS => Hide tasks. For user using project only as an analytics key and not using tasks.<br />
* PROJECT_LIST_SHOW_STARTDATE => Shows start date of projects in project lists.<br />
* PROJECT_LINK_ON_OVERWIEW_DISABLED (4.0) => Hide the "link to" form on the overview page<br />
* PROJECT_CREATE_ON_OVERVIEW_DISABLED (4.0) => Hide the "create ..." button on the overview page<br />
* PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY => Can link an object to a project of another thirdparty<br />
* PROJECT_ALLOW_COMMENT_ON_TASK => Add comment feature on project task<br />
<br />
== Foundation module ==<br />
* MEMBER_URL_REDIRECT_SUBSCRIPTION => Link called and shown when a member account is autocreated in member module by a guest user.<br />
* MEMBER_EXT_URL_SUBSCRIPTION_INFO => Link of external page pointed by the "Show here" link added in front off payment cell, into the page to make online subscription.<br />
<br />
== Interventions module ==<br />
* FICHINTER_CLASSIFY_BILLED => Allow to classify an intervention card as "Billed". This add also trigger FICHINTER_CLASSIFY_BILLED into list of possible automatic event into agenda.<br />
* FICHINTER_DISABLE_DETAILS => Disable entry of details line on intervention. Can validate with no line.<br />
<br />
== Suppliers module ==<br />
* FOURN_PRODUCT_AVAILABILITY => On the Suppliers price page of the products, activate the supplier product availability. This is duplicate feature with delivery_delay introduced with 3.8.<br />
* SUPPLIER_ORDER_AUTOADD_USER_CONTACT => Add user approving supplier order as a contact automatically.<br />
* SUPPLIER_ORDER_USE_DISPATCH_STATUS => Add a status on each dispatch order line when receiving products from suppliers (v4.0+)<br />
* SUPPLIER_ORDER_NO_DIRECT_APPROVE => No button "Validate and Approve". Always do step "Validate" and "Approve" in 2 steps.<br />
* SUPPLIER_ORDER_WITH_NOPRICEDEFINED => Can enter a product even if no supplier price defined. (v6.0+)<br />
* SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT => Can modify the buying price used for PMP calculation when making a stock reception on a supplier order. (v6.0+)<br />
<br />
== Bank module ==<br />
* BANK_CAN_RECONCILIATE_CASHACCOUNT (3.8) => Can reconciliate cash accounts<br />
* BANK_DISABLE_CHECK_DEPOSIT => Disable check deposit feature<br />
* BANK_ASK_PAYMENT_BANK_DURING_ORDER => Ask bank account during creation of an order<br />
* BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL => Ask bank account during creation of a proposal<br />
<br />
== Emailing module ==<br />
* MAILING_PREFIX_FOR_EMAIL_ID => Set the value that will be used to compose the "Email Id" into email headers. If you set this value to 'SERVER_NAME', the virtual host of web server will be used. By default, this is not defined, so a hash key, unique to each instance, is used.<br />
* MAILING_NO_USING_PHPMAIL => If set, the module emailing can't be use with mail setup of "phpmail". Using a thirdparty SMTP server is required. You can complete warning message by adding an email to contact for setup help with constant MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS.<br />
* MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS => Contains an email to show in a message visible to user when he try to use emailing module without SMTP server and if option MAILING_NO_USING_PHPMAIL is set to on.<br />
* MAILING_LIMIT_WARNING_PHPMAIL => Show a warning message (var contains the message to show or translation key) on emailing send form if setup is on "phpmail". For example, you can set this parameter to 'MAILING_LIMIT_WARNING_PHPMAIL' and enter translation key for each language for this key.<br />
* MAILING_LIMIT_WARNING_NOPHPMAIL => Show a warning message (var contains the message to show or translation key) on emailing send form if setup is something else than "phpmail". For example, you can set this parameter to 'MAILING_LIMIT_WARNING_NOPHPMAIL' and enter translation key for each language for this key.<br />
* EMAILING_USE_ADVANCED_SELECTOR => Enable the advanced selector for destinaries<br />
<br />
* MAILING_LIMIT_SENDBYWEB => Restrict number of emails you can send in same sending session with emailing module from GUI. The value "dolibarr_mailing_limit_sendbyweb" if defined into config file is used in priority for this limit. A negative value means, sending by web is forbidden.<br />
* MAILING_LIMIT_SENDBYCLI => Restrict number of emails you can send in same sending session with emailing module from CLI script. The value "dolibarr_mailing_limit_sendbycli" if defined into config file is used in priority for this limit.<br />
<br />
== PDF options ==<br />
* MAIN_DISABLE_FORCE_SAVEAS => If your browser ask always to save downloaded files on disk (like PDF), try to add this option. File might appears directly into your browser.<br />
<br />
* MAIN_DISABLE_PDF_COMPRESSION => Disable PDF compression.<br />
<br />
* MAIN_INVERT_SENDER_RECIPIENT => Invert sender and recipient in some PDF.<br />
<br />
* MAIN_DISABLE_PDF_AUTOUPDATE => Disable automatic generation of PDF each time we add/update/delete a product line (we can still build document by clicking on "Generate"). This option may increase interface speed on servers with low CPU.<br />
<br />
* MAIN_USE_BACKGROUND_ON_PDF => Define this constant with short name of an image (example "myimage.jpg") that must be saved into directory "documents/mycompany/logos". This will add this background image into your generated PDF files. Warning: This option make TCPDF library beeing crazy sometime and content on image disappeared !<br />
<br />
* MAIN_ADD_PDF_BACKGROUND => Define this constant with short name of a PDF file (example "mypdf.pdf") that must be saved into directory "documents/mycompany". This will add PDF as a background of some of your generated PDF files (proposals,invoices,orders). If you need to concat PDF, see instead [[Module Concat PDF]].<br />
<br />
* MAIN_PDF_FORCE_FONT => To ignore font defined into language file and force usage of a particular font. For example "DejaVuSans".<br />
<br />
* MAIN_PDF_FREETEXT_HEIGHT => Change height of space reserved to output the free text.<br />
<br />
* MAIN_PDF_TITLE_BACKGROUND_COLOR => Can define a background color onto title line. Example: '220,220,200'<br />
<br />
* MAIN_USE_COMPANY_NAME_OF_CONTACT => Use contact name and information rather than company<br />
<br />
* MAIN_ODT_AS_PDF => Activate PDF conversion from ODT document. If value is 'jodconverter', java and jodconverter command line tool must be available. If value is '/pathto/jodconverter.jar', then java and the jodconvertar jar must exists. soffice must also be available. MAIN_DOL_SCRIPTS_ROOT Must also be defined to path where the "scripts" directory is stored (for example /var/www/mydolibarr).<br />
<br />
* MAIN_ODT_AS_PDF_DEL_SOURCE => For ODT generation. If set, then initial behaviour is conserved but odt file is removed when option to convert it as PDF (see previous) is on. Disabled by default<br />
<br />
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Include the first image of the product into the line of the generated PDF for customer proposals.<br />
<br />
* MAIN_GENERATE_INVOICES_WITH_PICTURE => Include the first image of the product into the line of the generated PDF for customer invoices.<br />
<br />
* MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE => Include the first image of the product into the line of the generated PDF for supplier proposals (v5.0.3+)<br />
<br />
* MAIN_DOCUMENTS_WITH_PICTURE_WIDTH => Can change size of picture when hidden option MAIN_GENERATE_PROPOSALS_WITH_PICTURE is used. By default value is 20.<br />
<br />
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN => Hide column with VAT information but only column not total.<br />
<br />
* PDF_SHOW_PROJECT => Show project onto PDF (supported on supplier order only for the moment)<br />
<br />
* PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN => Hide bank number ("code banque/guichet/compte" for france, "sort number/account" for GB, ...) and keep only BIC/IBAN on PDF.<br />
<br />
* PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES => Value 1 or 2 change the way product ref is show (1 = show supplier ref only and not internal ref, 2 = show supplier then internal). Without, internal ref then supplier is shown.<br />
<br />
* MAIN_PDF_ADDALSOTARGETDETAILS => Add particular details like the telephone number on generated PDFs. Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.<br />
<br />
* PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME => Include alternative/alias name into name on PDF.<br />
<br />
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => add optional esign field in pdf propal<br />
<br />
== WYSIWYG Editor ==<br />
<br />
* FCKEDITOR_ENABLE_DETAILS_FULL => Can cut and paste external images (hosted on external server) into description of proposal, orders or invoices. WARNING: PDF generation is not guaranted with this. Also if the image is removed or renamed by the image hoster, your proposal, order or invoice will be broken.<br />
<br />
<br />
== BlockedLog ==<br />
<br />
* BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY => Make disable of module "blockedlog" not possible for countries code defined into value. Example: 'FR,...'<br />
<br />
== MultiCurreny ==<br />
<br />
* MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION => Enable CurrencyLayer API synchronization</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Setup_Other&diff=38916Setup Other2018-07-24T04:31:44Z<p>Yves.brungard: Adding MAIN_SERVER_TZ</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUser}}<br />
<br />
'''Help about screen:''' Other setup<br />
<br />
'''Menu path:''' Home -> Setup -> Other<br />
<br />
= Goal =<br />
This page is built to add/edit new parameters without a dedicated page to edit them. In most cases, it is parameters for your own development, external modules, or hidden features which can allow some tweaking to your own Dolibarr instance.<br />
<br />
For standard usage of Dolibarr, this screen must be kept empty and not be used.<br />
<br />
= List of Known Hidden Options =<br />
Some options are not visible in the interface (often because they are deprecated or are beta features). In most cases you do not need these functions and their use may make the application unstable.<br />
<br />
To enable them you have to define a constant to '''1''' in '''Home -> Setup -> Other Setup''': <br />
<br />
== Global Options ==<br />
* MAIN_FILESYSTEM_ENCODING => With some PHP version, PHP is not able to detect what is page code for filesystem of the server OS. To solve this, Dolibarr suppose your OS filesystem is UTF-8 if on linux or osx system, and iso-8859-1 if on Windows. If not, for example on a Windows server with a NTFS UTF-8 pagecode, you can set the variable MAIN_FILESYSTEM_ENCODING to "utf-8".<br />
<br />
* MAIN_SHOW_TECHNICAL_ID => Show also technical IDs on elements cards or some lists (not supported everywhere).<br />
<br />
* MAIN_MAXTABS_IN_CARD => Max number of tabs visible. Others are grouped into a combo list.<br />
<br />
* MAIN_ONLY_LOGIN_ALLOWED => Only the specified login is allowed to log in Dolibarr (maintenance mode)<br />
<br />
* MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES => Add a timestamp and user automatically when editing the ''public'' note.<br />
<br />
* MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES => Add a timestamp and user automatically when editing the ''private'' note.<br />
<br />
* MAIN_SECURITY_CSRF_WITH_TOKEN (>= 5.0) => Activate a second anti CSRF protection on POST (a POST from another web site can't be done). Note there is already a default protection using test on referrer. This second protection uses TOKEN on forms and is less powerful.<br />
<br />
* MAIN_APPLICATION_TITLE => This will change the title of software (that appears on the login page by default). Warning, changing this may make Dolibarr version detection fails by smartphone applications like [[Application Android - DoliDroid]]<br />
<br />
* MAIN_AUTOFILL_DATE => If this constant is defined (to something else than 0), the date of invoice, proposal, order or payment are filled with current date. It is highly recommended to NOT ENABLE this feature. This create a lot of input errors with no data not validated by users. This lead in bad values saved in database giving headaches when you have to do your accountancy reports ! However some users want it, so we provide it.<br />
<br />
* MAIN_DISABLE_FULL_SCANLIST => Constant to define to disable complete scan of tables to know the total amount of element to allow the pagination to show total number of pages. To activate on systems with a very important number of data (Tables with more than 500 000 records).<br />
<br />
* MAIN_FIRST_TO_UPPER => Dolibarr add uppercase to thirdparties, contacts or members names if not done. Warning, with some languages (whose words with uppercase are not same words, or pagecode does not always have an uppercase, like cyrillic languages), this feature may alter your data.<br />
<br />
* MAIN_ENABLE_LOG_TO_HTML (MAIN_LOGTOHTML before 3.9) => If this constants is defined, it is possible to have logs inside pages by adding the parameter &logtohtml=1 into URL.<br />
<br />
* MAIN_USE_HOURMIN_IN_DATE_RANGE => On all entities lines (invoice, order, contract...), it is possible to add hour and minutes with date on fields "date start" and "date end".<br />
<br />
* MAIN_REMOVE_INSTALL_WARNING => Remove all security warning that appears to administrator users if URL /install is public. You should solve the problem if warning occurs instead of removing this warning. For this, put a file called install.lock into Dolibarr root directory. This will remove warning but also make the page /install not possible to use to protect your installation.<br />
<br />
* MAIN_OPTIMIZE_SPEED => Use some speed enhancements. See page [[Increase_Performance]] for more information.<br />
<br />
* MAIN_REPLACE_TRANS_xx_XX => Where xx_XX is language code. If value is string1:newstring1;string2:newstring2 then replace string1 with newstring1 in all translation done for language xx_XX.<br />
<br />
* MAIN_REPEATCONTACTONEACHTAB => If added and set to 1, this add contacts on all tabs, not only main tab.<br />
<br />
* MAIN_DISABLE_JQUERY_JNOTIFY => Disable usage of JNotify to show confirm or error messages<br />
<br />
* MAIN_USE_JQUERY_JEDITABLE => Allow to update from screen, directly into database, some properties of elements (invoices, proposals, ...) using Ajax. This make response time faster, but avoid using this features, because, it overpass some business actions (updates on other data that should be done consistently) and ignore business controls on data you saved. So this feature breaks consistency of data and stability of software.<br />
<br />
* MAIN_USE_JQUERY_MULTISELECT => Allow to use Ajax when a choice that require multiselect is used (for the moment only external modules uses select box with multiselect values). Set the value to the jQuery plugin name to use (multiselect, multiple-select, select2…). Setting it to any other value will result in unwanted side-effects and/or bugs.<br />
<br />
* MAIN_HELPCENTER_LINKTOUSE => Define the url link to use as the target page for link "I need help" onto logon page<br />
<br />
* MAIN_MODULES_FOR_EXTERNAL => Limit available modules for external users. By default value is 'facture,commande,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda'<br />
<br />
* MAIN_SHOW_TUNING_INFO => Add tuning information into javascript console. Better when xdebug is enabled.<br />
<br />
* MAIN_DOL_SCRIPTS_ROOT => Define directory who contains 'scripts' directory (e.g /var/www/dolibarr)<br />
<br />
* MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING => A warning saying setup of modules is not complete is shown if number of enabled modules is lower or equal than this value (1 if not defined)<br />
<br />
* MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE => Add signature of the first sale representative into documents (at end of public notes).<br />
<br />
* MAIN_DISABLE_AJAX_COMBOX => If you have a large number of third parties or products, you can disable the autocomplete feature on the third parties list by setting constant MAIN_DISABLE_AJAX_COMBOX to 1 into Home-Setup-Other (with Dolibarr v3.6.0+).<br />
<br />
* MAIN_USE_CACHE_MANIFEST => Add an HTML5 cache manifest to the page - Attention, this functionality is obsolete and removed from web standards<br />
<br />
* MAIN_FORCELANGDIR => relative path of the directory holding your custom langs folder.<br />
<br />
* MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS => allow to define a default VAT rate<br />
<br />
* MAIN_HTML_TITLE => can be used to control how html title is formatted. If value contains key 'noapp', application name will not be output. If value contains 'thirdpartynameonly', on tab for thirdparties, only name of thirdparties are output. Value can be list of tags: 'noapp;thirdpartynameonly'<br />
<br />
* MAIN_LANDING_PAGE => (>= 3.9). Can choose the first page to show after login (the landing page). This option works as a global option (llx_const) and per user option (llx_user_param).<br />
<br />
* MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN => (>= 4.0) When creating an order, contract, invoice from another object, specific contacts of objects are set as specific contact of the new object when possible.<br />
<br />
* MAIN_WEIGHT_DEFAULT_ROUND => Accuracy of weight (number of decimals)<br />
<br />
* MAIN_WEIGHT_DEFAULT_UNIT => Default unit for weight (0=kg, -3=g, ...)<br />
<br />
* MAIN_VOLUME_DEFAULT_ROUND => Accuracy of volume (number of decimals)<br />
<br />
* MAIN_VOLUME_DEFAULT_UNIT => Default unit for weight (0=kg, -3=g, ...)<br />
<br />
* MAIN_PUBLIC_NOTE_IN_ADDRESS >=4.0 => show public note in address block<br />
<br />
* MAIN_DEFAULT_PAYMENT_TERM_ID => With id of a payment term, will use this as default payment term each time you create a new proposal, order, invoice (customer and supplier)<br />
<br />
* MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND => Change way of rounding total TTC lines, rounding first of after<br />
<br />
* MAIN_VIEW_LINE_NUMBER => Shows a line number against each line in the order/invoice for products/services. On screen only, not on PDF.<br />
<br />
* MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME => Add name of thirdparty at begin of generated document<br />
<br />
* MAIN_DOC_USE_TIMING => Add a timestamp at end of generated document. Value must be format of timestamp. For example: %Y%m%d%H%M<br />
<br />
* MAIN_DISABLEDRAFTSTATUS => Disable the status Draft for some object (project, donation, ...)<br />
<br />
* MAIN_USE_OLD_SEARCH_FORM => Display the old search form in left menu<br />
<br />
* MAIN_SERVER_TZ => If you can't set timezone of your PHP, set this constant. Better is to set it to UTC. In future, this constant will be forced to 'UTC' so PHP server timezone will not have effect anymore. Examples : Europe/Paris, auto.<br />
<br />
== Look or Theme ==<br />
* MAIN_OPTIMIZEFORTEXTBROWSER => Optimize output rendering for usage of a text browser (usefull for blind people)<br />
* THEME_ELDY_DISABLE_IMAGE => Disabled images of top menu for eldy theme.<br />
* MAIN_MENU_HIDE_UNAUTHORIZED => Hide menu if logged in user is not autorized rather than just grey them<br />
<br />
== Email and SMS ==<br />
* MAIN_MAIL_DEBUG => Write content with header of last mail into file dolibarr_mail.log into directory dolibarr_main_data_root.<br />
<br />
* MAIN_SMS_DEBUG => Write content of SMS sent into file dolibarr_sms.log into directory dolibarr_main_data_root.<br />
<br />
* MAIN_MAIL_ALLOW_SENDMAIL_F => On Linux or BSD system, PHP email function use the command sendmail local to server. In some cases, the sender email must be provided on command line of sendmail with option -f. This option is here to ask Dolibarr to call the function '''mail''' of PHP by adding value for the option -f. Note that in most cases, even with sendmail, sender email is correctly managed as it is added in the email technical header. This option is here only for rare setup of sendmail that ask the '''-f''' option to be mandatory or for sendmail setup that does not use by default the Return-path of header email to define the sender (with this option, the return-path will be provided also on command line and not lost by sendmail).<br />
<br />
* MAIN_MAIL_SENDMAIL_FORCE_BA => On Linux or BSD system, PHP email function use the command sendmail local to server. In some case, we want to recipient to be provided to sendmail into the email content instead of its command line parameter. For this we must add the '''-ba''' parameter to sendmail. This option ask PHP to provide this parameter when sending a mail. Note that another solution is to edit the '''mail.force_extra_parameters=-ba''' into '''php.ini''' file.<br />
<br />
* MAIN_MAIL_NO_FULL_EMAIL => Recipient email and sender are cleaned to be on form "<email>" instead of "Name <email>". This might solve problem of compatibility with very old mailers.<br />
<br />
* MAIN_FIX_FOR_BUGGED_MTA => Some MTA agent are bugged and add some CR chars each time they saw a LF. Because Dolibarr emails are forged to be already cleaned, if MTA agent do that, you will send an email with two CR chars. This may result in having recipient not able to read your email. To fix this, add this constant to 1. Dolibarr will then create an email that is not RFC compliant but because the MTA agent is bugged, the email will be modified and become correct during sending, solving the problem of bad email received. Add this constant if your recipient experience problems when opening email for example users using webmail of orange.fr or hotmail.com<br />
<br />
* MAIN_MAIL_DO_NOT_USE_SIGN => Do not add user signature at end of suggested pre-defined email<br />
<br />
* MAIL_FORCE_DELIVERY_RECEIPT_INVOICE => Set default as "Yes" on requesting delivery receipt when sending email through the ''Customer Invoice'' module.<br />
<br />
* MAIL_FORCE_DELIVERY_RECEIPT_ORDER => Set default as "Yes" on requesting delivery receipt when sending email through the ''Customer Order'' module. <br />
<br />
* MAIL_FORCE_DELIVERY_RECEIPT_PROPAL => Set default as "Yes" on requesting delivery receipt when sending email through the ''Customer Proposal'' module.<br />
<br />
* MAIN_EMAIL_USECCC => 1 = Show field BCC into email forms, If email = Show BCC prefilled with email.<br />
<br />
* MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO => Email to use as a BCC recipients when sending email for proposal, order or invoice. You can make this value visible by setting MAIN_EMAIL_USECCC (to 1 or to another email, see previous point)<br />
<br />
* MAIN_EMAIL_ADD_TRACK_ID => When value is 1 (this is also default value if option is not set): The record "Message-id" added into smtp header includes a tracking id to define where the email was sent from. When value is 2: you send an email from third party card, the sender email is completed with the email source tracking string "+thiXXX" on email (your email will be sent with the "From" that is myname+thi123@mycompany.com). So when user receiving email will make "Answer", email will be sent to myname@mycompany.com but with the tracking id included (into header or into target email), allowing you to know to which third party or object, the email exchange is related to.<br />
<br />
* MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL => Restrict sending of 1 email message to x recipients for same email message (x for To: + CC: + BCC:). If not defined, value is 10. Required to fight against spamming that include 1000 recipients in 1 message. Note that MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL and MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL are also available.<br />
<br />
* MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML => Force to send all email (event with text only content) as HTML formatted email.<br />
<br />
* MAIN_MAIL_USE_MULTI_PART => Forge email content using an alternate text part (for 5.0.2+). By default with 6.0+<br />
<br />
* MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS => If images were stored into the medias directory from CKEditor, then images into emails are replaced with "inline content". This may increase seriously risk of being detected as SPAM.<br />
<br />
* MAIN_COPY_FILE_IN_EVENT_AUTO => Add attachement document on event auto generated by sending email from dolibarr. (v6.0+)<br />
<br />
* MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS => Enter the public ip address of the server, so it will appears into the help on the email setup page.<br />
<br />
* MAIN_MAIL_ENABLED_USER_DEST_SELECT => Show also internal users into list of recipients of email in email sending form (v8.0+)<br />
<br />
== Third Parties module ==<br />
* SOCIETE_DISABLE_CUSTOMERS => Remove all menu and features related to customers<br />
* SOCIETE_DISABLE_PROSPECTS => Remove all menu and features related to prospects<br />
* SOCIETE_DISABLE_STATE => Do not use field "state/province"<br />
* THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT => Do not set status "Customer/Prospect" to "on" when creating a new third party from menu "New third party".<br />
* THIRDPARTY_NOTSUPPLIER_BY_DEFAULT => Do not set status "Supplier" to "on" when creating a new third party from menu "New third party".<br />
* SOCIETE_SORT_ON_TYPEENT = The combo list of "type of third party" is sorted on a field "position" that appears into dictionary instead of alphabetical order.<br />
* THIRDPARTY_DEFAULT_CREATE_CONTACT (Dolibarr 5.0+) => Default Third party create are individual<br />
* MAIN_THIRDPARTY_CREATION_INDIVIDUAL (Dolibarr <5.0) => Default Third party create are individual<br />
* THIRDPARTY_DEFAULT_USEVAT => When creating a new third party, the field "Use vat" is set to on or off depending on value of this parameter.<br />
* THIRDPARTY_DEFAULT_USELOCALTAX1 => When creating a new third party, the field "Use second tax" is set to on or off depending on value of this parameter.<br />
* THIRDPARTY_DEFAULT_USELOCALTAX2 => When creating a new third party, the field "Use third tax" is set to on or off depending on value of this parameter.<br />
* THIRDPARTY_INCLUDE_PARENT_IN_LINKTO => Search also for elements on parent third party when using the "link to" object feature.<br />
* THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO => Search also for elements on third party that own the project of the current element when using the "link to" object feature (if project is owned by a different thirdparty than current one).<br />
* SOCIETE_ASK_FOR_SHIPPING_METHOD => Shipping method can be predefined on customer card and will be used as default on order creation<br />
* THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD => When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.<br />
* MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL => External users are always restricted on the thirdparty of their contact record. With this option, permission "see all thirdparty" may works also for external user. Not implemented yet...<br />
<br />
== Proposals module ==<br />
* PROPAL_CLONE_ON_CREATE_PAGE => On the create proposal page, ask if we want to create the proposal by cloning an already existing one. You should use instead the "Clone" button available on existing proposals.<br />
* MAIN_PROPAL_CHOOSE_ODT_DOCUMENT => On setup page, you'll be able to select which ODT document to use when close or cancel proposals.<br />
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Add a picture of the product (the first one found if there are several) into the generated PDF of proposals. Note that using this will reduce the available width for the product description.<br />
* PROPAL_DISABLE_SIGNATURE => Do no show the box for signature.<br />
* WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES => Button "Classified Billed" is visible on proposal even if there is no invoice linked to proposal.<br />
* PRODUIT_PDF_MERGE_PROPAL => When generating the proposal PDF, all PDFs linked to products linked to proposal are also included into final PDF<br />
* PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD => When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key.<br />
<br />
== Order module ==<br />
* COMMANDE_REQUIRE_SOURCE => Make the input field "Source of order" mandatory.<br />
* COMMANDE_VALID_AFTER_CLOSE_PROPAL => When an order is created on a proposal close, the order is directly defined with status "Validated".<br />
* COMMANDE_CHANGE_THIRDPARTY => Can change customer on orders<br />
* ORDER_ALLOW_EXTERNAL_DOWNLOAD => When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key.<br />
<br />
== Invoice module ==<br />
* MAIN_DEPOSIT_MULTI_TVA => In deposits invoice, creates one line per VAT rate from the origin document (6.0)<br />
* FACTURE_SHOW_SEND_REMINDER => Show link "Send reminder by mail", same feature than "Send by mail" (obsolete feature).<br />
* INVOICE_CAN_ALWAYS_BE_EDITED => Allow to edit invoices even if payment was started. Note: If the module "'''BlockedLog'''" is active (required by some countries for legal reason), this will not change content of archived logs tracked by this module. By definition there is no way to change or remove archived records. It will just update data in your application and a new record to track your change into the non reversible archive log.<br />
* INVOICE_CAN_ALWAYS_BE_REMOVED => Allow to always delete invoices (even if invoice is not last one). Note: If the module "'''BlockedLog'''" is active (required by some countries for legal reason), this will not change content of archived logs tracked by this module. By definition there is no way to change or remove archived records. It will just update data in your application and a new record to track your change into the non reversible archive log.<br />
* INVOICE_CAN_NEVER_BE_REMOVED => Never allow to delete invoices (except draft invoices).<br />
* INVOICE_POSITIVE_CREDIT_NOTE => All amounts on PDF credit notes are positive.<br />
* FACTURE_CHANGE_THIRDPARTY => Allow to change the third party in the draft invoices. If a discount was set from the original thirdparty, then discount remain, making data not coherent.<br />
* FACTURE_USE_PROFORMAT => Enable PROFORMAT invoices type.<br />
* FACTURE_DEPOSITS_ARE_JUST_PAYMENTS => Treats deposit invoices as a special case. Deposit invoices don't get counted on turnover. They are then applied as a payment, like a discount, on the final invoice. By default, when you include the deposit into draft of final invoice, the amount of final invoice is reduced. With this option, final amount is not reduced but a payment is registered. <br />
* FACTURE_SENDBYEMAIL_FOR_ALL_STATUS => Can send invoice by email to customer even if invoice has status "draft".<br />
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT => Disable VAT on genrated documents. like for an association. (it's work with crabe template)<br />
* INVOICE_CREDIT_NOTE_STANDALONE (dolibarr 3.9) => Can make a credit note without invoice.<br />
* INVOICE_USE_SITUATION = Enable the "situation invoice" feature<br />
* INVOICE_DISABLE_DEPOSIT = Disable deposit invoices<br />
* INVOICE_DISABLE_REPLACEMENT = Disable replacement invoices<br />
* INVOICE_DISABLE_CREDIT_NOTE = Disable credit notes<br />
* WORKFLOW_BILL_ON_SHIPMENT = Change label of button with suitable label when you need to create invoice on shipments<br />
* INVOICE_ALLOW_EXTERNAL_DOWNLOAD => When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key.<br />
<br />
== Expense Report ==<br />
* EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS => Can enter several expense reports on same or overlapping date periods.<br />
<br />
== Export module ==<br />
* EXPORT_CSV_SEPARATOR_TO_USE => String value to use as separator to delimit fields int exported files (by default Dolibarr use ","). Example: EXPORT_CSV_SEPARATOR_TO_USE=;<br />
* EXPORT_CSV_FORCE_CHARSET => Choose the charset of file built by CSV export. By default: UTF-8. Example: EXPORT_CSV_FORCE_CHARSET=ISO-8859-1<br />
* EXPORTTOOL_CATEGORIES => Can export categories (several lines) into one column with the "product export profile"<br />
* USE_STRICT_CSV_RULES => Use strict/real CSV format for export. Do not clean/replace CR+LF with '\n' but quote them using the escaping CSV char (").<br />
<br />
== Agenda module ==<br />
* AGENDA_MAX_EVENTS_DAY_VIEW => Define the maximum number of visible entries for each day in agenda. Default value is 3. Value 0 means no limit.<br />
* AGENDA_USE_EVENT_TYPE => Add a mandatory field "Type" when creating an event (deprecated).<br />
* AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS => To automatically set end date of event to start date + delta on event creation page.<br />
* MAIN_ADD_EVENT_ON_ELEMENT_CARD => Allow to create an event from a document (proposal, order, invoice)<br />
<br />
== Products module ==<br />
* MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE => Avoid Custom code and country of origin to be set as product description when added to Propal/Order/Invoice<br />
* PRODUCT_ADD_TYPE_IN_DOCUMENTS => Add text "Product" or "Service" at beginning of details lines on built PDF documents.<br />
* PRODUCT_DONOTSEARCH_ANYWHERE => When Ajax search is enabled, search is done on criteria anywhere in label of product. By adding this option, search is done only on start of label. This is really faster when you have a huge number of products.<br />
* PRODUIT_DESC_IN_LIST => Show long description of product/service into lists.<br />
* PRODUIT_PDF_MERGE_PROPAL => Enable module Propal merge product PDF<br />
* PRODUCT_USE_OLD_PATH_FOR_PHOTO => Ask dolibarr to check also old path (before 3.7) where photos were stored.<br />
* PRODUCT_USE_UNITS => Enable units from dictionary in product/service card.<br />
* PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL => When option to use price per level/segment is on, this allows to also set a dedicated vat for each price level.<br />
* MAIN_DIRECT_STATUS_UPDATE => Allows you to change the status of the product (''for sale/not for sale for purchase/not for purchase'') directly on the product page via a ''on/off'' switch button. This can be convenient for those who need to quickly disable certain statuses of products without having to go through the editing product page individually. Also can be very useful if used as a filter on the product and product search list. This option doesn't generate a MODIFY trigger, so be careful with external modules. v4.0+<br />
<br />
* PRODUCT_CHARGES => Adds an extra field for adhoc charges at the product buying price stage. The Cost price is then calculated with supplier price + charges if defined. Useful for extra costs for a product or certain delivery charges to the product.<br />
<br />
* PRODUCT_MAX_VISIBLE_PHOTO => Show a maximum number of product photos (as thumbnails) on the product main card. Example, setting this constant to '5' will show the first five product photos found on the product card.<br />
* PRODUCT_MAX_LENGTH_COMBO => limit the length of the label displayed when adding lines in proposals/invoices/orders<br />
* MAIN_DISABLE_FREE_LINES (>= 8.0) => Disallow using free lines to add line in documents<br />
<br />
== Services module ==<br />
* SERVICE_ARE_ECOMMERCE_200238EC => If this option is enabled, services are processed like eServices according to directive of EU Council Directive 2002/38/EC (http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en.htm). Default VAT rate are based on buying country instead of selling country for BtoC sells.<br />
<br />
== Stocks ==<br />
* SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED => Disable stock dispatch when total expected was already received.<br />
<br />
== Shipments ==<br />
<br />
== Point of Sale ==<br />
* CASHDESK_SHOW_KEYPAD => Show a mouse key pad into Point Of Sale.<br />
* POS_ADDON = Set this value to an existing numbering module rule (for example 'mod_facture_terre', 'mod_facture_mars', ...) to force the numbering module to us to define the invoice ref when invoice is created by the POS. For example setting value POS_ADDON to 'mod_facture_terre' will use the numbering module 'terre' for invoice generated from POS, whatever is the numbering rule defined into invoice module setup (you can also use POS_NUMBERING_TERRE_FORCE_PREFIX and POS_NUMBERING_MARS_FORCE_PREFIX variable to change the prefix used).<br />
<br />
== Contracts ==<br />
* CONTRACT_SUPPORT_PRODUCTS => Products are also suggested into module contract.<br />
<br />
== Projects module ==<br />
* PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS => Enable linking a project to any supplier even when using the third party link feature. Note: Set to 1 by default from 3.7.<br />
* PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS => Can add time spent on tasks, even if i am not assigned to task (however, task must be a project i am a contact).<br />
* PROJECT_SHOW_REF_INTO_LISTS => Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)<br />
* PROJECT_HIDE_UNSELECTABLES => Hide into select list, all project that we can't select (closed or draft)<br />
* PROJECT_HIDE_TASKS => Hide tasks. For user using project only as an analytics key and not using tasks.<br />
* PROJECT_LIST_SHOW_STARTDATE => Shows start date of projects in project lists.<br />
* PROJECT_LINK_ON_OVERWIEW_DISABLED (4.0) => Hide the "link to" form on the overview page<br />
* PROJECT_CREATE_ON_OVERVIEW_DISABLED (4.0) => Hide the "create ..." button on the overview page<br />
* PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY => Can link an object to a project of another thirdparty<br />
* PROJECT_ALLOW_COMMENT_ON_TASK => Add comment feature on project task<br />
<br />
== Foundation module ==<br />
* MEMBER_URL_REDIRECT_SUBSCRIPTION => Link called and shown when a member account is autocreated in member module by a guest user.<br />
* MEMBER_EXT_URL_SUBSCRIPTION_INFO => Link of external page pointed by the "Show here" link added in front off payment cell, into the page to make online subscription.<br />
<br />
== Interventions module ==<br />
* FICHINTER_CLASSIFY_BILLED => Allow to classify an intervention card as "Billed". This add also trigger FICHINTER_CLASSIFY_BILLED into list of possible automatic event into agenda.<br />
* FICHINTER_DISABLE_DETAILS => Disable entry of details line on intervention. Can validate with no line.<br />
<br />
== Suppliers module ==<br />
* FOURN_PRODUCT_AVAILABILITY => On the Suppliers price page of the products, activate the supplier product availability. This is duplicate feature with delivery_delay introduced with 3.8.<br />
* SUPPLIER_ORDER_AUTOADD_USER_CONTACT => Add user approving supplier order as a contact automatically.<br />
* SUPPLIER_ORDER_USE_DISPATCH_STATUS => Add a status on each dispatch order line when receiving products from suppliers (v4.0+)<br />
* SUPPLIER_ORDER_NO_DIRECT_APPROVE => No button "Validate and Approve". Always do step "Validate" and "Approve" in 2 steps.<br />
* SUPPLIER_ORDER_WITH_NOPRICEDEFINED => Can enter a product even if no supplier price defined. (v6.0+)<br />
* SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT => Can modify the buying price used for PMP calculation when making a stock reception on a supplier order. (v6.0+)<br />
<br />
== Bank module ==<br />
* BANK_CAN_RECONCILIATE_CASHACCOUNT (3.8) => Can reconciliate cash accounts<br />
* BANK_DISABLE_CHECK_DEPOSIT => Disable check deposit feature<br />
* BANK_ASK_PAYMENT_BANK_DURING_ORDER => Ask bank account during creation of an order<br />
* BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL => Ask bank account during creation of a proposal<br />
<br />
== Emailing module ==<br />
* MAILING_PREFIX_FOR_EMAIL_ID => Set the value that will be used to compose the "Email Id" into email headers. If you set this value to 'SERVER_NAME', the virtual host of web server will be used. By default, this is not defined, so a hash key, unique to each instance, is used.<br />
* MAILING_NO_USING_PHPMAIL => If set, the module emailing can't be use with mail setup of "phpmail". Using a thirdparty SMTP server is required. You can complete warning message by adding an email to contact for setup help with constant MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS.<br />
* MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS => Contains an email to show in a message visible to user when he try to use emailing module without SMTP server and if option MAILING_NO_USING_PHPMAIL is set to on.<br />
* MAILING_LIMIT_WARNING_PHPMAIL => Show a warning message (var contains the message to show or translation key) on emailing send form if setup is on "phpmail". For example, you can set this parameter to 'MAILING_LIMIT_WARNING_PHPMAIL' and enter translation key for each language for this key.<br />
* MAILING_LIMIT_WARNING_NOPHPMAIL => Show a warning message (var contains the message to show or translation key) on emailing send form if setup is something else than "phpmail". For example, you can set this parameter to 'MAILING_LIMIT_WARNING_NOPHPMAIL' and enter translation key for each language for this key.<br />
* EMAILING_USE_ADVANCED_SELECTOR => Enable the advanced selector for destinaries<br />
<br />
* MAILING_LIMIT_SENDBYWEB => Restrict number of emails you can send in same sending session with emailing module from GUI. The value "dolibarr_mailing_limit_sendbyweb" if defined into config file is used in priority for this limit. A negative value means, sending by web is forbidden.<br />
* MAILING_LIMIT_SENDBYCLI => Restrict number of emails you can send in same sending session with emailing module from CLI script. The value "dolibarr_mailing_limit_sendbycli" if defined into config file is used in priority for this limit.<br />
<br />
== PDF options ==<br />
* MAIN_DISABLE_FORCE_SAVEAS => If your browser ask always to save downloaded files on disk (like PDF), try to add this option. File might appears directly into your browser.<br />
<br />
* MAIN_DISABLE_PDF_COMPRESSION => Disable PDF compression.<br />
<br />
* MAIN_INVERT_SENDER_RECIPIENT => Invert sender and recipient in some PDF.<br />
<br />
* MAIN_DISABLE_PDF_AUTOUPDATE => Disable automatic generation of PDF each time we add/update/delete a product line (we can still build document by clicking on "Generate"). This option may increase interface speed on servers with low CPU.<br />
<br />
* MAIN_USE_BACKGROUND_ON_PDF => Define this constant with short name of an image (example "myimage.jpg") that must be saved into directory "documents/mycompany/logos". This will add this background image into your generated PDF files. Warning: This option make TCPDF library beeing crazy sometime and content on image disappeared !<br />
<br />
* MAIN_ADD_PDF_BACKGROUND => Define this constant with short name of a PDF file (example "mypdf.pdf") that must be saved into directory "documents/mycompany". This will add PDF as a background of some of your generated PDF files (proposals,invoices,orders). If you need to concat PDF, see instead [[Module Concat PDF]].<br />
<br />
* MAIN_PDF_FORCE_FONT => To ignore font defined into language file and force usage of a particular font. For example "DejaVuSans".<br />
<br />
* MAIN_PDF_FREETEXT_HEIGHT => Change height of space reserved to output the free text.<br />
<br />
* MAIN_PDF_TITLE_BACKGROUND_COLOR => Can define a background color onto title line. Example: '220,220,200'<br />
<br />
* MAIN_USE_COMPANY_NAME_OF_CONTACT => Use contact name and information rather than company<br />
<br />
* MAIN_ODT_AS_PDF => Activate PDF conversion from ODT document. If value is 'jodconverter', java and jodconverter command line tool must be available. If value is '/pathto/jodconverter.jar', then java and the jodconvertar jar must exists. soffice must also be available. MAIN_DOL_SCRIPTS_ROOT Must also be defined to path where the "scripts" directory is stored (for example /var/www/mydolibarr).<br />
<br />
* MAIN_ODT_AS_PDF_DEL_SOURCE => For ODT generation. If set, then initial behaviour is conserved but odt file is removed when option to convert it as PDF (see previous) is on. Disabled by default<br />
<br />
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Include the first image of the product into the line of the generated PDF for customer proposals.<br />
<br />
* MAIN_GENERATE_INVOICES_WITH_PICTURE => Include the first image of the product into the line of the generated PDF for customer invoices.<br />
<br />
* MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE => Include the first image of the product into the line of the generated PDF for supplier proposals (v5.0.3+)<br />
<br />
* MAIN_DOCUMENTS_WITH_PICTURE_WIDTH => Can change size of picture when hidden option MAIN_GENERATE_PROPOSALS_WITH_PICTURE is used. By default value is 20.<br />
<br />
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN => Hide column with VAT information but only column not total.<br />
<br />
* PDF_SHOW_PROJECT => Show project onto PDF (supported on supplier order only for the moment)<br />
<br />
* PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN => Hide bank number ("code banque/guichet/compte" for france, "sort number/account" for GB, ...) and keep only BIC/IBAN on PDF.<br />
<br />
* PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES => Value 1 or 2 change the way product ref is show (1 = show supplier ref only and not internal ref, 2 = show supplier then internal). Without, internal ref then supplier is shown.<br />
<br />
* MAIN_PDF_ADDALSOTARGETDETAILS => Add particular details like the telephone number on generated PDFs. Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.<br />
<br />
* PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME => Include alternative/alias name into name on PDF.<br />
<br />
== WYSIWYG Editor ==<br />
<br />
* FCKEDITOR_ENABLE_DETAILS_FULL => Can cut and paste external images (hosted on external server) into description of proposal, orders or invoices. WARNING: PDF generation is not guaranted with this. Also if the image is removed or renamed by the image hoster, your proposal, order or invoice will be broken.<br />
<br />
<br />
== BlockedLog ==<br />
<br />
* BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY => Make disable of module "blockedlog" not possible for countries code defined into value. Example: 'FR,...'<br />
<br />
== MultiCurreny ==<br />
<br />
* MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION => Enable CurrencyLayer API synchronization</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Table_llx_facture_fourn&diff=38752Table llx facture fourn2018-07-02T14:49:51Z<p>Yves.brungard: </p>
<hr />
<div>[[Category:Table SQL]]<br />
[[Category:Fournisseur]]<br />
[[Category:Supplier]]<br />
[[Category:Proveedores]]<br />
<br />
{{ListOfTables}}<br />
<br />
= Content/Contenu/Contenido =<br />
{{flag en}} Contains invoices sent by suppliers. A supplier invoice can be linked to a supplier order ([[Table llx_commande_fournisseur]]) by the [[Table llx_element_element]].<br />
<br />
{{flag fr}} Cette table contient la liste des factures émises par les fournisseurs. Une facture fournisseur peut être liée à une commande fournisseur ([[Table llx_commande_fournisseur]]) au travers de la [[Table llx_element_element]]<br />
<br />
{{flag sp}} Contiene las facturas emitidas por los proveedores. Una factura de proveedor puede estar enlazada con un pedido a proveedor ([[Table llx_commande_fournisseur]]) a traves de la [[Table llx_element_element]].<br />
<br />
= Structure =<br />
== Table ==<br />
{| align="left" width="100%" border="0" cellpadding="1" cellspacing="0" class="dolbox"<br />
|style="background-color: #e9e9ef"| <b>Field</b><br />
|style="background-color: #e9e9ef"| <b>Type</b><br />
|style="background-color: #e9e9ef"| <b>Null</b><br />
|style="background-color: #e9e9ef"| <b>Key</b><br />
|style="background-color: #e9e9ef"| <b>Default</b><br />
|style="background-color: #e9e9ef"| <b>Extra</b><br />
|style="background-color: #e9e9ef"| <b>Description</b><br />
|- <br />
| rowid <br />
| int(11) <br />
| NO<br />
| PRI<br />
| <br />
| auto_increment <br />
| technical index<br />
|-<br />
| ref<br />
| varchar(180) <br />
| NO <br />
| <br />
| <br />
| <br />
| invoice number<br />
|-<br />
| ref_supplier<br />
| varchar(180) <br />
| NO <br />
| <br />
| <br />
| <br />
| invoice number from supplier<br />
{{FieldEntity}}<br />
{{FieldRefExt}}<br />
|- <br />
| type <br />
| smallint(6) <br />
| NO <br />
| <br />
| 0 <br />
| <br />
| type of invoice (0=Standard invoice, 1=Replacement invoice, 2=Credit note invoice). For the moment only 0 is supported.<br />
|-<br />
| fk_soc <br />
| int(11) <br />
| NO <br />
| UNI<br />
| <br />
| <br />
| ID society ([[Table llx_societe|llx_societe]]->rowid)<br />
|-<br />
| datec <br />
| datetime <br />
| YES <br />
| <br />
| NULL <br />
| <br />
| creation date<br />
|-<br />
| datef <br />
| date <br />
| YES <br />
| <br />
| NULL <br />
| <br />
| date of invoice<br />
|-<br />
| date_pointoftax<br />
| date <br />
| YES <br />
| <br />
| NULL <br />
| <br />
| date point of tax (for GB)<br />
|-<br />
| date_valid<br />
| date <br />
| YES <br />
| <br />
| NULL <br />
| <br />
| date validation<br />
{{FieldTms}}<br />
|-<br />
| libelle <br />
| varchar(255) <br />
| YES <br />
| <br />
| NULL <br />
| <br />
| label<br />
|-<br />
| paye <br />
| smallint(6) <br />
| NO <br />
| <br />
| 0 <br />
| <br />
| Is the invoice payed (1=yes, 0=otherwise)?<br />
|-<br />
| amount <br />
| double(24,8) <br />
| NO <br />
| <br />
| 0.00000000 <br />
| <br />
| amount<br />
|-<br />
| remise <br />
| double(24,8) <br />
| YES <br />
| <br />
| 0.00000000 <br />
| <br />
| discount<br />
|-<br />
| close_code <br />
| varchar(16) <br />
| <br />
| <br />
| <br />
| <br />
| Code motif clôture sans paiement complet<br />
|-<br />
| close_note <br />
| varchar(128) <br />
| <br />
| <br />
| <br />
| <br />
| Commentaire clôture sans paiement complet<br />
|-<br />
| tva <br />
| double(24,8) <br />
| YES <br />
| <br />
| 0.00000000 <br />
| <br />
| VAT<br />
{{FieldLocalTaxX}}<br />
|-<br />
| total <br />
| double(24,8) <br />
| YES <br />
| <br />
| 0.00000000 <br />
| <br />
| total amount<br />
|-<br />
| total_ht <br />
| double(24,8) <br />
| YES <br />
| <br />
| 0.00000000 <br />
| <br />
| total amount excluding VAT<br />
|-<br />
| total_tva <br />
| double(24,8) <br />
| YES <br />
| <br />
| 0.00000000 <br />
| <br />
| total amount of VAT<br />
|-<br />
| total_ttc <br />
| double(24,8) <br />
| YES <br />
| <br />
| 0.00000000 <br />
| <br />
| total amount with VAT<br />
|-<br />
| fk_statut <br />
| smallint(6) <br />
| NO <br />
| <br />
| 0 <br />
| <br />
| Status of invoice (0=draft, 1=unpayed, 2=payed, 3=abandoned)<br />
|-<br />
| fk_user_author <br />
| int(11) <br />
| YES <br />
| MUL <br />
| NULL <br />
| <br />
| ID of user author of invoice ([[Table llx_user|llx_user]]->rowid)<br />
|-<br />
| fk_user_modif <br />
| int(11) <br />
| YES <br />
| MUL <br />
| NULL <br />
| <br />
| ID of user making last change of invoice ([[Table llx_user|llx_user]]->rowid)<br />
|-<br />
| fk_user_valid <br />
| int(11) <br />
| YES <br />
| MUL <br />
| NULL <br />
| <br />
| ID of user validator of invoice ([[Table llx_user|llx_user]]->rowid)<br />
|-<br />
| fk_facture_source <br />
| int(11) <br />
| YES <br />
| MUL <br />
| NULL <br />
| <br />
| ID of the invoice source in case of credit note ([[Table llx_facture_fourn|llx_facture_fourn]]->rowid)<br />
|-<br />
| fk_projet <br />
| int(11) <br />
| YES <br />
| MUL <br />
| NULL <br />
| <br />
| ID of related project ([[Table llx_projet|llx_projet]]->rowid)<br />
|-<br />
| fk_account <br />
| int(11) <br />
| YES <br />
| MUL <br />
| NULL <br />
| <br />
| ID of bank account ([[Table llx_bank_account|llx_bank_account]]->rowid)<br />
|-<br />
| fk_cond_reglement <br />
| int(11) <br />
| NO <br />
| <br />
| 1 <br />
| <br />
| Id of payment condition ([[Table llx_c_payment_term|llx__c_payment_term]]->rowid)<br />
|-<br />
| fk_cond_reglement<br />
| int(11) <br />
| YES <br />
| MUL <br />
| NULL <br />
| <br />
| ID of payment mode ([[Table llx_c_paiement|llx_c_paiement]]->rowid)<br />
|-<br />
| date_lim_reglement<br />
| date <br />
| YES <br />
| MUL <br />
| NULL<br />
|<br />
| date limit for payment<br />
|-<br />
| note_private<br />
| text <br />
| YES <br />
|<br />
| NULL <br />
| <br />
| private commentary<br />
|-<br />
| note_public <br />
| text <br />
| YES <br />
| <br />
| NULL <br />
| <br />
| public commentary<br />
|-<br />
| location_incoterms<br />
| varchar(255) <br />
| <br />
|<br />
| <br />
| <br />
| for incoterms<br />
|-<br />
| model_pdf<br />
| varchar(255) <br />
| <br />
|<br />
| <br />
| <br />
| <br />
|-<br />
| last_main_doc<br />
| varchar(255) <br />
| <br />
|<br />
| <br />
| <br />
| relative filepath+filename of last main generated document<br />
{{FieldImportKey}}<br />
|-<br />
| extraparams <br />
| varchar(255) <br />
| <br />
|<br />
| <br />
| <br />
| for stock other parameters with json format<br />
|-<br />
| fk_multicurrency<br />
| int(11) <br />
| YES <br />
| <br />
| NULL <br />
| <br />
| ID of currency<br />
|-<br />
| multicurrency_code <br />
| varchar(255) <br />
| <br />
|<br />
| <br />
| <br />
| <br />
|-<br />
| multicurrency_tx <br />
| double(24,8) <br />
| YES <br />
| <br />
| 1 <br />
| <br />
| <br />
|-<br />
| multicurrency_total_ht <br />
| double(24,8) <br />
| YES <br />
| <br />
| 0.00000000 <br />
| <br />
| <br />
|-<br />
| multicurrency_total_tva<br />
| double(24,8) <br />
| YES <br />
| <br />
| 0.00000000 <br />
| <br />
| <br />
|-<br />
| multicurrency_total_ttc<br />
| double(24,8) <br />
| YES <br />
| <br />
| 0.00000000 <br />
| <br />
| <br />
|-<br />
|}&nbsp;<br />
<br />
== Keys ==<br />
{| align="left" width="100%" border="0" cellpadding="1" cellspacing="0" class="dolbox"<br />
|style="background-color: #e9e9ef"| <b>Key</b><br />
|style="background-color: #e9e9ef"| <b>Type</b><br />
|style="background-color: #e9e9ef"| <b>Fields</b><br />
|- <br />
| PRIMARY<br />
| PRIMARY<br />
| rowid<br />
|- <br />
| uk_facture_fourn_ref <br />
| UNIQUE<br />
| ref,entity<br />
|- <br />
| uk_facture_fourn_ref_supplier <br />
| UNIQUE<br />
| ref_supplier,fk_soc,entity<br />
|- <br />
| idx_facture_fourn_date_lim_reglement<br />
| MULTIPLE<br />
| date_lim_reglement<br />
|- <br />
| idx_facture_fourn_fk_soc <br />
| MULTIPLE<br />
| fk_soc <br />
|- <br />
| idx_facture_fourn_fk_user_author <br />
| MULTIPLE<br />
| fk_user_author <br />
|- <br />
| idx_facture_fourn_fk_user_valid <br />
| MULTIPLE<br />
| fk_user_valid <br />
|- <br />
| idx_facture_fourn_fk_projet <br />
| MULTIPLE<br />
| fk_projet <br />
|}&nbsp;<br />
<br />
= Notes =<br />
{{flag en}} Attention, if the status is 1 (unpayed) but the field "paye" is also 1 (payed), which should never happen under normal use, the invoice is specified payed.<br />
<br />
{{flag fr}} Attention, si le statut est à 1 (impayée) mais le champ "paye" est à 1 également (payée), ce qui ne devrait jamais arriver dans des conditions normales d'utilisation, la facture est indiquée comme payée.<br />
<br />
{{flag sp}} Atención, si el statut está a 1 (impagada) pero el campo "paye" está a 1 también (pagada), cosa que nunca pasa en condiciones normales de uso, la factura se indicará como pagada.</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Roadmap_and_Release_7.0.0&diff=38624Roadmap and Release 7.0.02018-06-15T10:19:32Z<p>Yves.brungard: Corection of the date of release, based on files date on sourceforge.net</p>
<hr />
<div>[[Category:RoadMap]]<br />
{{TemplateVersion|<br />
version=7.0| <br />
date=Februar 18th, 2018|<br />
mainfocus=Accountancy, BlockedLog module}}<br />
<br />
'''Detailed Changelog''':<br />
<pre>For users:<br />
NEW: Add a preview icon after files that can be previewed (pdf + images)<br />
NEW: When payment is registered, PDF of invoices are also regenerated so payments<br />
appears with no need to click on regenerate.<br />
NEW: #5711 Add shipment line deleting and editing for draft shipments.<br />
NEW: Accept substitution key __(ABC)__ replaced with value of translation of key ABC<br />
NEW: Accept substitution key __[ABC]__ replaced with value of const ABC<br />
NEW: Accountancy Add fields for sale accounting account for intracommunity sales & export sales<br />
NEW: Add a button "Activate all services" on contracts<br />
NEW: Add a confirmation for all mass action 'delete'<br />
NEW: Add a group task line for tasks on same level on gantt diagram<br />
NEW: Add and edit country for chart of accounts systems<br />
NEW: add a new notification for the signed closed event of a proposal.<br />
NEW: Add a parameter to specify char used as separator for variant product label<br />
NEW: Add a profile to import product translations<br />
NEW: Add a protection so we can't journalize non balanced transactions<br />
NEW: Add a status enabled/disabled on recurring invoices<br />
NEW: add burger menu to list action comm<br />
NEW: Add button cancel on shipment creation<br />
NEW: Add chart of account for england<br />
NEW: Add Chile accounting plan<br />
NEW: Add class in societe/card.php<br />
NEW: add company alias name when create company from member<br />
NEW: Add date of birth on user card.<br />
NEW: Add date_valid and date_pointoftax on supplier invoices.<br />
NEW: Added Region name to state/province form field<br />
NEW: Added regions to third party/societe lists, can be filtered<br />
NEW: Add error message<br />
NEW: Add expense report rules and ik<br />
NEW: Add filter on event code on automatic filling setup page<br />
NEW: Add filters on month/year on the accountancy binding tools<br />
NEW: add fk_unit field into product/service import/export<br />
NEW: add 'formObjectOptions' hook to the form setting the product selling price<br />
NEW: Add hidden option PROJECT_DISABLE_UNLINK_FROM_OVERVIEW<br />
NEW: add image object_phoning_mobile.png<br />
NEW: Adding Field "First date of expire" + filter on contract list<br />
NEW: add ldap_rename for avoid password if ldap key changed<br />
NEW: Add mass action "validate" on supplier invoices.<br />
NEW: add members types ldap group management<br />
NEW: Add new property visible dy default on lists on extrafields<br />
NEW: Add Next/Previous button on operation date of bank line<br />
NEW: Add option EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS<br />
NEW: Add option PROPOSAL/ORDER/INVOICE_ALLOW_EXTERNAL_DOWNLOAD<br />
NEW: Add product unit fields for ODT substitution<br />
NEW: Add project on a various payment<br />
NEW: Add project related fields to ODT<br />
NEW: Add protection to avoid to send to much emails using builk actions<br />
NEW: Add search field for date on supplier payment page<br />
NEW: Add search on date and accounting account in various payment list<br />
NEW: add specific translation for title of documents (Invoice, Order, Proposal)<br />
NEW: Adds the payment reference to the return of the function getListOfPayements<br />
NEW: Add supplier proposals into stats of product page.<br />
NEW: Add tab "Expense report" on user card<br />
NEW: add the ability to regenerate a pdf for the order module<br />
NEW: Add The accountancy Switzerland chart of accounts<br />
NEW: Add The developed French chart of accounts 2014<br />
NEW: Add The Luxembourg chart of accounts<br />
NEW: Add The Moroccan chart of accounts<br />
NEW: Add The Switzerland chart of accounts<br />
NEW: Add The SYSCOHADA chart of accounts<br />
NEW: Add the total in the perday view of the time spent form.<br />
NEW: Add The Tunisia chart of accounts<br />
NEW: Add toolkit for StockLimit and DesiredStock<br />
NEW: add translation and possibility to change month and year<br />
NEW: Add view of status of template invoice<br />
NEW: All search boxes are available on smartphone<br />
NEW: All setup of accountancy can be done from menu "Accountancy-Setup"<br />
NEW: Attaching doc automatically in email is now a parameter of template.<br />
NEW: automatic activation of external module on country set<br />
NEW: Better autoselect customer or supplier fields to save clicks<br />
NEW: Better behaviour when using a text browser<br />
NEW: Break lines per project on the new timesheet page<br />
NEW: Bulk action validate on customer invoices<br />
NEW: Bulk delete actions available on leave requests<br />
NEW: burger menu and hooks on list action<br />
NEW: Can add html content on right of tabs<br />
NEW: Can add link to other element on a donation<br />
NEW: Can create intervention from a proposal<br />
NEW: Can create thirdparty from card proposal, order or invoice<br />
NEW: Can download PDF document from the payment page<br />
NEW: Can edit the language into the email templates editor.<br />
NEW: Can edit with delete/insert a forced translation<br />
NEW: Can export list of stock movements<br />
NEW: Can filter on date on the page showing existing bindings<br />
NEW: Can filter on document name in ECM module for automatic tree<br />
NEW: can filter on status of template invoices<br />
NEW: Can filter on the "other" column on emailing target list<br />
NEW: Can filter on type of email template<br />
NEW: Can filter on user on unalterable log<br />
NEW: Can import local tax rates in prices<br />
NEW: Can include extrafields into member card templates<br />
NEW: Can include tag {uuu} into some numbering masks to replace with user<br />
NEW: Can make a specific setup for SMTP sending for emailing module<br />
NEW: Can rename (so reorder) bank receipts<br />
NEW: Can send email from contract card<br />
NEW: Can send email from the member card using email templates.<br />
NEW: Can set a dedicated message on payment forms<br />
NEW: Can set email of thirdparty as unique and/or mandatory<br />
NEW: Can setup csv accounting export from admin config<br />
NEW: Can show currency in list of bank accounts<br />
NEW: Can show stock in alert even if alter is set to 0<br />
NEW: Can sort joined files on thirdparty and user card.<br />
NEW: Can transfer from bank account to bank account with different currencies<br />
NEW: Can use an url like $conf->global>-MYPARAM for menu urls<br />
NEW: change description on click<br />
NEW: Chart of account is loaded when selected into accounting setup<br />
NEW: Classify the order as invoiced in the REST API<br />
NEW: comments system on task<br />
NEW: comment system working with all objects<br />
NEW: Compatibility with PHP 7.2<br />
NEW: confirm form style to accept or reject proposal<br />
NEW: Create an invoice using an existing order<br />
NEW: Create an order using an existing proposal<br />
NEW: customizable meteo in value or percentage<br />
NEW: Days where user is on vacation use different colors in timesheet.<br />
NEW: Deduct an available credit to an existing invoice<br />
NEW: Default filter and sort order can use partial list of query<br />
NEW: Deposit invoice more explicit in invoice line description<br />
NEW: deposits can be converted even if unpaid<br />
NEW: detection of edge browser<br />
NEW: Each user can edit its own email template (menu tools)<br />
NEW: Enabled sending email in bulk actions for supplier orders<br />
NEW: Enhance the anti XSS filter<br />
NEW: extrafield on facture_rec<br />
NEW: Extrafields "link to object" now use a combo selection and getNomUrl<br />
NEW: filter date for blockedlog<br />
NEW: filter on extrafield on product list (as in company list)<br />
NEW: General ledger : Add field date_creation and selected field<br />
NEW: generate also document when invoice is build from recurring template<br />
NEW: Generated files are now indexed in database<br />
NEW: generate invoice PDF on disount application or payment<br />
NEW: Get a list of payments terms<br />
NEW: hrm details output on user<br />
NEW: If max nb of generation is reached, date for next gen is striked<br />
NEW: improvements of invoices, orders and proposals in the REST API<br />
NEW: Include a color syntaxed HTML editor for emailing edition.<br />
NEW: Introduce code syntax coloration with mode 'ace' for DolEditor.<br />
NEW: Introduce experimental feature to search dolistore from application<br />
NEW: jquery date selector become default date selector<br />
NEW: langs<br />
NEW: link project from other company conf<br />
NEW: manageme extrafields with multientity<br />
NEW: Mass PDF Merging is available on contracts<br />
NEW: merge categories while merging thirdparties<br />
NEW: Merge resource/add.php to resource/card.php<br />
NEW: Module "Product variants" is moved as stable.<br />
NEW: More picto for phone<br />
NEW: Move accountancy features into a dedicated menu<br />
NEW: Move contacts of a thirdparty on tab Contacts/Addresses<br />
NEW: Move the upload input on top right in ECM module<br />
NEW: new columns into extrafields table to get update create information<br />
NEW: new param on load_board() function in ActionComm class to avoid duplicate code<br />
NEW: On bulk email from a list, can uncheck "Join main document".<br />
NEW: On reconciliation, show balance including all reconciliated fields<br />
NEW: Option "one email per recipient" when using bulk actions emails.<br />
NEW: Option STOCK_SUPPORTS_SERVICES become visible.<br />
NEW: option to avoid countries to disable there blockedlog<br />
NEW: option to fix top menu with eldy theme (hidden conf)<br />
NEW: Popup for preview of image add a button "Original size"<br />
NEW: post lines of an invoice using the REST API<br />
NEW: preload comments in task<br />
NEW: Provide a way to download a file from a public URL for files in ECM<br />
NEW: Reduce size of HTML page by removing duplicate tooltips<br />
NEW: Remove background on agenda view when event is a not busy event.<br />
NEW: Retrieves available discounts and payments details from a specific invoice<br />
NEW: Revenue stamp can be a percent<br />
NEW: Search filters in lists are restored when using "back to list"<br />
NEW: Send by email available in bulk for expense report<br />
NEW: Set a proposal to draft<br />
NEW: Show badge with nbr of shipment on shimpen tab of order<br />
NEW: Show country and vat number into company tooltip<br />
NEW: Show direct preview link on contract<br />
NEW: Show expected worked hours on the timesheet form.<br />
NEW: Show line "other filtered task" when using filter on timesheet.<br />
NEW: Show list of tracked events into the module config page.<br />
NEW: Show the supplier ref into supplier cards<br />
NEW: Show user id of web process in system info - web server<br />
NEW: Summary of last events on a card are sorted on decreasing date.<br />
NEW: Support Italian addresses format. Fixes #7785<br />
NEW: Support visibility on extrafields<br />
NEW: Template invoices are visible on the customer tab<br />
NEW: template invoices support substition key<br />
NEW: The bank account is visible on payment of taxes<br />
NEW: The comment when closing a proposal is added to commercial proposal<br />
NEW: The gantt diagram is now sensitive to hours<br />
NEW: The lot of a product uses the link and picto when shown into list.<br />
NEW: The "Show detail by account" accepts 3 values: yes, no, if non zero<br />
NEW: The unalterable log can be browse by any user with he permission<br />
NEW: Tooltip for substitutions variables on tooltips on admin pages<br />
NEW: unexistant function load_state_board() on several objects<br />
NEW: Update availability<br />
NEW: Update bank account when updating an invoice<br />
NEW: Update bank account when updating an order<br />
NEW: Use autocompletion on selection of chart of account<br />
NEW: view company name if different of fullname in dol_banner<br />
NEW: warning on module blocked log reset if country code is FR<br />
<br />
For developers:<br />
NEW: Add 2 new automatic classification in workflow module<br />
NEW: Add API for contracts<br />
NEW: Add API to activate/unactivate a contract<br />
NEW: Add api validate and close on contracts<br />
NEW: add doActions hook in admin ihm<br />
NEW: add doActions hook in company admin<br />
NEW: Added functionality to get order customer contact as contact_xx tags<br />
NEW: Add hook addAdminLdapOptions and doAction in ldap admin page<br />
NEW: Add method executeCLI and a phpunit<br />
NEW: add '$moreatt' parameter in picto_from_langcode function<br />
NEW: Add non intrusive js library to make syntaxic coloring of textarea<br />
NEW: Add payment line to a specific invoice using the REST API<br />
NEW: add possibility to disabled the LDAP trigger<br />
NEW: add possibility to hide LDAP tab for non admin<br />
NEW: Add possibility to propose last num releve in conciliation<br />
NEW: add possibility to remove address field<br />
NEW: Add REST API for supplier proposals<br />
NEW: Add REST API to add payment line to a specific invoice<br />
NEW: Add the attribute accept to the input form for file upload<br />
NEW: add translation column for extrafields list<br />
NEW: Add performances indexes on calendar events<br />
NEW: A module can change order of element in the quick search combo<br />
NEW: Can test signature of a version from API<br />
NEW: complete_head_from_modules() in ldap_prepare_head()<br />
NEW: Consolidates REST dictionary APIs into a single tree and a single file<br />
NEW: Delete a line of invoice using the REST API<br />
NEW: documents REST API return list of documents by element<br />
NEW: Download a document using the REST API<br />
NEW: Enhance framework so we can use html/icons into SELECT options.<br />
NEW: External module can interact with the customer summary page<br />
NEW: Generates the document before downloading using REST API<br />
NEW: get and post lines of an invoice using the REST API<br />
NEW: Get a payment list of a given invoice using the REST API<br />
NEW: Get available assets of an invoice using the REST API<br />
NEW: Get credit notes or deposits of a thirdparty<br />
NEW: GET lines of an invoice in the REST API<br />
NEW: get payment types using the REST API + consolidates REST dictionary APIs<br />
NEW: Get the list of payments terms.<br />
NEW: hook formObjectOptions in the form setting product selling price<br />
NEW: hook to enrich homepage open elements dashboard<br />
NEW: Insert a discount in a specific invoice using the REST API<br />
NEW: Remove js library fileupload that was not used by core code.<br />
NEW: Remove tooltip tipTip library replaced with standatd jquery tooltip<br />
NEW: Set invoices as draft using the REST API<br />
NEW: Sets an invoice as paid using the REST API<br />
NEW: Tag the order as validated (opened) in the REST API<br />
NEW: Update end of validity date of proposal using the API<br />
NEW: Update in the order REST API<br />
NEW: Upgrade jquery select2 to 4.0.4<br />
<br />
<br />
WARNING:<br />
<br />
If you enabled (for test) the experimental BlockedLog module before 7.0, you must purge the table llx_blockedlog because<br />
way to save data for final version has changed.<br />
<br />
Following changes may create regressions for some external modules, but were necessary to make Dolibarr better:<br />
* The methode "cloture" on contract were renamed into "closeAll".<br />
* The method "is_erasable" of invoice return a value <= 0 if not erasable (value is meaning) instead of always 0. <br />
* The substitution key for reference of objects is now __REF__ whatever is the object (it replaces __ORDERREF__, <br />
__PROPALREF__, ...)<br />
* The substition key __SIGNATURE__ was renamed into __USER_SIGNATURE__ to follow naming conventions. <br />
* Substitution keys with syntax %XXX% were renamed into __XXX__ to match others.<br />
* Removed old deprecated REST API (APIs found into '/root' section of the REST API explorer in Dolibarr v6).<br />
* Some REST API to access setup features, like dictionaries (country, town, extrafields, ...) were moved into a <br />
common API "/setup".<br />
* The REST API /documents were renamed into /documents/download and /documents/upload. <br />
* Page bank/index.php, bank/bankentries.php and comm/actions/listactions.php were renamed into <br />
bank/list.php, bank/bankentries_list.php and comm/actions/list.php to follow page naming<br />
conventions (so default filter/sort order features can also work for this pages).<br />
* The trigger ORDER_SUPPLIER_STATUS_ONPROCESS was renamed into ORDER_SUPPLIER_STATUS_ORDERED.<br />
* The trigger ORDER_SUPPLIER_STATUS_RECEIVED_ALL was renamed into ORDER_SUPPLIER_STATUS_RECEIVED_COMPLETELY.<br />
* The parameter note into method cloture() is added at end of private note (previously in v6, it replaced).<br />
* The parameter $user is now mandatory for method createFromOrder and createFromPropal.<br />
* Removed js library 'fileupload' that was not used by core code.<br />
* Jquery plugin tableDnd updated. You now need to use decodeURI on the return value of tableDnDSerialize() <br />
and add 'td.' to the beginning of the dragHandle match string. <br />
* IE8 and earlier and Firefox 12 and earlier (< 2012) are no more supported. <br />
* The module ExpenseReport use numbering rules that you can setup (like other modules do). If you need to <br />
keep the hard coded numbering rule of expenses report used in 6.0, just add constant<br />
EXPENSEREPORT_USE_OLD_NUMBERING_RULE to 1.<br />
* If you use the external module "multicompany", you must also upgrade the module. Multicompany module for<br />
Dolibarr v7 is required because with Dolibarr v7, payment modes and payment conditions are management as data<br />
that are dedicated to each company. If you keep your old version of multicompany module, mode and<br />
condition of payments will appears empty in all companies that are not the first one. By upgrading the <br />
multicompany module to a version that support Dolibarr v7, everything should work as expected. <br />
</pre></div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Module_Factures_Clients&diff=38539Module Factures Clients2018-05-17T06:43:03Z<p>Yves.brungard: Ajout impression en masse</p>
<hr />
<div>{{TemplateDocUtil}}<br />
{{TemplateModFR}}<br />
[[Category:Facture]]<br />
{{BasculeDevUser|<br />
nom=Factures|<br />
num=30|<br />
devdoc=[[Module Factures Clients (développeur)]]|<br />
userdoc=Cette page|}}<br />
<br />
= Introduction =<br />
Le module Factures Clients permet de saisir, modifier ou créer une facture composée de lignes de factures. <br />
C'est également ce module qui permet de saisir les paiements réalisés sur une facture.<br />
Il inclut également les fonctions de génération d'une facture dans un format de document comme un PDF.<br />
<br />
Les factures fournisseurs sont gérées par le [[Module Fournisseurs Factures]].<br />
<br />
= Installation =<br />
{{NoInstallModuleFr}}<br />
<br />
= Configuration =<br />
{{ActivationModuleFr}}<br />
<br />
<br />
La page [[Configuration module facture]] vous explique comment configurer le module Facturation et donne quelques exemples de modèles de factures.<br />
<br />
= Création de facture =<br />
<br />
A ce stade de développement Dolibarr n'inclut pas de véritable comptabilité au sens légal. Vous devez donc, soit utiliser en parallèle un logiciel dédié de comptabilité, soit confier la tenue de la comptabilité à un cabinet comptable.<br />
<br />
En revanche Dolibarr vous permet bien sûr d'établir des factures aux clients que vous avez préalablement saisis (voir [[Module Tiers]]).<br />
<br />
Vous pouvez créer une facture directement à partir d'une fiche client, depuis une proposition commerciale classée acceptée, ou à partir d'une commande clôturée à l'état "accepté", ou encore depuis un contrat de service.<br />
<br />
'''Types de factures'''<br />
<br />
Si vous créez une facture depuis une fiche client, vous pouvez choisir 4 types de factures:<br />
<br />
* Les factures de "doit"<br />
Il s'agit d'une facture standard.<br />
Il n'y a aucun prérequis.<br />
<br />
* Les factures de "doit" de remplacement<br />
Une facture de remplacement permet de refaire une facture sur laquelle il y aurait des erreurs et sur laquelle rien n'aurait été fait (aucun paiement saisi).<br />
<br />
On ne peut créer qu'une seule facture de remplacement pour une facture de "doit" donnée. Quand on créé une facture de remplacement R, on choisit la facture de doit F qui doit être remplacée. Il n'est alors plus possible de faire d'actions sur la facture F, bien que cette dernière ne change pas de statut après que la facture de remplacement R ait été créée au statut '''brouillon'''.<br />
<br />
Si la facture de remplacement R est supprimée, la facture F reprends son état initial et le cycle de vie de la facture F peut reprendre.<br />
<br />
Si la facture de remplacement R est '''validée''', la facture F passe alors au statut '''abandonnée''' automatiquement. Le cycle de vie continue sur la facture R.<br />
<br />
* Les factures d'avoir<br />
On crée une facture d'avoir sur une facture de "doit".<br />
On peut créer plusieurs factures d'avoir sur une facture donnée. La facture d'avoir est transformée en réduction qui sert à réduire le paiement de n'importe quelle autre facture en attente de paiement.<br />
<br />
* Les factures d'acomptes<br />
Vous pouvez créer autant de facture d'acompte que désiré. Une facture d'acompte sera ensuite convertie en réduction (déjà payé) pour une autre facture (la facture définitive) sur laquelle porte l'acompte.<br />
<br />
<br />
'''Procédure'''<br />
<br />
Une fois une facture créée (en mode ''brouillon''), vous devez intégrer, dans la facture, des Produits ou Services déjà définis dans Dolibarr ou bien dont vous saisissez directement l'intitulé, le taux de TVA, le prix unitaire.<br />
Pour chaque ligne de la facture vous définissez aussi une quantité et éventuellement une remise (pourcentage).<br />
<br />
Une fois la facture prête vous devez la valider. Quand vous validez la facture un numéro lui est attribué selon le modèle de numérotation que vous avez choisi dans la configuration du module Facture.<br />
Si une erreur est détectée après avoir validé la facture, vous pouvez modifier la facture en cliquant sur le bouton '''modifier''' en bas de la fiche facture ( si la facture n'a pas atteint le status Payé), ou ré-ouvrir le facture pour la modification avec le bouton '''réouvrir''' en bas de la fiche facture( si la facture a atteint le statut Payé).<br />
<br />
'''Règles de calcul de la TVA'''<br />
<br />
* Les règles de calculs de la TVA sont expliquées sur la page: [[Règles de calcul et arrondi de TVA]].<br />
<br />
'''Timbre fiscal'''<br />
<br />
* Certains pays (comme la tunisie) sont soumis à un timbre fiscal (montant d'une taxe fixe pour chaque facture produite). La liste des pays et montants concernés se paramètre dans la [[Table_llx_c_revenuestamp]]. Si le pays de la société fait partie de cette configuration, alors un champ "Timbre fiscal" apparait sur les écrans et documents de facture.<br />
<br />
= Réduire le montant total et/ou le solde à payer =<br />
Il est possible de réduire le montant total et/ou le solde à payer d'une facture, mais il convient de faire une distinction entre une remise et une réduction, bien que ces deux termes soient un peu amalgamés par endroits.<br />
== Réduction ==<br />
Une '''réduction''' est une réduction relative (pourcentage) du prix de vente d'un ou de plusieurs produits ou services détaillés dans la facture. Cette réduction doit être définie ligne par ligne lors de l'édition de la facture et être comprise entre 0% et 100% (NB : le pourcentage de remise est remplacé dans le cas 100% de réduction par la mention ''offert'').<br />
<br />
== Remise ==<br />
Une '''remise''' est une réduction du prix total de la facture. Elle peut être définie de deux manières selon qu'elle est ou non associée à une autre facture, c'est-à-dire à un versement déjà perçus ou non. <br />
=== Remise associée à un trop perçu ===<br />
Les factures d'avoir et factures d'acompte, qui sont saisies pour tracer des versements perçus (en trop pour la facture avoir ou en avance pour l'acompte), peuvent être ''converties en réduction future''. Après conversion en réduction, elles apparaissent dans la section ''Remises fixes'' du tiers. Il sera alors possible de l'attribuer à une autre facture pour en réduire le montant. <br />
<br />
Le trop-perçu, lié au règlement d'une facture supérieur au montant de la facture, apparaît également dans les remises.<br />
<br />
Lorsque le montant de la remise est supérieur à celui de la facture à régler, depuis la liste des remises, on sépare la remise en deux (bouton à droite de la ligne) avec un premier montant correspondant à la facture, puis le solde. On peut alors utiliser une partie de cette remise pour l'appliquer au règlement de la facture qui peut alors être classer "Réglée".<br />
<br />
Dans le cas de l'utilisation d'une remise dans une nouvelle facture, elle sera mentionnée soit sous forme de paiement réduisant le reste à payer, soit sous forme d'une ligne de détail de la facture.<br />
Par défaut, il s'agit d'une ligne de détail ajouté à la facture et donc réduisant le montant total de cette nouvelle facture.<br />
<br />
Rem: L'option cachée FACTURE_DEPOSITS_ARE_JUST_PAYMENTS permet d'avoir cette déduction qui apparaît comme montant déjà payé et non comme diminution du montant total de la facture finale. Dans ce cas, les factures acomptes ne sont pas incluses dans les calculs de chiffre d'affaires (puisqu'inclut dans le montant total de la facture finale). Le bon choix de cette option dépendra des règles comptable de votre pays, mais les 2 sont en général acceptés.<br />
<br />
=== Remise non associée à un versement déjà perçu ===<br />
Il est aussi possible de définir une remise qui n'est pas relative à un versement déjà perçu. Dans ce cas, il faut aller sur la fiche du client, onglet ''client'', et définir la ou les remises fixes (montant) ou relatives (pourcentage) qu'on attribue à ce client, et pourquoi (geste commercial, compensation suite à retard de livraison, etc). Une fois ces remises attribuées au client, elles seront disponibles lors de l'édition de n'importe quelle facture de ce client, dans la rubrique '''Remises''' en haut de page. A l'inverse des remises consécutives à des versements déjà perçus, celles-ci seront mentionnées comme des lignes négatives dans le détail de la facture, et réduiront donc le montant total de celle-ci, avant déduction des versements éventuellement déjà perçus. Mais ces remises ne sont PAS associées à une facture avoir ou d'acompte.<br />
<br />
== Rabais ==<br />
A compléter<br />
<br />
== Escompte ==<br />
A compléter<br />
<br />
== Résumé == <br />
Il y a donc 3 possibilités pour réduire le prix d'une facture : <br />
* attribuer une '''réduction''' en pourcentage sur certains produits/service détaillés dans la facture, ce qui aura pour effet de définir un '''montant total''' plus bas que normalement prévu;<br />
* attribuer au client une '''remise globale''', non associée à une facture avoir ou d'acompte, et qui sera alors ajoutée comme une ligne de montant négatif qui réduira le '''montant total''' de la facture;<br />
* mentionner, via des '''factures avoir ou d'acompte''' transformées en réduction future, que des versements anticipés ont déjà été perçus, ce qui réduira le '''solde à payer''' mais pas le montant total de la facture;<br />
<br />
= Génération PDF, Impression, Envoi =<br />
Lorsqu'un document est généré, il est fabriqué suivant un modèle choisi parmi une liste activée dans les écrans Accueil - Configuration - Modules - Facture<br />
<br />
Pour que le document intègre le numéro de compte bancaire de votre société ou l'adresse de paiement par chèque (ou les 2), il convient de :<br />
# activer le module Banques/Caisses<br />
# Créer le compte de votre société<br />
# Paramétrer le module Factures et Avoirs en allant dans '''Configuration - Modules - Factures et Avoirs''' puis cliquer sur l’icône configuration, choisir dans la rubrique "Mode de règlement" le compte créé à l'étape 2 ci-dessus, où l'adresse à utiliser pour le paiement par chèque, et valider le changement en cliquant sur le bouton "Modifier" de la rubrique.<br />
Vous pouvez maintenant régénérer votre facture, et vous verrez, pour le modèle crabe, le RIB ou les coordonnées s'afficher sous les conditions de paiement.<br />
<br />
Si vous avez activé l'envoi par e-mail, un bouton spécifique "Envoyer par email" est disponible. Il fait apparaître en bas de la fenêtre un formulaire d'envoi, avec la facture en pièce jointe. Vous pouvez également définir un modèle de rappel pour les factures impayées.<br />
<br />
Dans le cas d'une ligne provenant d'un produit ou d'un service enregistré, la référence, le libellé et la description sont affichés par défaut. Si vous souhaitez masquer la référence ou la description, vous pouvez le faire en passant par '''Accueil - Configuration - PDF'''.<br />
<br />
Vous avez deux options que vous pouvez modifier :<br />
* Cacher la description des produits sur les PDF générés<br />
* Cacher la référence des produits sur les PDF générés<br />
<br />
Ce paramétrage s'applique aussi aux propositions commerciales et aux commandes<br />
==Impression en nombre==<br />
Si vous souhaitez imprimer plusieurs factures en une seule fois, vous pouvez générer un document PDF rassemblant les documents à imprimer, puis ouvrir et imprimer ce document.<br />
<br />
Pour cela, à partir de '''Facturation|Paiement - Factures clients - Liste''', <br />
* appliquer un filtre qui vous convient pour faire apparaître toutes les factures à imprimer ensemble, <br />
* cocher globalement (case à cocher en haut de colonne à droite) ou individuellement les documents souhaités,<br />
* '''-- Sélectionner l'action-- - Fusion PDF''' dans la liste déroulante qui apparaît à partir de la coche d'au moins une case, et<br />
* appuyer sur '''Confirmer'''.<br />
Un lien vers un document PDF est ajouté dans une liste qui se trouve sous le tableau (appuyer sur '''Afficher la liste des fichiers générés en masse''' si nécessaire).<br />
<br />
= Saisir les paiements =<br />
Les paiements ne peuvent s'effectuer que sur des factures validées.<br />
<br />
Si un avoir est disponible, il pourra être imputé sur une facture d'un montant total inférieur à celui de l'avoir.<br />
<br />
Après la saisie du paiement, il est possible de régénérer le PDF de la facture pour y faire apparaître le règlement effectué et le solde à payer.<br />
<br />
= Clore une facture =<br />
<br />
Une facture validée peut être définitivement classée à l'état:<br />
* Payé (Si la somme des paiements est supérieure ou égale au montant réclamé).<br />
* Payé partiellement (Si la somme des paiements est supérieure à 0 mais strictement inférieure au montant réclamé).<br />
* Abandonné (Si aucun paiement n'a eu lieu).<br />
<br />
= Exporter les factures =<br />
<br />
Dolibarr fournit un outil générique vous permettant d'exporter les données de vos factures.<br />
Pour cela, il faut utiliser l'assistant Export qui se trouve dans le menu '''Outils - Nouvel export''' (Si le [[Module Exports]] a été activé).<br />
<br />
Voir la page [[Module Exports]] pour plus d'informations.<br />
<br />
= Factures pré-définies =<br />
Dans Dolibarr, une facture désignée comme pré-définie est simplement une facture dont on réutilise la plupart des données pour émettre d'autres factures sur base de ces informations, ce qui permet un gain de temps non-négligeable à la saisie<br />
<br />
Dans le cas de la mise en oeuvre des contrats, une facture prédéfinies peut être définie et correspondant aux éléments récurrents du contrat. Ceci est très intéressant. <br />
Le seul bémol, la période indiquée pour chaque élément de la facture résultante couvre toute la période du contrat. Elle ne devrait porter que sur le mois de facturation.<br />
<br />
<br />
= Exemples de cas d'utilisations =<br />
== Acomptes ==<br />
{{ExamplesCaseFr<br />
|nom=UCIN01: Réception acompte de 10 pour une commande de 100 puis facture finale<br />
|situation=Réception acompte à commande puis facture finale<br />
|actions=Je reçois un règlement d'acompte de mon client.<br />
Je crée '''de zéro''' pour ce client une '''facture d'acompte''' du montant effectivement '''reçu''' de 10 avec, par exemple, le libellé "''Acompte sur prestation/produit/facture/commande/... n° XXXX''".<br />
<br />
Je '''convertis''' ensuite cette facture en '''réduction future'''.<br />
<br />
La facture de doit, complète, éventuellement créée à partir de la proposition ou de la commande précédente, peut avoir été générée avant ou après, cela est indépendant. <br />
<br />
Dans cette facture de doit, j'inclus la réduction de l'acompte, ce qui réduit le reste à payer. La facture de doit se retrouve à un total de 90.<br />
<br />
Rem: si l'option cachée FACTURE_DEPOSITS_ARE_JUST_PAYMENTS est définie, elle vaudra 100 mais dans ce cas, les factures acomptes ne seront pas incluses dans le calcul des chiffres d'affaire.<br />
<br />
J'envoie ou réenvoie la facture de doit générée qui indique qu'un (ou plusieurs) acompte a déjà été reçu.<br />
}}&nbsp;<br />
<br />
== Facturation et paiements ==<br />
{{ExamplesCaseFr<br />
|nom=UCIN02: Facturation et paiement intégral'''<br />
|situation=Je crée une facture.<br />
Je reçois l'intégralité des paiements.<br />
|actions=Je saisis tous les paiement sur la facture. Le solde devient à 0.<br />
Je peux classer la facture à '''Payée'''.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN03: Facturation et paiement supérieur reçu<br />
|situation=Je crée une facture.<br />
Je reçois un paiement supérieur au montant réclamé.<br />
|actions=Je saisis le montant reçu.<br />
Je clos la facture à l'état '''Payé'''.<br />
Je crée un avoir du trop perçu.<br />
Rem: L'action reste à étudier car ne semble pas ok: Voir http://www.dolibarr.fr/forum/12-howto--aide/35761-trop-percu/post?do=reply avec proposition de solution.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN04: Facturation et paiement intégral puis produit retourné<br />
|situation=Je crée une facture.<br />
Je reçois l'intégralité des paiements. Je les saisis et le solde devient 0.<br />
Je clos la facture à l'état '''Payé'''.<br />
Plus tard, je reçois un retour de produit suite à rétractation légale.<br />
|actions=Je saisis un avoir sur cette facture.<br />
Cet avoir peut etre converti en réduction pour la prochaine facture ou remboursé en monétaire.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN05: Facturation et paiement intégral puis erreur détecté sur la ligne produit'''<br />
|situation=Je crée une facture.<br />
Je reçois l'intégralité des paiements. Je les saisis et le solde devient 0.<br />
Je clos la facture à l'état '''Payé'''.<br />
Plus tard, je découvre une erreur de produit.<br />
|actions=Je saisis un avoir sur cette facture qui contient le produit en erreur.<br />
Je convertis cet avoir en réduction. <br />
Je crée une nouvelle facture avec le bon produit. J'intègre l'avoir dans cette nouvelle facture.<br />
Eventuellement si j'utilise le module stock, je corrige le stock en manuel.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN06: Facturation et paiement partiel car anticipé (escompte)<br />
|situation=Je crée une facture.<br />
Je reçois un paiement du montant de la facture moins un escompte accordé pour paiement anticipé.<br />
|actions=Je saisis le paiment reçu de la valeur reçue.<br />
Je classe la facture à '''Payé partiellement''' et renseigne le motif "Le manque est un '''Escompte'''".<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN07: Facturation et paiement partiel ou nul puis retour produit et attente correction anomalie ou erreur infine tolerable'''<br />
|situation=Je crée une facture.<br />
Si je reçois un paiement partiel, je le saisis.<br />
Je reçois un retour d'une partie des produits (retractation du client) ou ne reçois plus les quelques centimes manquant.<br />
Eventuellement, le client attend un avoir pour payer la fin de la facture.<br />
|actions=Je saisis un avoir sur la facture.<br />
J'envoie l'avoir.<br />
Ensuite, je convertis cet avoir en reduction pour le client.<br />
Je saisis eventuellement la suite des paiements reçus.<br />
Eventuellement j'inclus l'avoir dans la liste des paiements de la facture (sinon il pourra être inclu dans une autre facture).<br />
Je classe la facture à l'état '''Payé'''.<br />
<br />
'''TODO''' Contrôle a inclure en plus : Quand l'avoir est fait sur une facture au statut 'Réglement commencé', il faut mettre un message disant "Attention, ne créer un avoir sur une facture en cours de paiement que si le client a cessé le paiement et attend cet avoir pour poursuivre la suite ou parce que vous fermez la facture".<br />
Ensuite il faut vérifier que le montant de l'avoir est inférieur au montant de la facture auquel il s'applique - montant déja reçu. Sinon, refuser création avoir.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN08: Facturation et paiement partiel car mauvais payeur<br />
|situation=Je crée une facture.<br />
Je reçois un paiement partiel, je le saisis.<br />
Après une longue attente, la suite des paiements n'est pas reçue et j'abandonne tout espoir.<br />
|actions=Je classe la facture à l'état '''Payé partiellement''' et renseigne le motif '''Mauvais payeur'''.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN09: Facturation et aucun paiement reçu car mauvais payeur'''<br />
|situation=Je crée une facture.<br />
Après une longue attente, la suite des paiements n'est pas reçu et j'abandonne tout espoir.<br />
|actions=Je classe la facture à l'état '''Abandonnée''' et renseigne le motif '''Mauvais payeur'''.<br />
}}&nbsp;<br />
<br />
== Correction des erreurs de facturation ==<br />
{{ExamplesCaseFr<br />
|nom=UCIN00: Erreur sur le contenu de la facture corrigée par facture remplacement<br />
|situation=Je crée une facture.<br />
Je valide.<br />
Je me rend compte de l'erreur sur le contenu (montant, descriptif) après validation (voir use case UCIN10 en cas d'erreur sur client).<br />
|actions=Je classe la facture abandonnée pour motif 'Autre' (opération non obligatoire car automatique avec étape suivante).<br />
Je crée une nouvelle facture en choisissant '''Facture de remplacement''' et en selectionnant la facture remplacée comme facture.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN10: Erreur sur le client détecté après validation mais avant paiement<br />
|situation=Je crée une facture.<br />
Je valide.<br />
Je me rend compte que la facture a été crée sur le mauvais client.<br />
|actions=Je classe la facture abandonnée pour motif 'Autre' et je renseigne le motif "Erreur saisie sur mauvais client".<br />
Je crée une nouvelle facture sur le bon client.<br />
<br />
'''TODO''': Faire confirmer par expert que possible si c'est fait avant envoi.<br />
Si pas possible, interdire la possibilité et utiliser le cas suivant.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN10: Erreur sur le client (ou facture saisie 2 fois) détecté après envoi facture mais avant paiement<br />
|situation=Je crée une facture.<br />
Je valide et l'envoie au client.<br />
Je me rend compte que la facture a été crée sur le mauvais client ou facture en doublon avec une autre deja envoyée.<br />
|actions=Je crée un avoir sur la facture qui n'a pas encore de paiement, du montant inverse exacte.<br />
Je convertit l'avoir en réduction. L'avoir se retrouve ainsi "traité", je peux l'envoyer au client si je le désire.<br />
Je retourne sur la fiche facture en erreur et j'applique la réduction issue de l'avoir. <br />
Le du devient alors zéro et je la classe à '''Payée complètement''' (paiement de 0).<br />
Que le client ait reçu ou non la facture initiale, cette dernière a été annulée et fermé par l'avoir.<br />
Je resaisi la facture sur le bon client.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN10: Erreur sur le libellé client détecté après saisie de paiement'''<br />
|situation=Je crée une facture sur le client de libellé X.<br />
Je valide.<br />
Je saisi les paiements.<br />
Je classe la facture payée.<br />
Je me rend compte que la facture a été crée sur le mauvais client et le client me demande une contrefacture sur l'ancien nom X et une nouvelle sur le nouveau nom Y.<br />
|actions=Je crée un avoir sur la facture en erreur avec toutes les lignes en inverse.<br />
Je transforme l'avoir en réduction. L'avoir se retrouve ainsi "traité".<br />
J'édite la fiche client pour corriger le libellé client X par Y.<br />
Je crée la nouvelle facture sur le nouveau client Y en incluant toutes les lignes.<br />
Je la valide.<br />
J'inclut le paiement issue de l'avoir.<br />
Le solde passe alors à 0 (aucun du).<br />
Je peux classer la facture à '''Payée''' sans saisir d'autres réglements (le client a déjà payé).<br />
}}&nbsp;<br />
<br />
<br />
== Factures pré-définies ==<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCRIN01: Création d'une facture pré-définie<br />
|situation=Création d'une facture pré-définie<br />
|actions=Il n'est pas possible de créer une facture récurrente en partant de rien. Il s'agit d'une facture standard de doit que l'on convertie et réutilise par la suite. Voir cas d'utilisation suivant donc.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCRIN02: Transformation d'une facture standard en facture prédéfinie<br />
|situation=Transformation d'une facture standard en facture prédéfinie<br />
|actions=Je crée ou ouvre une facture brouillon. Je clique sur le bouton "Convertir en récurrente". J'entre un titre (par exemple, "Mise-à-jour trimestrielle") et éventuellement une note, qui pourrait être une explication de la raison de la répétition de cette facture. Ma facture est à présent une facture récurrente. Cela ne sera visible que si je demande l'affichage des factures récurrentes ou que je crée une nouvelle facture.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCRIN03: Utilisation d'une facture prédéfinie pour la création d'une nouvelle facture<br />
|situation=Utilisation d'une facture prédéfinie pour la création d'une nouvelle facture<br />
|actions=Je crée une nouvelle facture ("Créer facture"), et j'utilise la boîte de sélection en bas de page pour sélectionner la facture récurrente que je veux utiliser comme gabarit (template). Ma nouvelle facture est pré-remplie, les modifications à apporter sont mineures.<br />
}}</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Installation_-_Mise_%C3%A0_jour&diff=38534Installation - Mise à jour2018-05-15T06:51:13Z<p>Yves.brungard: Orthographe</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUtil}}<br />
<br />
Les procédures suivantes décrivent comment installer ou mettre à jour Dolibarr.<br />
<br />
<br />
= Procédure d'installation =<br />
Ce chapitre décrit les différentes méthodes possibles (des plus simples, aux manuels) pour une première installation. Voir plus loin pour la mises à jour.<br />
<br />
== Sur votre poste/serveur dédié ==<br />
=== [[File:Logo_windows.png]] Avec DoliWamp (package Windows .exe) ===<br />
- '''Prérequis''': Windows<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Si vous maitrisez l'installation d'un serveur Web Apache, de PHP et Mysql, le chapitre suivant est plus approprié. <br />
Pour les moins expérimentés qui sont sous Windows, il existe une distribution Dolibarr nommée '''DoliWamp''' qui permet de faire une installation Dolibarr sous Windows avec tous ses prérequis (Apache, Mysql, PHP) sans connaissance informatiques. Voici comment l'installer:<br />
<br />
* Récupérez la version de Dolibarr pour Windows.<br />
Pour cela, voir la page de [http://www.nltechno.com/pages/dolibarrwinbin.php téléchargement de DoliWamp chez NLTechno].<br />
<br />
* Lancer le .exe téléchargé et suivez les instructions.<br />
<br />
=== [[File:Logo_ubuntu.png]] Avec DoliDeb (package Debian / Ubuntu .deb) ===<br />
- '''Prerequis''': Linux Debian, Ubuntu, ...<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Cette procédure fonctionne uniquement pour les utilisateurs Linux Debian, Ubuntu et dérivés et est recommandée pour ceux qui n'ont pas de connaissances informatiques particulières. Si vous êtes un administrateur expérimenté d'Apache, PHP et Mysql, le chapitre '''Avec Dolibarr (package standard tgz)''' sera peut-être plus approprié. Dans le cas contraire, vous pouvez utilisez DoliDeb. DoliDeb est un package de Dolibarr spécialisé pour la distribution Debian ou Ubuntu. Ce package vous permet d'installer Dolibarr sous Ubuntu ou Debian (ou dérivé) avec tous ces prérequis (Apache, Mysql, PHP) s'ils ne sont pas déjà installés et ce sans connaissances techniques particulières.<br />
<br />
* La procédure pour installer DoliDeb est décrite sur la page [[Dolibarr pour Ubuntu ou Debian]].<br />
<br />
=== [[File:Logo_rpm.png|40px]] Avec DoliRpm (package Fedora, Redhat, Mandriva, Mageia ou OpenSuse .rpm) ===<br />
- '''Prerequis''': Linux Fedora, Redhat, Mandriva, Mageia or OpenSuse (peut également fonctioner pour toute distribution Linux à rpm)<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Cette procédure fonctionne uniquement pour les utilisateurs Linux d'une distribution gérant les packages rpm et est recommandée pour ceux qui n'ont pas de connaissances informatiques particulières. Si vous êtes un administrateur expérimenté d'Apache, PHP et Mysql, le chapitre suivant '''Avec Dolibarr (package standard tgz)''' sera peut-être plus approprié. Dans le cas contraire, vous pouvez utilisez DoliRpm. DoliRpm est un package de Dolibarr spécialisé pour la distribution Fedora, Redhat, Mandriva, Mageia ou OpenSuse. Ce package vous permet d'installer Dolibarr sous ces OS avec tous ces prérequis (Apache, Mysql, PHP) s'ils ne sont pas déjà installés et ce sans connaissances techniques particulières.<br />
<br />
* La procédure pour installer DoliRpm est décrite sur la page [[Dolibarr pour Redhat ou Fedora (package rpm)]] ou [[Dolibarr pour Mandriva ou Mageia (package rpm)]] ou [[Dolibarr pour OpenSuse (package rpm)]].<br />
<br />
=== [[File:Gnu.png]] Avec Dolibarr (package standard .tgz ou sources Git) ===<br />
- '''Prérequis''': Apache, PHP et un serveur de base de données (MySQL ou PostgreSQL) sont présents et opérationnels, et le login/mot de passe d'accès (à une nouvelle base ou au serveur) est connu.<br />
<br />
- '''Niveau''': Un peu de connaissances informatiques en administration Web.<br />
<br />
Cette procédure décrit l'installation manuelle (recommandée) sur un système GNU/Linux (Debian, Mandriva, ...) mais elle est valable avec d'autres systèmes comme Windows moyennant une adaptation des chemins à ceux de votre OS.<br />
Elle est applicable pour toute version de Dolibarr >= 2.0.0<br />
<br />
* Vérifiez que vous avez bien Apache, PHP {{PHPMinVersion}} et un serveur de base de données (MySQL {{MySqlMinVersion}} ou PostgreSQL) d'installés (consulter pour cela la liste des packages installés sur votre machine grâce au gestionnaire de mise à jour de package de votre distribution).<br />
<br />
* Vérifiez que l'utilisateur root ou admin principal pour le serveur de base de donnée est connu et fonctionne correctement. Si cet utilisateur root ou admin est inconnu car pas encore défini, lisez le chapitre qui suit. Sinon vous pouvez passez au point suivant:<br />
<br />
Pour les utilisateurs Linux utilisant MySql ou MariaDB, si vous venez juste d'installer la base de donnée MySQL, le login administrateur est '''root'''. Vous devez exécuter la commande suivante pour initialiser le mot de passe:<br />
<source lang="bash"><br />
mysql <br />
</source><br />
Une fois dans l'interface Mysql, taper la commande de modification du mote de passe de root:<br />
<source lang="sql"><br />
grant all privileges on *.* to root@'localhost' identified by 'newrootpass' with grant option; <br />
</source><br />
Puis entrée et pour quitter \q<br />
<br />
Pour vérifier que l'accès avec ce couple user/mot de passe fonctionne, lancer la commande<br />
<source lang="bash"><br />
mysql -u root -p<br />
</source><br />
Et taper votre mot de passe ''newrootpass'' suivi de \q pour quitter la sessions si la connexion a réussie.<br />
<br />
<br />
Pour les utilisateurs Linux utilisant Postgresql, si vous venez juste d'installer la base de donnée PostgreSQL, vous devez d'abord créer un utilisateur administrateur et son mot de passe. Pour cela, ajouter la ligne suivante dans le fichier '''/etc/postgresql/x.x/main/pg_hba.conf''' (remplacer x.x avec votre version de postgres)<br />
<source lang="ini"><br />
local all dolibarrowner md5 <br />
</source><br />
De plus, mettez en commentaire la ligne<br />
<source lang="ini"><br />
#local all all ident<br />
</source><br />
qui impose que le compte système utilisé pour accéder à la base (ce sera le compte sous lequel tourne l'application web), ait le même nom que le compte dans la base (ce n'est jamais le cas).<br />
<br />
Ensuite, lancer la commande sous un shell root<br />
<source lang="bash"><br />
sudo -s -u postgres<br />
createuser dolibarrowner<br />
psql -d template1 -c "alter user dolibarrowner with password 'dolibarrownerpass'"<br />
exit<br />
sudo /etc/init.d/postgresql restart<br />
</source><br />
Vous pouvez tester la connexion pour l'utilisateur crée avec la commande<br />
<source lang="bash"><br />
psql -h localhost -d postgres -U dolibarrowner -W<br />
</source><br />
Et entrez le mot de passe ''dolibarrownerpass'' et \q pour quitter la session si la connexion est ok.<br />
<br />
* Placez-vous dans le répertoire dans lequel installer Dolibarr (le répertoire racine défini pour votre serveur web)<br />
# Pour Debian et les familles Ubuntu, il s'agit en général de: /var/www<br />
# Pour Mandriva, Mageia, RedHat, Fedora: /var/www/html<br />
# Pour Suse: /srv/www/htdocs<br />
<source lang="bash"><br />
$ cd /var/www<br />
</source><br />
<br />
* Récupérez l'application<br />
<br />
- Si vous partez du fichier dolibarr.tgz, récupérez le fichier et décompressez l'archive de l'application<br />
<br />
<source lang="bash"><br />
$ wget http://www.dolibarr.org/files/dolibarr.tgz<br />
$ tar xvfz dolibarr.tgz<br />
</source><br />
<br />
Renommez le répertoire dolibarr-x.y.z en dolibarr afin d'avoir un nom de répertoire indépendant de la version (où x.y.z correspond à la version source)<br />
<source lang="bash"><br />
$ mv dolibarr-x.y.z dolibarr<br />
</source><br />
<br />
- Si vous partez des sources Git, récupérer les sources par<br />
<br />
<source lang="bash"><br />
$ git clone -b develop http://github.com/Dolibarr/dolibarr.git dolibarr<br />
</source><br />
<br />
Il est possible de remplacer HEAD par X.y pour récupérer la dernière version stable de la branche x.y.<br />
<br />
* Modifiez les permissions et propriétaires du répertoire 'dolibarr' pour être sur que tous les fichiers soient en lecture pour l'utilisateur sur lequel tourne le serveur (on supposera qu'il s'agit de l'utilisateur 'www-data' pour debian ou ubuntu, 'apache' pour Redhat, Mandriva, Mageia, Fedora)<br />
<source lang="bash"><br />
$ chmod -R 755 /var/www/dolibarr<br />
$ chown -R www-data.www-data /var/www/dolibarr<br />
or<br />
$ chmod -R 755 /var/www/html/dolibarr<br />
$ chown -R apache.apache /var/www/html/dolibarr<br />
</source><br />
<br />
* En tant que root, créez, dans le répertoire dolibarr/htdocs/conf, un fichier de configuration vide, et attribuez-lui comme propriétaire du fichier, l'utilisateur du serveur web (exemple www-data sur debian, nobody sur une vieille RedHat, apache sur une autre version ...). Ceci est requis car le serveur web a besoin d'écrire dans ce fichier lors de l'installation.<br />
<source lang="bash"><br />
$ cd dolibarr ; touch htdocs/conf/conf.php ; chown www-data htdocs/conf/conf.php<br />
</source><br />
<br />
* Sur Fedora, comme SELinux est activé en général, il est aussi conseillé de lancer les commandes pour rendre le répertoire 'dolibarr' accepté par l'environnement SELinux (an absence de commande, vous devriez recevoir des nombreuses alertes d'anomalies) :<br />
<source lang="bash"><br />
$ semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/dolibarr(/.*)?'<br />
$ restorecon -R -v '/var/www/html/dolibarr'<br />
</source><br />
<br />
* Toujours en root, créez le répertoire qui servira aux documents générés ou stockés par Dolibarr (factures pdf, images, ...), et attribuez lui comme propriétaire, l'utilisateur du serveur web (exemple www-data sur Debian, nobody sur une vieille RedHat, apache sur une Mandriva, Mageia ou une RedHat récente, ...). Le serveur web doit avoir les droits en écriture dans ce répertoire. Il faut choisir un répertoire en dehors de la racine du site web. Par exemple "/var/lib/dolibarr/documents"<br />
<source lang="bash"><br />
$ mkdir -p /var/lib/dolibarr/documents ; chown www-data /var/lib/dolibarr/documents<br />
</source><br />
<br />
* Pointez votre navigateur sur la page principale<br />
<source lang="ini"><br />
http://127.0.0.1/dolibarr/htdocs/<br />
</source><br />
<br />
* Suivez les instructions de l'installation<br />
<br />
* Pour des raisons de sécurité nous vous conseillons, une fois l'installation terminée, de créer un fichier install.lock dans le répertoire dédiés aux documents, que seul root doit avoir le droit d'effacer. Ceci va verrouiller la procédure d'installation qui ne pourra plus être appelée par erreur (Il faudra le supprimer pour les mises à jour).<br />
<source lang="bash"><br />
$ touch /var/lib/dolibarr/documents/install.lock; chmod go-w /var/lib/dolibarr/documents;<br />
</source><br />
<br />
== Sur un hébergement mutualisé (à accès restreint) ==<br />
Il n'est pas possible de présenter une solution générique à ce cas car la procédures dépend de l'hébergeur.<br />
La plupart du temps, la procédure générique suivante fonctionnera:<br />
<br />
Voici toutefois quelques documents/procédures spécifiques à certains hébergeurs:<br />
* Hébergement FREE mutualisé: [[File:Installation Dolibarr Free-20100526.odt]]<br />
* Hébergement OVH oneclick: OVH propose une version de Dolibarr parfois plus ancienne que la version stable courante mais installable depuis son interface d'administration dans sa solution "OneClick".<br />
<br />
Procédure générique:<br />
<br />
- '''Prerequis''': <br />
Un serveur web Apache, PHP et une base de donnée (MySQL ou PostgreSQL) tourne correctement et le compte login/mot de passe (de la nouvelle base de donnée ou d'administration du serveur) est connu (sinon les demander à l'hébergeur).<br />
<br />
- '''Niveau''': Utilisateurs avec quelques notions d'administration Web and base de donnée. Maitrise d'un outil de transfert de fichier (FTP, SFTP, ...) pour uploader les fichiers sur le serveur.<br />
<br />
* Vérifiez que vous avez un serveur Web Apache, PHP et une base de donnée (MySQL ou PostGreSQL) qui fonctionne correctement.<br />
[[File:warning.png]] Attention, la page de code du serveur PHP et de la base de donnée doivent être identique.<br />
<br />
* Vérifiez que vous avez un compte root ou administrateur avec login/mot de passe connu et que ces comptes fonctionnent. Si inconnu, demandez les à votre hébergeur.<br />
<br />
* Récupérer l'archive de la dernière version stable de Dolibarr et décompressez la localement..<br />
<br />
* Uploadez tout le contenu du répertoire dans le répertoire racine de votre site web, par exemple par FTP en mode binaire.<br />
<br />
* Créez un répertoire nommé "documents", dans cette racine, qui servira à sauver tous les documents générés et stockés par Dolibarr (factures PDF, images uploadées, ...). Le serveur web doit avoir les permissions d'écrire dedans. Vous pouvez attribuer ces permission avec un client FTP.<br />
<br />
* Maintenant appeler la page principale index.php de dolibarr avec votre navigateur.<br />
<br />
* Suivez les instructions pas à pas du processus d'installation.<br />
<br />
* Pour des raisons de sécurité, il est recommandé, une fois l'installation terminée, de créer un fichier install.lock dans le répertoire de Dolibarr. Ceci vérrouillera l'appel au processus d'installation (il vous faudra supprimer ce fichier pour permettre les mise à jour). Si ceci n'est pas fait, Dolibarr vous affichera un warning lorsque vous êtes loggués comme administrateur.<br />
<br />
== Sur un hébergeur SaaS ou Cloud ==<br />
Dolibarr est aussi disponible en version "pré-installée" chez de nombreux hébergeurs payants, fournissant des instances hébergées "prêtes à l'emploi".<br />
<br />
Voir la page [[Solutions de Cloud]].<br />
<br />
Dolibarr peut aussi être installé manuellement sur toute plateforme Cloud (gratuite ou payante) qui supporte le PHP et Mysql.<br />
<br />
Voir la page [[Solutions de Cloud]].<br />
<br />
= Procédure de mise à jour =<br />
Ce chapitre décrit le processus pour mettre à niveau une installation existante de Dolibarr d'une ancienne version vers une autre. Le processus est le même quel que soit la version depuis laquelle vous venez et la version vers laquelle vous allez, mais sera différent selon la distribution ou système d'exploitation utilisé pour votre première installation. Il est recommandé d'utiliser le même type de distribution pour la mise à jour que celle utilisée pour la première installation.<br />
<br />
== Sauvegarde ==<br />
<br />
Avant de faire une mise à jour, il est recommendé de faire un sauvegarde de la base de donnée mais aussi des documents, de cette façon même en cas de catastrophe vous ne perdrez pas vos preciseuses données<br />
https://wiki.dolibarr.org/index.php/Sauvegardes<br />
<br />
<br />
<br />
== [[File:Logo_windows.png]] Avec DoliWamp (package Windows .exe) ==<br />
<br />
Si vous aviez installé la version de Dolibarr spécifique nommé DoliWamp (qui embarque le serveur Web, PHP et Mysql), la procédure à suivre est celle-ci (Dans tout autre cas, utilisez une des procédures des chapitres suivant):<br />
<br />
* Télécharger la nouvelle version de DoliWamp.<br />
<br />
* Lancer le .exe et laissez vous guider dans toutes les étapes de migration en cliquant suivant,suivant,... à chaque fois sans rien changer aux valeurs proposées par défaut.<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Logo_ubuntu.png]] Avec DoliDeb (package Debian / Ubuntu .deb) ==<br />
Si vous aviez installé Dolibarr via un packagage Debian-Ubuntu, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .deb.<br />
Par exemple en suivant la procédure [[Dolibarr pour Ubuntu ou Debian]].<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Logo_rpm.png|40px]] Avec DoliRpm (package Fedora, Redhat, Mandriva, Mageia ou OpenSuse .rpm) ==<br />
Si vous aviez installé Dolibarr via un packagage rpm, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .rpm.<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Gnu.png]] Avec Dolibarr (package standard .tgz) ==<br />
<br />
Cette procédure décrit la mise à jour de Dolibarr depuis une ancienne version vers une plus récente par la méthode manuelle, avec la distribution standard.<br />
<br />
* Placez-vous dans le répertoire dans lequel a été installé Dolibarr (le répertoire racine de votre serveur web, par exemple /var/www sous Debian)<br />
<source lang="bash"><br />
$ cd /var/www<br />
</source><br />
<br />
* Récupérez l'archive de la nouvelle version<br />
<source lang="bash"><br />
$ wget http://www.dolibarr.org/files/dolibarr.tgz<br />
</source><br />
<br />
* Décompressez l'archive<br />
<source lang="bash"><br />
$ tar xvfz dolibarr.tgz<br />
</source><br />
<br />
* Recopiez les nouveaux fichiers (qui ont été décompressés dans le répertoire dolibarr-x.y.z) vers le répertoire où vous avez votre ancienne version de Dolibarr. Ceci a pour effet de remplacer les anciens fichiers par les nouveaux tout en conservant les fichiers qui vous sont spécifiques (comme le fichier conf.php ou encore vos modules complémentaires non officiels installés).<br />
* Si vous deplacez ou renommez également le dossier de votre ancienne version de Dolibarr, pensez à modifier les chemins dans le fichier /conf/conf.php (sinon vous risquez un fatal error: Cannot redeclare versiontostring)<br />
<source lang="bash"><br />
$ cp -r dolibarr-x.y.z/* dolibarr<br />
</source><br />
<br />
* Vous pouvez alors supprimer le répertoire des fichiers sources<br />
<source lang="bash"><br />
$ rm -fr dolibarr-x.y.z<br />
</source><br />
<br />
* Lancer Dolibarr dans votre navigateur habituel. Ceci fera apparaître l'assistant de migration: L'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs versions, garder le choix proposé de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installée (par si vous avez installé Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
ou <br />
<br />
Lancer les 3 étapes de migration en ligne de commande:<br />
<source lang="bash"><br />
$ cd htdocs/install<br />
$ php upgrade.php oldx.oldy.oldz x.y.z > output.html<br />
$ php upgrade2.php oldx.oldy.oldz x.y.z > output2.html<br />
$ php step5.php oldx.oldy.oldz x.y.z > output3.html<br />
</source><br />
Note: z doit être "0" car seules les versions majeures ont un script de migration à exécuter.<br />
<br />
Le code retour sera 0 en cas de succès, 1 en cas d'erreur (voir alors le fichier sortie output.html ou output2.html)<br />
<br />
Note: Si vous avez un message signalant que le processus de mise à jour est verrouillé par un fichier install.lock, supprimer ce fichier (il est stocké dans le répertoire racine ou "documents" de Dolibarr) puis rafraichissez la page.<br />
<br />
* Pour des raisons de sécurité nous vous conseillons, une fois la mise à jour terminée, de verrouiller le répertoire d'installation en créant un fichier install.lock dans le répertoire de donnée de Dolibarr. Dans le cas contraire, Dolibarr vous avertira d'un message dans l'interface une fois connecté<br />
<source lang="bash"><br />
$ echo > documents/install.lock<br />
$ chmod 444 documents/install.lock<br />
</source><br />
<br />
= Configurer une connexion LDAP =<br />
Si vous désirez utiliser LDAP: Voir [[Installer et configurer OpenLDAP]].<br />
<br />
= Importer des données externes =<br />
Pour cette opération, consulter la page [[Imports_de_masse]].<br />
<br />
= Configuration - Paramétrage =<br />
Voir la page [[Premiers_paramétrages|Configuration/Paramétrage]].</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Installation_-_Mise_%C3%A0_jour&diff=38533Installation - Mise à jour2018-05-15T06:44:42Z<p>Yves.brungard: Suppression d'une partie en doublon</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUtil}}<br />
<br />
Les procédures suivantes décrivent comment installer ou mettre à jour Dolibarr.<br />
<br />
<br />
= Procédure d'installation =<br />
Ce chapitre décrit les différentes méthodes possibles (des plus simples, aux manuels) pour une première installation. Voir plus loin pour la mises à jour.<br />
<br />
== Sur votre poste/serveur dédié ==<br />
=== [[File:Logo_windows.png]] Avec DoliWamp (package Windows .exe) ===<br />
- '''Prérequis''': Windows<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Si vous maitrisez l'installation d'un serveur Web Apache, de PHP et Mysql, le chapitre suivant est plus approprié. <br />
Pour les moins expérimentés qui sont sous Windows, il existe une distribution Dolibarr nommée '''DoliWamp''' qui permet de faire une installation Dolibarr sous Windows avec tous ses prérequis (Apache, Mysql, PHP) sans connaissance informatiques. Voici comment l'installer:<br />
<br />
* Récupérez la version de Dolibarr pour Windows.<br />
Pour cela, voir la page de [http://www.nltechno.com/pages/dolibarrwinbin.php téléchargement de DoliWamp chez NLTechno].<br />
<br />
* Lancer le .exe téléchargé et suivez les instructions.<br />
<br />
=== [[File:Logo_ubuntu.png]] Avec DoliDeb (package Debian / Ubuntu .deb) ===<br />
- '''Prerequis''': Linux Debian, Ubuntu, ...<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Cette procédure fonctionne uniquement pour les utilisateurs Linux Debian, Ubuntu et dérivés et est recommandée pour ceux qui n'ont pas de connaissances informatiques particulières. Si vous êtes un administrateur expérimenté d'Apache, PHP et Mysql, le chapitre '''Avec Dolibarr (package standard tgz)''' sera peut-être plus approprié. Dans le cas contraire, vous pouvez utilisez DoliDeb. DoliDeb est un package de Dolibarr spécialisé pour la distribution Debian ou Ubuntu. Ce package vous permet d'installer Dolibarr sous Ubuntu ou Debian (ou dérivé) avec tous ces prérequis (Apache, Mysql, PHP) s'ils ne sont pas déjà installés et ce sans connaissances techniques particulières.<br />
<br />
* La procédure pour installer DoliDeb est décrite sur la page [[Dolibarr pour Ubuntu ou Debian]].<br />
<br />
=== [[File:Logo_rpm.png|40px]] Avec DoliRpm (package Fedora, Redhat, Mandriva, Mageia ou OpenSuse .rpm) ===<br />
- '''Prerequis''': Linux Fedora, Redhat, Mandriva, Mageia or OpenSuse (peut également fonctioner pour toute distribution Linux à rpm)<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Cette procédure fonctionne uniquement pour les utilisateurs Linux d'une distribution gérant les packages rpm et est recommandée pour ceux qui n'ont pas de connaissances informatiques particulières. Si vous êtes un administrateur expérimenté d'Apache, PHP et Mysql, le chapitre suivant '''Avec Dolibarr (package standard tgz)''' sera peut-être plus approprié. Dans le cas contraire, vous pouvez utilisez DoliRpm. DoliRpm est un package de Dolibarr spécialisé pour la distribution Fedora, Redhat, Mandriva, Mageia ou OpenSuse. Ce package vous permet d'installer Dolibarr sous ces OS avec tous ces prérequis (Apache, Mysql, PHP) s'ils ne sont pas déjà installés et ce sans connaissances techniques particulières.<br />
<br />
* La procédure pour installer DoliRpm est décrite sur la page [[Dolibarr pour Redhat ou Fedora (package rpm)]] ou [[Dolibarr pour Mandriva ou Mageia (package rpm)]] ou [[Dolibarr pour OpenSuse (package rpm)]].<br />
<br />
=== [[File:Gnu.png]] Avec Dolibarr (package standard .tgz ou sources Git) ===<br />
- '''Prérequis''': Apache, PHP et un serveur de base de données (MySQL ou PostgreSQL) sont présents et opérationnels, et le login/mot de passe d'accès (à une nouvelle base ou au serveur) est connu.<br />
<br />
- '''Niveau''': Un peu de connaissances informatiques en administration Web.<br />
<br />
Cette procédure décrit l'installation manuelle (recommandée) sur un système GNU/Linux (Debian, Mandriva, ...) mais elle est valable avec d'autres systèmes comme Windows moyennant une adaptation des chemins à ceux de votre OS.<br />
Elle est applicable pour toute version de Dolibarr >= 2.0.0<br />
<br />
* Vérifiez que vous avez bien Apache, PHP {{PHPMinVersion}} et un serveur de base de données (MySQL {{MySqlMinVersion}} ou PostgreSQL) d'installés (consulter pour cela la liste des packages installés sur votre machine grâce au gestionnaire de mise à jour de package de votre distribution).<br />
<br />
* Vérifiez que l'utilisateur root ou admin principal pour le serveur de base de donnée est connu et fonctionne correctement. Si cet utilisateur root ou admin est inconnu car pas encore défini, lisez le chapitre qui suit. Sinon vous pouvez passez au point suivant:<br />
<br />
Pour les utilisateurs Linux utilisant MySql ou MariaDB, si vous venez juste d'installer la base de donnée MySQL, le login administrateur est '''root'''. Vous devez exécuter la commande suivante pour initialiser le mot de passe:<br />
<source lang="bash"><br />
mysql <br />
</source><br />
Une fois dans l'interface Mysql, taper la commande de modification du mote de passe de root:<br />
<source lang="sql"><br />
grant all privileges on *.* to root@'localhost' identified by 'newrootpass' with grant option; <br />
</source><br />
Puis entrée et pour quitter \q<br />
<br />
Pour vérifier que l'accès avec ce couple user/mot de passe fonctionne, lancer la commande<br />
<source lang="bash"><br />
mysql -u root -p<br />
</source><br />
Et taper votre mot de passe ''newrootpass'' suivi de \q pour quitter la sessions si la connexion a réussie.<br />
<br />
<br />
Pour les utilisateurs Linux utilisant Postgresql, si vous venez juste d'installer la base de donnée PostgreSQL, vous devez d'abord créer un utilisateur administrateur et son mot de passe. Pour cela, ajouter la ligne suivante dans le fichier '''/etc/postgresql/x.x/main/pg_hba.conf''' (remplacer x.x avec votre version de postgres)<br />
<source lang="ini"><br />
local all dolibarrowner md5 <br />
</source><br />
De plus, mettez en commentaire la ligne<br />
<source lang="ini"><br />
#local all all ident<br />
</source><br />
qui impose que le compte système utilisé pour accéder à la base (ce sera le compte sous lequel tourne l'application web), ait le même nom que le compte dans la base (ce n'est jamais le cas).<br />
<br />
Ensuite, lancer la commande sous un shell root<br />
<source lang="bash"><br />
sudo -s -u postgres<br />
createuser dolibarrowner<br />
psql -d template1 -c "alter user dolibarrowner with password 'dolibarrownerpass'"<br />
exit<br />
sudo /etc/init.d/postgresql restart<br />
</source><br />
Vous pouvez tester la connexion pour l'utilisateur crée avec la commande<br />
<source lang="bash"><br />
psql -h localhost -d postgres -U dolibarrowner -W<br />
</source><br />
Et entrez le mot de passe ''dolibarrownerpass'' et \q pour quitter la session si la connexion est ok.<br />
<br />
* Placez-vous dans le répertoire dans lequel installer Dolibarr (le répertoire racine défini pour votre serveur web)<br />
# Pour Debian et les familles Ubuntu, il s'agit en général de: /var/www<br />
# Pour Mandriva, Mageia, RedHat, Fedora: /var/www/html<br />
# Pour Suse: /srv/www/htdocs<br />
<source lang="bash"><br />
$ cd /var/www<br />
</source><br />
<br />
* Récupérez l'application<br />
<br />
- Si vous partez du fichier dolibarr.tgz, récupérez le fichier et décompressez l'archive de l'application<br />
<br />
<source lang="bash"><br />
$ wget http://www.dolibarr.org/files/dolibarr.tgz<br />
$ tar xvfz dolibarr.tgz<br />
</source><br />
<br />
Renommez le répertoire dolibarr-x.y.z en dolibarr afin d'avoir un nom de répertoire indépendant de la version (où x.y.z correspond à la version source)<br />
<source lang="bash"><br />
$ mv dolibarr-x.y.z dolibarr<br />
</source><br />
<br />
- Si vous partez des sources Git, récupérer les sources par<br />
<br />
<source lang="bash"><br />
$ git clone -b develop http://github.com/Dolibarr/dolibarr.git dolibarr<br />
</source><br />
<br />
Il est possible de remplacer HEAD par X.y pour récupérer la dernière version stable de la branche x.y.<br />
<br />
* Modifiez les permissions et propriétaires du répertoire 'dolibarr' pour être sur que tous les fichiers soient en lecture pour l'utilisateur sur lequel tourne le serveur (on supposera qu'il s'agit de l'utilisateur 'www-data' pour debian ou ubuntu, 'apache' pour Redhat, Mandriva, Mageia, Fedora)<br />
<source lang="bash"><br />
$ chmod -R 755 /var/www/dolibarr<br />
$ chown -R www-data.www-data /var/www/dolibarr<br />
or<br />
$ chmod -R 755 /var/www/html/dolibarr<br />
$ chown -R apache.apache /var/www/html/dolibarr<br />
</source><br />
<br />
* En tant que root, créez, dans le répertoire dolibarr/htdocs/conf, un fichier de configuration vide, et attribuez-lui comme propriétaire du fichier, l'utilisateur du serveur web (exemple www-data sur debian, nobody sur une vieille RedHat, apache sur une autre version ...). Ceci est requis car le serveur web a besoin d'écrire dans ce fichier lors de l'installation.<br />
<source lang="bash"><br />
$ cd dolibarr ; touch htdocs/conf/conf.php ; chown www-data htdocs/conf/conf.php<br />
</source><br />
<br />
* Sur Fedora, comme SELinux est activé en général, il est aussi conseillé de lancer les commandes pour rendre le répertoire 'dolibarr' accepté par l'environnement SELinux (an absence de commande, vous devriez recevoir des nombreuses alertes d'anomalies) :<br />
<source lang="bash"><br />
$ semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/dolibarr(/.*)?'<br />
$ restorecon -R -v '/var/www/html/dolibarr'<br />
</source><br />
<br />
* Toujours en root, créez le répertoire qui servira aux documents générés ou stockés par Dolibarr (factures pdf, images, ...), et attribuez lui comme propriétaire, l'utilisateur du serveur web (exemple www-data sur Debian, nobody sur une vieille RedHat, apache sur une Mandriva, Mageia ou une RedHat récente, ...). Le serveur web doit avoir les droits en écriture dans ce répertoire. Il faut choisir un répertoire en dehors de la racine du site web. Par exemple "/var/lib/dolibarr/documents"<br />
<source lang="bash"><br />
$ mkdir -p /var/lib/dolibarr/documents ; chown www-data /var/lib/dolibarr/documents<br />
</source><br />
<br />
* Pointez votre navigateur sur la page principale<br />
<source lang="ini"><br />
http://127.0.0.1/dolibarr/htdocs/<br />
</source><br />
<br />
* Suivez les instructions de l'installation<br />
<br />
* Pour des raisons de sécurité nous vous conseillons, une fois l'installation terminée, de créer un fichier install.lock dans le répertoire dédiés aux documents, que seul root doit avoir le droit d'effacer. Ceci va verrouiller la procédure d'installation qui ne pourra plus être appelée par erreur (Il faudra le supprimer pour les mises à jour).<br />
<source lang="bash"><br />
$ touch /var/lib/dolibarr/documents/install.lock; chmod go-w /var/lib/dolibarr/documents;<br />
</source><br />
<br />
== Sur un hébergement mutualisé (à accès restreint) ==<br />
Il n'est pas possible de présenter une solution générique à ce cas car la procédures dépend de l'hébergeur.<br />
La plupart du temps, la procédure générique suivante fonctionnera:<br />
<br />
Voici toutefois quelques documents/procédures spécifiques à certains hébergeurs:<br />
* Hébergement FREE mutualisé: [[File:Installation Dolibarr Free-20100526.odt]]<br />
* Hébergement OVH oneclick: OVH propose une version de Dolibarr parfois plus ancienne que la version stable courante mais installable depuis son interface d'administration dans sa solution "OneClick".<br />
<br />
Procédure générique:<br />
<br />
- '''Prerequis''': <br />
Un serveur web Apache, PHP et une base de donnée (MySQL ou PostgreSQL) tourne correctement et le compte login/mot de passe (de la nouvelle base de donnée ou d'administration du serveur) est connu (sinon les demander à l'hébergeur).<br />
<br />
- '''Niveau''': Utilisateurs avec quelques notions d'administration Web and base de donnée. Maitrise d'un outil de transfert de fichier (FTP, SFTP, ...) pour uploader les fichiers sur le serveur.<br />
<br />
* Vérifiez que vous avez un serveur Web Apache, PHP et une base de donnée (MySQL ou PostGreSQL) qui fonctionne correctement.<br />
[[File:warning.png]] Attention, la page de code du serveur PHP et de la base de donnée doivent être identique.<br />
<br />
* Vérifiez que vous avez un compte root ou administrateur avec login/mot de passe connu et que ces comptes fonctionnent. Si inconnu, demandez les à votre hébergeur.<br />
<br />
* Récupérer l'archive de la dernière version stable de Dolibarr et décompressez la localement..<br />
<br />
* Uploadez tout le contenu du répertoire dans le répertoire racine de votre site web, par exemple par FTP en mode binaire.<br />
<br />
* Créez un répertoire nommé "documents", dans cette racine, qui servira à sauver tous les documents générés et stockés par Dolibarr (factures PDF, images uploadées, ...). Le serveur web doit avoir les permissions d'écrire dedans. Vous pouvez attribuer ces permission avec un client FTP.<br />
<br />
* Maintenant appeler la page principale index.php de dolibarr avec votre navigateur.<br />
<br />
* Suivez les instructions pas à pas du processus d'installation.<br />
<br />
* Pour des raisons de sécurité, il est recommandé, une fois l'installation terminée, de créer un fichier install.lock dans le répertoire de Dolibarr. Ceci vérrouillera l'appel au processus d'installation (il vous faudra supprimer ce fichier pour permettre les mise à jour). Si ceci n'est pas fait, Dolibarr vous affichera un warning lorsque vous êtes loggués comme administrateur.<br />
<br />
== Sur un hébergeur SaaS ou Cloud ==<br />
Dolibarr est aussi disponible en version "pré-installée" chez de nombreux hébergeurs payants, fournissant des instances hébergées "prêtes à l'emploi".<br />
<br />
Voir la page [[Solutions de Cloud]].<br />
<br />
Dolibarr peut aussi être installé manuellement sur toute plateforme Cloud (gratuite ou payante) qui supporte le PHP et Mysql.<br />
<br />
Voir la page [[Solutions de Cloud]].<br />
<br />
= Procédure de mise à jour =<br />
Ce chapitre décrit le processus pour mettre à niveau une installation existante de Dolibarr d'une ancienne version vers une autre. Le processus est le même quel que soit la version depuis laquelle vous venez et la version vers laquelle vous allez, mais sera différent selon la distribution ou système d'exploitation utilisé pour votre première installation. Il est recommandé d'utiliser le même type de distribution pour la mise à jour que celle utilisée pour la première installation.<br />
<br />
== Sauvegarde ==<br />
<br />
Avant de faire une mise à jour, il est recommendé de faire un sauvegarde de la base de donnée mais aussi des documents, de cette façon même en cas de catastrophe vous ne perdrez pas vos preciseuses données<br />
https://wiki.dolibarr.org/index.php/Sauvegardes<br />
<br />
<br />
<br />
== [[File:Logo_windows.png]] Avec DoliWamp (package Windows .exe) ==<br />
<br />
Si vous aviez installé la version de Dolibarr spécifique nommé DoliWamp (qui embarque le serveur Web, PHP et Mysql), la procédure à suivre est celle-ci (Dans tout autre cas, utilisez une des procédures des chapitres suivant):<br />
<br />
* Télécharger la nouvelle version de DoliWamp.<br />
<br />
* Lancer le .exe et laissez vous guider dans toutes les étapes de migration en cliquant suivant,suivant,... à chaque fois sans rien changer aux valeurs proposées par défaut.<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Logo_ubuntu.png]] Avec DoliDeb (package Debian / Ubuntu .deb) ==<br />
Si vous aviez installé Dolibarr via un packagage Debian-Ubuntu, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .deb.<br />
Par exemple en suivant la procédure [[Dolibarr pour Ubuntu ou Debian]].<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Logo_rpm.png|40px]] Avec DoliRpm (package Fedora, Redhat, Mandriva, Mageia ou OpenSuse .rpm) ==<br />
Si vous aviez installé Dolibarr via un packagage rpm, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .rpm.<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Gnu.png]] Avec Dolibarr (package standard .tgz) ==<br />
<br />
Cette procédure décrit la mise à jour de Dolibarr depuis une ancienne version vers une plus récente par la méthode manuelle, avec la distribution standard.<br />
<br />
* Placez-vous dans le répertoire dans lequel a été installé Dolibarr (le répertoire racine de votre serveur web, par exemple /var/www sous Debian)<br />
<source lang="bash"><br />
$ cd /var/www<br />
</source><br />
<br />
* Récupérez l'archive de la nouvelle version<br />
<source lang="bash"><br />
$ wget http://www.dolibarr.org/files/dolibarr.tgz<br />
</source><br />
<br />
* Décompressez l'archive<br />
<source lang="bash"><br />
$ tar xvfz dolibarr.tgz<br />
</source><br />
<br />
* Recopiez les nouveaux fichiers (qui ont été décompressés dans le répertoire dolibarr-x.y.z) vers le répertoire où vous avez votre ancienne version de Dolibarr. Ceci a pour effet de remplacer les anciens fichiers par les nouveaux tout en conservant les fichiers qui vous sont spécifiques (comme le fichier conf.php ou encore vos modules complémentaires non officiels installés).<br />
* Si vous deplacez ou renommez également le dossier de votre ancienne version de Dolibarr, pensez à modifier les chemins dans le fichier /conf/conf.php (sinon vous risquez un fatal error: Cannot redeclare versiontostring)<br />
<source lang="bash"><br />
$ cp -r dolibarr-x.y.z/* dolibarr<br />
</source><br />
<br />
* Vous pouvez alors supprimer le répertoire des fichiers sources<br />
<source lang="bash"><br />
$ rm -fr dolibarr-x.y.z<br />
</source><br />
<br />
* Lancer Dolibarr dans votre navigateur habituel. Ceci fera apparaître l'assistant de migration: L'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
ou <br />
<br />
Lancer les 3 étapes de migration en ligne de commande:<br />
<source lang="bash"><br />
$ cd htdocs/install<br />
$ php upgrade.php oldx.oldy.oldz x.y.z > output.html<br />
$ php upgrade2.php oldx.oldy.oldz x.y.z > output2.html<br />
$ php step5.php oldx.oldy.oldz x.y.z > output3.html<br />
</source><br />
Note: z doit être "0" car seul les versions majeures ont un script de migration à exécuter.<br />
<br />
Le code retour sera 0 en cas de succès, 1 en cas d'erreur (voir alors le fichier sortie output.html ou output2.html)<br />
<br />
Note: Si vous avez un message signalant que le processus de mise à jour est vérrouillé par un fichier install.lock, supprimer ce fichier (il est stocké dans le répertoire racine ou "documents" de Dolibarr) puis rafraichissez la page.<br />
<br />
* Pour des raisons de sécurité nous vous conseillons, une fois la mise à jour terminée, de verrouiller le répertoire d'installation en créant un fichier install.lock dans le répertoire de donnée de Dolibarr. Dans le cas contraire, Dolibarr vous avertira d'un message dans l'interface une fois loggé<br />
<source lang="bash"><br />
$ echo > documents/install.lock<br />
$ chmod 444 documents/install.lock<br />
</source><br />
<br />
= Configurer une connexion LDAP =<br />
Si vous désirez utiliser LDAP: Voir [[Installer et configurer OpenLDAP]].<br />
<br />
= Importer des données externes =<br />
Pour cette opération, consulter la page [[Imports_de_masse]].<br />
<br />
= Configuration - Paramétrage =<br />
Voir la page [[Premiers_paramétrages|Configuration/Paramétrage]].</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Documentation_traducteur&diff=38506Documentation traducteur2018-04-28T15:30:29Z<p>Yves.brungard: Transifex n'est plus opensource</p>
<hr />
<div><keywords content="traduction, documentation, traducteur, localisation, localiser, internationalise, langage" /><br />
= [[File:Language.png]] Traduire l'application Dolibarr dans une autre langue =<br />
Dolibarr est livré avec plusieurs langues. Par défaut, l'Anglais est toujours complet. Les autres langues dépendent des contributions. Cette documentation vous présente comment traduire les fichiers langues pour ajouter une langue non traduite ou traduite de manière incomplète.<br />
<br />
Il existe 3 méthodes pour réaliser la traduction de Dolibarr:<br />
# Manuelle en utilisant Transifex.com (officielle et recommandée).<br />
# Manuelle par modification des fichiers langues<br />
# Automatique avec autotranslator.php<br />
<br />
Les voici par ordre de préférences:<br />
<br />
<br />
== Traduction manuelle en utilisation le service en ligne de traduction Transifex (recommandé) ==<br />
<br />
Transifex est une solution web qui fournit une plateforme pour la traduction des projets. Cela inclut la gestion d'équipes et de discussions, la mémoire de traduction, glossaires, and nombreuses autres fonctionnalités.<br />
C'est assez simple d'utilisation et toute traduction peut être soumise ou récupérer à traver de l'interface web ou en utilisant le client TX dans un terminal.<br />
<br />
Transifex fournit un service hébergé en ligne.<br />
<br />
{{ToTranslate}}<br />
<br />
==Créer un compte transifex et choisissez votre langue==<br />
Si vous souhaitez contribuer à la traduction de Dolibarr dans votre langue, référez-vous s'il vous plaît au lien suivant : http://transifex.com/projects/p/dolibarr/,<br />
puis vérifiez si votre langue est prise en compte.<br />
Si elle existe (plusieurs équipes sont disponibles pour travailler sur le projet), vous pouvez demander à rejoindre l'équipe et commencer à traduire tout de suite. S'il n'existe pas d’équipe pour votre langue, vous pouvez demander une nouvelle équipe sur Transifex. Cela peut être fait directement sur le site Web de http://transifex.com<br />
<br />
===Using the web interface (for translators) ===<br />
If language is already available onto page http://transifex.com/projects/p/dolibarr/, just create an account and follow instruction of transifex web site to translate files.<br />
<br />
Note, that this web interface must not be used to translate en_US language that is source. Any change on source language must be done by submiting code change using GitHub Pull Requests.<br />
<br />
=== Using TX command line client (for Dolibarr [[:Category:Yoda]] team) ===<br />
This describe how to use Transifex from command line. However, this is reserved to Dolibarr admin users to synchronize Transifex with Dolibarr main sources.<br />
<br />
[http://docs.transifex.com/developer/client/ Official documentation]<br />
<br />
====TX Client configuration====<br />
First install TX Client.<br />
With Debian/Ubuntu/Mint:<br />
<source lang="bash"><br />
apt-get install python-pip<br />
pip install transifex-client<br />
</source><br />
Then you have to initialize your TX environment. This is done by running '''tx init''' into dolibarr project root directory.<br />
<source lang="bash"><br />
cd git/dolibarr<br />
tx init<br />
</source><br />
Accept to overwrite config file. Keep default value for Transifex instance, then enter your Transifex login and password.<br />
<br />
After this, a .transifexrc has been created into your HOME dir and a generic config file has been created as '''.tx/config''' in project's root.<br />
So your directory's contents will look like that:<br />
<code><pre><br />
.<br />
|-- build<br />
|-- build.xml<br />
|-- ChangeLog<br />
|-- COPYING<br />
|-- COPYRIGHT<br />
|-- dev<br />
|-- doc<br />
|-- .gitignore<br />
|-- htdocs<br />
|-- INSTALL<br />
|-- pom.xml<br />
|-- quickbuild.xml<br />
|-- README<br />
|-- README-FR<br />
|-- README.md<br />
|-- robots.txt<br />
|-- scripts<br />
|-- test<br />
`-- .tx<br />
</pre></code><br />
<br />
The current config file can be downloaded from https://github.com/Dolibarr/dolibarr/tree/develop/.tx , put it into .tx directory, overwriting the one created by '''tx init'''<br />
<br />
This project configuration file is used to store the project’s details and the file-to-resource mappings.<br />
<br />
That is a sample of what the config file contains:<br />
<br />
<source lang="ini"><br />
[main]<br />
host = https://www.transifex.com<br />
lang_map = uz: uz_UZ<br />
<br />
[dolibarr.admin]<br />
file_filter = htdocs/langs/<lang>/admin.lang<br />
source_file = htdocs/langs/en_US/admin.lang<br />
source_lang = en_US<br />
type = MOZILLAPROPERTIES<br />
</source><br />
<br />
Here is an explanation of the sections and options used in the config file:<br />
<br />
<nowiki>[main] section</nowiki><br />
<br />
In this section we have project-wide options, such as the default transifex host for all projects. These can be overriden by each resource, in case it is needed.<br />
<br />
<nowiki>[dolibarr.resource]</nowiki><br />
<br />
source_lang: this is the source language of the resource.<br/><br />
source_file: this points to the source file directly.<br/><br />
file_filter: here we hold the expression used to identify translation files under the specific project. ''not mandatory''<br/><br />
trans.<lang>: this is used for translation files that don’t follow a common naming schema and the file expression cannot be used to track them. ''not mandatory''<br/><br />
host: in case the project doesn’t use the default Transifex server as specified in the [main] section, it can override it using this option. ''not mandatory''<br/><br />
<br />
====TX Client use====<br />
Some useful information on '''tx''' commands.<br />
<br />
'''tx status'''<br />
<br />
Show status of translations<br />
<br />
'''tx push'''<br />
<br />
Used to push changes from your computer to Transifex server<br><br />
Additional options for the tx push command are:<br />
<code><pre><br />
-h - Shows the help screen for the command<br />
-l <lang> - Specify which translations you want to push (defaults to all)<br />
-r <resource> - Specify the resource for which you want to push the translations (defaults to all)<br />
-f - Push source files without checking modification times<br />
--skip - Don't stop on errors. Useful when pushing many files concurrently.<br />
-s - Push the source file to the server<br />
-t - Push the translation files to the server<br />
--no-interactive - Don't require user input when forcing a push</pre></code><br />
<br />
'''tx pull'''<br />
<br />
Used to pull changes from Transifex server to your computer<br/><br />
Additional options for the tx pull command are:<br />
<code><pre><br />
-h - Shows the help screen for the command<br />
-l <lang> - Specify which translations you want to pull (defaults to all)<br />
-r <resource> - Specify the resource for which you want to pull the translations (defaults to all)<br />
-a - Fetch all translation files from server (even new ones)<br />
-s - Force the fetching of the source file (default: False)<br />
-f - Force download of translations files<br />
--skip - Don't stop on errors. Useful when pushing many files concurrently.<br />
--disable-overwrite - By default Transifex will fetch new translations files and replace existing ones. Use this flag if you want to disable this feature.<br />
--minimum_perc=VALUE - Specify the minimum acceptable percentage of a translation in order to download it.</pre></code><br />
<br />
'''Examples'''<br />
<br />
To pull translation files, you can use:<br />
<br />
<source lang="bash"><br />
tx -d pull -l it_IT # Get italian language only<br />
tx -d pull -a # Get all languages<br />
</source><br />
<br />
To push source files, just type:<br />
<br />
<source lang="bash"><br />
tx -d push -t -l it_IT [-r dolibarr.file] # To push only a specific translation file<br />
tx -d push -s # To push source file<br />
</source><br />
<br />
=== Other questions on transifex process ===<br />
This is short questions and answer yuo may also ask about transifex translation process:<br />
<br />
1) Is the sync on a regular time interval ?<br />
<br />
No. It is done where there is enough translation submited. It is also done on a beta branch just before creating the final release package.<br />
<br />
2) Are all the translations synced to git, or only the reviewed translations. Do I need to review before sync is done ?<br />
<br />
When a Sync is done, transifex files overwrites files into git, but only if there is at least on record modified for the file. <br />
You don't have to make review before sync is done. Making review is above all to know which lines were manually reviewed and wich one were intially translated using a robot.<br />
<br />
3) In which Dolibarr releases will translations be available ? Are transifex translations also synced to maintenance releases ?<br />
<br />
Sync is always done on develop and/or beta.<br />
So transifex changes appear in all version whose branch is created after the transifex change (a sync is always done before creating a new branch). Once a branch is created, then new changes into transifex will be available only for next branch. Reason of this is that transifex is not able to manage branch/versions (not yet).<br />
<br />
== Traduction manuelle complètement (non recommandé) ==<br />
<br />
Pour traduire Dolibarr dans une autre langue, il faut aller dans le répertoire langs et créer un répertoire ayant pour nom le code langue à traduire (En suivant le même format que ceux déjà existant, par exemple en_US, fr_FR, es_ES, de_DE, etc...).<br />
Il faut ensuite recopier les fichiers lang depuis un répertoire déjà traduit (par exemple en_US/main.lang ou fr_FR/bills.lang), les recopier dans le répertoire de la nouvelle langue que l'on vient de créer et traduire le contenu de ces fichiers.<br />
<br />
Ces fichiers sont constitués de la manière suivante:<br />
<br />
<source lang="ini"><br />
Code1=Phrases à traduire 1<br />
Code2=Phrases à traduire 2<br />
...<br />
Coden=Phrases à traduire n<br />
</source><br />
<br />
Seules les phrases à droite du = sont à traduire, le code doit rester inchangé.<br />
Il est possible de traduire les fichiers un par un, sans tous les traduire d'un coup. Si un fichier n'a pas été traduit dans la nouvelle langue, Dolibarr utilisera l'anglais.<br />
<br />
Pour avoir une chaine variable selon la langue dans le code PHP, tout ce que vous avez à faire et de charger le fichier lang et d'utiliser la méthode pour récupérer la variable traduite. Ceci peut se faire de la manière suivante:<br />
<br />
<source lang="php"><br />
$langs->load("nomdufichier"); // ou $langs->load("nomdufichier@monmodule") si monfichier.lang est dans le répertoire htdocs/monmodule/langs/xx_XX <br />
<br />
print $langs->trans("CodeX")<br />
</source><br />
<br />
Et une entrée du type<br />
<source lang="ini"><br />
CodeX=Phrase X<br />
</source><br />
<br />
doit être ajoutée aux fichiers .lang<br />
<br />
<br />
<br />
== Traduction automatique avec l'outil autotranslator.php (non recommandée) ==<br />
<br />
* OS du traducteur: Tous<br />
* Outil: autotranslator.php fourni avec Dolibarr dans le répertoire '''dev/translation'''.<br />
<br />
Pour traduire ou mettre à jour tous les fichiers dans une nouvelle langue, lancez simplement le script:<br />
<source lang="bash"><br />
php autotranslator.php lang_code_source lang_code_target GOOGLEAPIKEY<br />
</source><br />
Par exemple :<br />
<source lang="bash"><br />
php autotranslator.php en_US pt_PT GOOGLEAPIKEY<br />
</source><br />
pour traduire en portugais (pt_PT) en utilisant l'anglais (en_US) comme fichiers sources.<br />
<br />
Tous les fichiers non existant seront créés, et ceux existant déjà seront mis à jour pour être complétés avec les chaines manquantes.<br />
Les chaines déjà traduites sont conservées tel quelles.<br />
L'outil utilise le service de [http://translate.google.com traduction Google] pour trouver la valeur traduite d'une chaine, aussi un accès internet depuis le poste où est lancé la commande est requis.<br />
De plus, une clé pour utiliser les API Google Translate sont nécessaire et Google fait payer l'utilisation de cette API (20 $ / 1 000 000 de caractères traduits).<br />
Votre PHP doit de plus avoir les permissions d'écrire dans le répertoire '''htdocs/langs''' directory et doit avoir les fonctions de l'extension curl disponibles.<br />
<br />
= [[File:Language.png]] Diffusion ou intégration en standard de votre traduction =<br />
<br />
La meilleure chose à faire, après avoir réalisé une traduction, est de les inclure dans la version officielle de Dolibarr. <br />
<br />
Si vous avez complété des fichiers .lang existant déjà dans Dolibarr mais incomplets ou si vous avez créé des nouveaux fichiers .lang pour une nouvelle langue, vous pouvez :<br />
<br />
* Si la traduction a été faite en utilisant le système Transifex, il n'y a rien de particulier à faire. Votre traduction sera intégré lors des synchros régulières qui ont lieu avec les sources Git officielles (au moins 1 par mois).<br />
* Si la traduction a été faite dans des fichiers directement pour les langues en_US, pt_BR, xx_ES, ..., il est possible de les intégrer si vous connaissez le système GIT. Pour cela, créer un compte sur {{TemplateUrlSCM}}, forker le projet, modifier les fichiers concernés et envoyer une Pull Request. A défaut de savoir utiliser GIT, envoyer vos fichiers sur la mailing-list des développeurs '''dolibarr-dev''' (Inscription sur {{TemplateURLMLDev}}.<br />
<br />
<br />
''Remarque:'' Il y a une langue maitre toujours complète:<br />
* L'anglais (fichiers .lang du répertoire lang/en_US)<br />
Tous les autres fichiers langues sont susceptibles d'être incomplets.<br />
<br />
= [[File:Language.png]] Traduire la documentation du wiki =<br />
Le wiki est maintenu en 3 langues: Anglais, Français et Espagnol.<br />
Si vous voulez améliorer la documentation d'une de ces langues, il vous suffit de créer un compte sur ce wiki.<br />
Ensuite, vous pouvez modifier toute page qui possède une traduction incorrecte ou traduire une page qui attend d'être traduite. La liste de ces pages est disponible sur la page [[:Category:Page_waiting_for_translation]].</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Table_llx_commandedet&diff=38467Table llx commandedet2018-04-23T16:31:26Z<p>Yves.brungard: Add fk_parent_line field in commande table</p>
<hr />
<div>[[Category:Table SQL]]<br />
[[Category:Commande]]<br />
[[Category:Orders]]<br />
[[Category:Pedido]]<br />
{{ListOfTables}}<br />
<br />
= Content/Contenu/Contenido =<br />
<br />
{{flag fr}} Contient les détails des commandes clients, cette table est liée avec la [[Table llx_commande]]<br />
<br />
{{flag en}} Contains details of customer orders. This table is linked to [[Table llx_commande]]<br />
<br />
{{flag sp}} Contiene los detalles de los pedidos de clientes, esta tabla esta vinculada con [[Table llx_commande]]<br />
<br />
= Structure =<br />
== Table ==<br />
{| align="left" width="100%" border="0" cellpadding="1" cellspacing="0" class="dolbox"<br />
|style="background-color: #e9e9ef"| <b>Field</b><br />
|style="background-color: #e9e9ef"| <b>Type</b><br />
|style="background-color: #e9e9ef"| <b>Null</b><br />
|style="background-color: #e9e9ef"| <b>Key</b><br />
|style="background-color: #e9e9ef"| <b>Default</b><br />
|style="background-color: #e9e9ef"| <b>Extra</b><br />
|style="background-color: #e9e9ef"| <b>Description</b><br />
|- <br />
| rowid <br />
| int(11) <br />
| NO<br />
| PRI<br />
| <br />
| auto_increment <br />
| technical index<br />
|-<br />
| fk_commande <br />
| int(11) <br />
| NO<br />
| MUL<br />
| <br />
| <br />
| ID of order ([[Table llx commande|llx commande]]->rowid)<br />
|- <br />
| fk_parent_line<br />
| int(11) <br />
| YES<br />
| <br />
| NULL<br />
| <br />
| Since ?<br />
|-<br />
| fk_product<br />
| int(11)<br />
| YES<br />
| <br />
| NULL<br />
| <br />
| ID of product ([[Table llx_product|llx_product]]->rowid)<br />
|-<br />
| description<br />
| text <br />
| YES<br />
| <br />
| NULL<br />
| <br />
| product or service description<br />
|-<br />
| tva_tx<br />
| double(6,3)<br />
| YES<br />
| <br />
| NULL<br />
| <br />
| VAT taxes<br />
|-<br />
| qty<br />
| real<br />
| YES<br />
| <br />
| NULL<br />
| <br />
| Quantity of product or service<br />
|-<br />
| remise_percent<br />
| real<br />
| YES<br />
| <br />
| 0<br />
| <br />
| discount percentage<br />
|-<br />
| remise<br />
| real<br />
| YES<br />
| <br />
| 0<br />
| <br />
| discount amount<br />
|-<br />
| fk_remise_except<br />
| int(11)<br />
| YES<br />
| <br />
| NULL<br />
| <br />
| ID of discount ([[Table llx_societe_remise_except|llx_societe_remise_except]]->rowid)<br />
|-<br />
| price<br />
| real<br />
| YES<br />
| <br />
| NULL<br />
| <br />
| final price<br />
|-<br />
| subprice<br />
| double(24,8)<br />
| YES<br />
| <br />
| 0.00000000<br />
| <br />
| price before discount<br />
{{FieldTotalFields}}<br />
|-<br />
| product_type<br />
| int(11)<br />
| YES<br />
| <br />
| 0<br />
| <br />
| type of prodcut<br />
|-<br />
| date_start<br />
| datetime<br />
| YES<br />
| <br />
| NULL<br />
| <br />
| start date if service<br />
|-<br />
| date_end<br />
| datetime<br />
| YES<br />
| <br />
| NULL<br />
| <br />
| end date if service<br />
|-<br />
| info_bits<br />
| int(11)<br />
| YES<br />
| <br />
| 0<br />
| <br />
| TVA NPR or not<br />
|-<br />
| marge_tx<br />
| double(6,3)<br />
| YES<br />
| <br />
| 0.000<br />
| <br />
| margin (margin on purchase price)<br />
|-<br />
| marque_tx<br />
| double(6,3)<br />
| YES<br />
| <br />
| 0.000<br />
| <br />
| mark rate (margin on selling price)<br />
|-<br />
| special_code<br />
| int(10)<br />
| YES<br />
| <br />
| 0<br />
| UNSIGNED<br />
| code for special lines. used for shipping (=1), ecotaxes (=2), product/service optional offers (=3). Otherwise=0<br />
|-<br />
| rang<br />
| int(11)<br />
| YES<br />
| <br />
| 0<br />
| <br />
| order view<br />
|-<br />
{{FieldImportKey}}<br />
|}&nbsp;<br />
<br />
== Keys ==<br />
{| align="left" width="100%" border="0" cellpadding="1" cellspacing="0" class="dolbox"<br />
|style="background-color: #e9e9ef"| <b>Key</b><br />
|style="background-color: #e9e9ef"| <b>Type</b><br />
|style="background-color: #e9e9ef"| <b>Fields</b><br />
|- <br />
| PRIMARY<br />
| PRIMARY<br />
| rowid<br />
|- <br />
| idx_commandedet_fk_commande<br />
| MULTIPLE<br />
| fk_commande<br />
|}&nbsp;</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Dolibarr_pour_Mandriva_ou_Mageia_(package_rpm)&diff=38448Dolibarr pour Mandriva ou Mageia (package rpm)2018-04-11T14:36:33Z<p>Yves.brungard: /* Installation/Mise à jour */</p>
<hr />
<div>[[Category:Admin]]<br />
[[File:Logo_mandriva.png]]<br />
<br />
<br />
Pour une version packagée pour Redhat ou Fedora, voir [[Dolibarr pour Redhat ou Fedora (package rpm)]].<br />
<br />
Pour une version packagée pour Opensuse, voir [[Dolibarr pour OpenSuse (package rpm)]].<br />
<br />
Pour une version packagée pour Ubuntu ou Debian, voir [[Dolibarr pour Ubuntu ou Debian]].<br />
<br />
=Introduction=<br />
Dolibarr pour Mandriva et Mageia est une version de Dolibarr ERP/CRM packagé avec Mysql, PHP et Apache pour les plateformes Mandriva ou Mageia. <br />
<br />
En quelques secondes, en installant le package, vous êtes capable de travailler sur Dolibarr, même si vous n'avez pas déjà de serveur Web ou si vous ne savez pas ce que sont Apache, MySQL ou PHP. Une entrée nommée "Dolibarr ERP & CRM" est ajoutée dans le menu des applications de votre ordinateur.<br />
<br />
Ce package est un tout en un qui peut être téléchargé depuis le site http://www.dolibarr.fr/telechargements/ dans la categorie des versions stables (voir aussi sur le site internationnal http://www.dolibarr.org/dowloads/).<br />
<br />
= Installation/Mise à jour =<br />
Pour installer, vous pouvez cliquer sur le fichier dolibarr.x.y.z.rpm, si vous êtes dans une fenêtre du gestionnaire de fichier, ou depuis une console terminal:<br />
<br />
<source lang="bash"><br />
$ urpmi dolibarr.x.y.z.rpm<br />
</source><br />
<br />
x.y.z est la version de dolibarr, ex. dolibarr.2.8.0</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Installation_-_Mise_%C3%A0_jour&diff=38426Installation - Mise à jour2018-03-17T21:47:02Z<p>Yves.brungard: /* File:Gnu.png Avec Dolibarr (package standard .tgz ou sources Git) */</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUtil}}<br />
<br />
Les procédures suivantes décrivent comment installer ou mettre à jour Dolibarr.<br />
<br />
<br />
= Procédure d'installation =<br />
Ce chapitre décrit les différentes méthodes possibles (des plus simples, aux manuels) pour une première installation. Voir plus loin pour la mises à jour.<br />
<br />
== Sur votre poste/serveur dédié ==<br />
=== [[File:Logo_windows.png]] Avec DoliWamp (package Windows .exe) ===<br />
- '''Prérequis''': Windows<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Si vous maitrisez l'installation d'un serveur Web Apache, de PHP et Mysql, le chapitre suivant est plus approprié. <br />
Pour les moins expérimentés qui sont sous Windows, il existe une distribution Dolibarr nommée '''DoliWamp''' qui permet de faire une installation Dolibarr sous Windows avec tous ses prérequis (Apache, Mysql, PHP) sans connaissance informatiques. Voici comment l'installer:<br />
<br />
* Récupérez la version de Dolibarr pour Windows.<br />
Pour cela, voir la page de [http://www.nltechno.com/pages/dolibarrwinbin.php téléchargement de DoliWamp chez NLTechno].<br />
<br />
* Lancer le .exe téléchargé et suivez les instructions.<br />
<br />
=== [[File:Logo_ubuntu.png]] Avec DoliDeb (package Debian / Ubuntu .deb) ===<br />
- '''Prerequis''': Linux Debian, Ubuntu, ...<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Cette procédure fonctionne uniquement pour les utilisateurs Linux Debian, Ubuntu et dérivés et est recommandée pour ceux qui n'ont pas de connaissances informatiques particulières. Si vous êtes un administrateur expérimenté d'Apache, PHP et Mysql, le chapitre '''Avec Dolibarr (package standard tgz)''' sera peut-être plus approprié. Dans le cas contraire, vous pouvez utilisez DoliDeb. DoliDeb est un package de Dolibarr spécialisé pour la distribution Debian ou Ubuntu. Ce package vous permet d'installer Dolibarr sous Ubuntu ou Debian (ou dérivé) avec tous ces prérequis (Apache, Mysql, PHP) s'ils ne sont pas déjà installés et ce sans connaissances techniques particulières.<br />
<br />
* La procédure pour installer DoliDeb est décrite sur la page [[Dolibarr pour Ubuntu ou Debian]].<br />
<br />
=== [[File:Logo_rpm.png|40px]] Avec DoliRpm (package Fedora, Redhat, Mandriva, Mageia ou OpenSuse .rpm) ===<br />
- '''Prerequis''': Linux Fedora, Redhat, Mandriva, Mageia or OpenSuse (peut également fonctioner pour toute distribution Linux à rpm)<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Cette procédure fonctionne uniquement pour les utilisateurs Linux d'une distribution gérant les packages rpm et est recommandée pour ceux qui n'ont pas de connaissances informatiques particulières. Si vous êtes un administrateur expérimenté d'Apache, PHP et Mysql, le chapitre suivant '''Avec Dolibarr (package standard tgz)''' sera peut-être plus approprié. Dans le cas contraire, vous pouvez utilisez DoliRpm. DoliRpm est un package de Dolibarr spécialisé pour la distribution Fedora, Redhat, Mandriva, Mageia ou OpenSuse. Ce package vous permet d'installer Dolibarr sous ces OS avec tous ces prérequis (Apache, Mysql, PHP) s'ils ne sont pas déjà installés et ce sans connaissances techniques particulières.<br />
<br />
* La procédure pour installer DoliRpm est décrite sur la page [[Dolibarr pour Redhat ou Fedora (package rpm)]] ou [[Dolibarr pour Mandriva ou Mageia (package rpm)]] ou [[Dolibarr pour OpenSuse (package rpm)]].<br />
<br />
=== [[File:Gnu.png]] Avec Dolibarr (package standard .tgz ou sources Git) ===<br />
- '''Prérequis''': Apache, PHP et un serveur de base de données (MySQL ou PostgreSQL) sont présents et opérationnels, et le login/mot de passe d'accès (à une nouvelle base ou au serveur) est connu.<br />
<br />
- '''Niveau''': Un peu de connaissances informatiques en administration Web.<br />
<br />
Cette procédure décrit l'installation manuelle (recommandée) sur un système GNU/Linux (Debian, Mandriva, ...) mais elle est valable avec d'autres systèmes comme Windows moyennant une adaptation des chemins à ceux de votre OS.<br />
Elle est applicable pour toute version de Dolibarr >= 2.0.0<br />
<br />
* Vérifiez que vous avez bien Apache, PHP {{PHPMinVersion}} et un serveur de base de données (MySQL {{MySqlMinVersion}} ou PostgreSQL) d'installés (consulter pour cela la liste des packages installés sur votre machine grâce au gestionnaire de mise à jour de package de votre distribution).<br />
<br />
* Vérifiez que l'utilisateur root ou admin principal pour le serveur de base de donnée est connu et fonctionne correctement. Si cet utilisateur root ou admin est inconnu car pas encore défini, lisez le chapitre qui suit. Sinon vous pouvez passez au point suivant:<br />
<br />
Pour les utilisateurs Linux utilisant MySql ou MariaDB, si vous venez juste d'installer la base de donnée MySQL, le login administrateur est '''root'''. Vous devez exécuter la commande suivante pour initialiser le mot de passe:<br />
<source lang="bash"><br />
mysql <br />
</source><br />
Une fois dans l'interface Mysql, taper la commande de modification du mote de passe de root:<br />
<source lang="sql"><br />
grant all privileges on *.* to root@'localhost' identified by 'newrootpass' with grant option; <br />
</source><br />
Puis entrée et pour quitter \q<br />
<br />
Pour vérifier que l'accès avec ce couple user/mot de passe fonctionne, lancer la commande<br />
<source lang="bash"><br />
mysql -u root -p<br />
</source><br />
Et taper votre mot de passe ''newrootpass'' suivi de \q pour quitter la sessions si la connexion a réussie.<br />
<br />
<br />
Pour les utilisateurs Linux utilisant Postgresql, si vous venez juste d'installer la base de donnée PostgreSQL, vous devez d'abord créer un utilisateur administrateur et son mot de passe. Pour cela, ajouter la ligne suivante dans le fichier '''/etc/postgresql/x.x/main/pg_hba.conf''' (remplacer x.x avec votre version de postgres)<br />
<source lang="ini"><br />
local all dolibarrowner md5 <br />
</source><br />
De plus, mettez en commentaire la ligne<br />
<source lang="ini"><br />
#local all all ident<br />
</source><br />
qui impose que le compte système utilisé pour accéder à la base (ce sera le compte sous lequel tourne l'application web), ait le même nom que le compte dans la base (ce n'est jamais le cas).<br />
<br />
Ensuite, lancer la commande sous un shell root<br />
<source lang="bash"><br />
sudo -s -u postgres<br />
createuser dolibarrowner<br />
psql -d template1 -c "alter user dolibarrowner with password 'dolibarrownerpass'"<br />
exit<br />
sudo /etc/init.d/postgresql restart<br />
</source><br />
Vous pouvez tester la connexion pour l'utilisateur crée avec la commande<br />
<source lang="bash"><br />
psql -h localhost -d postgres -U dolibarrowner -W<br />
</source><br />
Et entrez le mot de passe ''dolibarrownerpass'' et \q pour quitter la session si la connexion est ok.<br />
<br />
* Placez-vous dans le répertoire dans lequel installer Dolibarr (le répertoire racine défini pour votre serveur web)<br />
# Pour Debian et les familles Ubuntu, il s'agit en général de: /var/www<br />
# Pour Mandriva, Mageia, RedHat, Fedora: /var/www/html<br />
# Pour Suse: /srv/www/htdocs<br />
<source lang="bash"><br />
$ cd /var/www<br />
</source><br />
<br />
* Récupérez l'application<br />
<br />
- Si vous partez du fichier dolibarr.tgz, récupérez le fichier et décompressez l'archive de l'application<br />
<br />
<source lang="bash"><br />
$ wget http://www.dolibarr.org/files/dolibarr.tgz<br />
$ tar xvfz dolibarr.tgz<br />
</source><br />
<br />
Renommez le répertoire dolibarr-x.y.z en dolibarr afin d'avoir un nom de répertoire indépendant de la version (où x.y.z correspond à la version source)<br />
<source lang="bash"><br />
$ mv dolibarr-x.y.z dolibarr<br />
</source><br />
<br />
- Si vous partez des sources Git, récupérer les sources par<br />
<br />
<source lang="bash"><br />
$ git clone -b develop http://github.com/Dolibarr/dolibarr.git dolibarr<br />
</source><br />
<br />
Il est possible de remplacer HEAD par X.y pour récupérer la dernière version stable de la branche x.y.<br />
<br />
* Modifiez les permissions et propriétaires du répertoire 'dolibarr' pour être sur que tous les fichiers soient en lecture pour l'utilisateur sur lequel tourne le serveur (on supposera qu'il s'agit de l'utilisateur 'www-data' pour debian ou ubuntu, 'apache' pour Redhat, Mandriva, Mageia, Fedora)<br />
<source lang="bash"><br />
$ chmod -R 755 /var/www/dolibarr<br />
$ chown -R www-data.www-data /var/www/dolibarr<br />
or<br />
$ chmod -R 755 /var/www/html/dolibarr<br />
$ chown -R apache.apache /var/www/html/dolibarr<br />
</source><br />
<br />
* En tant que root, créez, dans le répertoire dolibarr/htdocs/conf, un fichier de configuration vide, et attribuez-lui comme propriétaire du fichier, l'utilisateur du serveur web (exemple www-data sur debian, nobody sur une vieille RedHat, apache sur une autre version ...). Ceci est requis car le serveur web a besoin d'écrire dans ce fichier lors de l'installation.<br />
<source lang="bash"><br />
$ cd dolibarr ; touch htdocs/conf/conf.php ; chown www-data htdocs/conf/conf.php<br />
</source><br />
<br />
* Sur Fedora, comme SELinux est activé en général, il est aussi conseillé de lancer les commandes pour rendre le répertoire 'dolibarr' accepté par l'environnement SELinux (an absence de commande, vous devriez recevoir des nombreuses alertes d'anomalies) :<br />
<source lang="bash"><br />
$ semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/dolibarr(/.*)?'<br />
$ restorecon -R -v '/var/www/html/dolibarr'<br />
</source><br />
<br />
* Toujours en root, créez le répertoire qui servira aux documents générés ou stockés par Dolibarr (factures pdf, images, ...), et attribuez lui comme propriétaire, l'utilisateur du serveur web (exemple www-data sur Debian, nobody sur une vieille RedHat, apache sur une Mandriva, Mageia ou une RedHat récente, ...). Le serveur web doit avoir les droits en écriture dans ce répertoire. Il faut choisir un répertoire en dehors de la racine du site web. Par exemple "/var/lib/dolibarr/documents"<br />
<source lang="bash"><br />
$ mkdir -p /var/lib/dolibarr/documents ; chown www-data /var/lib/dolibarr/documents<br />
</source><br />
<br />
* Pointez votre navigateur sur la page principale<br />
<source lang="ini"><br />
http://127.0.0.1/dolibarr/htdocs/<br />
</source><br />
<br />
* Suivez les instructions de l'installation<br />
<br />
* Pour des raisons de sécurité nous vous conseillons, une fois l'installation terminée, de créer un fichier install.lock dans le répertoire dédiés aux documents, que seul root doit avoir le droit d'effacer. Ceci va verrouiller la procédure d'installation qui ne pourra plus être appelée par erreur (Il faudra le supprimer pour les mises à jour).<br />
<source lang="bash"><br />
$ touch /var/lib/dolibarr/documents/install.lock; chmod go-w /var/lib/dolibarr/documents;<br />
</source><br />
<br />
== Sur un hébergement mutualisé (à accès restreint) ==<br />
Il n'est pas possible de présenter une solution générique à ce cas car la procédures dépend de l'hébergeur.<br />
La plupart du temps, la procédure générique suivante fonctionnera:<br />
<br />
Voici toutefois quelques documents/procédures spécifiques à certains hébergeurs:<br />
* Hébergement FREE mutualisé: [[File:Installation Dolibarr Free-20100526.odt]]<br />
* Hébergement OVH oneclick: OVH propose une version de Dolibarr parfois plus ancienne que la version stable courante mais installable depuis son interface d'administration dans sa solution "OneClick".<br />
<br />
Procédure générique:<br />
<br />
- '''Prerequis''': <br />
Un serveur web Apache, PHP et une base de donnée (MySQL ou PostgreSQL) tourne correctement et le compte login/mot de passe (de la nouvelle base de donnée ou d'administration du serveur) est connu (sinon les demander à l'hébergeur).<br />
<br />
- '''Niveau''': Utilisateurs avec quelques notions d'administration Web and base de donnée. Maitrise d'un outil de transfert de fichier (FTP, SFTP, ...) pour uploader les fichiers sur le serveur.<br />
<br />
* Vérifiez que vous avez un serveur Web Apache, PHP et une base de donnée (MySQL ou PostGreSQL) qui fonctionne correctement.<br />
[[File:warning.png]] Attention, la page de code du serveur PHP et de la base de donnée doivent être identique.<br />
<br />
* Vérifiez que vous avez un compte root ou administrateur avec login/mot de passe connu et que ces comptes fonctionnent. Si inconnu, demandez les à votre hébergeur.<br />
<br />
* Récupérer l'archive de la dernière version stable de Dolibarr et décompressez la localement..<br />
<br />
* Uploadez tout le contenu du répertoire dans le répertoire racine de votre site web, par exemple par FTP en mode binaire.<br />
<br />
* Créez un répertoire nommé "documents", dans cette racine, qui servira à sauver tous les documents générés et stockés par Dolibarr (factures PDF, images uploadées, ...). Le serveur web doit avoir les permissions d'écrire dedans. Vous pouvez attribuer ces permission avec un client FTP.<br />
<br />
* Maintenant appeler la page principale index.php de dolibarr avec votre navigateur.<br />
<br />
* Suivez les instructions pas à pas du processus d'installation.<br />
<br />
* Pour des raisons de sécurité, il est recommandé, une fois l'installation terminée, de créer un fichier install.lock dans le répertoire de Dolibarr. Ceci vérrouillera l'appel au processus d'installation (il vous faudra supprimer ce fichier pour permettre les mise à jour). Si ceci n'est pas fait, Dolibarr vous affichera un warning lorsque vous êtes loggués comme administrateur.<br />
<br />
== Sur un hébergeur SaaS ou Cloud ==<br />
Dolibarr est aussi disponible en version "pré-installée" chez de nombreux hébergeurs payants, fournissant des instances hébergées "prêtes à l'emploi".<br />
<br />
Voir la page [[Solutions de Cloud]].<br />
<br />
Dolibarr peut aussi être installé manuellement sur toute plateforme Cloud (gratuite ou payante) qui supporte le PHP et Mysql.<br />
<br />
Voir la page [[Solutions de Cloud]].<br />
<br />
= Procédure de mise à jour =<br />
Ce chapitre décrit le processus pour mettre à niveau une installation existante de Dolibarr d'une ancienne version vers une autre. Le processus est le même quel que soit la version depuis laquelle vous venez et la version vers laquelle vous allez, mais sera différent selon la distribution ou système d'exploitation utilisé pour votre première installation. Il est recommandé d'utiliser le même type de distribution pour la mise à jour que celle utilisée pour la première installation.<br />
<br />
== Sauvegarde ==<br />
<br />
Avant de faire une mise à jour, il est recommendé de faire un sauvegarde de la base de donnée mais aussi des documents, de cette façon même en cas de catastrophe vous ne perdrez pas vos preciseuses données<br />
https://wiki.dolibarr.org/index.php/Sauvegardes<br />
<br />
<br />
<br />
== [[File:Logo_windows.png]] Avec DoliWamp (package Windows .exe) ==<br />
<br />
Si vous aviez installé la version de Dolibarr spécifique nommé DoliWamp (qui embarque le serveur Web, PHP et Mysql), la procédure à suivre est celle-ci (Dans tout autre cas, utilisez une des procédures des chapitres suivant):<br />
<br />
* Télécharger la nouvelle version de DoliWamp.<br />
<br />
* Lancer le .exe et laissez vous guider dans toutes les étapes de migration en cliquant suivant,suivant,... à chaque fois sans rien changer aux valeurs proposées par défaut.<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Logo_ubuntu.png]] Avec DoliDeb (package Debian / Ubuntu .deb) ==<br />
Si vous aviez installé Dolibarr via un packagage Debian-Ubuntu, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .deb.<br />
Par exemple en suivant la procédure [[Dolibarr pour Ubuntu ou Debian]].<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Logo_rpm.png|40px]] Avec DoliRpm (package Fedora, Redhat, Mandriva, Mageia ou OpenSuse .rpm) ==<br />
Si vous aviez installé Dolibarr via un packagage rpm, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .rpm.<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Gnu.png]] Avec Dolibarr (package standard .tgz) ==<br />
<br />
Cette procédure décrit la mise à jour de Dolibarr depuis une ancienne version vers une plus récente par la méthode manuelle, avec la distribution standard.<br />
<br />
* Placez-vous dans le répertoire dans lequel a été installé Dolibarr (le répertoire racine de votre serveur web, par exemple /var/www sous Debian)<br />
<source lang="bash"><br />
$ cd /var/www<br />
</source><br />
<br />
* Récupérez l'archive de la nouvelle version<br />
<source lang="bash"><br />
$ wget http://www.dolibarr.org/files/dolibarr.tgz<br />
</source><br />
<br />
* Décompressez l'archive<br />
<source lang="bash"><br />
$ tar xvfz dolibarr.tgz<br />
</source><br />
<br />
* Recopiez les nouveaux fichiers (qui ont été décompressés dans le répertoire dolibarr-x.y.z) vers le répertoire où vous avez votre ancienne version de Dolibarr. Ceci a pour effet de remplacer les anciens fichiers par les nouveaux tout en conservant les fichiers qui vous sont spécifiques (comme le fichier conf.php ou encore vos modules complémentaires non officiels installés).<br />
* Si vous deplacez ou renommez également le dossier de votre ancienne version de Dolibarr, pensez à modifier les chemins dans le fichier /conf/conf.php (sinon vous risquez un fatal error: Cannot redeclare versiontostring)<br />
<source lang="bash"><br />
$ cp -r dolibarr-x.y.z/* dolibarr<br />
</source><br />
<br />
* Vous pouvez alors supprimer le répertoire des fichiers sources<br />
<source lang="bash"><br />
$ rm -fr dolibarr-x.y.z<br />
</source><br />
<br />
* Lancer Dolibarr dans votre navigateur habituel. Ceci fera apparaître l'assistant de migration: L'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
ou <br />
<br />
Lancer les 3 étapes de migration en ligne de commande:<br />
<source lang="bash"><br />
$ cd htdocs/install<br />
$ php upgrade.php oldx.oldy.oldz x.y.z > output.html<br />
$ php upgrade2.php oldx.oldy.oldz x.y.z > output2.html<br />
$ php step5.php oldx.oldy.oldz x.y.z > output3.html<br />
</source><br />
Note: z doit être "0" car seul les versions majeures ont un script de migration à exécuter.<br />
<br />
Le code retour sera 0 en cas de succès, 1 en cas d'erreur (voir alors le fichier sortie output.html ou output2.html)<br />
<br />
Note: Si vous avez un message signalant que le processus de mise à jour est vérrouillé par un fichier install.lock, supprimer ce fichier (il est stocké dans le répertoire racine ou "documents" de Dolibarr) puis rafraichissez la page.<br />
<br />
* Pour des raisons de sécurité nous vous conseillons, une fois la mise à jour terminée, de verrouiller le répertoire d'installation en créant un fichier install.lock dans le répertoire de donnée de Dolibarr. Dans le cas contraire, Dolibarr vous avertira d'un message dans l'interface une fois loggé<br />
<source lang="bash"><br />
$ echo > documents/install.lock<br />
$ chmod 444 documents/install.lock<br />
</source><br />
<br />
= Sauvegarde =<br />
<br />
Avant de faire une mise à jour, il est recommendé de faire un sauvegarde de la base de donnée mais aussi des documents, de cette façon même en case de catastrophe vous ne perdrez pas vos preciseuses données<br />
https://wiki.dolibarr.org/index.php/Sauvegardes<br />
<br />
<br />
<br />
== [[File:Logo_windows.png]] Avec DoliWamp (package Windows .exe) ==<br />
<br />
Si vous aviez installé la version de Dolibarr spécifique nommé DoliWamp (qui embarque le serveur Web, PHP et Mysql), la procédure à suivre est celle-ci (Dans tout autre cas, utilisez une des procédures des chapitres suivant):<br />
<br />
* Télécharger la nouvelle version de DoliWamp.<br />
<br />
* Lancer le .exe et laissez vous guider dans toutes les étapes de migration en cliquant suivant,suivant,... à chaque fois sans rien changer aux valeurs proposées par défaut.<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Logo_ubuntu.png]] Avec DoliDeb (package Debian / Ubuntu .deb) ==<br />
Si vous aviez installé Dolibarr via un packagage Debian-Ubuntu, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .deb.<br />
Par exemple en suivant la procédure [[Dolibarr pour Ubuntu ou Debian]].<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Logo_rpm.png|40px]] Avec DoliRpm (package Fedora, Redhat, Mandriva, Mageia ou OpenSuse .rpm) ==<br />
Si vous aviez installé Dolibarr via un packagage rpm, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .rpm.<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Gnu.png]] Avec Dolibarr (package standard .tgz) ==<br />
<br />
Cette procédure décrit la mise à jour de Dolibarr depuis une ancienne version vers une plus récente par la méthode manuelle, avec la distribution standard.<br />
<br />
* Placez-vous dans le répertoire dans lequel a été installé Dolibarr (le répertoire racine de votre serveur web, par exemple /var/www sous Debian)<br />
<source lang="bash"><br />
$ cd /var/www<br />
</source><br />
<br />
* Récupérez l'archive de la nouvelle version<br />
<source lang="bash"><br />
$ wget http://www.dolibarr.org/files/dolibarr.tgz<br />
</source><br />
<br />
* Décompressez l'archive<br />
<source lang="bash"><br />
$ tar xvfz dolibarr.tgz<br />
</source><br />
<br />
* Recopiez les nouveaux fichiers (qui ont été décompressés dans le répertoire dolibarr-x.y.z) vers le répertoire où vous avez votre ancienne version de Dolibarr. Ceci a pour effet de remplacer les anciens fichiers par les nouveaux tout en conservant les fichiers qui vous sont spécifiques (comme le fichier conf.php ou encore vos modules complémentaires non officiels installés).<br />
* Si vous deplacez ou renommez également le dossier de votre ancienne version de Dolibarr, pensez à modifier les chemins dans le fichier /conf/conf.php (sinon vous risquez un fatal error: Cannot redeclare versiontostring)<br />
<source lang="bash"><br />
$ cp -r dolibarr-x.y.z/* dolibarr<br />
</source><br />
<br />
* Vous pouvez alors supprimer le répertoire des fichiers sources<br />
<source lang="bash"><br />
$ rm -fr dolibarr-x.y.z<br />
</source><br />
<br />
* Lancer Dolibarr dans votre navigateur habituel. Ceci fera apparaître l'assistant de migration: L'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
ou <br />
<br />
Lancer les 2 étapes de migration en ligne de commande:<br />
<source lang="bash"><br />
$ cd htdocs/install<br />
$ php upgrade.php oldx.oldy.oldz x.y.z > output.html<br />
$ php upgrade2.php oldx.oldy.oldz x.y.z > output2.html<br />
$ php step5.php oldx.oldy.oldz x.y.z > output3.html<br />
</source><br />
Note: z doit être "0" car seul les versions majeures ont un script de migration à exécuter.<br />
<br />
Le code retour sera 0 en cas de succès, 1 en cas d'erreur (voir alors le fichier sortie output.html ou output2.html)<br />
<br />
Note: Si vous avez un message signalant que le processus de mise à jour est vérrouillé par un fichier install.lock, supprimer ce fichier (il est stocké dans le répertoire racine ou "documents" de Dolibarr) puis rafraichissez la page.<br />
<br />
* Pour des raisons de sécurité nous vous conseillons, une fois la mise à jour terminée, de verrouiller le répertoire d'installation en créant un fichier install.lock dans le répertoire de donnée de Dolibarr. Dans le cas contraire, Dolibarr vous avertira d'un message dans l'interface une fois loggé<br />
<source lang="bash"><br />
$ echo > documents/install.lock<br />
$ chmod 444 documents/install.lock<br />
</source><br />
<br />
= Configurer une connexion LDAP =<br />
Si vous désirez utiliser LDAP: Voir [[Installer et configurer OpenLDAP]].<br />
<br />
= Importer des données externes =<br />
Pour cette opération, consulter la page [[Imports_de_masse]].<br />
<br />
= Configuration - Paramétrage =<br />
Voir la page [[Premiers_paramétrages|Configuration/Paramétrage]].</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Installation_-_Mise_%C3%A0_jour&diff=38425Installation - Mise à jour2018-03-17T21:43:34Z<p>Yves.brungard: Ajout Mageia</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUtil}}<br />
<br />
Les procédures suivantes décrivent comment installer ou mettre à jour Dolibarr.<br />
<br />
<br />
= Procédure d'installation =<br />
Ce chapitre décrit les différentes méthodes possibles (des plus simples, aux manuels) pour une première installation. Voir plus loin pour la mises à jour.<br />
<br />
== Sur votre poste/serveur dédié ==<br />
=== [[File:Logo_windows.png]] Avec DoliWamp (package Windows .exe) ===<br />
- '''Prérequis''': Windows<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Si vous maitrisez l'installation d'un serveur Web Apache, de PHP et Mysql, le chapitre suivant est plus approprié. <br />
Pour les moins expérimentés qui sont sous Windows, il existe une distribution Dolibarr nommée '''DoliWamp''' qui permet de faire une installation Dolibarr sous Windows avec tous ses prérequis (Apache, Mysql, PHP) sans connaissance informatiques. Voici comment l'installer:<br />
<br />
* Récupérez la version de Dolibarr pour Windows.<br />
Pour cela, voir la page de [http://www.nltechno.com/pages/dolibarrwinbin.php téléchargement de DoliWamp chez NLTechno].<br />
<br />
* Lancer le .exe téléchargé et suivez les instructions.<br />
<br />
=== [[File:Logo_ubuntu.png]] Avec DoliDeb (package Debian / Ubuntu .deb) ===<br />
- '''Prerequis''': Linux Debian, Ubuntu, ...<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Cette procédure fonctionne uniquement pour les utilisateurs Linux Debian, Ubuntu et dérivés et est recommandée pour ceux qui n'ont pas de connaissances informatiques particulières. Si vous êtes un administrateur expérimenté d'Apache, PHP et Mysql, le chapitre '''Avec Dolibarr (package standard tgz)''' sera peut-être plus approprié. Dans le cas contraire, vous pouvez utilisez DoliDeb. DoliDeb est un package de Dolibarr spécialisé pour la distribution Debian ou Ubuntu. Ce package vous permet d'installer Dolibarr sous Ubuntu ou Debian (ou dérivé) avec tous ces prérequis (Apache, Mysql, PHP) s'ils ne sont pas déjà installés et ce sans connaissances techniques particulières.<br />
<br />
* La procédure pour installer DoliDeb est décrite sur la page [[Dolibarr pour Ubuntu ou Debian]].<br />
<br />
=== [[File:Logo_rpm.png|40px]] Avec DoliRpm (package Fedora, Redhat, Mandriva, Mageia ou OpenSuse .rpm) ===<br />
- '''Prerequis''': Linux Fedora, Redhat, Mandriva, Mageia or OpenSuse (peut également fonctioner pour toute distribution Linux à rpm)<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Cette procédure fonctionne uniquement pour les utilisateurs Linux d'une distribution gérant les packages rpm et est recommandée pour ceux qui n'ont pas de connaissances informatiques particulières. Si vous êtes un administrateur expérimenté d'Apache, PHP et Mysql, le chapitre suivant '''Avec Dolibarr (package standard tgz)''' sera peut-être plus approprié. Dans le cas contraire, vous pouvez utilisez DoliRpm. DoliRpm est un package de Dolibarr spécialisé pour la distribution Fedora, Redhat, Mandriva, Mageia ou OpenSuse. Ce package vous permet d'installer Dolibarr sous ces OS avec tous ces prérequis (Apache, Mysql, PHP) s'ils ne sont pas déjà installés et ce sans connaissances techniques particulières.<br />
<br />
* La procédure pour installer DoliRpm est décrite sur la page [[Dolibarr pour Redhat ou Fedora (package rpm)]] ou [[Dolibarr pour Mandriva ou Mageia (package rpm)]] ou [[Dolibarr pour OpenSuse (package rpm)]].<br />
<br />
=== [[File:Gnu.png]] Avec Dolibarr (package standard .tgz ou sources Git) ===<br />
- '''Prérequis''': Apache, PHP et un serveur de base de données (MySQL ou PostgreSQL) sont présents et opérationnels, et le login/mot de passe d'accès (à une nouvelle base ou au serveur) est connu.<br />
<br />
- '''Niveau''': Un peu de connaissances informatiques en administration Web.<br />
<br />
Cette procédure décrit l'installation manuelle (recommandée) sur un système GNU/Linux (Debian, Mandriva, ...) mais elle est valable avec d'autres systèmes comme Windows moyennant une adaptation des chemins à ceux de votre OS.<br />
Elle est applicable pour toute version de Dolibarr >= 2.0.0<br />
<br />
* Vérifiez que vous avez bien Apache, PHP {{PHPMinVersion}} et un serveur de base de données (MySQL {{MySqlMinVersion}} ou PostgreSQL) d'installés (consulter pour cela la liste des packages installés sur votre machine grâce au gestionnaire de mise à jour de package de votre distribution).<br />
<br />
* Vérifiez que l'utilisateur root ou admin principal pour le serveur de base de donnée est connu et fonctionne correctement. Si cet utilisateur root ou admin est inconnu car pas encore défini, lisez le chapitre qui suit. Sinon vous pouvez passez au point suivant:<br />
<br />
Pour les utilisateurs Linux utilisant MySql ou MariaDB, si vous venez juste d'installer la base de donnée MySQL, le login administrateur est '''root'''. Vous devez exécuter la commande suivante pour initialiser le mot de passe:<br />
<source lang="bash"><br />
mysql <br />
</source><br />
Une fois dans l'interface Mysql, taper la commande de modification du mote de passe de root:<br />
<source lang="sql"><br />
grant all privileges on *.* to root@'localhost' identified by 'newrootpass' with grant option; <br />
</source><br />
Puis entrée et pour quitter \q<br />
<br />
Pour vérifier que l'accès avec ce couple user/mot de passe fonctionne, lancer la commande<br />
<source lang="bash"><br />
mysql -u root -p<br />
</source><br />
Et taper votre mot de passe ''newrootpass'' suivi de \q pour quitter la sessions si la connexion a réussie.<br />
<br />
<br />
Pour les utilisateurs Linux utilisant Postgresql, si vous venez juste d'installer la base de donnée PostgreSQL, vous devez d'abord créer un utilisateur administrateur et son mot de passe. Pour cela, ajouter la ligne suivante dans le fichier '''/etc/postgresql/x.x/main/pg_hba.conf''' (remplacer x.x avec votre version de postgres)<br />
<source lang="ini"><br />
local all dolibarrowner md5 <br />
</source><br />
De plus, mettez en commentaire la ligne<br />
<source lang="ini"><br />
#local all all ident<br />
</source><br />
qui impose que le compte système utilisé pour accéder à la base (ce sera le compte sous lequel tourne l'application web), ait le même nom que le compte dans la base (ce n'est jamais le cas).<br />
<br />
Ensuite, lancer la commande sous un shell root<br />
<source lang="bash"><br />
sudo -s -u postgres<br />
createuser dolibarrowner<br />
psql -d template1 -c "alter user dolibarrowner with password 'dolibarrownerpass'"<br />
exit<br />
sudo /etc/init.d/postgresql restart<br />
</source><br />
Vous pouvez tester la connexion pour l'utilisateur crée avec la commande<br />
<source lang="bash"><br />
psql -h localhost -d postgres -U dolibarrowner -W<br />
</source><br />
Et entrez le mot de passe ''dolibarrownerpass'' et \q pour quitter la session si la connexion est ok.<br />
<br />
* Placez-vous dans le répertoire dans lequel installer Dolibarr (le répertoire racine défini pour votre serveur web)<br />
# Pour Debian et les familles Ubuntu, il s'agit en général de: /var/www<br />
# Pour Mandriva, Mageia, RedHat, Fedora: /var/www/html<br />
# Pour Suse: /srv/www/htdocs<br />
<source lang="bash"><br />
$ cd /var/www<br />
</source><br />
<br />
* Récupérez l'application<br />
<br />
- Si vous partez du fichier dolibarr.tgz, récupérez le fichier et décompressez l'archive de l'application<br />
<br />
<source lang="bash"><br />
$ wget http://www.dolibarr.org/files/dolibarr.tgz<br />
$ tar xvfz dolibarr.tgz<br />
</source><br />
<br />
Renommez le répertoire dolibarr-x.y.z en dolibarr afin d'avoir un nom de répertoire indépendant de la version (où x.y.z correspond à la version source)<br />
<source lang="bash"><br />
$ mv dolibarr-x.y.z dolibarr<br />
</source><br />
<br />
- Si vous partez des sources Git, récupérer les sources par<br />
<br />
<source lang="bash"><br />
$ git clone -b develop http://github.com/Dolibarr/dolibarr.git dolibarr<br />
</source><br />
<br />
Il est possible de remplacer HEAD par X.y pour récupérer la dernière version stable de la branche x.y.<br />
<br />
* Modifiez les permissions et propriétaires du répertoire 'dolibarr' pour être sur que tous les fichiers soient en lecture pour l'utilisateur sur lequel tourne le serveur (on supposera qu'il s'agit de l'utilisateur 'www-data' pour debian ou ubuntu, 'apache' pour redhat, mandriva, fedora)<br />
<source lang="bash"><br />
$ chmod -R 755 /var/www/dolibarr<br />
$ chown -R www-data.www-data /var/www/dolibarr<br />
or<br />
$ chmod -R 755 /var/www/html/dolibarr<br />
$ chown -R apache.apache /var/www/html/dolibarr<br />
</source><br />
<br />
* En tant que root, créez, dans le répertoire dolibarr/htdocs/conf, un fichier de configuration vide, et attribuez-lui comme propriétaire du fichier, l'utilisateur du serveur web (exemple www-data sur debian, nobody sur une vieille RedHat, apache sur une autre version ...). Ceci est requis car le serveur web a besoin d'écrire dans ce fichier lors de l'installation.<br />
<source lang="bash"><br />
$ cd dolibarr ; touch htdocs/conf/conf.php ; chown www-data htdocs/conf/conf.php<br />
</source><br />
<br />
* Sur Fedora, comme SELinux est activé en général, il est aussi conseillé de lancer les commandes pour rendre le répertoire 'dolibarr' accepté par l'environnement SELinux (an absence de commande, vous devriez recevoir des nombreuses alertes d'anomalies) :<br />
<source lang="bash"><br />
$ semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/dolibarr(/.*)?'<br />
$ restorecon -R -v '/var/www/html/dolibarr'<br />
</source><br />
<br />
* Toujours en root, créez le répertoire qui servira aux documents générés ou stockés par Dolibarr (factures pdf, images, ...), et attribuez lui comme propriétaire, l'utilisateur du serveur web (exemple www-data sur Debian, nobody sur une vieille RedHat, Apache sur une Mandriva ou une RedHat récente, ...). Le serveur web doit avoir les droits en écriture dans ce répertoire. Il faut choisir un répertoire en dehors de la racine du site web. Par exemple "/var/lib/dolibarr/documents"<br />
<source lang="bash"><br />
$ mkdir -p /var/lib/dolibarr/documents ; chown www-data /var/lib/dolibarr/documents<br />
</source><br />
<br />
* Pointez votre navigateur sur la page principale<br />
<source lang="ini"><br />
http://127.0.0.1/dolibarr/htdocs/<br />
</source><br />
<br />
* Suivez les instructions de l'installation<br />
<br />
* Pour des raisons de sécurité nous vous conseillons, une fois l'installation terminée, de créer un fichier install.lock dans le répertoire dédiés aux documents, que seul root doit avoir le droit d'effacer. Ceci va verrouiller la procédure d'installation qui ne pourra plus être appelée par erreur (Il faudra le supprimer pour les mises à jour).<br />
<source lang="bash"><br />
$ touch /var/lib/dolibarr/documents/install.lock; chmod go-w /var/lib/dolibarr/documents;<br />
</source><br />
<br />
== Sur un hébergement mutualisé (à accès restreint) ==<br />
Il n'est pas possible de présenter une solution générique à ce cas car la procédures dépend de l'hébergeur.<br />
La plupart du temps, la procédure générique suivante fonctionnera:<br />
<br />
Voici toutefois quelques documents/procédures spécifiques à certains hébergeurs:<br />
* Hébergement FREE mutualisé: [[File:Installation Dolibarr Free-20100526.odt]]<br />
* Hébergement OVH oneclick: OVH propose une version de Dolibarr parfois plus ancienne que la version stable courante mais installable depuis son interface d'administration dans sa solution "OneClick".<br />
<br />
Procédure générique:<br />
<br />
- '''Prerequis''': <br />
Un serveur web Apache, PHP et une base de donnée (MySQL ou PostgreSQL) tourne correctement et le compte login/mot de passe (de la nouvelle base de donnée ou d'administration du serveur) est connu (sinon les demander à l'hébergeur).<br />
<br />
- '''Niveau''': Utilisateurs avec quelques notions d'administration Web and base de donnée. Maitrise d'un outil de transfert de fichier (FTP, SFTP, ...) pour uploader les fichiers sur le serveur.<br />
<br />
* Vérifiez que vous avez un serveur Web Apache, PHP et une base de donnée (MySQL ou PostGreSQL) qui fonctionne correctement.<br />
[[File:warning.png]] Attention, la page de code du serveur PHP et de la base de donnée doivent être identique.<br />
<br />
* Vérifiez que vous avez un compte root ou administrateur avec login/mot de passe connu et que ces comptes fonctionnent. Si inconnu, demandez les à votre hébergeur.<br />
<br />
* Récupérer l'archive de la dernière version stable de Dolibarr et décompressez la localement..<br />
<br />
* Uploadez tout le contenu du répertoire dans le répertoire racine de votre site web, par exemple par FTP en mode binaire.<br />
<br />
* Créez un répertoire nommé "documents", dans cette racine, qui servira à sauver tous les documents générés et stockés par Dolibarr (factures PDF, images uploadées, ...). Le serveur web doit avoir les permissions d'écrire dedans. Vous pouvez attribuer ces permission avec un client FTP.<br />
<br />
* Maintenant appeler la page principale index.php de dolibarr avec votre navigateur.<br />
<br />
* Suivez les instructions pas à pas du processus d'installation.<br />
<br />
* Pour des raisons de sécurité, il est recommandé, une fois l'installation terminée, de créer un fichier install.lock dans le répertoire de Dolibarr. Ceci vérrouillera l'appel au processus d'installation (il vous faudra supprimer ce fichier pour permettre les mise à jour). Si ceci n'est pas fait, Dolibarr vous affichera un warning lorsque vous êtes loggués comme administrateur.<br />
<br />
== Sur un hébergeur SaaS ou Cloud ==<br />
Dolibarr est aussi disponible en version "pré-installée" chez de nombreux hébergeurs payants, fournissant des instances hébergées "prêtes à l'emploi".<br />
<br />
Voir la page [[Solutions de Cloud]].<br />
<br />
Dolibarr peut aussi être installé manuellement sur toute plateforme Cloud (gratuite ou payante) qui supporte le PHP et Mysql.<br />
<br />
Voir la page [[Solutions de Cloud]].<br />
<br />
= Procédure de mise à jour =<br />
Ce chapitre décrit le processus pour mettre à niveau une installation existante de Dolibarr d'une ancienne version vers une autre. Le processus est le même quel que soit la version depuis laquelle vous venez et la version vers laquelle vous allez, mais sera différent selon la distribution ou système d'exploitation utilisé pour votre première installation. Il est recommandé d'utiliser le même type de distribution pour la mise à jour que celle utilisée pour la première installation.<br />
<br />
== Sauvegarde ==<br />
<br />
Avant de faire une mise à jour, il est recommendé de faire un sauvegarde de la base de donnée mais aussi des documents, de cette façon même en cas de catastrophe vous ne perdrez pas vos preciseuses données<br />
https://wiki.dolibarr.org/index.php/Sauvegardes<br />
<br />
<br />
<br />
== [[File:Logo_windows.png]] Avec DoliWamp (package Windows .exe) ==<br />
<br />
Si vous aviez installé la version de Dolibarr spécifique nommé DoliWamp (qui embarque le serveur Web, PHP et Mysql), la procédure à suivre est celle-ci (Dans tout autre cas, utilisez une des procédures des chapitres suivant):<br />
<br />
* Télécharger la nouvelle version de DoliWamp.<br />
<br />
* Lancer le .exe et laissez vous guider dans toutes les étapes de migration en cliquant suivant,suivant,... à chaque fois sans rien changer aux valeurs proposées par défaut.<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Logo_ubuntu.png]] Avec DoliDeb (package Debian / Ubuntu .deb) ==<br />
Si vous aviez installé Dolibarr via un packagage Debian-Ubuntu, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .deb.<br />
Par exemple en suivant la procédure [[Dolibarr pour Ubuntu ou Debian]].<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Logo_rpm.png|40px]] Avec DoliRpm (package Fedora, Redhat, Mandriva, Mageia ou OpenSuse .rpm) ==<br />
Si vous aviez installé Dolibarr via un packagage rpm, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .rpm.<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Gnu.png]] Avec Dolibarr (package standard .tgz) ==<br />
<br />
Cette procédure décrit la mise à jour de Dolibarr depuis une ancienne version vers une plus récente par la méthode manuelle, avec la distribution standard.<br />
<br />
* Placez-vous dans le répertoire dans lequel a été installé Dolibarr (le répertoire racine de votre serveur web, par exemple /var/www sous Debian)<br />
<source lang="bash"><br />
$ cd /var/www<br />
</source><br />
<br />
* Récupérez l'archive de la nouvelle version<br />
<source lang="bash"><br />
$ wget http://www.dolibarr.org/files/dolibarr.tgz<br />
</source><br />
<br />
* Décompressez l'archive<br />
<source lang="bash"><br />
$ tar xvfz dolibarr.tgz<br />
</source><br />
<br />
* Recopiez les nouveaux fichiers (qui ont été décompressés dans le répertoire dolibarr-x.y.z) vers le répertoire où vous avez votre ancienne version de Dolibarr. Ceci a pour effet de remplacer les anciens fichiers par les nouveaux tout en conservant les fichiers qui vous sont spécifiques (comme le fichier conf.php ou encore vos modules complémentaires non officiels installés).<br />
* Si vous deplacez ou renommez également le dossier de votre ancienne version de Dolibarr, pensez à modifier les chemins dans le fichier /conf/conf.php (sinon vous risquez un fatal error: Cannot redeclare versiontostring)<br />
<source lang="bash"><br />
$ cp -r dolibarr-x.y.z/* dolibarr<br />
</source><br />
<br />
* Vous pouvez alors supprimer le répertoire des fichiers sources<br />
<source lang="bash"><br />
$ rm -fr dolibarr-x.y.z<br />
</source><br />
<br />
* Lancer Dolibarr dans votre navigateur habituel. Ceci fera apparaître l'assistant de migration: L'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
ou <br />
<br />
Lancer les 3 étapes de migration en ligne de commande:<br />
<source lang="bash"><br />
$ cd htdocs/install<br />
$ php upgrade.php oldx.oldy.oldz x.y.z > output.html<br />
$ php upgrade2.php oldx.oldy.oldz x.y.z > output2.html<br />
$ php step5.php oldx.oldy.oldz x.y.z > output3.html<br />
</source><br />
Note: z doit être "0" car seul les versions majeures ont un script de migration à exécuter.<br />
<br />
Le code retour sera 0 en cas de succès, 1 en cas d'erreur (voir alors le fichier sortie output.html ou output2.html)<br />
<br />
Note: Si vous avez un message signalant que le processus de mise à jour est vérrouillé par un fichier install.lock, supprimer ce fichier (il est stocké dans le répertoire racine ou "documents" de Dolibarr) puis rafraichissez la page.<br />
<br />
* Pour des raisons de sécurité nous vous conseillons, une fois la mise à jour terminée, de verrouiller le répertoire d'installation en créant un fichier install.lock dans le répertoire de donnée de Dolibarr. Dans le cas contraire, Dolibarr vous avertira d'un message dans l'interface une fois loggé<br />
<source lang="bash"><br />
$ echo > documents/install.lock<br />
$ chmod 444 documents/install.lock<br />
</source><br />
<br />
= Sauvegarde =<br />
<br />
Avant de faire une mise à jour, il est recommendé de faire un sauvegarde de la base de donnée mais aussi des documents, de cette façon même en case de catastrophe vous ne perdrez pas vos preciseuses données<br />
https://wiki.dolibarr.org/index.php/Sauvegardes<br />
<br />
<br />
<br />
== [[File:Logo_windows.png]] Avec DoliWamp (package Windows .exe) ==<br />
<br />
Si vous aviez installé la version de Dolibarr spécifique nommé DoliWamp (qui embarque le serveur Web, PHP et Mysql), la procédure à suivre est celle-ci (Dans tout autre cas, utilisez une des procédures des chapitres suivant):<br />
<br />
* Télécharger la nouvelle version de DoliWamp.<br />
<br />
* Lancer le .exe et laissez vous guider dans toutes les étapes de migration en cliquant suivant,suivant,... à chaque fois sans rien changer aux valeurs proposées par défaut.<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Logo_ubuntu.png]] Avec DoliDeb (package Debian / Ubuntu .deb) ==<br />
Si vous aviez installé Dolibarr via un packagage Debian-Ubuntu, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .deb.<br />
Par exemple en suivant la procédure [[Dolibarr pour Ubuntu ou Debian]].<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Logo_rpm.png|40px]] Avec DoliRpm (package Fedora, Redhat, Mandriva, Mageia ou OpenSuse .rpm) ==<br />
Si vous aviez installé Dolibarr via un packagage rpm, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .rpm.<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Gnu.png]] Avec Dolibarr (package standard .tgz) ==<br />
<br />
Cette procédure décrit la mise à jour de Dolibarr depuis une ancienne version vers une plus récente par la méthode manuelle, avec la distribution standard.<br />
<br />
* Placez-vous dans le répertoire dans lequel a été installé Dolibarr (le répertoire racine de votre serveur web, par exemple /var/www sous Debian)<br />
<source lang="bash"><br />
$ cd /var/www<br />
</source><br />
<br />
* Récupérez l'archive de la nouvelle version<br />
<source lang="bash"><br />
$ wget http://www.dolibarr.org/files/dolibarr.tgz<br />
</source><br />
<br />
* Décompressez l'archive<br />
<source lang="bash"><br />
$ tar xvfz dolibarr.tgz<br />
</source><br />
<br />
* Recopiez les nouveaux fichiers (qui ont été décompressés dans le répertoire dolibarr-x.y.z) vers le répertoire où vous avez votre ancienne version de Dolibarr. Ceci a pour effet de remplacer les anciens fichiers par les nouveaux tout en conservant les fichiers qui vous sont spécifiques (comme le fichier conf.php ou encore vos modules complémentaires non officiels installés).<br />
* Si vous deplacez ou renommez également le dossier de votre ancienne version de Dolibarr, pensez à modifier les chemins dans le fichier /conf/conf.php (sinon vous risquez un fatal error: Cannot redeclare versiontostring)<br />
<source lang="bash"><br />
$ cp -r dolibarr-x.y.z/* dolibarr<br />
</source><br />
<br />
* Vous pouvez alors supprimer le répertoire des fichiers sources<br />
<source lang="bash"><br />
$ rm -fr dolibarr-x.y.z<br />
</source><br />
<br />
* Lancer Dolibarr dans votre navigateur habituel. Ceci fera apparaître l'assistant de migration: L'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
ou <br />
<br />
Lancer les 2 étapes de migration en ligne de commande:<br />
<source lang="bash"><br />
$ cd htdocs/install<br />
$ php upgrade.php oldx.oldy.oldz x.y.z > output.html<br />
$ php upgrade2.php oldx.oldy.oldz x.y.z > output2.html<br />
$ php step5.php oldx.oldy.oldz x.y.z > output3.html<br />
</source><br />
Note: z doit être "0" car seul les versions majeures ont un script de migration à exécuter.<br />
<br />
Le code retour sera 0 en cas de succès, 1 en cas d'erreur (voir alors le fichier sortie output.html ou output2.html)<br />
<br />
Note: Si vous avez un message signalant que le processus de mise à jour est vérrouillé par un fichier install.lock, supprimer ce fichier (il est stocké dans le répertoire racine ou "documents" de Dolibarr) puis rafraichissez la page.<br />
<br />
* Pour des raisons de sécurité nous vous conseillons, une fois la mise à jour terminée, de verrouiller le répertoire d'installation en créant un fichier install.lock dans le répertoire de donnée de Dolibarr. Dans le cas contraire, Dolibarr vous avertira d'un message dans l'interface une fois loggé<br />
<source lang="bash"><br />
$ echo > documents/install.lock<br />
$ chmod 444 documents/install.lock<br />
</source><br />
<br />
= Configurer une connexion LDAP =<br />
Si vous désirez utiliser LDAP: Voir [[Installer et configurer OpenLDAP]].<br />
<br />
= Importer des données externes =<br />
Pour cette opération, consulter la page [[Imports_de_masse]].<br />
<br />
= Configuration - Paramétrage =<br />
Voir la page [[Premiers_paramétrages|Configuration/Paramétrage]].</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Installation_-_Mise_%C3%A0_jour&diff=38424Installation - Mise à jour2018-03-17T21:40:54Z<p>Yves.brungard: /* 40px Avec DoliRpm (package Fedora, Redhat, Mandriva, Mageia or OpenSuse .rpm) */</p>
<hr />
<div>[[Category:Admin]]<br />
{{TemplateDocUtil}}<br />
<br />
Les procédures suivantes décrivent comment installer ou mettre à jour Dolibarr.<br />
<br />
<br />
= Procédure d'installation =<br />
Ce chapitre décrit les différentes méthodes possibles (des plus simples, aux manuels) pour une première installation. Voir plus loin pour la mises à jour.<br />
<br />
== Sur votre poste/serveur dédié ==<br />
=== [[File:Logo_windows.png]] Avec DoliWamp (package Windows .exe) ===<br />
- '''Prérequis''': Windows<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Si vous maitrisez l'installation d'un serveur Web Apache, de PHP et Mysql, le chapitre suivant est plus approprié. <br />
Pour les moins expérimentés qui sont sous Windows, il existe une distribution Dolibarr nommée '''DoliWamp''' qui permet de faire une installation Dolibarr sous Windows avec tous ses prérequis (Apache, Mysql, PHP) sans connaissance informatiques. Voici comment l'installer:<br />
<br />
* Récupérez la version de Dolibarr pour Windows.<br />
Pour cela, voir la page de [http://www.nltechno.com/pages/dolibarrwinbin.php téléchargement de DoliWamp chez NLTechno].<br />
<br />
* Lancer le .exe téléchargé et suivez les instructions.<br />
<br />
=== [[File:Logo_ubuntu.png]] Avec DoliDeb (package Debian / Ubuntu .deb) ===<br />
- '''Prerequis''': Linux Debian, Ubuntu, ...<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Cette procédure fonctionne uniquement pour les utilisateurs Linux Debian, Ubuntu et dérivés et est recommandée pour ceux qui n'ont pas de connaissances informatiques particulières. Si vous êtes un administrateur expérimenté d'Apache, PHP et Mysql, le chapitre '''Avec Dolibarr (package standard tgz)''' sera peut-être plus approprié. Dans le cas contraire, vous pouvez utilisez DoliDeb. DoliDeb est un package de Dolibarr spécialisé pour la distribution Debian ou Ubuntu. Ce package vous permet d'installer Dolibarr sous Ubuntu ou Debian (ou dérivé) avec tous ces prérequis (Apache, Mysql, PHP) s'ils ne sont pas déjà installés et ce sans connaissances techniques particulières.<br />
<br />
* La procédure pour installer DoliDeb est décrite sur la page [[Dolibarr pour Ubuntu ou Debian]].<br />
<br />
=== [[File:Logo_rpm.png|40px]] Avec DoliRpm (package Fedora, Redhat, Mandriva, Mageia ou OpenSuse .rpm) ===<br />
- '''Prerequis''': Linux Fedora, Redhat, Mandriva, Mageia or OpenSuse (peut également fonctioner pour toute distribution Linux à rpm)<br />
<br />
- '''Niveau''': Débutant<br />
<br />
Cette procédure fonctionne uniquement pour les utilisateurs Linux d'une distribution gérant les packages rpm et est recommandée pour ceux qui n'ont pas de connaissances informatiques particulières. Si vous êtes un administrateur expérimenté d'Apache, PHP et Mysql, le chapitre suivant '''Avec Dolibarr (package standard tgz)''' sera peut-être plus approprié. Dans le cas contraire, vous pouvez utilisez DoliRpm. DoliRpm est un package de Dolibarr spécialisé pour la distribution Fedora, Redhat, Mandriva, Mageia ou OpenSuse. Ce package vous permet d'installer Dolibarr sous ces OS avec tous ces prérequis (Apache, Mysql, PHP) s'ils ne sont pas déjà installés et ce sans connaissances techniques particulières.<br />
<br />
* La procédure pour installer DoliRpm est décrite sur la page [[Dolibarr pour Redhat ou Fedora (package rpm)]] ou [[Dolibarr pour Mandriva ou Mageia (package rpm)]] ou [[Dolibarr pour OpenSuse (package rpm)]].<br />
<br />
=== [[File:Gnu.png]] Avec Dolibarr (package standard .tgz ou sources Git) ===<br />
- '''Prérequis''': Apache, PHP et un serveur de base de données (MySQL ou PostgreSQL) sont présents et opérationnels, et le login/mot de passe d'accès (à une nouvelle base ou au serveur) est connu.<br />
<br />
- '''Niveau''': Un peu de connaissances informatiques en administration Web.<br />
<br />
Cette procédure décrit l'installation manuelle (recommandée) sur un système GNU/Linux (Debian, Mandriva, ...) mais elle est valable avec d'autres systèmes comme Windows moyennant une adaptation des chemins à ceux de votre OS.<br />
Elle est applicable pour toute version de Dolibarr >= 2.0.0<br />
<br />
* Vérifiez que vous avez bien Apache, PHP {{PHPMinVersion}} et un serveur de base de données (MySQL {{MySqlMinVersion}} ou PostgreSQL) d'installés (consulter pour cela la liste des packages installés sur votre machine grâce au gestionnaire de mise à jour de package de votre distribution).<br />
<br />
* Vérifiez que l'utilisateur root ou admin principal pour le serveur de base de donnée est connu et fonctionne correctement. Si cet utilisateur root ou admin est inconnu car pas encore défini, lisez le chapitre qui suit. Sinon vous pouvez passez au point suivant:<br />
<br />
Pour les utilisateurs Linux utilisant MySql ou MariaDB, si vous venez juste d'installer la base de donnée MySQL, le login administrateur est '''root'''. Vous devez exécuter la commande suivante pour initialiser le mot de passe:<br />
<source lang="bash"><br />
mysql <br />
</source><br />
Une fois dans l'interface Mysql, taper la commande de modification du mote de passe de root:<br />
<source lang="sql"><br />
grant all privileges on *.* to root@'localhost' identified by 'newrootpass' with grant option; <br />
</source><br />
Puis entrée et pour quitter \q<br />
<br />
Pour vérifier que l'accès avec ce couple user/mot de passe fonctionne, lancer la commande<br />
<source lang="bash"><br />
mysql -u root -p<br />
</source><br />
Et taper votre mot de passe ''newrootpass'' suivi de \q pour quitter la sessions si la connexion a réussie.<br />
<br />
<br />
Pour les utilisateurs Linux utilisant Postgresql, si vous venez juste d'installer la base de donnée PostgreSQL, vous devez d'abord créer un utilisateur administrateur et son mot de passe. Pour cela, ajouter la ligne suivante dans le fichier '''/etc/postgresql/x.x/main/pg_hba.conf''' (remplacer x.x avec votre version de postgres)<br />
<source lang="ini"><br />
local all dolibarrowner md5 <br />
</source><br />
De plus, mettez en commentaire la ligne<br />
<source lang="ini"><br />
#local all all ident<br />
</source><br />
qui impose que le compte système utilisé pour accéder à la base (ce sera le compte sous lequel tourne l'application web), ait le même nom que le compte dans la base (ce n'est jamais le cas).<br />
<br />
Ensuite, lancer la commande sous un shell root<br />
<source lang="bash"><br />
sudo -s -u postgres<br />
createuser dolibarrowner<br />
psql -d template1 -c "alter user dolibarrowner with password 'dolibarrownerpass'"<br />
exit<br />
sudo /etc/init.d/postgresql restart<br />
</source><br />
Vous pouvez tester la connexion pour l'utilisateur crée avec la commande<br />
<source lang="bash"><br />
psql -h localhost -d postgres -U dolibarrowner -W<br />
</source><br />
Et entrez le mot de passe ''dolibarrownerpass'' et \q pour quitter la session si la connexion est ok.<br />
<br />
* Placez-vous dans le répertoire dans lequel installer Dolibarr (le répertoire racine défini pour votre serveur web)<br />
# Pour Debian et les familles Ubuntu, il s'agit en général de: /var/www<br />
# Pour Mandriva, RedHat, Fedora: /var/www/html<br />
# Pour Suse: /srv/www/htdocs<br />
<source lang="bash"><br />
$ cd /var/www<br />
</source><br />
<br />
* Récupérez l'application<br />
<br />
- Si vous partez du fichier dolibarr.tgz, récupérez le fichier et décompressez l'archive de l'application<br />
<br />
<source lang="bash"><br />
$ wget http://www.dolibarr.org/files/dolibarr.tgz<br />
$ tar xvfz dolibarr.tgz<br />
</source><br />
<br />
Renommez le répertoire dolibarr-x.y.z en dolibarr afin d'avoir un nom de répertoire indépendant de la version (où x.y.z correspond à la version source)<br />
<source lang="bash"><br />
$ mv dolibarr-x.y.z dolibarr<br />
</source><br />
<br />
- Si vous partez des sources Git, récupérer les sources par<br />
<br />
<source lang="bash"><br />
$ git clone -b develop http://github.com/Dolibarr/dolibarr.git dolibarr<br />
</source><br />
<br />
Il est possible de remplacer HEAD par X.y pour récupérer la dernière version stable de la branche x.y.<br />
<br />
* Modifiez les permissions et propriétaires du répertoire 'dolibarr' pour être sur que tous les fichiers soient en lecture pour l'utilisateur sur lequel tourne le serveur (on supposera qu'il s'agit de l'utilisateur 'www-data' pour debian ou ubuntu, 'apache' pour redhat, mandriva, fedora)<br />
<source lang="bash"><br />
$ chmod -R 755 /var/www/dolibarr<br />
$ chown -R www-data.www-data /var/www/dolibarr<br />
or<br />
$ chmod -R 755 /var/www/html/dolibarr<br />
$ chown -R apache.apache /var/www/html/dolibarr<br />
</source><br />
<br />
* En tant que root, créez, dans le répertoire dolibarr/htdocs/conf, un fichier de configuration vide, et attribuez-lui comme propriétaire du fichier, l'utilisateur du serveur web (exemple www-data sur debian, nobody sur une vieille RedHat, apache sur une autre version ...). Ceci est requis car le serveur web a besoin d'écrire dans ce fichier lors de l'installation.<br />
<source lang="bash"><br />
$ cd dolibarr ; touch htdocs/conf/conf.php ; chown www-data htdocs/conf/conf.php<br />
</source><br />
<br />
* Sur Fedora, comme SELinux est activé en général, il est aussi conseillé de lancer les commandes pour rendre le répertoire 'dolibarr' accepté par l'environnement SELinux (an absence de commande, vous devriez recevoir des nombreuses alertes d'anomalies) :<br />
<source lang="bash"><br />
$ semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/dolibarr(/.*)?'<br />
$ restorecon -R -v '/var/www/html/dolibarr'<br />
</source><br />
<br />
* Toujours en root, créez le répertoire qui servira aux documents générés ou stockés par Dolibarr (factures pdf, images, ...), et attribuez lui comme propriétaire, l'utilisateur du serveur web (exemple www-data sur Debian, nobody sur une vieille RedHat, Apache sur une Mandriva ou une RedHat récente, ...). Le serveur web doit avoir les droits en écriture dans ce répertoire. Il faut choisir un répertoire en dehors de la racine du site web. Par exemple "/var/lib/dolibarr/documents"<br />
<source lang="bash"><br />
$ mkdir -p /var/lib/dolibarr/documents ; chown www-data /var/lib/dolibarr/documents<br />
</source><br />
<br />
* Pointez votre navigateur sur la page principale<br />
<source lang="ini"><br />
http://127.0.0.1/dolibarr/htdocs/<br />
</source><br />
<br />
* Suivez les instructions de l'installation<br />
<br />
* Pour des raisons de sécurité nous vous conseillons, une fois l'installation terminée, de créer un fichier install.lock dans le répertoire dédiés aux documents, que seul root doit avoir le droit d'effacer. Ceci va verrouiller la procédure d'installation qui ne pourra plus être appelée par erreur (Il faudra le supprimer pour les mises à jour).<br />
<source lang="bash"><br />
$ touch /var/lib/dolibarr/documents/install.lock; chmod go-w /var/lib/dolibarr/documents;<br />
</source><br />
<br />
== Sur un hébergement mutualisé (à accès restreint) ==<br />
Il n'est pas possible de présenter une solution générique à ce cas car la procédures dépend de l'hébergeur.<br />
La plupart du temps, la procédure générique suivante fonctionnera:<br />
<br />
Voici toutefois quelques documents/procédures spécifiques à certains hébergeurs:<br />
* Hébergement FREE mutualisé: [[File:Installation Dolibarr Free-20100526.odt]]<br />
* Hébergement OVH oneclick: OVH propose une version de Dolibarr parfois plus ancienne que la version stable courante mais installable depuis son interface d'administration dans sa solution "OneClick".<br />
<br />
Procédure générique:<br />
<br />
- '''Prerequis''': <br />
Un serveur web Apache, PHP et une base de donnée (MySQL ou PostgreSQL) tourne correctement et le compte login/mot de passe (de la nouvelle base de donnée ou d'administration du serveur) est connu (sinon les demander à l'hébergeur).<br />
<br />
- '''Niveau''': Utilisateurs avec quelques notions d'administration Web and base de donnée. Maitrise d'un outil de transfert de fichier (FTP, SFTP, ...) pour uploader les fichiers sur le serveur.<br />
<br />
* Vérifiez que vous avez un serveur Web Apache, PHP et une base de donnée (MySQL ou PostGreSQL) qui fonctionne correctement.<br />
[[File:warning.png]] Attention, la page de code du serveur PHP et de la base de donnée doivent être identique.<br />
<br />
* Vérifiez que vous avez un compte root ou administrateur avec login/mot de passe connu et que ces comptes fonctionnent. Si inconnu, demandez les à votre hébergeur.<br />
<br />
* Récupérer l'archive de la dernière version stable de Dolibarr et décompressez la localement..<br />
<br />
* Uploadez tout le contenu du répertoire dans le répertoire racine de votre site web, par exemple par FTP en mode binaire.<br />
<br />
* Créez un répertoire nommé "documents", dans cette racine, qui servira à sauver tous les documents générés et stockés par Dolibarr (factures PDF, images uploadées, ...). Le serveur web doit avoir les permissions d'écrire dedans. Vous pouvez attribuer ces permission avec un client FTP.<br />
<br />
* Maintenant appeler la page principale index.php de dolibarr avec votre navigateur.<br />
<br />
* Suivez les instructions pas à pas du processus d'installation.<br />
<br />
* Pour des raisons de sécurité, il est recommandé, une fois l'installation terminée, de créer un fichier install.lock dans le répertoire de Dolibarr. Ceci vérrouillera l'appel au processus d'installation (il vous faudra supprimer ce fichier pour permettre les mise à jour). Si ceci n'est pas fait, Dolibarr vous affichera un warning lorsque vous êtes loggués comme administrateur.<br />
<br />
== Sur un hébergeur SaaS ou Cloud ==<br />
Dolibarr est aussi disponible en version "pré-installée" chez de nombreux hébergeurs payants, fournissant des instances hébergées "prêtes à l'emploi".<br />
<br />
Voir la page [[Solutions de Cloud]].<br />
<br />
Dolibarr peut aussi être installé manuellement sur toute plateforme Cloud (gratuite ou payante) qui supporte le PHP et Mysql.<br />
<br />
Voir la page [[Solutions de Cloud]].<br />
<br />
= Procédure de mise à jour =<br />
Ce chapitre décrit le processus pour mettre à niveau une installation existante de Dolibarr d'une ancienne version vers une autre. Le processus est le même quel que soit la version depuis laquelle vous venez et la version vers laquelle vous allez, mais sera différent selon la distribution ou système d'exploitation utilisé pour votre première installation. Il est recommandé d'utiliser le même type de distribution pour la mise à jour que celle utilisée pour la première installation.<br />
<br />
== Sauvegarde ==<br />
<br />
Avant de faire une mise à jour, il est recommendé de faire un sauvegarde de la base de donnée mais aussi des documents, de cette façon même en cas de catastrophe vous ne perdrez pas vos preciseuses données<br />
https://wiki.dolibarr.org/index.php/Sauvegardes<br />
<br />
<br />
<br />
== [[File:Logo_windows.png]] Avec DoliWamp (package Windows .exe) ==<br />
<br />
Si vous aviez installé la version de Dolibarr spécifique nommé DoliWamp (qui embarque le serveur Web, PHP et Mysql), la procédure à suivre est celle-ci (Dans tout autre cas, utilisez une des procédures des chapitres suivant):<br />
<br />
* Télécharger la nouvelle version de DoliWamp.<br />
<br />
* Lancer le .exe et laissez vous guider dans toutes les étapes de migration en cliquant suivant,suivant,... à chaque fois sans rien changer aux valeurs proposées par défaut.<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Logo_ubuntu.png]] Avec DoliDeb (package Debian / Ubuntu .deb) ==<br />
Si vous aviez installé Dolibarr via un packagage Debian-Ubuntu, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .deb.<br />
Par exemple en suivant la procédure [[Dolibarr pour Ubuntu ou Debian]].<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Logo_rpm.png|40px]] Avec DoliRpm (package Fedora, Redhat, Mandriva, Mageia ou OpenSuse .rpm) ==<br />
Si vous aviez installé Dolibarr via un packagage rpm, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .rpm.<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Gnu.png]] Avec Dolibarr (package standard .tgz) ==<br />
<br />
Cette procédure décrit la mise à jour de Dolibarr depuis une ancienne version vers une plus récente par la méthode manuelle, avec la distribution standard.<br />
<br />
* Placez-vous dans le répertoire dans lequel a été installé Dolibarr (le répertoire racine de votre serveur web, par exemple /var/www sous Debian)<br />
<source lang="bash"><br />
$ cd /var/www<br />
</source><br />
<br />
* Récupérez l'archive de la nouvelle version<br />
<source lang="bash"><br />
$ wget http://www.dolibarr.org/files/dolibarr.tgz<br />
</source><br />
<br />
* Décompressez l'archive<br />
<source lang="bash"><br />
$ tar xvfz dolibarr.tgz<br />
</source><br />
<br />
* Recopiez les nouveaux fichiers (qui ont été décompressés dans le répertoire dolibarr-x.y.z) vers le répertoire où vous avez votre ancienne version de Dolibarr. Ceci a pour effet de remplacer les anciens fichiers par les nouveaux tout en conservant les fichiers qui vous sont spécifiques (comme le fichier conf.php ou encore vos modules complémentaires non officiels installés).<br />
* Si vous deplacez ou renommez également le dossier de votre ancienne version de Dolibarr, pensez à modifier les chemins dans le fichier /conf/conf.php (sinon vous risquez un fatal error: Cannot redeclare versiontostring)<br />
<source lang="bash"><br />
$ cp -r dolibarr-x.y.z/* dolibarr<br />
</source><br />
<br />
* Vous pouvez alors supprimer le répertoire des fichiers sources<br />
<source lang="bash"><br />
$ rm -fr dolibarr-x.y.z<br />
</source><br />
<br />
* Lancer Dolibarr dans votre navigateur habituel. Ceci fera apparaître l'assistant de migration: L'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
ou <br />
<br />
Lancer les 3 étapes de migration en ligne de commande:<br />
<source lang="bash"><br />
$ cd htdocs/install<br />
$ php upgrade.php oldx.oldy.oldz x.y.z > output.html<br />
$ php upgrade2.php oldx.oldy.oldz x.y.z > output2.html<br />
$ php step5.php oldx.oldy.oldz x.y.z > output3.html<br />
</source><br />
Note: z doit être "0" car seul les versions majeures ont un script de migration à exécuter.<br />
<br />
Le code retour sera 0 en cas de succès, 1 en cas d'erreur (voir alors le fichier sortie output.html ou output2.html)<br />
<br />
Note: Si vous avez un message signalant que le processus de mise à jour est vérrouillé par un fichier install.lock, supprimer ce fichier (il est stocké dans le répertoire racine ou "documents" de Dolibarr) puis rafraichissez la page.<br />
<br />
* Pour des raisons de sécurité nous vous conseillons, une fois la mise à jour terminée, de verrouiller le répertoire d'installation en créant un fichier install.lock dans le répertoire de donnée de Dolibarr. Dans le cas contraire, Dolibarr vous avertira d'un message dans l'interface une fois loggé<br />
<source lang="bash"><br />
$ echo > documents/install.lock<br />
$ chmod 444 documents/install.lock<br />
</source><br />
<br />
= Sauvegarde =<br />
<br />
Avant de faire une mise à jour, il est recommendé de faire un sauvegarde de la base de donnée mais aussi des documents, de cette façon même en case de catastrophe vous ne perdrez pas vos preciseuses données<br />
https://wiki.dolibarr.org/index.php/Sauvegardes<br />
<br />
<br />
<br />
== [[File:Logo_windows.png]] Avec DoliWamp (package Windows .exe) ==<br />
<br />
Si vous aviez installé la version de Dolibarr spécifique nommé DoliWamp (qui embarque le serveur Web, PHP et Mysql), la procédure à suivre est celle-ci (Dans tout autre cas, utilisez une des procédures des chapitres suivant):<br />
<br />
* Télécharger la nouvelle version de DoliWamp.<br />
<br />
* Lancer le .exe et laissez vous guider dans toutes les étapes de migration en cliquant suivant,suivant,... à chaque fois sans rien changer aux valeurs proposées par défaut.<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Logo_ubuntu.png]] Avec DoliDeb (package Debian / Ubuntu .deb) ==<br />
Si vous aviez installé Dolibarr via un packagage Debian-Ubuntu, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .deb.<br />
Par exemple en suivant la procédure [[Dolibarr pour Ubuntu ou Debian]].<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Logo_rpm.png|40px]] Avec DoliRpm (package Fedora, Redhat, Mandriva, Mageia ou OpenSuse .rpm) ==<br />
Si vous aviez installé Dolibarr via un packagage rpm, sa mise a jour se fait simplement de la même manière qu'une première installation. Il suffit d'installer le nouveau package .rpm.<br />
<br />
* Au premier accès de Dolibarr, l'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
== [[File:Gnu.png]] Avec Dolibarr (package standard .tgz) ==<br />
<br />
Cette procédure décrit la mise à jour de Dolibarr depuis une ancienne version vers une plus récente par la méthode manuelle, avec la distribution standard.<br />
<br />
* Placez-vous dans le répertoire dans lequel a été installé Dolibarr (le répertoire racine de votre serveur web, par exemple /var/www sous Debian)<br />
<source lang="bash"><br />
$ cd /var/www<br />
</source><br />
<br />
* Récupérez l'archive de la nouvelle version<br />
<source lang="bash"><br />
$ wget http://www.dolibarr.org/files/dolibarr.tgz<br />
</source><br />
<br />
* Décompressez l'archive<br />
<source lang="bash"><br />
$ tar xvfz dolibarr.tgz<br />
</source><br />
<br />
* Recopiez les nouveaux fichiers (qui ont été décompressés dans le répertoire dolibarr-x.y.z) vers le répertoire où vous avez votre ancienne version de Dolibarr. Ceci a pour effet de remplacer les anciens fichiers par les nouveaux tout en conservant les fichiers qui vous sont spécifiques (comme le fichier conf.php ou encore vos modules complémentaires non officiels installés).<br />
* Si vous deplacez ou renommez également le dossier de votre ancienne version de Dolibarr, pensez à modifier les chemins dans le fichier /conf/conf.php (sinon vous risquez un fatal error: Cannot redeclare versiontostring)<br />
<source lang="bash"><br />
$ cp -r dolibarr-x.y.z/* dolibarr<br />
</source><br />
<br />
* Vous pouvez alors supprimer le répertoire des fichiers sources<br />
<source lang="bash"><br />
$ rm -fr dolibarr-x.y.z<br />
</source><br />
<br />
* Lancer Dolibarr dans votre navigateur habituel. Ceci fera apparaître l'assistant de migration: L'application détectera que vous avez une base en version ancienne. Choisissez le menu proposé pour migrer à la version supérieure. Si vous avez fait un saut de plusieurs version, garder le choix proposer de migrer d'une seule version, à la fin le menu vous sera reproposé pour migrer à la suivante et ainsi de suite jusqu'à atteindre la version qui a été installé (par si vous avez installer Dolibarr 3.5 par dessus votre version courante qui était Dolibarr 3.2, choisissez le menu de migration pour passer de 3.2 à 3.3, puis 3.3 à 3.4 puis 3.4 à 3.5).<br />
<br />
ou <br />
<br />
Lancer les 2 étapes de migration en ligne de commande:<br />
<source lang="bash"><br />
$ cd htdocs/install<br />
$ php upgrade.php oldx.oldy.oldz x.y.z > output.html<br />
$ php upgrade2.php oldx.oldy.oldz x.y.z > output2.html<br />
$ php step5.php oldx.oldy.oldz x.y.z > output3.html<br />
</source><br />
Note: z doit être "0" car seul les versions majeures ont un script de migration à exécuter.<br />
<br />
Le code retour sera 0 en cas de succès, 1 en cas d'erreur (voir alors le fichier sortie output.html ou output2.html)<br />
<br />
Note: Si vous avez un message signalant que le processus de mise à jour est vérrouillé par un fichier install.lock, supprimer ce fichier (il est stocké dans le répertoire racine ou "documents" de Dolibarr) puis rafraichissez la page.<br />
<br />
* Pour des raisons de sécurité nous vous conseillons, une fois la mise à jour terminée, de verrouiller le répertoire d'installation en créant un fichier install.lock dans le répertoire de donnée de Dolibarr. Dans le cas contraire, Dolibarr vous avertira d'un message dans l'interface une fois loggé<br />
<source lang="bash"><br />
$ echo > documents/install.lock<br />
$ chmod 444 documents/install.lock<br />
</source><br />
<br />
= Configurer une connexion LDAP =<br />
Si vous désirez utiliser LDAP: Voir [[Installer et configurer OpenLDAP]].<br />
<br />
= Importer des données externes =<br />
Pour cette opération, consulter la page [[Imports_de_masse]].<br />
<br />
= Configuration - Paramétrage =<br />
Voir la page [[Premiers_paramétrages|Configuration/Paramétrage]].</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Module_Factures_Clients&diff=38068Module Factures Clients2017-12-18T12:30:14Z<p>Yves.brungard: /* Remise associée à un trop perçu */</p>
<hr />
<div>{{TemplateDocUtil}}<br />
{{TemplateModFR}}<br />
[[Category:Facture]]<br />
{{BasculeDevUser|<br />
nom=Factures|<br />
num=30|<br />
devdoc=[[Module Factures Clients (développeur)]]|<br />
userdoc=Cette page|}}<br />
<br />
= Introduction =<br />
Le module Factures Clients permet de saisir, modifier ou créer une facture composée de lignes de factures. <br />
C'est également ce module qui permet de saisir les paiements réalisés sur une facture.<br />
Il inclut également les fonctions de génération d'une facture dans un format de document comme un PDF.<br />
<br />
Les factures fournisseurs sont gérées par le [[Module Fournisseurs Factures]].<br />
<br />
= Installation =<br />
{{NoInstallModuleFr}}<br />
<br />
= Configuration =<br />
{{ActivationModuleFr}}<br />
<br />
<br />
La page [[Configuration module facture]] vous explique comment configurer le module Facturation et donne quelques exemples de modèles de factures.<br />
<br />
= Création de facture =<br />
<br />
A ce stade de développement Dolibarr n'inclut pas de véritable comptabilité au sens légal. Vous devez donc, soit utiliser en parallèle un logiciel dédié de comptabilité, soit confier la tenue de la comptabilité à un cabinet comptable.<br />
<br />
En revanche Dolibarr vous permet bien sûr d'établir des factures aux clients que vous avez préalablement saisis (voir [[Module Tiers]]).<br />
<br />
Vous pouvez créer une facture directement à partir d'une fiche client, depuis une proposition commerciale classée acceptée, ou à partir d'une commande clôturée à l'état "accepté", ou encore depuis un contrat de service.<br />
<br />
'''Types de factures'''<br />
<br />
Si vous créez une facture depuis une fiche client, vous pouvez choisir 4 types de factures:<br />
<br />
* Les factures de "doit"<br />
Il s'agit d'une facture standard.<br />
Il n'y a aucun prérequis.<br />
<br />
* Les factures de "doit" de remplacement<br />
Une facture de remplacement permet de refaire une facture sur laquelle il y aurait des erreurs et sur laquelle rien n'aurait été fait (aucun paiement saisi).<br />
<br />
On ne peut créer qu'une seule facture de remplacement pour une facture de "doit" donnée. Quand on créé une facture de remplacement R, on choisit la facture de doit F qui doit être remplacée. Il n'est alors plus possible de faire d'actions sur la facture F, bien que cette dernière ne change pas de statut après que la facture de remplacement R ait été créée au statut '''brouillon'''.<br />
<br />
Si la facture de remplacement R est supprimée, la facture F reprends son état initial et le cycle de vie de la facture F peut reprendre.<br />
<br />
Si la facture de remplacement R est '''validée''', la facture F passe alors au statut '''abandonnée''' automatiquement. Le cycle de vie continue sur la facture R.<br />
<br />
* Les factures d'avoir<br />
On crée une facture d'avoir sur une facture de "doit".<br />
On peut créer plusieurs factures d'avoir sur une facture donnée. La facture d'avoir est transformée en réduction qui sert à réduire le paiement de n'importe quelle autre facture en attente de paiement.<br />
<br />
* Les factures d'acomptes<br />
Vous pouvez créer autant de facture d'acompte que désiré. Une facture d'acompte sera ensuite convertie en réduction (déjà payé) pour une autre facture (la facture définitive) sur laquelle porte l'acompte.<br />
<br />
<br />
'''Procédure'''<br />
<br />
Une fois une facture créée (en mode ''brouillon''), vous devez intégrer, dans la facture, des Produits ou Services déjà définis dans Dolibarr ou bien dont vous saisissez directement l'intitulé, le taux de TVA, le prix unitaire.<br />
Pour chaque ligne de la facture vous définissez aussi une quantité et éventuellement une remise (pourcentage).<br />
<br />
Une fois la facture prête vous devez la valider. Quand vous validez la facture un numéro lui est attribué selon le modèle de numérotation que vous avez choisi dans la configuration du module Facture.<br />
Si une erreur est détectée après avoir validé la facture, vous pouvez modifier la facture en cliquant sur le bouton '''modifier''' en bas de la fiche facture ( si la facture n'a pas atteint le status Payé), ou ré-ouvrir le facture pour la modification avec le bouton '''réouvrir''' en bas de la fiche facture( si la facture a atteint le statut Payé).<br />
<br />
'''Règles de calcul de la TVA'''<br />
<br />
* Les règles de calculs de la TVA sont expliquées sur la page: [[Règles de calcul et arrondi de TVA]].<br />
<br />
'''Timbre fiscal'''<br />
<br />
* Certains pays (comme la tunisie) sont soumis à un timbre fiscal (montant d'une taxe fixe pour chaque facture produite). La liste des pays et montants concernés se paramètre dans la [[Table_llx_c_revenuestamp]]. Si le pays de la société fait partie de cette configuration, alors un champ "Timbre fiscal" apparait sur les écrans et documents de facture.<br />
<br />
= Réduire le montant total et/ou le solde à payer =<br />
Il est possible de réduire le montant total et/ou le solde à payer d'une facture, mais il convient de faire une distinction entre une remise et une réduction, bien que ces deux termes soient un peu amalgamés par endroits.<br />
== Réduction ==<br />
Une '''réduction''' est une réduction relative (pourcentage) du prix de vente d'un ou de plusieurs produits ou services détaillés dans la facture. Cette réduction doit être définie ligne par ligne lors de l'édition de la facture et être comprise entre 0% et 100% (NB : le pourcentage de remise est remplacé dans le cas 100% de réduction par la mention ''offert'').<br />
<br />
== Remise ==<br />
Une '''remise''' est une réduction du prix total de la facture. Elle peut être définie de deux manières selon qu'elle est ou non associée à une autre facture, c'est-à-dire à un versement déjà perçus ou non. <br />
=== Remise associée à un trop perçu ===<br />
Les factures d'avoir et factures d'acompte, qui sont saisies pour tracer des versements perçus (en trop pour la facture avoir ou en avance pour l'acompte), peuvent être ''converties en réduction future''. Après conversion en réduction, elles apparaissent dans la section ''Remises fixes'' du tiers. Il sera alors possible de l'attribuer à une autre facture pour en réduire le montant. <br />
<br />
Le trop-perçu, lié au règlement d'une facture supérieur au montant de la facture, apparaît également dans les remises.<br />
<br />
Lorsque le montant de la remise est supérieur à celui de la facture à régler, depuis la liste des remises, on sépare la remise en deux (bouton à droite de la ligne) avec un premier montant correspondant à la facture, puis le solde. On peut alors utiliser une partie de cette remise pour l'appliquer au règlement de la facture qui peut alors être classer "Réglée".<br />
<br />
Dans le cas de l'utilisation d'une remise dans une nouvelle facture, elle sera mentionnée soit sous forme de paiement réduisant le reste à payer, soit sous forme d'une ligne de détail de la facture.<br />
Par défaut, il s'agit d'une ligne de détail ajouté à la facture et donc réduisant le montant total de cette nouvelle facture.<br />
<br />
Rem: L'option cachée FACTURE_DEPOSITS_ARE_JUST_PAYMENTS permet d'avoir cette déduction qui apparaît comme montant déjà payé et non comme diminution du montant total de la facture finale. Dans ce cas, les factures acomptes ne sont pas incluses dans les calculs de chiffre d'affaires (puisqu'inclut dans le montant total de la facture finale). Le bon choix de cette option dépendra des règles comptable de votre pays, mais les 2 sont en général acceptés.<br />
<br />
=== Remise non associée à un versement déjà perçu ===<br />
Il est aussi possible de définir une remise qui n'est pas relative à un versement déjà perçu. Dans ce cas, il faut aller sur la fiche du client, onglet ''client'', et définir la ou les remises fixes (montant) ou relatives (pourcentage) qu'on attribue à ce client, et pourquoi (geste commercial, compensation suite à retard de livraison, etc). Une fois ces remises attribuées au client, elles seront disponibles lors de l'édition de n'importe quelle facture de ce client, dans la rubrique '''Remises''' en haut de page. A l'inverse des remises consécutives à des versements déjà perçus, celles-ci seront mentionnées comme des lignes négatives dans le détail de la facture, et réduiront donc le montant total de celle-ci, avant déduction des versements éventuellement déjà perçus. Mais ces remises ne sont PAS associées à une facture avoir ou d'acompte.<br />
<br />
== Rabais ==<br />
A compléter<br />
<br />
== Escompte ==<br />
A compléter<br />
<br />
== Résumé == <br />
Il y a donc 3 possibilités pour réduire le prix d'une facture : <br />
* attribuer une '''réduction''' en pourcentage sur certains produits/service détaillés dans la facture, ce qui aura pour effet de définir un '''montant total''' plus bas que normalement prévu;<br />
* attribuer au client une '''remise globale''', non associée à une facture avoir ou d'acompte, et qui sera alors ajoutée comme une ligne de montant négatif qui réduira le '''montant total''' de la facture;<br />
* mentionner, via des '''factures avoir ou d'acompte''' transformées en réduction future, que des versements anticipés ont déjà été perçus, ce qui réduira le '''solde à payer''' mais pas le montant total de la facture;<br />
<br />
= Génération PDF, Impression, Envoi =<br />
Lorsqu'un document est généré, il est fabriqué suivant un modèle choisi parmi une liste activée dans les écrans Accueil - Configuration - Modules - Facture<br />
<br />
Pour que le document intègre le numéro de compte bancaire de votre société ou l'adresse de paiement par chèque (ou les 2), il convient de :<br />
# activer le module Banques/Caisses<br />
# Créer le compte de votre société<br />
# Paramétrer le module Factures et Avoirs en allant dans '''Configuration - Modules - Factures et Avoirs''' puis cliquer sur l’icône configuration, choisir dans la rubrique "Mode de règlement" le compte créé à l'étape 2 ci-dessus, où l'adresse à utiliser pour le paiement par chèque, et valider le changement en cliquant sur le bouton "Modifier" de la rubrique.<br />
Vous pouvez maintenant régénérer votre facture, et vous verrez, pour le modèle crabe, le RIB ou les coordonnées s'afficher sous les conditions de paiement.<br />
<br />
Si vous avez activé l'envoi par e-mail, un bouton spécifique "Envoyer par email" est disponible. Il fait apparaître en bas de la fenêtre un formulaire d'envoi, avec la facture en pièce jointe. Vous pouvez également définir un modèle de rappel pour les factures impayées.<br />
<br />
Dans le cas d'une ligne provenant d'un produit ou d'un service enregistré, la référence, le libellé et la description sont affichés par défaut. Si vous souhaitez masquer la référence ou la description, vous pouvez le faire en passant par :<br />
<br />
Accueil - Configuration - PDF<br />
<br />
Vous avez deux options que vous pouvez modifier :<br />
* Cacher la description des produits sur les PDF générés<br />
* Cacher la référence des produits sur les PDF générés<br />
<br />
Ce paramétrage s'applique aussi aux propositions commerciales et aux commandes<br />
<br />
= Saisir les paiements =<br />
Les paiements ne peuvent s'effectuer que sur des factures validées.<br />
<br />
Si un avoir est disponible, il pourra être imputé sur une facture d'un montant total inférieur à celui de l'avoir.<br />
<br />
Après la saisie du paiement, il est possible de régénérer le PDF de la facture pour y faire apparaître le règlement effectué et le solde à payer.<br />
<br />
= Clore une facture =<br />
<br />
Une facture validée peut être définitivement classée à l'état:<br />
* Payé (Si la somme des paiements est supérieure ou égale au montant réclamé).<br />
* Payé partiellement (Si la somme des paiements est supérieure à 0 mais strictement inférieure au montant réclamé).<br />
* Abandonné (Si aucun paiement n'a eu lieu).<br />
<br />
= Exporter les factures =<br />
<br />
Dolibarr fournit un outil générique vous permettant d'exporter les données de vos factures.<br />
Pour cela, il faut utiliser l'assistant Export qui se trouve dans le menu '''Outils - Nouvel export''' (Si le [[Module Exports]] a été activé).<br />
<br />
Voir la page [[Module Exports]] pour plus d'informations.<br />
<br />
= Factures pré-définies =<br />
Dans Dolibarr, une facture désignée comme pré-définie est simplement une facture dont on réutilise la plupart des données pour émettre d'autres factures sur base de ces informations, ce qui permet un gain de temps non-négligeable à la saisie<br />
<br />
Dans le cas de la mise en oeuvre des contrats, une facture prédéfinies peut être définie et correspondant aux éléments récurrents du contrat. Ceci est très intéressant. <br />
Le seul bémol, la période indiquée pour chaque élément de la facture résultante couvre toute la période du contrat. Elle ne devrait porter que sur le mois de facturation.<br />
<br />
<br />
= Exemples de cas d'utilisations =<br />
== Acomptes ==<br />
{{ExamplesCaseFr<br />
|nom=UCIN01: Réception acompte de 10 pour une commande de 100 puis facture finale<br />
|situation=Réception acompte à commande puis facture finale<br />
|actions=Je reçois un règlement d'acompte de mon client.<br />
Je crée '''de zéro''' pour ce client une '''facture d'acompte''' du montant effectivement '''reçu''' de 10 avec, par exemple, le libellé "''Acompte sur prestation/produit/facture/commande/... n° XXXX''".<br />
<br />
Je '''convertis''' ensuite cette facture en '''réduction future'''.<br />
<br />
La facture de doit, complète, éventuellement créée à partir de la proposition ou de la commande précédente, peut avoir été générée avant ou après, cela est indépendant. <br />
<br />
Dans cette facture de doit, j'inclus la réduction de l'acompte, ce qui réduit le reste à payer. La facture de doit se retrouve à un total de 90.<br />
<br />
Rem: si l'option cachée FACTURE_DEPOSITS_ARE_JUST_PAYMENTS est définie, elle vaudra 100 mais dans ce cas, les factures acomptes ne seront pas incluses dans le calcul des chiffres d'affaire.<br />
<br />
J'envoie ou réenvoie la facture de doit générée qui indique qu'un (ou plusieurs) acompte a déjà été reçu.<br />
}}&nbsp;<br />
<br />
== Facturation et paiements ==<br />
{{ExamplesCaseFr<br />
|nom=UCIN02: Facturation et paiement intégral'''<br />
|situation=Je crée une facture.<br />
Je reçois l'intégralité des paiements.<br />
|actions=Je saisis tous les paiement sur la facture. Le solde devient à 0.<br />
Je peux classer la facture à '''Payée'''.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN03: Facturation et paiement supérieur reçu<br />
|situation=Je crée une facture.<br />
Je reçois un paiement supérieur au montant réclamé.<br />
|actions=Je saisis le montant reçu.<br />
Je clos la facture à l'état '''Payé'''.<br />
Je crée un avoir du trop perçu.<br />
Rem: L'action reste à étudier car ne semble pas ok: Voir http://www.dolibarr.fr/forum/12-howto--aide/35761-trop-percu/post?do=reply avec proposition de solution.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN04: Facturation et paiement intégral puis produit retourné<br />
|situation=Je crée une facture.<br />
Je reçois l'intégralité des paiements. Je les saisis et le solde devient 0.<br />
Je clos la facture à l'état '''Payé'''.<br />
Plus tard, je reçois un retour de produit suite à rétractation légale.<br />
|actions=Je saisis un avoir sur cette facture.<br />
Cet avoir peut etre converti en réduction pour la prochaine facture ou remboursé en monétaire.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN05: Facturation et paiement intégral puis erreur détecté sur la ligne produit'''<br />
|situation=Je crée une facture.<br />
Je reçois l'intégralité des paiements. Je les saisis et le solde devient 0.<br />
Je clos la facture à l'état '''Payé'''.<br />
Plus tard, je découvre une erreur de produit.<br />
|actions=Je saisis un avoir sur cette facture qui contient le produit en erreur.<br />
Je convertis cet avoir en réduction. <br />
Je crée une nouvelle facture avec le bon produit. J'intègre l'avoir dans cette nouvelle facture.<br />
Eventuellement si j'utilise le module stock, je corrige le stock en manuel.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN06: Facturation et paiement partiel car anticipé (escompte)<br />
|situation=Je crée une facture.<br />
Je reçois un paiement du montant de la facture moins un escompte accordé pour paiement anticipé.<br />
|actions=Je saisis le paiment reçu de la valeur reçue.<br />
Je classe la facture à '''Payé partiellement''' et renseigne le motif "Le manque est un '''Escompte'''".<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN07: Facturation et paiement partiel ou nul puis retour produit et attente correction anomalie ou erreur infine tolerable'''<br />
|situation=Je crée une facture.<br />
Si je reçois un paiement partiel, je le saisis.<br />
Je reçois un retour d'une partie des produits (retractation du client) ou ne reçois plus les quelques centimes manquant.<br />
Eventuellement, le client attend un avoir pour payer la fin de la facture.<br />
|actions=Je saisis un avoir sur la facture.<br />
J'envoie l'avoir.<br />
Ensuite, je convertis cet avoir en reduction pour le client.<br />
Je saisis eventuellement la suite des paiements reçus.<br />
Eventuellement j'inclus l'avoir dans la liste des paiements de la facture (sinon il pourra être inclu dans une autre facture).<br />
Je classe la facture à l'état '''Payé'''.<br />
<br />
'''TODO''' Contrôle a inclure en plus : Quand l'avoir est fait sur une facture au statut 'Réglement commencé', il faut mettre un message disant "Attention, ne créer un avoir sur une facture en cours de paiement que si le client a cessé le paiement et attend cet avoir pour poursuivre la suite ou parce que vous fermez la facture".<br />
Ensuite il faut vérifier que le montant de l'avoir est inférieur au montant de la facture auquel il s'applique - montant déja reçu. Sinon, refuser création avoir.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN08: Facturation et paiement partiel car mauvais payeur<br />
|situation=Je crée une facture.<br />
Je reçois un paiement partiel, je le saisis.<br />
Après une longue attente, la suite des paiements n'est pas reçue et j'abandonne tout espoir.<br />
|actions=Je classe la facture à l'état '''Payé partiellement''' et renseigne le motif '''Mauvais payeur'''.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN09: Facturation et aucun paiement reçu car mauvais payeur'''<br />
|situation=Je crée une facture.<br />
Après une longue attente, la suite des paiements n'est pas reçu et j'abandonne tout espoir.<br />
|actions=Je classe la facture à l'état '''Abandonnée''' et renseigne le motif '''Mauvais payeur'''.<br />
}}&nbsp;<br />
<br />
== Correction des erreurs de facturation ==<br />
{{ExamplesCaseFr<br />
|nom=UCIN00: Erreur sur le contenu de la facture corrigée par facture remplacement<br />
|situation=Je crée une facture.<br />
Je valide.<br />
Je me rend compte de l'erreur sur le contenu (montant, descriptif) après validation (voir use case UCIN10 en cas d'erreur sur client).<br />
|actions=Je classe la facture abandonnée pour motif 'Autre' (opération non obligatoire car automatique avec étape suivante).<br />
Je crée une nouvelle facture en choisissant '''Facture de remplacement''' et en selectionnant la facture remplacée comme facture.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN10: Erreur sur le client détecté après validation mais avant paiement<br />
|situation=Je crée une facture.<br />
Je valide.<br />
Je me rend compte que la facture a été crée sur le mauvais client.<br />
|actions=Je classe la facture abandonnée pour motif 'Autre' et je renseigne le motif "Erreur saisie sur mauvais client".<br />
Je crée une nouvelle facture sur le bon client.<br />
<br />
'''TODO''': Faire confirmer par expert que possible si c'est fait avant envoi.<br />
Si pas possible, interdire la possibilité et utiliser le cas suivant.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN10: Erreur sur le client (ou facture saisie 2 fois) détecté après envoi facture mais avant paiement<br />
|situation=Je crée une facture.<br />
Je valide et l'envoie au client.<br />
Je me rend compte que la facture a été crée sur le mauvais client ou facture en doublon avec une autre deja envoyée.<br />
|actions=Je crée un avoir sur la facture qui n'a pas encore de paiement, du montant inverse exacte.<br />
Je convertit l'avoir en réduction. L'avoir se retrouve ainsi "traité", je peux l'envoyer au client si je le désire.<br />
Je retourne sur la fiche facture en erreur et j'applique la réduction issue de l'avoir. <br />
Le du devient alors zéro et je la classe à '''Payée complètement''' (paiement de 0).<br />
Que le client ait reçu ou non la facture initiale, cette dernière a été annulée et fermé par l'avoir.<br />
Je resaisi la facture sur le bon client.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN10: Erreur sur le libellé client détecté après saisie de paiement'''<br />
|situation=Je crée une facture sur le client de libellé X.<br />
Je valide.<br />
Je saisi les paiements.<br />
Je classe la facture payée.<br />
Je me rend compte que la facture a été crée sur le mauvais client et le client me demande une contrefacture sur l'ancien nom X et une nouvelle sur le nouveau nom Y.<br />
|actions=Je crée un avoir sur la facture en erreur avec toutes les lignes en inverse.<br />
Je transforme l'avoir en réduction. L'avoir se retrouve ainsi "traité".<br />
J'édite la fiche client pour corriger le libellé client X par Y.<br />
Je crée la nouvelle facture sur le nouveau client Y en incluant toutes les lignes.<br />
Je la valide.<br />
J'inclut le paiement issue de l'avoir.<br />
Le solde passe alors à 0 (aucun du).<br />
Je peux classer la facture à '''Payée''' sans saisir d'autres réglements (le client a déjà payé).<br />
}}&nbsp;<br />
<br />
<br />
== Factures pré-définies ==<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCRIN01: Création d'une facture pré-définie<br />
|situation=Création d'une facture pré-définie<br />
|actions=Il n'est pas possible de créer une facture récurrente en partant de rien. Il s'agit d'une facture standard de doit que l'on convertie et réutilise par la suite. Voir cas d'utilisation suivant donc.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCRIN02: Transformation d'une facture standard en facture prédéfinie<br />
|situation=Transformation d'une facture standard en facture prédéfinie<br />
|actions=Je crée ou ouvre une facture brouillon. Je clique sur le bouton "Convertir en récurrente". J'entre un titre (par exemple, "Mise-à-jour trimestrielle") et éventuellement une note, qui pourrait être une explication de la raison de la répétition de cette facture. Ma facture est à présent une facture récurrente. Cela ne sera visible que si je demande l'affichage des factures récurrentes ou que je crée une nouvelle facture.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCRIN03: Utilisation d'une facture prédéfinie pour la création d'une nouvelle facture<br />
|situation=Utilisation d'une facture prédéfinie pour la création d'une nouvelle facture<br />
|actions=Je crée une nouvelle facture ("Créer facture"), et j'utilise la boîte de sélection en bas de page pour sélectionner la facture récurrente que je veux utiliser comme gabarit (template). Ma nouvelle facture est pré-remplie, les modifications à apporter sont mineures.<br />
}}</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Module_Factures_Clients&diff=38067Module Factures Clients2017-12-18T12:20:35Z<p>Yves.brungard: /* Création de facture */</p>
<hr />
<div>{{TemplateDocUtil}}<br />
{{TemplateModFR}}<br />
[[Category:Facture]]<br />
{{BasculeDevUser|<br />
nom=Factures|<br />
num=30|<br />
devdoc=[[Module Factures Clients (développeur)]]|<br />
userdoc=Cette page|}}<br />
<br />
= Introduction =<br />
Le module Factures Clients permet de saisir, modifier ou créer une facture composée de lignes de factures. <br />
C'est également ce module qui permet de saisir les paiements réalisés sur une facture.<br />
Il inclut également les fonctions de génération d'une facture dans un format de document comme un PDF.<br />
<br />
Les factures fournisseurs sont gérées par le [[Module Fournisseurs Factures]].<br />
<br />
= Installation =<br />
{{NoInstallModuleFr}}<br />
<br />
= Configuration =<br />
{{ActivationModuleFr}}<br />
<br />
<br />
La page [[Configuration module facture]] vous explique comment configurer le module Facturation et donne quelques exemples de modèles de factures.<br />
<br />
= Création de facture =<br />
<br />
A ce stade de développement Dolibarr n'inclut pas de véritable comptabilité au sens légal. Vous devez donc, soit utiliser en parallèle un logiciel dédié de comptabilité, soit confier la tenue de la comptabilité à un cabinet comptable.<br />
<br />
En revanche Dolibarr vous permet bien sûr d'établir des factures aux clients que vous avez préalablement saisis (voir [[Module Tiers]]).<br />
<br />
Vous pouvez créer une facture directement à partir d'une fiche client, depuis une proposition commerciale classée acceptée, ou à partir d'une commande clôturée à l'état "accepté", ou encore depuis un contrat de service.<br />
<br />
'''Types de factures'''<br />
<br />
Si vous créez une facture depuis une fiche client, vous pouvez choisir 4 types de factures:<br />
<br />
* Les factures de "doit"<br />
Il s'agit d'une facture standard.<br />
Il n'y a aucun prérequis.<br />
<br />
* Les factures de "doit" de remplacement<br />
Une facture de remplacement permet de refaire une facture sur laquelle il y aurait des erreurs et sur laquelle rien n'aurait été fait (aucun paiement saisi).<br />
<br />
On ne peut créer qu'une seule facture de remplacement pour une facture de "doit" donnée. Quand on créé une facture de remplacement R, on choisit la facture de doit F qui doit être remplacée. Il n'est alors plus possible de faire d'actions sur la facture F, bien que cette dernière ne change pas de statut après que la facture de remplacement R ait été créée au statut '''brouillon'''.<br />
<br />
Si la facture de remplacement R est supprimée, la facture F reprends son état initial et le cycle de vie de la facture F peut reprendre.<br />
<br />
Si la facture de remplacement R est '''validée''', la facture F passe alors au statut '''abandonnée''' automatiquement. Le cycle de vie continue sur la facture R.<br />
<br />
* Les factures d'avoir<br />
On crée une facture d'avoir sur une facture de "doit".<br />
On peut créer plusieurs factures d'avoir sur une facture donnée. La facture d'avoir est transformée en réduction qui sert à réduire le paiement de n'importe quelle autre facture en attente de paiement.<br />
<br />
* Les factures d'acomptes<br />
Vous pouvez créer autant de facture d'acompte que désiré. Une facture d'acompte sera ensuite convertie en réduction (déjà payé) pour une autre facture (la facture définitive) sur laquelle porte l'acompte.<br />
<br />
<br />
'''Procédure'''<br />
<br />
Une fois une facture créée (en mode ''brouillon''), vous devez intégrer, dans la facture, des Produits ou Services déjà définis dans Dolibarr ou bien dont vous saisissez directement l'intitulé, le taux de TVA, le prix unitaire.<br />
Pour chaque ligne de la facture vous définissez aussi une quantité et éventuellement une remise (pourcentage).<br />
<br />
Une fois la facture prête vous devez la valider. Quand vous validez la facture un numéro lui est attribué selon le modèle de numérotation que vous avez choisi dans la configuration du module Facture.<br />
Si une erreur est détectée après avoir validé la facture, vous pouvez modifier la facture en cliquant sur le bouton '''modifier''' en bas de la fiche facture ( si la facture n'a pas atteint le status Payé), ou ré-ouvrir le facture pour la modification avec le bouton '''réouvrir''' en bas de la fiche facture( si la facture a atteint le statut Payé).<br />
<br />
'''Règles de calcul de la TVA'''<br />
<br />
* Les règles de calculs de la TVA sont expliquées sur la page: [[Règles de calcul et arrondi de TVA]].<br />
<br />
'''Timbre fiscal'''<br />
<br />
* Certains pays (comme la tunisie) sont soumis à un timbre fiscal (montant d'une taxe fixe pour chaque facture produite). La liste des pays et montants concernés se paramètre dans la [[Table_llx_c_revenuestamp]]. Si le pays de la société fait partie de cette configuration, alors un champ "Timbre fiscal" apparait sur les écrans et documents de facture.<br />
<br />
= Réduire le montant total et/ou le solde à payer =<br />
Il est possible de réduire le montant total et/ou le solde à payer d'une facture, mais il convient de faire une distinction entre une remise et une réduction, bien que ces deux termes soient un peu amalgamés par endroits.<br />
== Réduction ==<br />
Une '''réduction''' est une réduction relative (pourcentage) du prix de vente d'un ou de plusieurs produits ou services détaillés dans la facture. Cette réduction doit être définie ligne par ligne lors de l'édition de la facture et être comprise entre 0% et 100% (NB : le pourcentage de remise est remplacé dans le cas 100% de réduction par la mention ''offert'').<br />
<br />
== Remise ==<br />
Une '''remise''' est une réduction du prix total de la facture. Elle peut être définie de deux manières selon qu'elle est ou non associée à une autre facture, c'est-à-dire à un versement déjà perçus ou non. <br />
=== Remise associée à un trop perçu ===<br />
Les factures d'avoir et factures d'acompte, qui sont saisie pour tracer des versements perçus (en trop pour la facture avoir ou en avance pour l'acompte), peuvent être ''converties en réduction future''. Après conversion en réduction, elle apparaît dans la section ''Remises fixes'' du tiers. Il sera alors possible de l'attribuer à une autre facture pour en réduire le montant. <br />
Elle sera mentionnée dans la nouvelle facture, soit sous forme de paiement réduisant le reste à payer, soit sous forme d'une ligne de détail de la facture.<br />
Par défaut, il s'agit d'une ligne de détail ajouté à la facture et donc réduisant le montant total de cette nouvelle facture.<br />
<br />
Rem: L'option cachée FACTURE_DEPOSITS_ARE_JUST_PAYMENTS permet d'avoir cette déduction qui apparaît comme montant déjà payé et non comme diminution du montant total de la facture finale. Dans ce cas, les factures acomptes ne sont pas incluses dans les calculs de chiffre d'affaires (puisqu'inclut dans le montant total de la facture finale). Le bon choix de cette option dépendra des règles comptable de votre pays, mais les 2 sont en général acceptés.<br />
<br />
=== Remise non associée à un versement déjà perçu ===<br />
Il est aussi possible de définir une remise qui n'est pas relative à un versement déjà perçu. Dans ce cas, il faut aller sur la fiche du client, onglet ''client'', et définir la ou les remises fixes (montant) ou relatives (pourcentage) qu'on attribue à ce client, et pourquoi (geste commercial, compensation suite à retard de livraison, etc). Une fois ces remises attribuées au client, elles seront disponibles lors de l'édition de n'importe quelle facture de ce client, dans la rubrique '''Remises''' en haut de page. A l'inverse des remises consécutives à des versements déjà perçus, celles-ci seront mentionnées comme des lignes négatives dans le détail de la facture, et réduiront donc le montant total de celle-ci, avant déduction des versements éventuellement déjà perçus. Mais ces remises ne sont PAS associées à une facture avoir ou d'acompte.<br />
<br />
== Rabais ==<br />
A compléter<br />
<br />
== Escompte ==<br />
A compléter<br />
<br />
== Résumé == <br />
Il y a donc 3 possibilités pour réduire le prix d'une facture : <br />
* attribuer une '''réduction''' en pourcentage sur certains produits/service détaillés dans la facture, ce qui aura pour effet de définir un '''montant total''' plus bas que normalement prévu;<br />
* attribuer au client une '''remise globale''', non associée à une facture avoir ou d'acompte, et qui sera alors ajoutée comme une ligne de montant négatif qui réduira le '''montant total''' de la facture;<br />
* mentionner, via des '''factures avoir ou d'acompte''' transformées en réduction future, que des versements anticipés ont déjà été perçus, ce qui réduira le '''solde à payer''' mais pas le montant total de la facture;<br />
<br />
= Génération PDF, Impression, Envoi =<br />
Lorsqu'un document est généré, il est fabriqué suivant un modèle choisi parmi une liste activée dans les écrans Accueil - Configuration - Modules - Facture<br />
<br />
Pour que le document intègre le numéro de compte bancaire de votre société ou l'adresse de paiement par chèque (ou les 2), il convient de :<br />
# activer le module Banques/Caisses<br />
# Créer le compte de votre société<br />
# Paramétrer le module Factures et Avoirs en allant dans '''Configuration - Modules - Factures et Avoirs''' puis cliquer sur l’icône configuration, choisir dans la rubrique "Mode de règlement" le compte créé à l'étape 2 ci-dessus, où l'adresse à utiliser pour le paiement par chèque, et valider le changement en cliquant sur le bouton "Modifier" de la rubrique.<br />
Vous pouvez maintenant régénérer votre facture, et vous verrez, pour le modèle crabe, le RIB ou les coordonnées s'afficher sous les conditions de paiement.<br />
<br />
Si vous avez activé l'envoi par e-mail, un bouton spécifique "Envoyer par email" est disponible. Il fait apparaître en bas de la fenêtre un formulaire d'envoi, avec la facture en pièce jointe. Vous pouvez également définir un modèle de rappel pour les factures impayées.<br />
<br />
Dans le cas d'une ligne provenant d'un produit ou d'un service enregistré, la référence, le libellé et la description sont affichés par défaut. Si vous souhaitez masquer la référence ou la description, vous pouvez le faire en passant par :<br />
<br />
Accueil - Configuration - PDF<br />
<br />
Vous avez deux options que vous pouvez modifier :<br />
* Cacher la description des produits sur les PDF générés<br />
* Cacher la référence des produits sur les PDF générés<br />
<br />
Ce paramétrage s'applique aussi aux propositions commerciales et aux commandes<br />
<br />
= Saisir les paiements =<br />
Les paiements ne peuvent s'effectuer que sur des factures validées.<br />
<br />
Si un avoir est disponible, il pourra être imputé sur une facture d'un montant total inférieur à celui de l'avoir.<br />
<br />
Après la saisie du paiement, il est possible de régénérer le PDF de la facture pour y faire apparaître le règlement effectué et le solde à payer.<br />
<br />
= Clore une facture =<br />
<br />
Une facture validée peut être définitivement classée à l'état:<br />
* Payé (Si la somme des paiements est supérieure ou égale au montant réclamé).<br />
* Payé partiellement (Si la somme des paiements est supérieure à 0 mais strictement inférieure au montant réclamé).<br />
* Abandonné (Si aucun paiement n'a eu lieu).<br />
<br />
= Exporter les factures =<br />
<br />
Dolibarr fournit un outil générique vous permettant d'exporter les données de vos factures.<br />
Pour cela, il faut utiliser l'assistant Export qui se trouve dans le menu '''Outils - Nouvel export''' (Si le [[Module Exports]] a été activé).<br />
<br />
Voir la page [[Module Exports]] pour plus d'informations.<br />
<br />
= Factures pré-définies =<br />
Dans Dolibarr, une facture désignée comme pré-définie est simplement une facture dont on réutilise la plupart des données pour émettre d'autres factures sur base de ces informations, ce qui permet un gain de temps non-négligeable à la saisie<br />
<br />
Dans le cas de la mise en oeuvre des contrats, une facture prédéfinies peut être définie et correspondant aux éléments récurrents du contrat. Ceci est très intéressant. <br />
Le seul bémol, la période indiquée pour chaque élément de la facture résultante couvre toute la période du contrat. Elle ne devrait porter que sur le mois de facturation.<br />
<br />
<br />
= Exemples de cas d'utilisations =<br />
== Acomptes ==<br />
{{ExamplesCaseFr<br />
|nom=UCIN01: Réception acompte de 10 pour une commande de 100 puis facture finale<br />
|situation=Réception acompte à commande puis facture finale<br />
|actions=Je reçois un règlement d'acompte de mon client.<br />
Je crée '''de zéro''' pour ce client une '''facture d'acompte''' du montant effectivement '''reçu''' de 10 avec, par exemple, le libellé "''Acompte sur prestation/produit/facture/commande/... n° XXXX''".<br />
<br />
Je '''convertis''' ensuite cette facture en '''réduction future'''.<br />
<br />
La facture de doit, complète, éventuellement créée à partir de la proposition ou de la commande précédente, peut avoir été générée avant ou après, cela est indépendant. <br />
<br />
Dans cette facture de doit, j'inclus la réduction de l'acompte, ce qui réduit le reste à payer. La facture de doit se retrouve à un total de 90.<br />
<br />
Rem: si l'option cachée FACTURE_DEPOSITS_ARE_JUST_PAYMENTS est définie, elle vaudra 100 mais dans ce cas, les factures acomptes ne seront pas incluses dans le calcul des chiffres d'affaire.<br />
<br />
J'envoie ou réenvoie la facture de doit générée qui indique qu'un (ou plusieurs) acompte a déjà été reçu.<br />
}}&nbsp;<br />
<br />
== Facturation et paiements ==<br />
{{ExamplesCaseFr<br />
|nom=UCIN02: Facturation et paiement intégral'''<br />
|situation=Je crée une facture.<br />
Je reçois l'intégralité des paiements.<br />
|actions=Je saisis tous les paiement sur la facture. Le solde devient à 0.<br />
Je peux classer la facture à '''Payée'''.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN03: Facturation et paiement supérieur reçu<br />
|situation=Je crée une facture.<br />
Je reçois un paiement supérieur au montant réclamé.<br />
|actions=Je saisis le montant reçu.<br />
Je clos la facture à l'état '''Payé'''.<br />
Je crée un avoir du trop perçu.<br />
Rem: L'action reste à étudier car ne semble pas ok: Voir http://www.dolibarr.fr/forum/12-howto--aide/35761-trop-percu/post?do=reply avec proposition de solution.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN04: Facturation et paiement intégral puis produit retourné<br />
|situation=Je crée une facture.<br />
Je reçois l'intégralité des paiements. Je les saisis et le solde devient 0.<br />
Je clos la facture à l'état '''Payé'''.<br />
Plus tard, je reçois un retour de produit suite à rétractation légale.<br />
|actions=Je saisis un avoir sur cette facture.<br />
Cet avoir peut etre converti en réduction pour la prochaine facture ou remboursé en monétaire.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN05: Facturation et paiement intégral puis erreur détecté sur la ligne produit'''<br />
|situation=Je crée une facture.<br />
Je reçois l'intégralité des paiements. Je les saisis et le solde devient 0.<br />
Je clos la facture à l'état '''Payé'''.<br />
Plus tard, je découvre une erreur de produit.<br />
|actions=Je saisis un avoir sur cette facture qui contient le produit en erreur.<br />
Je convertis cet avoir en réduction. <br />
Je crée une nouvelle facture avec le bon produit. J'intègre l'avoir dans cette nouvelle facture.<br />
Eventuellement si j'utilise le module stock, je corrige le stock en manuel.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN06: Facturation et paiement partiel car anticipé (escompte)<br />
|situation=Je crée une facture.<br />
Je reçois un paiement du montant de la facture moins un escompte accordé pour paiement anticipé.<br />
|actions=Je saisis le paiment reçu de la valeur reçue.<br />
Je classe la facture à '''Payé partiellement''' et renseigne le motif "Le manque est un '''Escompte'''".<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN07: Facturation et paiement partiel ou nul puis retour produit et attente correction anomalie ou erreur infine tolerable'''<br />
|situation=Je crée une facture.<br />
Si je reçois un paiement partiel, je le saisis.<br />
Je reçois un retour d'une partie des produits (retractation du client) ou ne reçois plus les quelques centimes manquant.<br />
Eventuellement, le client attend un avoir pour payer la fin de la facture.<br />
|actions=Je saisis un avoir sur la facture.<br />
J'envoie l'avoir.<br />
Ensuite, je convertis cet avoir en reduction pour le client.<br />
Je saisis eventuellement la suite des paiements reçus.<br />
Eventuellement j'inclus l'avoir dans la liste des paiements de la facture (sinon il pourra être inclu dans une autre facture).<br />
Je classe la facture à l'état '''Payé'''.<br />
<br />
'''TODO''' Contrôle a inclure en plus : Quand l'avoir est fait sur une facture au statut 'Réglement commencé', il faut mettre un message disant "Attention, ne créer un avoir sur une facture en cours de paiement que si le client a cessé le paiement et attend cet avoir pour poursuivre la suite ou parce que vous fermez la facture".<br />
Ensuite il faut vérifier que le montant de l'avoir est inférieur au montant de la facture auquel il s'applique - montant déja reçu. Sinon, refuser création avoir.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN08: Facturation et paiement partiel car mauvais payeur<br />
|situation=Je crée une facture.<br />
Je reçois un paiement partiel, je le saisis.<br />
Après une longue attente, la suite des paiements n'est pas reçue et j'abandonne tout espoir.<br />
|actions=Je classe la facture à l'état '''Payé partiellement''' et renseigne le motif '''Mauvais payeur'''.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN09: Facturation et aucun paiement reçu car mauvais payeur'''<br />
|situation=Je crée une facture.<br />
Après une longue attente, la suite des paiements n'est pas reçu et j'abandonne tout espoir.<br />
|actions=Je classe la facture à l'état '''Abandonnée''' et renseigne le motif '''Mauvais payeur'''.<br />
}}&nbsp;<br />
<br />
== Correction des erreurs de facturation ==<br />
{{ExamplesCaseFr<br />
|nom=UCIN00: Erreur sur le contenu de la facture corrigée par facture remplacement<br />
|situation=Je crée une facture.<br />
Je valide.<br />
Je me rend compte de l'erreur sur le contenu (montant, descriptif) après validation (voir use case UCIN10 en cas d'erreur sur client).<br />
|actions=Je classe la facture abandonnée pour motif 'Autre' (opération non obligatoire car automatique avec étape suivante).<br />
Je crée une nouvelle facture en choisissant '''Facture de remplacement''' et en selectionnant la facture remplacée comme facture.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN10: Erreur sur le client détecté après validation mais avant paiement<br />
|situation=Je crée une facture.<br />
Je valide.<br />
Je me rend compte que la facture a été crée sur le mauvais client.<br />
|actions=Je classe la facture abandonnée pour motif 'Autre' et je renseigne le motif "Erreur saisie sur mauvais client".<br />
Je crée une nouvelle facture sur le bon client.<br />
<br />
'''TODO''': Faire confirmer par expert que possible si c'est fait avant envoi.<br />
Si pas possible, interdire la possibilité et utiliser le cas suivant.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN10: Erreur sur le client (ou facture saisie 2 fois) détecté après envoi facture mais avant paiement<br />
|situation=Je crée une facture.<br />
Je valide et l'envoie au client.<br />
Je me rend compte que la facture a été crée sur le mauvais client ou facture en doublon avec une autre deja envoyée.<br />
|actions=Je crée un avoir sur la facture qui n'a pas encore de paiement, du montant inverse exacte.<br />
Je convertit l'avoir en réduction. L'avoir se retrouve ainsi "traité", je peux l'envoyer au client si je le désire.<br />
Je retourne sur la fiche facture en erreur et j'applique la réduction issue de l'avoir. <br />
Le du devient alors zéro et je la classe à '''Payée complètement''' (paiement de 0).<br />
Que le client ait reçu ou non la facture initiale, cette dernière a été annulée et fermé par l'avoir.<br />
Je resaisi la facture sur le bon client.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCIN10: Erreur sur le libellé client détecté après saisie de paiement'''<br />
|situation=Je crée une facture sur le client de libellé X.<br />
Je valide.<br />
Je saisi les paiements.<br />
Je classe la facture payée.<br />
Je me rend compte que la facture a été crée sur le mauvais client et le client me demande une contrefacture sur l'ancien nom X et une nouvelle sur le nouveau nom Y.<br />
|actions=Je crée un avoir sur la facture en erreur avec toutes les lignes en inverse.<br />
Je transforme l'avoir en réduction. L'avoir se retrouve ainsi "traité".<br />
J'édite la fiche client pour corriger le libellé client X par Y.<br />
Je crée la nouvelle facture sur le nouveau client Y en incluant toutes les lignes.<br />
Je la valide.<br />
J'inclut le paiement issue de l'avoir.<br />
Le solde passe alors à 0 (aucun du).<br />
Je peux classer la facture à '''Payée''' sans saisir d'autres réglements (le client a déjà payé).<br />
}}&nbsp;<br />
<br />
<br />
== Factures pré-définies ==<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCRIN01: Création d'une facture pré-définie<br />
|situation=Création d'une facture pré-définie<br />
|actions=Il n'est pas possible de créer une facture récurrente en partant de rien. Il s'agit d'une facture standard de doit que l'on convertie et réutilise par la suite. Voir cas d'utilisation suivant donc.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCRIN02: Transformation d'une facture standard en facture prédéfinie<br />
|situation=Transformation d'une facture standard en facture prédéfinie<br />
|actions=Je crée ou ouvre une facture brouillon. Je clique sur le bouton "Convertir en récurrente". J'entre un titre (par exemple, "Mise-à-jour trimestrielle") et éventuellement une note, qui pourrait être une explication de la raison de la répétition de cette facture. Ma facture est à présent une facture récurrente. Cela ne sera visible que si je demande l'affichage des factures récurrentes ou que je crée une nouvelle facture.<br />
}}<br />
<br />
{{ExamplesCaseFr<br />
|nom=UCRIN03: Utilisation d'une facture prédéfinie pour la création d'une nouvelle facture<br />
|situation=Utilisation d'une facture prédéfinie pour la création d'une nouvelle facture<br />
|actions=Je crée une nouvelle facture ("Créer facture"), et j'utilise la boîte de sélection en bas de page pour sélectionner la facture récurrente que je veux utiliser comme gabarit (template). Ma nouvelle facture est pré-remplie, les modifications à apporter sont mineures.<br />
}}</div>Yves.brungardhttps://wiki.dolibarr.org/index.php?title=Syst%C3%A8me_de_Hooks&diff=37106Système de Hooks2017-04-23T16:38:39Z<p>Yves.brungard: autre traduction</p>
<hr />
<div>{{TemplateDocDevFr}}<br />
<br />
= Introduction =<br />
Les Hooks sont une fonctionnalité pour les développeurs, disponible à partir de Dolibarr 3.2, leur permettant d'ajouter du code personnalisé aux pages standards de Dolibarr sans avoir à modifier les fichiers du coeur de Dolibarr. Contrairement aux [[triggers]] (autre manière d'interagir avec le code de Dolibarr) qui sont liés aux événements de Dolibarr, les Hooks peuvent s'exécuter n'importe ou et à n'importe quel moment dès lors qu'ils ont été prévu dans le core de Dolibarr. Ce sont des points d'insertion dans le programme.<br />
* Les Hooks sont actifs ou pas selon un contexte (souvent un contexte par module : par exemple "productcard" pour les produits, "invoicecard" pour les factures...). Pour trouver les Hooks existants faites une recherche pour "'''initHooks('''"<br />
* Les Hooks sont des fonctions qui s'insèrent dans ou remplacent le code standard. Pour rechercher le code qu'il est possible de surcharger faites une recherche pour "'''executeHooks('''".<br />
<br />
= Ajouter un hook pour permettre l'insertion de code =<br />
Pour implémenter un hook dans votre propre module (afin que votre module puisse être "hooké" par d'autres), vous devrez procéder à 2 étapes.<br />
<br />
Ces étapes doivent êtres reproduites pour chaque script php de votre module où vous voulez implémenter des hooks.<br />
<br />
<br />
1- Initialiser l'object HookManager (placez ce bout de code au début de votre script php, juste après ou avant les includes):<br />
<br />
<source lang="php"><br />
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array<br />
include_once(DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php');<br />
$hookmanager=new HookManager($db);<br />
$hookmanager->initHooks(array('context'));<br />
</source><br />
<br />
$hookmanager->initHooks() accepte 1 paramètre (un array de contextes) et active la prise en charge des hooks pour ce script:<br />
<br />
- ''''context'''' est la chaine qui contient le contexte d'exécution. C'est un simple indicateur qui peut être utilisé par les fonctions de hook pour détecter dans quel cas elles sont appelées (plusieurs pages/modules peuvent appeler le même hook à différent endroit, et une fonction de hook peut ne vouloir s'exécuter que pour un contexte donné et pas les autres).<br />
<br />
Note: Vous pouvez positionner plusieurs contextes en même temps (par exemple si vous avez besoin d'avoir un context commun à plusieurs pages mais que vous voulez aussi un context propre à une page donnée).<br />
<br />
<br />
2- Placer ensuite l'appel des hooks la où permettre l'ajout de code:<br />
<br />
<source lang="php"><br />
$parameters=array();<br />
$reshook=$hookmanager->executeHooks('hookname',$parameters,$object,$action); // See description below<br />
// Note that $action and $object may have been modified by hook<br />
if (empty($reshook))<br />
{<br />
... // standard code that can be disabled/replaced by hook if return code > 0.<br />
}<br />
</source><br />
<br />
'''$hookmanager->executeHooks()''' accepte 4 paramètres et ajoute un hook (qui est un point d'entrée dans votre script pour des fonctions externes à votre script et module):<br />
<br />
- ''''hookname'''' est le nom de la méthode qui sera appelée. Par exemple: 'formObjectOptions'<br />
<br />
- '''$parameters''' est un tableau personnalisé pour transmettre plus de données personnalisées au hook (la fonction dans le hook peut traiter ces données). Placez ici ce que vous voulez, ce peut être un fichier, un tableau de chaînes de caractères, n'importe quoi... Par exemple :<br />
<source lang="php"><br />
$parameters=array('file'=>'my/path/to/a/file', 'customnames'=>array('henry','david','john'));<br />
</source><br />
<br />
- '''$object''' est l'objet que vous voulez passer à la fonction du hook, certainement les données du module courant (ex: l'objet facture si on est dans un module de facture, etc..). Ce peut être ce que vous voulez, mais souvenez vous qu'il sera le principal composant utilisé par les fonctions du hook.<br />
<br />
- '''$action''' est une chaîne indiquant l'action courante (peut être null ou quelque chose qui ressemble à 'create' ou 'edit').<br />
<br />
Note: Vous devrez refaire cette étape plusieurs fois si vous voulez ajouter plusieurs hooks à différent endroits de votre script.<br />
<br />
Maintenant votre module devrait pouvoir être hooké, vous pouvez suivre la procédure ci-dessous dans '''Implémenter un hook''' pour implémenter une fonction hook qui en prendra avantage (permet aussi de tester que cela fonctionne).<br />
<br />
= Implémenter un Hook =<br />
Pour utiliser un Hook (donc ajouter ou surcharger une partie de code), vous devez d'abord avoir défini un descripteur de module (voir [[Développement_module#Créer_un_descripteur_de_Module_(obligatoire)]] pour cela). Ensuite vous devez suivre les étapes suivantes :<br />
<br />
1. Ajouter votre module au contexte où le hook doit s'exécuter. <br />
Ce qui veut dire que lorsqu'on se trouve dans le contexte donné, votre code sera appelé. <br />
Pour cela, éditer le descripteur de votre module ('''/htdocs/''yourmodulename''/core/modules/mod''YourModuleName''.class.php''') et renseignez la variable '''$this->module_parts''' comme sur l'exemple :<br />
<source lang="php"><br />
$this->module_parts = array(<br />
'hooks' => array('hookcontext1','hookcontext2') // Set here all hooks context you want to support<br />
);<br />
</source><br />
<br />
Note: il est possible de trouver le contexte d'un module en rajoutant <br />
<source lang="php"><br />
print('Module context: '.$object->context);<br />
</source><br />
(rajoutez ce bout de code dans le fichier php où réside l'appel des hooks, et supprimez le, une fois la valeur du context relevée).<br />
<br />
[[File:warning.png]] Attention: N'oubliez pas de désactiver puis de réactiver votre module dans l'interface d'administration des modules afin que la modification soit prise en compte car la sauvegarde des couples "modules-hooks" qui doit être gérée est faite en base, laquelle n'est mise à jour qu'au moment de l'activation du module.<br />
<br />
<br />
2. Pour remplacer une fonction existante par la votre (surcharge)<br />
<br />
Créez '''/htdocs/''yourmodulename''/class/actions_''yourmodulename''.class.php''' dans votre module avec un code qui contient la méthode appelée par le hook (le nom de cette méthode se voit au moment de l'appel executeHooks). Voici un exemple:<br />
<br />
<source lang="php"><br />
class ActionsYourModuleName <br />
{ <br />
/**<br />
* Overloading the doActions function : replacing the parent's function with the one below<br />
*<br />
* @param array() $parameters Hook metadatas (context, etc...)<br />
* @param CommonObject &$object The object to process (an invoice if you are in invoice module, a propale in propale's module, etc...)<br />
* @param string &$action Current action (if set). Generally create or edit or null<br />
* @param HookManager $hookmanager Hook manager propagated to allow calling another hook<br />
* @return int < 0 on error, 0 on success, 1 to replace standard code<br />
*/<br />
function doActions($parameters, &$object, &$action, $hookmanager)<br />
{<br />
$error = 0; // Error counter<br />
$myvalue = 'test'; // A result value<br />
<br />
print_r($parameters);<br />
echo "action: " . $action;<br />
print_r($object);<br />
<br />
if (in_array('somecontext', explode(':', $parameters['context'])))<br />
{<br />
// do something only for the context 'somecontext'<br />
}<br />
<br />
if (! $error)<br />
{<br />
$this->results = array('myreturn' => $myvalue);<br />
$this->resprints = 'A text to show';<br />
return 0; // or return 1 to replace standard code<br />
}<br />
else<br />
{<br />
$this->errors[] = 'Error message';<br />
return -1;<br />
}<br />
}<br />
} <br />
</source><br />
<br />
La méthode sera alors automatiquement appelée au moment de l'appel du code qui contient le executeHooks fournissant à votre code les éléments $parameters, $object et $action.<br />
<br />
'''Avec''':<br />
* '''$parameters''' est un tableau (array) de meta-data regroupant les données du hook (son contexte accessible par $parameters['context'] mais d'autres information peuvent etre disponible selon le cas)<br />
* '''$object''' est l'objet sur lequel vous désirez travailler (par exemple : product pour le contexte productcard) <br />
* '''$action''' désigne l'action à exécuter (par exemple "create", "edit" or "view").<br />
* '''$hookmanager''' n'est propagé que pour permettre à votre hook d'appeler d'autres hooks.<br />
<br />
'''Retours''':<br />
* Le code retour d'un hook doit 0 ou 1 en cas de succès, négatif en cas d'erreur. En général, il sera 0. Il peut être 1, ce qui dans certains cas signifie que ce que fait votre hook remplace complètement ce que devait faire Dolibarr juste après l'appel du hook. Si le code est négatif, il est possible de fournir un message d'erreur à l'utilisateur en positionnant $this->errors[]='Message erreur'<br />
* Si la méthode positionne la propriété $this->results avec un tableau, alors le tableau $hookmanager->resArray sera automatiquement enrichi avec le contenu de ce tableau, lequel pourra être réutilisé plus tard.<br />
* Si la méthode positionne la propriété $this->resprints avec une chaîne, alors cette chaîne sera affiché par le gestionnaire de hook (executeHook), tout de suite à la sortie de votre méthode.<br />
* Votre hook peut de plus modifier les valeurs de $object et $action.<br />
<br />
= Liste des Hooks disponibles dans Dolibarr =<br />
Trouver les hooks disponibles dans Dolibarr ? <br />
Faites une recherche sur "'''executeHooks('''" dans le code source et vous trouverez facilement toutes les fonctions déjà implémentées.<br />
<br />
En voici une liste (non complète):<br />
{{ListOfHooks}}<br />
...<br />
<br />
Note: veuillez noter que cette liste peut changer à tout moment dans le futur au fur et à mesure que les hooks et contextes soient implémentés dans Dolibarr, donc si vous voulez vraiment savoir si un hook ou contexte spécifique existe, veuillez chercher directement dans le code source avec la méthode indiquée ci-dessus.<br />
<br />
= Liste des Contexts disponibles dans Dolibarr =<br />
Pour trouver les contextes disponibles dans Dolibarr, la procédure est similaire aux hooks.<br />
Faites une recherche sur "'''initHooks('''" dans le code source et vous trouverez facilement tous les contextes déjà implémentées.<br />
<br />
En voici une liste (non complète):<br />
{{ListOfContexts}}<br />
...<br />
<br />
Note: veuillez noter que cette liste peut changer à tout moment dans le futur au fur et à mesure que les hooks et contextes soient implémentés dans Dolibarr, donc si vous voulez vraiment savoir si un hook ou contexte spécifique existe, veuillez chercher directement dans le code source avec la méthode indiquée ci-dessus.<br />
<br />
= Voir aussi =<br />
* [[Triggers]]<br />
* [[Interfaces Dolibarr toward foreign systems]]<br />
* [[Interfaces from foreign systems toward Dolibarr]]</div>Yves.brungard