OFFICIUM INSERVIO IT
Your reliable partner for your business software...
Listen-Elemente Mehrfachauswahl / list element multi select
(alle Versionen/all versions)
Dienstag, 24. März 2026
Deutsch
Situation / Anforderung
Wir werden in der Praxis von Kunden immer wieder auf eine vermeintlich einfache Anforderung angesprochen , für die man aber manuell im AppDesigner eingreifen muss:
Man möchte in einer Liste eine schnelle Auswahl von Positionen erhalten und in einem Kontextmenü-Eintrag weiterverarbeiten. D.h. der Anwender soll z.B. in einem Master-Detail-Element in der Lage sein , gewisse Datenzeilen auszuwählen und ein Makro-Code soll dann genau diese Schlüssel weiterverarbeiten.
Lösung
⚠️Absolut entscheidend ist , dass der Kontextmenü-Eintrag auf "Mehrfachselektion" steht.


Im Makro-Code selber macht man nichts Anderes als sich einige Hilfsvariablen zur Aufnahme des aktuellen Schlüssels und eine Variable zum Fortschreiben der selektierten Schlüssel zu definieren.
Die Konvertierung z.B. von einem numerischen Wert zu der Semikolon-getrennten String-Liste übernimmt der Sage Makro-Code-Parser!
Entscheidend ist der korrekte Zugriff über den Kontext:
In dem Fall das Feld "Tan" mit "[$Me($IndexSelected).Tan]" auf den aktuellen selektierten Schlüssel.
Mit der "FestlegenVariable"- bzw. "SetVariable"-Anweisung schreibt man sich dann die Semikolon-separatierte String-Liste fort , die hier im Beispiel am Ende in einer einfachen Meldung ausgegeben wird , aber natürlich von dort z.B. an einen MacroProcessBase .net-Code im Applikationsserver weitergegeben werden kann etc.
⚠️"Stolperfallen"
Häufig wird bei der Verwendung von "Mehrfachauswahl" vergessen , dass sich dann die Datenermittlung in Kontextmenüs komplett seitens Sage anders verhält:
Beim Abgreifen von Datenfeldern , die der Liste zugeordnet sind , stellt man plötzlich fest , dass diese alle selektierten Werte enthalten , durch Semikolon getrennt! Dies ist ein von Sage bewusst eingeführtes Verhalten.
Der Zugriff mit "[$Me($IndexSelected).X]" garantiert bedauerlicherweise nicht , dass dies bei jedem Feld funktioniert: In vielen Fällen , z.B. oft bei Datumsfeldern , funktioniert das Abgreifen der selektierten Werte in der Praxis leider nicht immer zuverlässig - aus den unterschiedlichsten Gründen. Hier scheint es noch einige "Unschärfen" im entsprechenden Makro-Handler von Sage zu geben , die auch mit den neusten QSP-Ständen noch nicht behoben sind. Sehr oft ist man dann gezwungen , sich die Werte auf andere Weise zu ermitteln.
