Datensatz inkl. der Untertabelle duplizieren
Guten Morgen.
Ich stehe seit einigen Tagen vor einem Problem.
Ich möchte mit KLICK auf dem Button "Datensatz kopieren", diesen nochmals anlegen inklusive der Untertabelle "Auditplan". Nur wenn ich das kopiere, dupliziert er nur den Datensatz (ohne den Auditplan)
Könnt Ihr mir da helfen?
Das Script des Buttons "Auditplan kopieren"
let my := this;
duplicate(this);
let new := last(select Auditplanung1);
for ii in my.Auditplan do
duplicate(ii);
last(select Auditplan)
end
Vielen Dank
Grüße, Jens
10 Antworten
-
Hallo Jens, bist du sicher, dass es sich bei 'Auditplan' um eine Untertabelle (Komposition = Ja) handelt, und nicht um eine normale 1:N-Verknüpfung (Komposition = Nein)? Bei letzterer werden die Einträge beim duplicate() nämlich nicht übernommen, sondern müssen im Script selbst erstellt werden. Zum Beispiel so:
let meUT := Auditplan; let newHT := duplicate(this); for ii in meUT do let newUT := (create Auditplan); newUT.( Auditplanung1 := newHT; Datum := ii.Datum; Uhrzeit := ii.Uhrzeit; usw .... ); end
Be einer "echten" Untertabelle müsste ansonsten das duplicate(this) genügen, um die Einträge mit zu übernehmen. Der Rest davor und dahinter wäre überflüssig.
-
said:
Echt komisch. Eigentlich ist es doch gleich. Er nimmt es aber nicht an.Verknüpfungen bekommen automatisch immer erst mal den Namen der verknüpften Tabelle, können aber umbenannt werden. Das ist hier offenbar geschehen. Die Tabellen Auditplan und Massnahmenplan sind beide N:1 mit der Tabelle Auditplanung1 verknüpft. In Auditplan heißt das Verknüpfungsfeld aber "Auditplanung", ohne "1" dahinter.
Deshalb ist die Zuweisung in der ersten for-Schleife richtig, in der zweiten zu Massnahmenplan müsste es jedoch heißen:
... let newUT2 := (create Massnahmenplan); newUT2.( Auditplanung1 := newHT; ...
In deinem Screenshot zeigst du allerdings die Verknüpfung der Untertabelle Auditdokumentation zu Massnahmenplan (benannt "Maßnahmeplan"). Die Übernahme dieser Daten würde wieder eine ganz andere Herangehensweise erfordern. Die Sinnhaftigkeit dieser indirekt doppelten Verknüpfung kann ich aus Zeitgründen jetzt aber nicht ergründen.
Erschwert wird das Verstehen deines Datenmodells dadurch, dass manche der Tabellen versteckt, Verknüpfungsfelder ausgeblendet und die Bezeichnungen nicht eindeutig sind.
Ich würde deshalb dringend empfehlen, das Datenmodell noch mal zu prüfen und vor allem die Bezeichnungen der Tabellen und Verknüpfungen zu vereinheitlichen. Und verstecken bzw. ausblenden würde ich Tabellen und Verknüpfungen erst, wenn das Datenmodell und die Funktionen wirklich feststehen.
Zusätzlicher Tipp: Man kann in den erweiterten Feldoptionen als Bedingung bei "Nur anzeigen, wenn" auch angeben
isAdminMode()
Dann werden die betreffenden Felder nur bei aktiviertem Admin-Modus angezeigt, so dass man während der Entwicklungsphase jederzeit umschalten kann.
Content aside
- vor 3 MonatenZuletzt aktiv
- 10Antworten
- 55Ansichten
-
2
Folge bereits