Archiv des Intrexx Live! Forums

Hier sehen Sie die Foreneinträge aus dem Intrexx Live! Forum. Bis November 2016 war es das Forum für alle Fragen rund um die Software Intrexx von United Planet.
Seit November 2016 gibt es ein neues moderiertes Forum, das Intrexx Community Forum. Nutzen Sie bitte unbedingt dieses für aktuelle Fragen, Antworten und Informationen.

Wichtig: Dieses Forum dient als Archiv. Die Einträge beziehen sich oft auf ältere Versionen von Intrexx und entsprechen nicht mehr den aktuellen technischen Gegebenheiten.
Daher sollten alle Inhalte ausschließlich von Experten genutzt werden. Bei unsachgemäßer Anwendung kann es zu zeitaufwändigen Problemen oder Datenverlust kommen.
Übersicht > Intrexx Professional: Suggestions > Prozesse - Ereignisse im jeden Fall auslösen

Prozesse - Ereignisse im jeden Fall auslösen



[font='Times New Roman']
Hallo zusammen

Kurz zur Ausgangslage meines Anliegens:

Ich habe für unser Kader eine Applikation zur Budgetplanung erstellt. Dabei werden die eingehenden Rechnungen auf vorher definierte Budgetpositionen gebucht. Wobei jede Rechnung mehrere Kontierungen enthalten kann.
Jeder kontierte Betrag wird dabei auf ein laufendes Jahresbudget summiert. Wenn eine Kontierung gelöscht wird, muss dieser Betrag natürlich auch wieder abgezogen werden. Die Datengruppen sind dabei unter anderem:

Jahr (Elterndatengruppe von Rechnung und Budgetpos)
- Budgetpos
- Rechnung (Elterndatengruppe von Kontierung)
- - Kontierung

Das Summieren der Beträge wurde im Prozessmanager mit Groovy implementiert. Wird nun eine Kontierung gelöscht wird auf das Ereignis beforeDelete der Datengruppe Kontierung reagiert und der Betrag dem laufenden Jahresbudget (Jahr) und der Budgetposition (Budgetpos) abgezogen. Was passiert aber, wenn der Elterndatensatz Rechnung gelöscht wird?
Erwartet hätte ich z.B. bei 3 Kontierungen, dass das Ereignis beforeDelete der Datengruppe Kontierung 3 Mal aufgerufen und der Prozess ausgeführt wird, da ja zuerst diese gelöscht werden müssen bevor die Rechnung gelöscht werden kann. Leider ist dies nicht der Fall.

Nun muss ich im Prozessmanager auf das Ereignis beforeDelete der Datengruppe Rechnung reagieren und via Groovy manuell durch alle Kinddatensätze (Kontierung) loopen um die laufende Budgetierung nachzuführen.

Bin mir nicht sicher ob dies ein Fehler ist, so gewollt oder ich einen Fehler mache. Schön wäre es auf alle Fälle, wenn die Ereignisse (vor allem beforeDelete) des Kindsatzes auch ausgeführt werden wenn der Elterndatensatz gelöscht wird oder es einen Schalter gibt mit dem man die gewünschte Reaktion des Events beim löschen des Elternsatzes einstellen kann (ausführen oder nicht ausühren).

Gruss
David

[/font]
08.03.2011 12:51 von avd
Hallo David,

vermutlich hast du bei deiner DB kaskadierendes Löschen eingestellt, d.h. deine Datenbank löscht selbst alle Kinddatensätze, wenn du den Hauptdatensatz löschst. Intrexx hat dabei keine Chance, das auch mitzubekommen. Du kannst aber auch ohne Groovy arbeiten, indem du in dem Prozess einfach mit einer Datengruppenaktion alle Kinddatensätze löschst. Als Filter in der Zieldatengruppe setzt zu einfach die FKLID = LID des Hauptdatensatzes. Wenn du das machst, werden auch schön brav alle beforeDelete-Ereignisse für jedes Kindelement ausgelöst.

Ich hab das in einer App von mir so gemacht. Hat funktioniert. Dann bist du auch von der Cascading-Einstellung der Datenbank unabhängig.

Grüßle,

Raw
22.03.2011 12:39 von Raw
Hoi Raw

Besten Dank für deine Antwort. Ich werde dem Problem in den nächsten Tagen nachgehen und dir danach Antwort geben.

Gruss
David
23.03.2011 09:22 von avd
Zurück | Alles über Intrexx | Impressum | Datenschutzerklärung

Über United Planet
© 2019 United Planet GmbH
Schnewlinstraße 2
79098 Freiburg