Datensatz Kopieren + Fortlaufende Nummer
Moin liebe community,
ich habe bei meinen Aufträgen eine Forlaufende erstellt nach der Anleitung von NInox
Laufende Nummern - NINOX TUTORIAL ( https://www.youtube.com/watch?v=KCHgK0OkwMI )
Das klappt super, jetzt möchte ich aber gerne übner über einen Button den Datensatz , Kopieren und 90% der Ausgefüllten Daten übernehmen und dei restlichen 10% neu Eingeben im Anschluss...
Das Problem ist das die Forlaufende / Auftragsnummer mit Kopier und ich Sie nicht mehr aböndern kann :(
Kann ich das irgendwas machen ?? Hast jeman einen Idee vielleicht!?!?!
Hier der Aufbau:
'Laufende Nummer Auftrag' := max((select Auftragserfassung where year(Datum) = year(today())).'Laufende Nummer Auftrag') +
1;
'Jahr Auftrag' := year(today())
Toll wäre ja wenn das ganz über den Copy Button in der Navigation klappt...
Allesdinges glaube ich nicht, das man das bestimmen kann , das nur 90% Kopiert werden oder!?
Felder im Neuen Datensatz / Neuer Auftrag wie Datum, Uhrzeiten , Menge etc. sollen als Leere Pflichtfelder nach dem Kopieren erscheinen..
Deshalb denke ich es muss ein Button sein, wo ich bestimme kann welche Felder Kopiert werden sollen und welchen nicht..
Nur wie kriege es hin , das die Auftragsnummer sich auch erneuert
Danke im Voraus
5 Antworten
-
Hallo Christian, beim Duplizieren von Datensätzen werden alle Daten in den neuen Datensatz übernommen, auch die Laufende Nummer. Dadurch würden alle Werte, die ggf. im create-Trigger gesetzt wurden, überschrieben.
Ich würde das mit einem Button machen. Da gibt es zwei Möglichkeiten: Den Datensatz per duplicate mit allen Feldern duplizieren und dann die Werte ändern, die man nicht übernehmen wollte. Oder mit create einen neuen, leeren Datensatz erzeugen und nur die gewünschten Felder mit Werten füllen. So oder so kann man dabei dann auch die Laufende Nummer neu generieren.
Da du 90 Prozent der Daten übernehmen willst, hätte die duplicate-Variante den Vorteil, dass sie schlichtweg weniger Tipparbeit bedeutet:
let newRec := duplicate(this); newRec.( ‘laufende Nummer Auftrag' := max((select Auftragserfassung where year(Datum) = year(today())).'Laufende Nummer Auftrag') + 1); Datum := today(); Auftragsart := null; ... (hier ggf. weitere Felder angeben) ); openRecord(newRec)
In diesem Beispiel würde die Nummer neu generiert, das Datum auf den heutigen Tag gesetzt und das Feld Auftragsart geleert. Das müsstest du deinem Bedarf anpassen.
-
Herzlichen Dank , setze mich nachher direkt mal ran...
Content aside
- Status Answered
- vor 6 MonatenZuletzt aktiv
- 5Antworten
- 56Ansichten
-
2
Folge bereits