Difference between revisions of "Développement de scripts"

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
m
m
Line 14: Line 14:
 
Une fois le script renommé, donnez lui les droits en exécution.
 
Une fois le script renommé, donnez lui les droits en exécution.
 
Sous Linux, cela peut se faire par la commande:
 
Sous Linux, cela peut se faire par la commande:
<pre>
+
<source lang="bash">
 
cd scripts/monrep;
 
cd scripts/monrep;
 
chmod a+rx monscript.php
 
chmod a+rx monscript.php
</pre>
+
</source>
 
Ensuite, lancez le pour voir si vous pouvez exécuter un script en mode ligne de commande. Pour cela, taper:
 
Ensuite, lancez le pour voir si vous pouvez exécuter un script en mode ligne de commande. Pour cela, taper:
<pre>php-cli ./monscript.php
+
<source lang="bash">
 +
php-cli ./monscript.php
 +
</source>
 
ou
 
ou
php ./monscript.php</pre>
+
<source lang="bash">
 +
php ./monscript.php
 +
</source>
 
Vous devriez obtenir le résultat suivant:
 
Vous devriez obtenir le résultat suivant:
<pre>
+
<source lang="bash">
 
Usage: monscript.php param1 param2 ...
 
Usage: monscript.php param1 param2 ...
</pre>
+
</source>
  
 
== Etape 2 - Edition du code du script ==
 
== Etape 2 - Edition du code du script ==
 
Modifier le contenu du script pour réaliser les opérations qui vous intéressent.
 
Modifier le contenu du script pour réaliser les opérations qui vous intéressent.
 
Tout le code qui se trouve entre les balises
 
Tout le code qui se trouve entre les balises
<pre>// ---------- START OF YOUR CODE HERE</pre>
+
<source lang="php">// ---------- START OF YOUR CODE HERE</source>
 
et
 
et
<pre>// ---------- END OY YOUR CODE</pre>
+
<source lang="php">// ---------- END OY YOUR CODE</source>
 
est fourni à titre d'exemple.
 
est fourni à titre d'exemple.
 
Vous pouvez le supprimer et y mettre le code qui vous intéresse.
 
Vous pouvez le supprimer et y mettre le code qui vous intéresse.
Line 40: Line 44:
 
=== Exemple insertion d'un produit ===
 
=== Exemple insertion d'un produit ===
 
Par exemple pour insérer un produit dans la base dolibarr, vous pouvez y placer le code suivant:
 
Par exemple pour insérer un produit dans la base dolibarr, vous pouvez y placer le code suivant:
<pre>
+
<source lang="php">
 
// Inclusion classe métier utilisateur et product
 
// Inclusion classe métier utilisateur et product
 
require_once(DOL_DOCUMENT_ROOT."/user.class.php");
 
require_once(DOL_DOCUMENT_ROOT."/user.class.php");
Line 73: Line 77:
 
if ($idproduct < 0) dol_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>
+
</source>

Revision as of 02:18, 23 August 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";