Seite 1 von 1

[Gelöst] Execute wird im Plugin mehrfach aufgerufen

Verfasst: 24. August 2011 13:48
von we34
Hi.

Ich bin dabei, ein Plugin für Quotations zu schreiben.
Beim Debuggen stelle ich fest, dass der Inhalt des Execute mehrfach nacheinander durchlaufen wird, so ca 5x.
Die Variablen durchlaufen dabei immer wieder den gleichen Zustand, als wenn es keinen vorigen Durchlauf gab.

Woran liegt das?
Wie kann es sein, dass das Execute mehrfach aufgerufen wird?
Was muss ich ändern?

Vielen Dank für Hilfen!
WE34

Re: Execute wird im Plugin mehrfach aufgerufen

Verfasst: 24. August 2011 16:11
von Michael Sulz
Hallo,

auf welches Ereigniss bzw. Ereignisse hast du das PlugIn registriert? Kann es sein, das due mehrere Events abfängst und alle getriggert werden? Oder das dich dein Plugin selbst rekursiv aufruft?

Re: Execute wird im Plugin mehrfach aufgerufen

Verfasst: 26. August 2011 09:12
von we34
Hallo.

Ich hab es mit dem PluginRegistrationTool als Step "Create of quote in Parent Pipeline" registriert (Zuvor zusätzlich auch als "Update...", aber dieses Deaktivieren hat keine Besserung gebracht).

thx!
WE34

Re: Execute wird im Plugin mehrfach aufgerufen

Verfasst: 26. August 2011 14:46
von we34
Hallo.

Michael Sulz hat geschrieben:Oder das dich dein Plugin selbst rekursiv aufruft?


Wo(durch) könnte denn so etwas passieren?


WE34

Re: Execute wird im Plugin mehrfach aufgerufen

Verfasst: 28. August 2011 10:34
von Michael Sulz
Hallo,

Michael Sulz hat geschrieben:Oder das dich dein Plugin selbst rekursiv aufruft?


Wo(durch) könnte denn so etwas passieren?

Das du z.B. das PlugIn auf das Update Event einer Entität reagiert und du im PlugIn diese Entität wieder änderst, dadurch würde das PlugIn neu getriggert.

Re: Execute wird im Plugin mehrfach aufgerufen

Verfasst: 29. August 2011 16:47
von we34
Hallo.

Okay, das klingt logisch.

Wenn aber das Plugin auf Update reagieren soll und im Execute eine Änderung von Daten gemacht werden soll, muss ich dann nicht dort
Code:
service.Update(quote);
setzen?
Oder wie ist es dann zu bewerkstelligen?

Ich verstehe jetzt das Problem, weiß aber nicht, wie es zu lösen ist.
Einerseits soll es durch eine Änderung (Update im Registration Tool) ausgelöst werden, andererseits soll darin Attribute geändert werden (Update im Execute)..... :-(

WE34

Re: Execute wird im Plugin mehrfach aufgerufen

Verfasst: 30. August 2011 09:24
von Michael Sulz
Hallo,

doch, die ausführung mit update ist richtig.

Ich prüfe in so einem Fall immer in meiem PlugIn, ob sich der Wert des Feldes geändert hat und wenn nicht, beende ich direkt das PlugIn. So wird sichergestellt, das das PlugIn nur läuft, wenn sich auch das Feld, das ich überwachen möchte, tatsächlich geändert hat. (Pre und Post Image vergleichen)

new Quote: Quote-ID?

Verfasst: 30. August 2011 14:08
von we34
[ Habe die Frage wo anders platziert : viewtopic.php?f=6&t=13699]

Re: Execute wird im Plugin mehrfach aufgerufen

Verfasst: 31. August 2011 09:33
von we34
Hallo.

Danke für den Hinweis.
Mir war nicht bekannt, dass es hier so gehandhabt wird.
*sry* :oops:

WE34