0

Dynamisches Auswahlfeld

Hallo,

kennt jemand ein Beispiel aus dem Webinar mit einem dynamischen Auswahlfeld?

Ich würde mir das gerne mal ab einem Praxisbeispiel anschauen.

Wäre klasse, wenn jemand eines kennt.

VG 

Christian

15 Antworten

null
    • Michi.1
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Da wirst du wohl den Profis mehr input geben müssen,um was es geht oder was du erreichen magst. Das Thema ist einfach zu vielfältig 

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen
    • A.M.U. Beratung Ingenieurbüro Schünzel
    • Christian_Schunzel
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Ok dann mehr Input. Ich schätze mal für die Profis eine simple Angelegenheit.

    Ich habe eine Tabelle Zeiterfassung, bei der habe ich den Standort bei einem vor Ort Termin bisher händisch eingetippt. Einige Kunden haben mehr als einen Standort. Die Standorte sind in der Tabelle Reisekosten angegeben. 

    In der Zeiterfassung möchte ich nun, dass bei Auswahl eines Kunden, im dynamischen Auswahlfeld nur die Standorte auftauchen, die auch in der Tabelle Reisekosten, dem Kunden zugeordnet sind. Dann kann ich nämlich automatisch die Fahrtkostenpauschale des jeweiligen Standortes anzeigen lassen.

    Die Formel im Auswahlfeld muss also prüfen,  welcher Kunde bei der Tabelle Zeiterfassung ausgewählt wurde und dann die in der Tabelle Reisekosten zugeordneten Standorte in dem Auswahlfeld anzeigen.

     

    Ich hoffe ich habe mich verständlich ausgedrückt.

     

    Zeiterfassung; hier wird das Auswahlfeld ausgewählt

    Reisekosten; hier sind die Spalten der Standorte dem Kunden zugeordnet und sollen in das Auswahlfeld gespeist werden

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Dynamische Auswahlfelder füllen sich mit einer select Abfrage genau wie Ansichten.
    Wenn du bspw. eine Ansicht erstellst und per select Abfrage die Anzeige auf das von dir gewünschte einschränkst, hast du deine select-Abfrage für das den. Auswahlfeld. Du musst dann nur noch das Feld auswählen, welches aus dieser Auswahl angezeigt werden soll. 

    • Ninox-Professional
    • planoxpro
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hi, um es noch ein bisschen konkreter zu machen: Wenn 'Zeiterfassung' N:1 mit 'Kunden verknüpft ist und diese wiederum 1:N mit 'Reisekosten', in der die Zielorte stehen, dann könnte der Eintrag in "Dynamic values" des dynamischen Auswahlfeldes so aussehen:

    let myK := Kunden;
    select Reisekosten where Kunden = myK
    

    Unter "Name des dynamisches Wertes" müsste man noch die Felder auswählen, die in der Liste angezeigt werden sollen (ansonsten wird nur die Datensatznummer angezeigt).

    Nach Auswahl des Zielortes könnte man sich die dazugehörige Kostenpauschale in einem Funktionsfeld anzeigen lassen:  

    record(Reisekosten, number(Zielort)).Kosten
    

    Wobei 'Zielort' für den Namen des dynamischen Auswahlfeldes steht. 

    • A.M.U. Beratung Ingenieurbüro Schünzel
    • Christian_Schunzel
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Vielen Dank für eure Hilfe. Mit der Formel von Planox hat es wunderbar funktioniert, Danke

    • A.M.U. Beratung Ingenieurbüro Schünzel
    • Christian_Schunzel
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Kurze Frage noch:

    Wie kann ich bei der Formel zusätzlich zu den Standorten noch bei allen Kunden "Büro" hinzufügen? 

      • Ninox-Professional
      • planoxpro
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Christian Schünzel 

      Wo soll das hinzugefügt werden? In der Auswahlliste? Was dort angezeigt wird, bestimmt man über die Option "Name des dynamisches Wertes". Dort lassen sich auch Texte integrieren. Als Beispiel:

      "Büro " + Standort
      

      Ergäbe in der Auswahlliste:

      Büro Entenhausen
      Büro Hintertupfingen
      Büro Musterstadt

       

    • A.M.U. Beratung Ingenieurbüro Schünzel
    • Christian_Schunzel
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Es soll nicht Büro mit Zusatz Standortnamen angezeigt werden, sondern zusätzlich als Auswahl Büro, wenn ich im Büro Remote für den Kunden gearbeitet habe. 

      • Ninox-Professional
      • planoxpro
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Ach so ... In der Auswahlliste werden halt alle Standorte angezeigt, die mit dem Kunden verknüpft sind. Man müsste also "Büro" als Standort mit Kostenpauschale = 0 in die Tabelle 'Reisekosten' eintragen und mit allen Kunden verknüpfen, wozu aber eine N:M-Beziehung erforderlich wäre (ein Kunde kann mehrere Standorte haben; ein Standort lässt sich mehreren Kunden zuordnen). 

      Man müsste also entweder das Datenmodell anpassen oder in der Zeiterfassung zwischen "Büro" und "auswärts" unterscheiden, z. B. mit einem "normalen" (statischen) Auswahlfeld. Das dynamische zur Auswahl des Standortes würde dann nur bei "auswärts" eingeblendet und bliebe ansonsten bei "null".
       

    • A.M.U. Beratung Ingenieurbüro Schünzel
    • Christian_Schunzel
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Ok alles klar, dann Regel ich das lieber mit dem zusätzlichen Auswahlfeld auswärts und Büro.

    Muss ich die Formel dann als Trigger beim dynamischen Auswahlfeld einbinden?

      • Ninox-Professional
      • planoxpro
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Man kann auch einfach ein Ja/Nein-Feld namens 'Auswärts' oder so als Checkbox mit Standardwert "Nein" nehmen und in den "weiteren Optionen" einen Trigger "Nach Änderung" erstellen:

      if 'Auswärts' != true then
          Standort := null
      end
      

      Damit würde sicherheitshalber eine bereits getroffene Standort-Auswahl zrückgesetzt. Und in den Optionen des Dynamischen Auswahlfeldes 'Standort' könnte man unter "Nur anzeigen, wenn" eintragen

      'Auswärts' = true
      

      Dann würde das Feld zur Auswahl des Standortes nur angezeigt, wenn das Ja/Nein-Feld 'Auswärts' aktiviert, also auf "Ja" bzw. "true" gesetzt wurde.
       

    • A.M.U. Beratung Ingenieurbüro Schünzel
    • Christian_Schunzel
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Vielen Dank. Ich habe dann doch den Vorschlag von Dir umgesetzt, mit der Spalte auswärts (Ja/Nein).

     

    Bei der Spalte Fahrtkostenpauschale habe ich einen Trigger gesetzt gehabt, dieser funktionierte recht simpel, da ja jeder Kunde nur eine Spalte in den Reisekosten hatte (mit Hauptstandort). Nun gibt es Kunden mit mehr als einer Spalte, wenn mehr Standorte vorhanden sind. Da ist die Fahrtkostenpauschale auch unterschiedlich. Habe den Trigger so formuliert:

    Fahrtkostenpauschale := if Standort = Reisekosten.Standort then
            number(Kundendatenbank.Reisekosten.Fahrtkostenpauschale)
        else
            0
        end

     

    Irgendwas muss hier noch fehlen, da die Fahrtkosten nicht gezogen werden. Fällt Dir hier was auf?

      • Ninox-Professional
      • planoxpro
      • vor 2 Jahren
      • Gemeldet - anzeigen

      Christian Schünzel Ich weiß nicht, was mit "mehreren Spalten" gemeint ist, wo sich der Trigger befindet und was genau er bewirken soll. Es war deshalb einfacher, mal eine kleine Beispiel-DB zu erstellen mit der Struktur, wie ich sie bisher verstanden habe:

    • A.M.U. Beratung Ingenieurbüro Schünzel
    • Christian_Schunzel
    • vor 2 Jahren
    • Gemeldet - anzeigen

    planox.pro

    Vielen Dank für die Hilfe. Das war sehr hilfreich. Funktioniert jetzt.