0

Datensätze und deren Anhänge durchiterieren

Hallo,

ich nutze meine Ninox-Anwendung, um Bestellungen zu verwalten und diese zu “buchen”. Es gibt also eine Tabelle “Bestellungen” und eine Tabelle “Buchungen”, die verknüpft sind. Jede Bestellung kann beliebig viele Dateianhänge haben.

Nun möchte ich über eine weitere Tabelle “Berichte” monatliche PDF-Reports erzeugen. Im Report sollen ALLE Buchungen und ALLE Dateianhänge der verknüpften Bestellungen aufgelistet werden. Es geht also darum, je Buchung UND je Dateianhang der verknüpften Bestellung einen Datensatz zu erzeugen. Also z. B. so:

Buchung 1 - Anhang 1
Buchung 1 - Anhang 2
Buchung 1 - Anhang 3
...
Buchung 137 - Anhang 1

Ich habe es u.a. mit folgendem Skript versucht, allerdings stürzt Ninox hier immer wieder ab und bringt seltsame Fehlermeldungen mit “... node not found”.

let lieferantenBuchungen := (select Buchungen);
for i in lieferantenBuchungen do
  let myFiles := files(i.“Lieferanten-Bestellung”);
  for j from 0 to cnt(myFiles) do
    let myPos := (create “Buchungen im Bericht”);
    myPos.(Bericht := myBericht);
    myPos.(Buchung := i)
  end
end

Hat jemand eine Idee, wo der Fehler bzw. die Lösung liegt?

Beste Grüße

Fabi

2 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Fabi, ich blick da nicht ganz durch. Sind die Tabellen 1:N oder N:1 miteinander verknüpft? Wo/wann soll der Berichtsdatensatz erzeugt werden? Aus einer der Tabellen (welcher?) oder in einem Dashboard o. ä.? Was ist “Lieferanten-Bestellung”? Und was ist “Buchungen im Bericht”? Eine Untertabelle von “Bericht”? Und der jeweilige Dateianhang soll wie dargestellt werden? Als Textfeld mit dem Dateinamen? ...

    • TESTBenutzer
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Copytexter, das ist zugegebenermaßen etwas umständlich und schwierig zu erklären. Ich versuche den Fall einmal zu vereinfachen. Den Rest schaffe ich dann selbst.


    Ich habe eine Tabelle A, in der jeder Datensatz beliebig viele Anhänge hat. Nun möchte ich in einer anderen Tabelle B automatisch Datensätze erzeugen, und zwar einen Datensatz je Anhang. Meine menschliche Anweisung an Ninox hieße: “Gehe alle Datensätze der Tabelle A durch und erstelle für jeden Anhang, den du findest, einen Datensatz in Tabelle B.”


    Mein (nicht funktionierendes) Skript dazu ist:

     

    let datensaetzeA := (select “Tabelle A”);
    for i in datensaetzeA do
      let myFiles := files(i);
      for j from 0 to cnt(myFiles) do
        let datensatzB := (create “Tabelle B”);
        datensatzB.(Anhang:= j);
      end
    end

    Wie könnte ich dieses Kernproblem lösen?


    Viele Grüße

     

    Fabi

Content aside

  • vor 3 JahrenZuletzt aktiv
  • 2Antworten
  • 557Ansichten