Datensatz in for Schleife verknüpfen
Liebe Ninox Gemeinde,
ich wende mich wahrscheinlich mit einem sehr simplen Anfängerproblem an euch.
Zum Aufbau der Datenbank:
Es gibt eine Tabelle Auftragserfassung und eine Tabelle Rechnungen. Beim drücken eines Buttons sollen in der Tabelle Rechnungen alle Aufträge abgerechnet/erzeugt werden die eine Bedingung erfüllen. Das klappt soweit, jedoch möchte ich diverse Daten (Kunde,Leitungspositionen etc.) die im Auftrag vorhanden sind auch mit der Rechnung über die Auftragsnummer verknüpfen.
Meine Formel des Button bisher:
let result1 := dialog("Rechnungslauf starten?", "Sind Sie sicher das Sie den Rechnungslauf starten wollen?", ["Ja", "Nein"]);
if result1 = "Ja" then
for i in select Auftragserfassung where 'Abzurechnen bis Tag' != null do
let me := this;
let cre := (create Rechnungen);
cre.('RG Abzurechnen bis' := i.'Abzurechnen bis Tag');
cre.(Auftragsnummer := i.Auftragsnummer)
end
else
alert("Rechnungslauf abgebrochen")
end
Ich habe verstanden, dass ich irgendwie über den Befehl this den aktuellen Datensatz in eine Variable schreiben kann. Ich bekomme aber die Verknüpfung in der Rechnungstabelle nicht hin.
Muss das Tabellenfeld in der Tabelle Rechnungen schon ein verknüpftes Funktionsfeld mit der Tabelle Aufträge sein oder ein einfaches Textfeld in das die Auftragsnummer übergeben wird?
Mit der Formel oben wird die Auftragsnummer übergeben aber nicht verknüpft.
Ich bin für jede Hilfe dankbar.
4 Antworten
-
Moin,
Du benötigst eine Verknüpfung von Rechnungen zu Aufträge. Davon ausgehend, dass Dein Button aus Aufträge heraus ausgeführt wird:
let my := this;
let result1 := dialog("Rechnungslauf starten?", "Sind Sie sicher das Sie den Rechnungslauf starten wollen?", ["Ja", "Nein"]);
if result1 = "Ja" then
for i in select Auftragserfassung where 'Abzurechnen bis Tag' != null do
let me := this;
let cre := (create Rechnungen);
cre.('RG Abzurechnen bis' := i.'Abzurechnen bis Tag');
cre.(Auftragsnummer := i.Auftragsnummer);
cre.('Aufträge' := my)
end
else
alert("Rechnungslauf abgebrochen")
end
lg, Torsten
-
Hat geklappt.
Vielen Dank für die Hilfe.
Wenn ich das richtig verstehe stelle ich mit cre.('Aufträge' := my) eine Verknüpfung zum gesamten Datensatz her und nicht nur zu einem einzelnen Feld.
Aus Neugier würde mich interessieren ob es auch möglich ist den Button in einer unabhängigen Tabelle zu erstellen? Wäre z.B. interessant wenn man ein Dashboard erstellt.
Bitte nur antworten wenn das nicht zu aufwendig ist.
-
natürlich kannst Du auch zum Datensatz einer unabhängigen Tabelle verknüpfen, Du brauchst eben nur Kriterien, mit denen das Script diesen eindeutig findet. Hast Du in Deinem Dashboard ein Textfeld mit z.B. einer Auftragsnummer, könntest Du mit
let me := this;
let my := first(select 'Auftrage' where Auftragsnummer = me.Auftragsnummer)
auf den entsprechenden Auftrag zeigen.
-
Danke Torsten für die schnelle Antwort. Ich werde es bei Gelegenheit testen.
Content aside
- vor 3 JahrenZuletzt aktiv
- 4Antworten
- 333Ansichten