ODT nach PDF Dateinamen mit Vorlagenname

wir haben schon seit einiger Zeit Dolibarr im Einsatz und verwenden ODTs als Vorlagen für die PDFs.
Bei allen eingesetzten Modulen (Angebot, Rechnung, Lieferschein etc.) wird beim ‚Erzeugen‘ der Dateiname nach dem Muster {Nummer}_{Vorlagenname} erzeugt.

Da meine IT sagte, dass sie für die PDF Erzeugung nichts speziell eingerichtet hat, bin ich auf der Suche, wie man den Dateinamen einstellen kann.

Wir hätten gerne, dass der Dateiname nur noch die {Nummer} beinhaltet und der Vorlagenname nicht mehr mit im Dateinamen aufgenommen wird.

Im Forum oder der Doku habe ich dazu leider nichts gefunden.

Gruß
Christian

Und das hat nichts damit zu tun (siehe screenshot)?

Hallo,

ich glaube leider nicht. In den Settings scheint es keinen Parameter zu geben, der zu dem erweiterten Dateinamen passt

Habe ich in meinen Settings etwas übersehen ?

Dann weiss ich leider auch nicht weiter.
Ich nutze PDF’s und hab daher keine Ahnung bei ODT.

Hallo ChristianS,

leider gibt es aktuell noch keinen Parameter dafür.
Der Dateiname wird in einer Core Datei fest verdrahtet vergeben und man muss sie in der PHP Datei ändern.
Ich habe es allerdings nur für Version 20.0.2 überprüft, vermute aber bei 21 gibt es da auch keine Änderung.

Hi Joschi,
vielen Dank für die Info. Da kann ich lange suchen.
Dann schaue ich mal, was ich da machen kann.

Gruß
Christian

Dieses Verhalten lässt sich imho leicht abstellen, indem man die Datei

htdocs/core/modules/mrp/doc/doc_generic_mo_odt.modules.php

kopiert und unter einem anderen Namen abspeichert.

Danach noch den Classname an den Dateinamen anpassen.
Also wenn die Datei z.B. unter :

htdocs/core/modules/mrp/doc/doc_my_mo_odt.modules.php

gespeichert wurde, dann lautet der classname:

class doc_my_mo_odt extends ModelePDFMo

Danach muss dann noch der Suffix „_mo“ der generierten Datei eliminiert werden.
Dazu ändern wir in der Funktion
public function write_file(...
die Zeile
$newfiletmp = $objectref . '_' . $newfiletmp;
in
$newfiletmp = $objectref;
ab.

Als letzten Schritt dann im Setup die oben kopierte Datei aktivieren.

Das gleiche Vorgehen dürfte auch für alle anderen Module funktionieren und überlebt imho auch eventuelle Dolibarr-Updates.

Es gibt noch eine Möglichkeit, die dem Ziel einigermaßen nahe kommt und keine Programmierung erfordert:

Wenn der Vorlagenname dem Schema template_xxx.odt entspreicht, wird ‚template‘ herausgefiltert und nur der Rest (hier _xxx) an die Rechnungsnummer angehängt, um den Dateinamen zu bilden.

Benennt man z.B. eine Rechnungsvorlage als template_.odt wird entsprechend nur das _ angehängt und es ergibt sich: RG2501-0004_.odt bzw. .pdf

Das ist jetzt nicht 100% das gewünschte Resultat, aber eventuell ist der Unterstrich unauffällig genug. Ganz weglassen kann man ihn aber nicht.

Viele Grüße

Joachim

Hallo priojk,

danke, das ist ein Interessantes Verhalten :wink: kannte ich noch nicht. Hab keurz ausprobiert und macht genau das, was Du geschrieben hast. Reicht leider nicht, da ich in einem anderen Tool für einen Rechnungsexport die Datei ‚plain‘ brauche. Sonst findet das Tool sie nicht. Aber ich schau mal ob ich denen jetzt 'ne Mail schreibe, nachdem klar ist, dass es keine Einstellung in Dolibarr ist, die ich falsch gesetzt habe.

Vielen Dank nochmal,
Gruß
Christian

Hi DG-rilling,

vielen Dank, nach so etwas hatte ich auch schon gesucht aber nicht gefunden. Habs im Code jetzt gesehen und werde es vom dem Kollegen der das System verantwortet mal anpassen und testen lassen.

Danke und noch einen schönen Abend.
Gruß
Christian