Script development

From Dolibarr ERP CRM Wiki
Revision as of 10:32, 27 March 2009 by Simnandez (talk | contribs) (Created page with '{{TemplateDocDev}} {{ToTranslate}} == Localisation == Les scripts en ligne de commande de Dolibarr doivent être situés dans le répertoire '''scripts''' de Dolibarr. Les scrip...')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

En verysmall.png Page waiting for translation. To translate, create an account, go back and clic on "Modify".
Fr verysmall.png Page en attente de traduction. Pour traduire, créez un compte, revenez et cliquez sur "Modifier".
Es verysmall.png Página a traducir. Para traducirla, cree una cuenta, vuelva a la página y haga clic en "editar".
It verysmall.png Pagina da tradurre. Per tradurla, crea un utente, torna indietro e clicca su "modifica".
Pt verysmall.png Página a aguardar por tradução. Para traduzir, crie uma conta, volte atrás e clique em "Modificar".
De verysmall.png Seite wartet auf Übersetzung. Um Übersetzung zu erstellen, richte einen Account ein, geh zurück und klicke auf "bearbeiten".
Zh verysmall.png 页面等待翻译。若要翻译本页,先创建一个帐户、登录并返回本页后单击“编辑”。

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 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) dolibarr_print_error($db,$myproduct->error);
else print "Produit $idproduct cree.\n";