0

änderungen in untertabelle

in meinen kundenbestellungen habe ich mehrere variationen eines status (offen, bestellt, geliefert, kunde benachrichtig und abgeholt).

jedesmal wenn der status verändert wird, soll dieser automatisch in eine untertabelle das datum wann es verändert wurde und auf welchen status es gestellt wurde eintragen

7 Antworten

null
    • Cris
    • vor 6 Jahren
    • Gemeldet - anzeigen

    push

    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Soll das wirklich eine Untertabelle sein? Es reicht, wenn die Tabelle unabhängig steht. Wenn diese z.B. Datenlogger heißt und die Felder "Änderungspunkt (Datatime)" und "Änderung (Text)" enthält:

    Trigger nach Änderung:

     

    ---

    let mySTATUS:=text(Status);

    let newLOG:=Datalogger;

    newLOG.'Änderungspunkt':=now();

    newLOG.'Änderung':="Status geändert auf "+mySTATUS"

    ---

    Leo

    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen

    sorry, habe create vergessen

     

    let mySTATUS:=text(Status);

    let newLOG:=create Datalogger;

    newLOG.'Änderungspunkt':=now();

    newLOG.'Änderung':="Status geändert auf "+mySTATUS"

    • Cris
    • vor 6 Jahren
    • Gemeldet - anzeigen

    index

     

    so habe ich mir das gedacht, wenn eine änderung im status kommt, soll das f´ganze unten in der tabelle vermerkt werden, oder gibt es da eine elegantere lösung

    • Cris
    • vor 6 Jahren
    • Gemeldet - anzeigen

    let mySTATUS := text(Status);
    let newLOG := (create StatusD);
    newLOG.(Zeitpunkt := now());
    newLOG.('Änderung' := "Status geändert auf " + mySTATUS)

     

    in die untertabelle StatusD werden neue Einträge hinzugefügt, aber wie auf dem Bild oben, bei den jeweiligen Bestellungen werden die Einträge nicht aufgeführt.

    • Cris
    • vor 6 Jahren
    • Gemeldet - anzeigen

    so wie es scheint, wird die änderung keiner spezifischen bestellung angehängt, ich könnte jetzt rechts in der maske auf das feld bestellung klicken, und die änderung einer bestelung zuweisen, aber das soll ja automatisch passieren.

    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen

    Du kannst ja die Zuweisung auch per Skript erledigen:

    -----

    let myORDER:=this;

    let mySTATUS := text(Status);
    let newLOG := (create StatusD);
    newLOG.(Zeitpunkt := now());
    newLOG.('Änderung' := "Status geändert auf " + mySTATUS);

    newLOG.Bestellung:=myORDER

    ----

    Leo