Trigger: neuer Datensatz in Verknüpfungsfeld
Ninox Profile

Guten Morgen,

in einem Rechnungsdatensatz gibt es eine Verknüpfung zur Kundentabelle sowie mehrere Felder für die Adressdaten. Wird in der Verknüpfung ein Kunde ausgewählt, werden durch den Änderungstrigger des Verknüpfungsfeldes die Adressdaten in die Adressfelder der Rechnung kopiert, um Sie gegen künftige Änderungen zu schützen.

Diese Übernahme von Kundendaten in die Adressfelder der Rechnung funktioniert allerdings nicht, wenn man einen neuen Kunden über das PLUS-Icon am Verknüpfungsfeld anlegt. Da versagt der Änderungstrigger komplett.

Jetzt könnte man zwar einen zusätzlichen Button "Datenübernahme" daneben setzen. Diese Lösung finde ich aber nicht so sexy, denn der Button ist ja bei "Bestandskunden" überflüssig.

Hat jemand eine bessere Idee? Vielen Dank vorab.

Ralf

Ninox Profile

Hallo Icarus,

 

wie wäre es denn, wenn Du als generellen Trigger bei Änderungen im Datensatz auf den entsprechenden Eintrag prüfst?

 

Heißt die Verknüpfung zum 'Kunde' und eines der Adressfelder 'Firma' könnte das so aussehen:

 

if Kunde and not Firma then
   Firma := Kunde.Firma;
   'Straße' := Kunde.'Straße';
   PLZ := Kunde.PLZ;
   Ort := Kunde.Ort
end

 

lg, Torsten

Ninox Profile

Hallo Torsten,

 

erstmal danke, aber die Idee hatte ich auch schon und das funktioniert eben leider nicht.

Wenn ich in "Rechnungen" einen neuen DS in der Verknüpfungen "Kunden" über das Plus anlege und dieser bspw. die ID 100 dann hat, wird das auf Ebene der Tabelle "Rechnungen" nicht als Änderung wahrgenommen, sondern nur wenn ich in Verknüpfung "Kunden" einen bereits bestehenden Datensatz verknüpfe.

Auch alle folgenden Eintragungen im Kunden-DS ID 100 (bspw. Vor- und Nachname) sind ja Änderungen in der Tabelle "Kunden" und werden nicht als Änderung in der Rechnung wahrgenommen. Passt ja auch, es ist ja nur die ID verlinkt und die ändert sich ja nicht.

Am Ende muss also eine Änderung in "Kunden" Änderungen in der Tabelle "Rechnungen" auslösen.

Ach ja, ich spreche von der Webversion. Wäre ja nicht das erste Mal, wenn die unterschiedlichen Plattformen sich ungleich verhalten.

VG

Ninox Profile

Hallo Icarus,

 

ich meine Änderungen am Datensatz in der Tabelle 'Rechnungen'. Der Anwender wird doch im Workflow üblicherweise zuerst den Kunden auswählen (oder eben neu erstellen, wie von Dir problemursächlich beschrieben) und im Anschluss noch weitere Angaben (Kommission, Ansprechpartner, Bestell-Nr., Rechnungspositionen, usw.) tätigen. Wenn Du das von mir gepostete Skript in den Tabelleneigenschaften (NICHT den Feldeigenschaften der Verknüpfung!) unter "Nach Änderungen folgendes Skript durchführen:" unterbekommst, sollte spätestens nach der ersten weiteren Eingabe von Rechnungsdaten das Ergebnis sein, dass Ninox die Felder gemäß dem aktuellen Kunden-DS füllt.

 

Änderungen in der Tabelle 'Kunden' dürfen keine Änderungen in den Einträgen der Tabelle 'Rechnungen' auslösen, insofern ist der Ansatz sicher der falsche.

 

lg, Torsten

Antworten