Verständnisfrage zum Kopieren von Instanzen/Variablen

Ich habe mal eine Frage zum Kopieren von Instanzen oder Variablen, die so ein Standard Aktionsskript haben in dem nur das hier steht:

SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);

Ich habe mich da heute nämlich ganz schön reingelegt, weil ich so eine Instanz mit entsprechenden Variablen angelegt und dann mehrmals kopiert habe. Das funktionierte auch erst mal alles soweit weil ja in allen Aktionsskripten das gleiche steht.

Nun wollte ich aber bei so einer kopierten Variablen in dem Skript etwas anderes machen. Also habe ich das Aktionsskript unter der Variablen bearbeitet, aber es ist immer noch das gleiche passiert, wie vorher :confounded_face:

Es hat dann ziemlich lange gedauert bis ich endlich rausgefunden habe, dass beim Ändern der Variablen nicht das Aktionsskript, welches unter der Variablen steht ausgeführt wird, sondern es wird nach wie vor, das Aktionsskript aufgerufen, welches unter der Variablen liegt, welche kopiert wurde.

Das heißt, dass beim Kopieren von Instanzen zwar neue Variablen und auch neue Aktionsskripte angelegt werden, man dann aber trotzdem noch händisch die Verlinkung zu dem ursprünglichen Skript ändern muss!

Klar, es gibt sicher auch Fälle, bei denen das genauso so gewollt ist und zwar dann, wenn man sich ein spezielles Skript dafür geschrieben hat. Aber in meinem Fall habe ich das 1. nicht so erwartet und 2. wäre es doch ein cooles Feature, wenn der Link zum Aktionsskript automatisch geändert wird WENN hier nur der Befehl SetValue($_IPS['VARIABLE'], $_IPS['VALUE']); drin steht. Ähnlich, wie das ja auch gemacht wird, wenn man ein Ereignis kopiert.

Irgendwie finde ich es ja schon etwas “gefährlich” wenn man vielleicht in einem Jahr das Aktionsskript der Ursprungsvariablen ändert und dann dieses Skript von 5 anderen Variablen aufgerufen wird.

Mich würde mal interessieren, wie ihr das macht beim Kopieren von Dummy-Instanzen/Variablen?

Grüße André

Per Hand anpassen, wenn ich es denn wirklich benötige…

Weil, ich habe nur ein einziges Aktionsskript mit diesem Inhalt und das liegt nicht unter den Variablen und wird somit auch nicht mit kopiert.
Entsprechend ist es auch gut das hier wirklich eine 1:1 Kopie erzeugt wird und nicht Einstellungen der Objekte verändert werden. Sonst müsste ich das ja jedesmal anpassen.

Davon abgesehen habe ich sehr wenige per Hand angelegte Variablen.
Ich löse das eigentlich immer mit den original Statusvariablen oder habe ein Script welches automatisch Variablen anlegt und auch die Aktionen verarbeiten. Da muss ich auch nix kopieren.
Michael

OK, Variablen per Skript anlegen wäre dann übernext Level für mich :wink:

Ansonsten ist hier das ein super Tipp für mich! Das werde ich dann in solchen Fällen auch so machen.

1 „Gefällt mir“

Ist für mich trotzdem ein Bug in der Konsole. Entweder ich kopiere den Teilbaum, dann auch mit den Abhängigkeiten innerhalb selbigen, oder ich kopiere ihn nicht. Ob das Aktionsscript wie seit ~16 Jahren zur drüberstehenden Variable gehört, kann man ja herausfinden und DANN auch entsprechend umhängen. Wenn es außerhalb des Baums verlinkt ist, bleibt halt die alte Verlinkung (so wie aktuell schon).

1 „Gefällt mir“

Das hört sich für mich auch nach einer plausiblen Vorgehensweise an👍

Die Frage ist aber auch, wie verhält es sich bei Ablaufplänen? Ich vermute mal, das die aktuell dann auch beim kopieren einen Zweiges ihre ursprünglichen Auslöser und Ziele behalten. Aber kann ich mal testen und berichten. Das alles mit umzuziehen ist vermutlich gar nicht so einfach.

Hallo @paresy, kann es sein, dass sich dieser Eintrag im Changelog der aktuellen 8.1.x Beta auf das Thema hier bezieht?

Ich wüsste es gerne, damit ich in Zukunft nicht mehr darauf achten muss oder mir einen Workaround bauen muss.