Difference between revisions of "Développement de scripts"

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
Line 70: Line 70:
  
 
// Gestion erreur
 
// Gestion erreur
if ($idproduct < 0) dolibarr_print_error($db,$myproduct->error);
+
if ($idproduct < 0) dol_print_error($db,$myproduct->error);
 
else print "Produit $idproduct cree.\n";
 
else print "Produit $idproduct cree.\n";
 
</pre>
 
</pre>

Revision as of 10:13, 3 July 2009

Localisation

Les scripts en ligne de commande de Dolibarr doivent être situés dans le répertoire scripts de Dolibarr. Les scripts sont ensuite répartis dans des sous-répertoires 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écifique, il y a de fortes chances 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 le recopier en renommant, ce script dans le répertoire scripts/monrep/monscript.php

Une fois le script renommé, donnez lui les droits en exécution. Sous Linux, cela peut se faire 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 résultat 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 métier utilisateur et product
require_once(DOL_DOCUMENT_ROOT."/user.class.php");
require_once(DOL_DOCUMENT_ROOT."/product.class.php");

// Création d'une instance utilisateur
$user=new User($db);

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

// Définition des propriétés de l'instance utilisateur
$user->id = 0;

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

// Création du produit en base
$idproduct = $myproduct->create($user);

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