0

Mehrfachauswahlfelder für Einschränkung abgleichen

Hi, es geht um eine Einschränkung für die Verlinkung "Dienstleisterauswahl". Aktuell muss die Mehrfachauswahl a. mit der in b. vollständig übereinstimmen. Mir würde es jedoch reichen, wenn min. eine Übereinstimmung vorliegt.

Heißt praktisch ich klicke in Projekte das Gewerk z.B. Zimmerer an und mir wird der Dienstleister angezeigt bei dem z.B. Zimmerer und Dachdecker hinterlegt ist. Chosen() allein reicht da vermutlich nicht mehr aus. 

6 Antworten

null
    • + Maßanzug statt Massenware +
    • RonaldP
    • vor 3 Tagen
    • Gemeldet - anzeigen

    Moin ,

    so wie Du es beschreibst, sollte es mit contains funktionieren:

    contains(text(b.Gewerke),text(a.Gewerke))

    VG Ronald

    • Felix.5
    • vor 3 Tagen
    • Gemeldet - anzeigen

    Moin  , vielen Dank für den Versuch. Das Ergebnis ist leider identisch wie bei a.Gewerke = b.Gewerke, die Mehrfachauswahl muss in dieser Form dann immer komplett übereinstimmen. 

    Wenn ein Dienstleister z.B. Tischler und Zimmerer vermerkt hat, sollte es theoretisch reichen, wenn ich eines der beiden Anwähle, damit die Firma als Option angezeigt wird. 

    • mirko3
    • vor 3 Tagen
    • Gemeldet - anzeigen

    Hallo Felix. Versuche es mal so. Mirko

    let x := chosen(a.Gewerke);
    let y := chosen(b.Gewerke);
    cnt(for i in y do
                    contains(x, i)
                end[!= false]) > 0
    
      • Felix.5
      • vor 3 Tagen
      • Gemeldet - anzeigen

       interessanter Ansatz, Ninox spuckt nur leider die folgende Fehlermeldung aus: 

    • mirko3
    • vor 3 Tagen
    • Gemeldet - anzeigen

    Weil es bei Mehrfachauswahlfeldern so funktioniert, bei dynamischen Mehfachauswahlfeldern nicht. Du schriebst von multi in deiner Frage ganz oben und in der Fehlermeldung ist erkennbar, dass du dmult benutzt. Wenn also beides! dmulti sind, dann düfte dir das weiter helfen. Mirko

    let x := split(text(a.Gewerke), ", ");
    let y := split(text(b.Gewerke), ", ");
    cnt(for i in y do
                    contains(x, i)
                end[!= false]) > 0
    
      • Felix.5
      • vor 3 Tagen
      • Gemeldet - anzeigen

       mein Fehler, die Info hatte ich ganz vergessen, sorry. Jetzt funktioniert es einwandfrei, herzlichen Dank!