Registerkarte in Abhängigkeit von Flag automatisch aktivieren

Hallo,

ich würde gerne in einem Formular beim Wechseln des Datensatzes in Abhängigkeit eines Flags eine Registerkarte aktivieren, also

If oRecord.GetValueByName("MyFlag") = "G" Then
  cRM.CurrentProject.ActiveViews.ActiveView.CurrentInputForm(2).ActivateCardPage("Geschäftlich")
Else
  cRM.CurrentProject.ActiveViews.ActiveView.CurrentInputForm(2).ActivateCardPage("Privat")
End If

In welchem Ereignis ließe sich so eine Funktionalität sinnvoll unterbringen? Oder will ich etwas erzwingen, was sich anders leichter lösen lässt?

Danke schon mal für alle Vorschläge
Wolfgang

Das Event gibt es nicht. :grimacing:

Sie könnten eine zusätzliche Karteikartenseite („Übersicht“) spendieren und auf dieser eine Kopie der (wesentlichen) „Geschäftlich“-Controls (Tipp: vorher zu einer Gruppe machen) einfügen mit der entsprechenden Darstellungsbedingung, danach die „Privat“-Controls mit der invertierten (gegenteiligen) Darstellungsbedingung „darüber“.

D.h. diese Seite schaltet auf sich selbst die relevanten Control hin und her.

Das Event einzuführen ist nicht trivial.

Vor allem bei sich widersprechenden Szenarien: Script öffnet Ansicht, wechselt in die Eingabemaske und will die Karteikartenseite „xyz“ aktivieren. Ihr Event aber „Privat“. Wer gewinnt? Ansicht wird geöffnet, und ein Datensatz zum Bearbeiten geöffnet. Das ‚Datensatz wird bearbeitet‘-Event aktiviert die „Schnellerfassung“-Lasche. Ihr Event aber „Privat“. Wer gewinnt?

Wenn man in der geteilten Bildschirmansicht durch die Datensätze läuft/blättert, müsste jede Veränderung der Markierung das Script auslösen. (Performance)

Wir denken dennoch mal drüber nach. :nerd_face:

Ha, die Gruppierungsfunktion war mir gar nicht bewusst! Damit lässt sich das Ganze schnell und komfortabel erledigen.

Ich habe die beiden Registerkarten im Register ganz nach vorne verlegt und habe die Sichtbarkeitsbedingung einfach auf die Registerkarten angewendet. Das scheint für den Moment ausreichend gut zu funktionieren (und ich habe die einzelnen Controls noch getrennt, die Maske ist noch ein „work in progress“ :wink: )

Aus meiner objektorientierten Sicht müsste immer das manuell erstellte Skriptereignis „gewinnen“, analog einer überschriebenen, vererbten Methode einer Klasse.
Grundsätzlich hilfreich wäre es, zu wissen, welche Ereignisse in welcher Reihenfolge aufgerufen werden, dabei „gewinnt“ ja dann immer das letzte. Und wenn der User so ein Ereignis mit eigener Funktionalität überschreibt und dann das Standardverhalten bleibt, ist das Ereignis nicht mehr sinnvoll.

Aber das sind nur meine (unerbetenen) 2 Cents…

Vielen Dank für die schnelle Hilfe
Wolfgang

1 „Gefällt mir“