Automatisches Anlegen von einer Rechnung über einen Button
Hallo,
ich habe eine Tabelle “Zeiterfassung” und eine Tabelle “Rechnungen” mit einer Untertabelle “Faktura-Artikel”. In dieser Untertabelle werden die Positionen dieser Rechnung abgespeichert. AUßerdem gibt es noch eine Tabelle “Artikel”, in der die normalen Artiekl angelegt sind.
Nun kann ich, wenn ich manuell eine Rechnung schreibe, Artikel von der Tabelle “Artikel” auswählen und als Position speichern. Soweit, so gut :)
Nun möchte ich allerdings, dass ich aus der Tabelle “Zeiterfassung” per Button eine neue Rechnung erzeuge, in der der Kunde, der Artikel (ein bestimmter Artikel mit der ID1) und ein Benutzertext (Durchgeführte Arbeiten) anlegt wird. Irgendwie kriege ich die Daten nicht in die Untertabelle...
Habe bisher dieses Script, welches aber nicht funktioniert:
let me := this;
let MyKunde := Kunden;
let arbeiten := “Ausgeführte Arbeiten”;
let minuten := Zeit;
let NR := (create Rechnungen);
NR.(Kunden := MyKunde);
let NR2 := (create FakturaArtikel);
NR2.Artikel.(Artikelnummer := 1);
NR2.Faktura.Artikel.(Anzahl := minuten);
NR2.Faktura.Artikel.(“Artikeltext für Rechnung” := arbeiten);
closeRecord();
popupRecord(NR)
Kann mir hier jemand helfen?
Vielen Dank!
6 Antworten
-
Das ist der aktuelle Code...
let me := this;
let MyKunde := Kunden;
let arbeiten := “Ausgeführte Arbeiten”;
let minuten := Zeit;
let NR := (create Rechnungen);
NR.(Kunden := MyKunde);
let NR2 := (create FakturaArtikel);
NR2.Artikel.(Artikelnummer := 1);
NR2.Artikel.FakturaArtikel.(Anzahl := minuten);
NR2.Artikel.FakturaArtikel.(“Artikeltext für Rechnung” := arbeiten);
closeRecord();
popupRecord(NR) -
Hallo Reiner, mir ist die Herkunft einiger Felder unklar, aber vom Ansatz her würde ich es so versuchen:
let me := this;
let MyKunde := Kunden;
let arbeiten := “Ausgeführte Arbeiten”;
let NR := (create Rechnungen);
NR.(Kunden := MyKunde);
let NR2 := (create FakturaArtikel);
NR2.(Rechnung := NR);
NR2.(Artikelnummer := 1);
NR2.(Anzahl := me.Zeit);
NR2.(“Artikeltext für Rechnung” := arbeiten);
closeRecord();
popupRecord(NR)
-
Korrektur: Sofern der Name der Verknüpfung nicht geändert wurde, muss es in Zeile 7 vermutlich heißen:
NR2.(Rechnungen := NR);
-
Hallo Copytexter,
ich danke Dir! Das sieht schon mal sehr gut aus! Es fehlt jetzt nur noch, dass er den richtigen Artikel aus der Tabelle “Artikel” zieht und in die Untertabelle “Faktura-Artikel” von “Rechnungen” zieht. Dieses Feld bleibt leider noch leer. Der Rest (Anzahl, Text) steht schon drin.
-
Welches ist denn “der richtige Artikel”? Aus deinen Beschreibungen geht nur hervor, dass es eine Tabelle “Artikel” gibt und in der Tabelle “FakturaArtikel” ein numerisches Feld namens “Artikelnummer”, dem die Zahl 1 zugewiesen wird. Ich weiß aber nicht, was das bedeutet.
Vermutlich soll in dem neuen “FakturaArtikel”-Datensatz ein Artikel verknüpft werden. Dazu müsste man die ID des betreffenden Artikels ermitteln und sie dem entsprechenden Verknüpfungsfeld zuweisen. Nehmen wir an, die Artikelnummer lautete tatsächlich 1 (was sehr ungewöhnlich wäre) und stünde auch so in der Artikel-Tabelle. Dann könnte man es bspw. so versuchen (Zeile 4 neu; Zeile 9 geändert):
let me := this;
let MyKunde := Kunden;
let arbeiten := “Ausgeführte Arbeiten”;
let myA := first(select Artikel where Artikelnummer = 1);
let NR := (create Rechnungen);
NR.(Kunden := MyKunde);
let NR2 := (create FakturaArtikel);
NR2.(Rechnung := NR);
NR2.(Artikel := myA);
NR2.(Anzahl := me.Zeit);
NR2.(“Artikeltext für Rechnung” := arbeiten);
closeRecord();
popupRecord(NR)
-
Funktioniert perfekt!! Vielen vielen Dank!! Artikelnummer passt bei mir, da ich von der Zeiterfassung nur den Artikel “Arbeitszeit in Minuten” benötige und der hat die Artikelnummer 1 :)
Content aside
- vor 4 JahrenZuletzt aktiv
- 6Antworten
- 514Ansichten