Développement de scripts

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search

Localisation

Les scripts en ligne de commande de Dolibarr doivent etre situés dans le répertoire scripts de Dolibarr. Les scripts sont ensuite répartis dans des sous-répertoire en fonction de leur vocation. Un certain nombre de scripts est donc fourni en standard.

Développer un nouveau script

Les scripts étant souvent réalisés pour un besoin spécifiques, il y a de forte chance que vous ne trouviez pas celui qui vous intéresse. Dans ce cas, nous allons vous expliquer comment développer votre propre script.

Etape 1 - Création du squelette du script

La première étape est de reprendre le squelette de script disponible en dev/skeletons/skeleton_scripts.php et de recopier en le renommant, ce script dans le répertoire scripts/monrep/monscript.php

Une fois le script renommé, donnez lui les droits en exécution par la commande:

cd scripts/monrep;
chmod a+rx monscript.php

Ensuite, lancez le pour voir si vous pouvez exécuter un script en mode ligne de commande. Pour cela, taper:

php-cli ./monscript.php
ou
php ./monscript.php

Vous devriez obtenir le resultat suivant:

Usage: monscript.php param1 param2 ...

Etape 2 - Edition du code du script

Modifier le contenu du script pour réaliser les opérations qui vous intéressent. Tout le code qui se trouve entre les balises

// ---------- START OF YOUR CODE HERE

et

// ---------- END OY YOUR CODE

est fourni à titre d'exemple. Vous pouvez le supprimer et y mettre le code qui vous intéresse. Notez que dans cette portion, vous pouvez utiliser la variable $db qui est la ressource d'accès à la base Dolibarr et qui est déjà initialisée. L'objet $conf qui contient la configuration Dolibarr est également disponible.

Exemple insertion d'un produit

Par exemple pour insérer un produit dans la base dolibarr, vous pouvez y placer le code suivant:

// Inclusion classe metier product
require_once(DOL_DOCUMENT_ROOT."/product.class.php");

// Creation d'une instance de product
$myproduct=new Product($db);

// Definition des propriétés de l'instance product
$product->ref                = '1234'
$product->libelle            = 'libelle';
$product->price              = '10';
$product->price_base_type    = 'HT';
$product->tva_tx             = '19.6';
$product->type               = 0;
$product->status             = 1;
$product->description        = 'Description';
$product->note               = 'Note';

// Creation du produit en base
$idproduct = $product->create('');

// Gestion erreur
if ($idproduct < 0) dolibarr_print_error($db,$product->error);
else print "Produit $idproduct cree.\n";