0

Dynamisches Drucklayout Filterung auf Untertabelle

Moin, 

ich bin gerade bei einem Drucklayout für eine Kolonnenplanung, das in der Form auch fast funktioniert, nur bei der Auswahl der Daten aus der Untertabelle hänge ich fest.  Es werden mir so keine Daten angezeigt.

Wenn ich allerdings in der dritten Zeile ein first vorsetze, werden mir aus der Untertabelle bei allen Kolonnen die Kunden aus der ersten Kolonne angezeigt. Das verstehe ich auch, aber ich komme einfach nicht auf die richtige Formel/richtigen Filter, wie ich die jeweiligen Datensätze der Kolonnen darunter bekomme.

let my := this;
let myDate := Planungsdatum;
let mitarbeiter := Kolonnenplanung.text(Mitarbeiter);
let tab := (select Listen
        where contains(Pflegetermine.Planungsdatum, myDate) and
        contains(Pflegetermine.text(Kolonne), mitarbeiter));
let myarray := {
        vDatum: text(Planungsdatum),
        vKolonnen: Kolonnenplanung.{
            vKolonne: text(Mitarbeiter),
            vAuto: text(Fahrzeuge)
        },
        vProjekt: tab.{
            vID: Nr,
            vAdresse: item(split(Projektadresse, ","), 0),
            vPLZ: 'Projekt PLZ',
            vOrt: 'Projekt Ort',
            vAufgabe: text(Aufgaben),
            vArbeiten: text(Arbeiten),
            vZeit: Pflegetermine.AK + " AK / " + text(Pflegetermine.Zeitansatz) + " Std",
            vKunde: Kunde.Name,
            vNotiz: Notizen,
            vMaschinen: text(Maschinen)
        }
    };
myarray

Gruß Mirko

2 Antworten

null
    • Pushing the Boundaries of Ninox
    • Gotje_Ing
    • gestern
    • Gemeldet - anzeigen

    Moin,

    du möchtest ein Array (mehrere Kolonnenplanungen.text(Mitarbeiter)) mit einem Array (mehrere Pflegetermine.text(Kolonne) gegeneinander prüfen. Das geht nur mit einer for-Schleife. 

    Bin mir gerade nicht 100% sicher, aber so sollte es eigentlich klappen:

    (select Listen
            where contains(Pflegetermine.Planungsdatum, myDate) and
            max(for i in mitarbeiter do contains(Pflegetermine.text(Kolonne), i) end));
      • Mirko_E
      • vor 16 Stunden
      • Gemeldet - anzeigen

       

      Moin Philipp,

      vielen Dank für den Tip mit der Schleife, ich hatte mir das. schon gedacht, stand. da irgendwie aber auf dem Schlauch.

      Deine Version hat aber nicht funktioniert, aber es hat mir geholfen, den richtigen Lösungsansatz zu finden. 

      So habe ich das jetzt gelöst, das klappt super:

      let my := this;
      let myDate := Planungsdatum;
      let kolonne := Kolonnenplanung;
      let tab := (select Listen where contains(Pflegetermine.Planungsdatum, myDate));
      let myarray := for i in kolonne do
              {
                  vKolonne: i.text(Mitarbeiter),
                  vAuto: i.text(Fahrzeuge),
                  vProjekt: tab[contains(Pflegetermine.text(Kolonne), i.text(Mitarbeiter))].{
                      vID: Nr,
                      vAdresse: item(split(Projektadresse, ","), 0),
                      vKunde: Kunde.Name,
                      vPLZ: 'Projekt PLZ',
                      vOrt: 'Projekt Ort',
                      vAufgabe: text(Aufgaben),
                      vArbeiten: text(Arbeiten),
                      vZeit: Pflegetermine.AK + " AK / " + text(Pflegetermine.Zeitansatz) + " Std",
                      vNotiz: Notizen,
                      vMaschinen: text(Maschinen),
                      vKat: text('Kategorie dyn')
                  }
              }
          end;
      myarray
      

      Gruß

      Mirko

Content aside

  • vor 16 StundenZuletzt aktiv
  • 2Antworten
  • 20Ansichten
  • 2 Folge bereits