Datensätze per Script erzeugen
Hallo, ich möchte per Script in einer anderen Tabelle einen Datensatz erzeugen und die Felder entsprechend ausfüllen. Es handelt sich dabei nicht um eine direkte Untertabelle. Alle meine Recherchen im Handbuch und im Forum fruchten leider nicht. Das script zeigt keinen Fehler an, aber es funktioniert auch nicht d.h. es wird keine neuer Datensatz erzeugt.
Kann mir da jemand den Knoten lösen ? Das unten gezeigte Script wurde nach dem Schließen des Editors so erzeugt - d.h. die Klammern etc. wurden irgendwie anders gesetzt.
9 Antworten
-
wie war Dein Originalskript?
-
Hallo Dirk,
Auf Anhib kann ich vorschlagen statt create '4-Artikel'.Bewegungen folgende Code zu benutzen:
---
let myArt:='4-Artikel';
let p:=create Bewegungen;
p.'4-Artikel':=myArt
---
Leo
-
Hallo Leonid,
wenn ich das so einbaue, wird mir aber ein Fehler angezeigt -
.... bzw. wenn ich "4 - Artikel" richtig schreibe immer noch:
-
Hallo Dirk,
die Ferndiagnose ist hier natürlich schwierig. Versuch doch die Tabelle Bewegungen zu öffnen und guck dort, wie die Verknüpfung zu der Tabelle '4 - Artikel' heißt. Oft ist es so, dass man die Tabelle mit den Artikel ursprünglich "Artikel" nennt und später in "4-Artikel" unbenannt wird. Die Verknüpfung bleibt aber unverändert.
Leo
-
Ja, danke, habe das jetzt so gefunden...
-
HI,
ich habe eine ähnliche Anforderung nur dass ich gleich mehrere Datensätze in dem neu erzeugten Datensatz in einer UNtertabelle verknüpfen möchte. Kein Fehler, aber auch keine Verknüpfung... :-(
let myProject := this;
let myInvoice := (create Verkauf);
let myLink := (create Projekte_Verkauf);
myLink.(Verkauf := myInvoice);
myLink.(Projekte := myProject);for myTime in myProject.Timerecords[abgerechnet = 2] do
let thisRecord := myTime;
let reportItem := (create Leistungsnachweis);
reportItem.(Timetracking := thisRecord)
end;Ich möchte alle Einträge aus Timerecords in die Verknüpfungstabellke "Leistungsnachweis" in dem neu erzeugten Datensatz "Verkauf" verknüpfen. Wenn ich die For-Schleife weg lasse, dann meckert er, dass mehree Datensätze zurück kommen, was ja auch krorrekt ist. Und nun?
Timo
-
Hallo Timo,
wenn du die neu erstellten Datensätze mit dem neuen Datensatz veknüpven möchtest, dann solltest du auch diesen Datensatz (myInvoice) statt thisRecord nehmen. Wobei ich mir nicht sicher bin ob Timetracking der richtiger name ist. Heißt die Verknüpfung zu Verkauf in Leistungsnachweis tätsächlich "Timetracking" oder ist Leistungsnachweis auch eine n:m Beziehungstabelle? Dann sollte die Formel etwa so aussehen:---
let myProject := this;
let myInvoice := (create Verkauf);
let myLink := (create Projekte_Verkauf);
myLink.(Verkauf := myInvoice);
myLink.(Projekte := myProject);
for myTime in Timerecords[abgerechnet = 2] do
let reportItem := (create Leistungsnachweis);
reportItem.('Verknüpfung zur Tabelle Verkauf in Leistungsnachweis' := myInvoice);
reportItem.(Timetracking := myTime)
end
---
Leo -
Hi Leo,
die Verknüpfung
reportItem.(Verkauf := myInvoice);
hatte gefehlt: Jetzt wo es da steht ist es klar, mal schauen ob mir das morgen auch wieder einfällt ;-)
Danke!
Content aside
- vor 4 JahrenZuletzt aktiv
- 9Antworten
- 2789Ansichten