How-to: Aufgabenwiederholungen in Odoo

Die technischen Feinheiten der Odoo-Projekt-Funktion

In der dynamischen Welt der UnternehmensfĂŒhrung ist es der SchlĂŒssel zum Erfolg, organisiert zu bleiben. FĂŒr Unternehmen, die mit Odoo arbeiten, ist die EinfĂŒhrung von wiederkehrenden Aufgaben im Jahr 2020 ein entscheidender Schritt. Wiederkehrende Aufgaben ermöglichen es den Benutzern, RoutinetĂ€tigkeiten zu automatisieren und sicherzustellen, dass wichtige Aktionen nicht ĂŒbersehen werden. Diese Funktion ist nahtlos in die Odoo v16-Plattform integriert und bietet einen flexiblen und benutzerfreundlichen Ansatz fĂŒr die Verwaltung laufender Aufgaben.

Die derzeit verfĂŒgbare Dokumentation (siehe https://www.odoo.com/documentation/16.0/applications/services/project/tasks/recurring_tasks.html) gibt jedoch nur einen groben Überblick ĂŒber diese Funktion und lĂ€sst die Details außen vor - etwa wann und wie genau Aufgaben erstellt werden. In diesem Blog-Artikel werden wir auf genau diese Details eingehen. Beachten Sie, dass dies keine EinfĂŒhrung zu wiederkehrenden Aufgaben ist, sondern eher fĂŒr versierte Power-User:innen oder Entwickler:innen gedacht ist.

Hinter den Kulissen der wiederkehrenden Aufgaben

Wenn Sie die Wiederholung auf Aufgabenebene aktivieren (Aufgabe öffnen und auf Wiederkehrend => Wiederkehrend klicken), können Sie das Wiederholungsintervall auswĂ€hlen. Wenn Sie diese Information speichern, speichert Odoo diese Information nicht nur im project.task-Modell, sondern auch in einem neu angelegten Datensatz vom Typ "project.task.recurrence". Von nun an wird dieses Modell alle Informationen ĂŒber Ihre Wiederholung enthalten und auch alle Aufgaben gruppieren, die aus dieser Wiederholung heraus erstellt worden sind. Der Endbenutzer wird sich wahrscheinlich nie direkt mit dem Modell project.task.recurrence befassen mĂŒssen, da Änderungen in jeder wiederkehrenden Aufgabe vorgenommen werden können, und automatisch auf die Wiederholung ĂŒbertragen werden.

Wie und wann werden wiederkehrende Aufgaben erstellt?

Odoo verwendet eine geplante Aktion, um wiederkehrende Aufgaben zu erstellen. Um die geplante Aktion zu öffnen, aktivieren Sie den Entwicklermodus in Odoo, und navigieren Sie zu Einstellungen => Technisch => Geplante Aktionen => "Projekt: Serienaufgaben anlegen":

Hier können Sie die geplante Aktion aktivieren oder deaktivieren, und auch das Intervall und die Zeit, zu der die geplante Aktion lĂ€uft, Ă€ndern. In unserem Beispiel wird die geplante Aktion jeden Tag um ca. 4 Uhr morgens ausgefĂŒhrt. Die geplante Aktion ruft die Funktion "_cron_create_recurring_tasks" des Modells "task.recurrence" auf.

Was genau passiert, wenn _cron_create_recurring_tasks ausgelöst wird?

Wie bereits erwĂ€hnt, wird die geplante Aktion im Modell "task.recurrence" ausgefĂŒhrt. Wenn die Aktion ausgefĂŒhrt wird:

  • Es werden alle Aufgabenwiederholungen (task.recurrence) mit einem "next_recurrent_date", das kleiner oder gleich dem aktuellen Datum ist, gesucht.
  • FĂŒr alle gefundenen wiederkehrenden Aufgabenwiederholungen wird eine Methode namens _create_next_task aufgerufen. Diese Methode erstellt die nĂ€chste Aufgabe, indem sie die letzte Aufgabe einer task.recurrence abruft und alle Felder kopiert, die in der Methode "_get_recurring_fields()" definiert sind. Aktuell sind diese Felder wie folgt definiert:

  • Es werden auch alle Unteraufgaben der wiederkehrenden Aufgabe kopiert. Wenn Unteraufgaben ihre eigene Wiederholung haben, wird die Wiederholung kopiert, wodurch ihr "Eigenleben" entsteht und sie von der ursprĂŒnglichen Unteraufgabe entkoppelt wird.
  • DarĂŒber hinaus wird die Aufgabenstufe auf die erste verfĂŒgbare Stufe innerhalb des Projekts gesetzt. Ist keine Stufe verfĂŒgbar, wird sie auf die Stufe der letzten Aufgabe gesetzt, von der sie kopiert wurde.
  • Nachdem die Erstellung der nĂ€chsten Aufgabe abgeschlossen ist, wird das "next_recurrent_date" gesetzt, wenn:
    • es noch offene Wiederholungen gibt
    • das aktuelle Datum immer noch kleiner ist als das "bis"-Datum, das in der Aufgaben-Wiederholungs-Definition festgelegt wurde, oder auf "fĂŒr immer" gesetzt wird

Key takeaways aus diesem Prozess:

  • Wiederkehrende Aufgaben werden nicht im Voraus erstellt, sondern erst dann, wenn das "next_recurrent_date" einer task.recurrence kleiner oder gleich dem aktuellen Datum ist.
  • Alle Informationen werden von der "letzten" verfĂŒgbaren Aufgabe (maximale Datenbank-Id) innerhalb einer Wiederholung ĂŒbernommen.
  • Ob eine neue Aufgabe erstellt wird oder nicht, hĂ€ngt nicht von der Stufe der Aufgabe ab (erledigt oder nicht).
  • Selbst wenn die geplante Aktion mehrmals am Tag ausgefĂŒhrt wird, hat dies keinen Einfluss auf die Anzahl der erstellten Aufgaben, da das "next_recurrence_date" nach der ersten Erstellung einer Aufgabe festgelegt wird.

ZusÀtzlich good-to-know:

  • Bei der Bearbeitung einer bestehenden Aufgabe, bei der die Wiederholung aktiviert ist, wird der Benutzer gefragt, ob er "diese Aufgabe", "diese und folgende Aufgaben" oder "alle Aufgaben" bearbeiten möchte.
    Mit dieser Einstellung wird Odoo lediglich mitgeteilt, wie es mit bereits im System vorhandenen Aufgaben verfahren soll. Bei neu erstellten Aufgaben werden immer die Informationen aus der Aufgabe mit der höchsten Datenbank-ID (normalerweise die zuletzt erstellte) ĂŒbernommen.
  • Odoo zeigt in der Aufgabe ein Informations-Snippet an, das die nĂ€chsten Erstellungsdaten der Wiederholung anzeigt. Dieses Snippet ist nur zum Zeitpunkt der Erstellung dieser Aufgabe gĂŒltig, da immer das aktuelle Datum als Startdatum fĂŒr diese Simulation verwendet wird (siehe Funktion _get_recurrence_start_date() in der Funktion _compute_recurrence_message()). Wenn Sie eine bestehende Aufgabe öffnen (z.B. mit Wiederholung alle 3 Monate), könnte diese Information nicht korrekt sein.

  • Um genau zu sehen, wann die nĂ€chste Erstellung ausgelöst wird, muss man das entsprechende task.recurrence-model öffnen. Leider ist es nicht möglich, dies direkt ĂŒber die BenutzeroberflĂ€che in Odoo Standard zu tun. Ein Workaround wĂ€re, das Feld recurrence-id in der Task-Form-Ansicht sichtbar zu machen. Das können Sie tun, indem Sie
    • den Entwicklermodus aktivieren
    • zu einer Aufgabe mit aktivierter Wiederholung navigieren
    • Klicken Sie auf das KĂ€fer-Symbol (rechts oben) und wĂ€hlen Sie "Ansicht bearbeiten: Form".
    • Suchen Sie nach einem xml-Tag mit dem Namen "recurrence_id", und setzen Sie invisible="1" auf invisible="0".

    • Speichern Sie und aktualisieren Sie die Seite. Ein Link zur task.recurrency sollte nun oben in der Formularansicht sichtbar sein:
    • Beachten Sie, dass diese Änderung fĂŒr alle Benutzer sichtbar ist, daher sollten Sie Ihre Änderung so schnell wie möglich rĂŒckgĂ€ngig machen. Beachten Sie ebenfalls, dass diese Änderung nur vorĂŒbergehend ist, da wir die Ansicht nicht korrekt ĂŒberschrieben haben, um update-resistent zu sein. Wenn Sie das Projektmodul aktualisieren, wird diese Änderung ĂŒberschrieben.
  • Wenn Sie die Wiederholung öffnen, sehen Sie alle zugewiesenen Aufgaben und auch das "Next recurrence Date", das Sie darĂŒber informiert, wann die geplante Aktion wieder eine neue Aufgabe erstellen wird:

Conclusio

Wiederkehrende Aufgaben in Odoo definieren die Art und Weise, wie Unternehmen ihre ArbeitsablÀufe verwalten, neu. Durch die Automatisierung von RoutinetÀtigkeiten, die Rationalisierung von Planungsprozessen und die Bereitstellung aufschlussreicher Berichte ermöglicht Odoo v16 Unternehmen eine beispiellose Effizienz. Nutzen Sie die Macht der wiederkehrenden Aufgaben und heben Sie Ihr Unternehmensmanagement mit Odoo v16 auf ein neues Niveau.


Sollten Sie weitere Informationen zur Nutzung von Odoo benötigen, hilft Ihnen unter Expert:innen-Team natĂŒrlich gerne weiter!


Kontaktieren Sie uns


Bitte beachten Sie, dass Odoo ein sich schnell verÀnderndes System ist, an dem jeden Tag viele Verbesserungen vorgenommen werden. In diesem Blog-Artikel wird die FunktionalitÀt der Aufgabenwiederholungsfunktion im November 2023 beschrieben.


Inventarverwaltung in Odoo
Verwalten und Warten Sie Ihr Inventar in Odoo.