Projekt importieren

Hallo zusammen,
ist es möglich, dass man Projekte in Dolibarr importiert.
Viele Grüße
Ben

Das Standard-Import „Aufgaben der Projekte“ existiert schon. Ich habe es gerade probiert, und es kann die Projekte nicht schaffen, nur Aufgaben in existierende Projekte hineinfügen.

Ein spezifisches Script zu entwicklen sollte jedoch nicht zu schwierig sein. So etwas wie:

<?php
define('NOLOGIN', true);
// erstmals main.inc.php finden
for ($n=0, $m='../main.inc.php'; !is_file($m) && $n++ < 4;) $m = "../$m";
(require_once $m) || die ('unable to locate main.inc.php');
/** @var DoliDB $db */
/** @var User $user */

$user->fetch(1); // 1 sollte Admin sein

include_once DOL_DOCUMENT_ROOT . '/projet/class/project.class.php';

// Rohe Daten für das Import (nur als Beispiel). Es muss Geschäftspartner unter ID 1 und 2 geben.
// In echtes Leben sollte man eher eine CSV-Datei benutzen :)
$csvLines = explode("\n", <<<'raw'
REF;LABEL;THIRDPARTY_ID
PJ-2022-10_0001;Mein Projekt;2
PJ-2022-10_0002;Anderer Projekt;1
raw);

// Für jede Zeile der "Datei" (Vorsicht: echte CSV-Zeilen können sich über mehrere Datei-Zeilen erstrecken wenn es Felder gibt mit Zeilenbrüche da drin)
foreach ($csvLines as $n => $csvLine) {
    if ($n === 0) continue;
    $p = new Project($db);
    LIST($p->ref, $p->title, $p->socid) = str_getcsv($csvLine, ';', '"', '\\');
    $result = $p->create($user);
    // ein wenig Feedback
    if ($result > 0) {
        printf('%s: OK → %d  <br>'."\n", $p->ref, $p->id);
    } else {
        printf('%s: KO (%s)  <br>'."\n", $p->ref, $p->error);
    }
    unset($p);
}

Ich habe es mit einer Version 16 probiert: meine 2 Projekte wurden erstellt. Das Script muss sich irgendwo unter htdocs/custom befinden und kann mit der Kommandozeile gestartet werden.

Dies ist nur ein Beispiet, bietet keine Sicherheit an und schafft Projekte mit extrem wenig Information, aber es kann verbessert werden.

1 „Gefällt mir“

Hallo Ben,

im Dolistore gibt es diesen Modul:

Damit sollte es auch bei Projekten klappen

LG
Günter