0

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

null
    • bernd
    • vor 6 Jahren
    • Gemeldet - anzeigen

    wie war Dein Originalskript?

    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen

    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

    • Dirk_Pulver_2020
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Hallo Leonid,
    wenn ich das so einbaue, wird mir aber ein Fehler angezeigt

    • Dirk_Pulver_2020
    • vor 6 Jahren
    • Gemeldet - anzeigen

    .... bzw. wenn ich "4 - Artikel" richtig schreibe immer noch:

    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen

    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

    • Dirk_Pulver_2020
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Ja, danke, habe das jetzt so gefunden...

    • blickfang Internet- & Werbeagentur GmbH
    • Timo_L
    • vor 4 Jahren
    • Gemeldet - anzeigen

    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

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    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

    • blickfang Internet- & Werbeagentur GmbH
    • Timo_L
    • vor 4 Jahren
    • Gemeldet - anzeigen

    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!