0

Dashboard pro Nutzer

Hallo Ninox Community,

 

ich habe mittlerweile ein doch relativ großes System mit mehreren Anwendern und Anwendungsbereichen. Dafür hab ich unterschiedliche Dashboards oder Cockpits gebaut.

jetzt würde ich gern über Trigger nach öffnen jedem User das zugehörige Dashboard öffnen.

derzeit bekomme ich hier nur eins hin (Cockpit TiF):

let my := first(select 'Cockpit TiF'); 
openRecord(my)

Wenn ich aber nun eine Tabelle mache und jedem User ein Cockpit zuordne (über einfach Auswahl und dann den Text als select hole, hilft das im openrecord-Befehl leider nicht weiter.

let mi := user();
let mycockpit := text(first((select Cockpit_Liste where user() = mi).Auswahl));

openRecord('mycockpit')

gibts da  ne Lösung ohne dass ich das trigger nach öffnen feld mit nem haufen ifs für alle User vollschreibe? oder wie schreib ich da den code richtig, dass er quasi ne variable Tabellenauswahl hat?

 

vielen Dank vorab.

5 Antworten

null
    • Torsten_Stang.1
    • vor 11 Monaten
    • Gemeldet - anzeigen

    Ich erstelle quasi jedem User einen Datensatz in der Dashboard-Tabelle (wenn noch nicht vorhanden) und öffne das beim Start automatisch:

    let my := (select Dashboard where 'Erstellt von' = user());
    if cnt(my) = 0 then
        let new := (create Dashboard);
        void
    end;
    openTable("Dashboard", "Dashboard")
    

    In der Tabelleneigenschaften des Dashboard habe ich unter "Lesbar wenn:"

    'Erstellt von' = user()
    

    So bekommt jeder User seine eigene Ansicht des Dashboards

      • MD
      • Christian_Braunlich
      • vor 11 Monaten
      • Gemeldet - anzeigen

      Torsten Stang Danke. so hab ich das noch garnicht gesehen. ich kann das ja über unterschiedliche Ansichten machen und nur ein Formular verwenden. (habe bisher da 6 Tabellen mit je einem Formular gemacht.)

      Hab vielen Dank. Das probiere ich gleich mal aus.

      • Torsten_Stang.1
      • vor 11 Monaten
      • Gemeldet - anzeigen

      Christian Bräunlich wenn die Ansichten unterschiedlich sein sollen, musst Du den Aspekt natürlich noch reinbringen. Bei meiner Lösung benutzen alle dieselbe Ansicht mit eigenem Datensatz in der Tabelle, so dass über Filter und Schalter nicht konkurrierend gearbeitet wird.

      • MD
      • Christian_Braunlich
      • vor 11 Monaten
      • Gemeldet - anzeigen

      Torsten Stang das mit den konkurrierenden Filtern hab ich noch garnicht bedacht. dann gehts wohl doch nicht. ich werde das wohl erstmal als code reinschreiben... sind vorerst "nur" 6 verschiedene Dashboards.

      Oder hast du eine idee wie ich den opentable befehl mit einer Variable versehen kann? durch das " " ist das ja eher nicht möglich oder?

      • Ninox-Professional
      • planoxpro
      • vor 11 Monaten
      • Gemeldet - anzeigen

      Christian Bräunlich Vielleicht so?

      let myDash := first(select Dashboard where 'Erstellt von' = user()).Nr;
      if not myDash then
          myDash := (create Dashboard).Nr
      end;
      openRecord(myDash, "Dashboard")
      

Content aside

  • vor 11 MonatenZuletzt aktiv
  • 5Antworten
  • 122Ansichten
  • 3 Folge bereits