0

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

null
    • Ninox-Professional
    • planoxpro
    • vor 6 Monaten
    • Gemeldet - anzeigen

    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.

      • Christian.12
      • vor 6 Monaten
      • Gemeldet - anzeigen

       Nabemd :) 
      '
      ich habe gerade mal hin und her versucht mit einem Button , mit aktion bei klick..

      let newRec := duplicate(this);
      newRec.('Laufende Nummer Auftrag' := max((select Auftragserfassung where year(Datum) = year(today())).'Laufende Nummer Auftrag') +
          1);
      Datum := today();
      Auftragstatus := null;
      'Auftragserfassung Kunden  Ladereferenz Spedituer' := null;
      'Auftragserfassung Kunden Ref. Abrechnung' := null;
      Lademeter := null;
      'Anzahl Pal / Colli' := null;
      Gewicht := null;
      'Auftragserfassung Spedituer - Eingabeauswahl' := null;
         );
      openRecord(newRec)

       

      wenn ich das skript  so eingebe habe ich eine Fehler Meldung " ende erwartet " und ich kann nicht speichern... 

       

      Wenn ich    ); weg lasse , klappt es irgendwie anders herum ... er löscht die Daten  aus dem aktuellen Datensatz und speichert im neuen die alten Daten.. 🙈 

      ich habe bestimmt ne klammer falsch gesetzt oder!?   Danke .. 

      • Ninox-Professional
      • planoxpro
      • vor 6 Monaten
      • Gemeldet - anzeigen

       Bei soviel Geklammer kann man schon mal den Überblick verlieren ... Entferne mal die schließende Klammer in der max()-Zeile ganz am Ende, nach dem "+ 1" , vor dem Semikolon.

      • Christian.12
      • vor 6 Monaten
      • Gemeldet - anzeigen

       stark,  läuft super 👌🏽  Danke 

    • Christian.12
    • vor 6 Monaten
    • Gemeldet - anzeigen

    Herzlichen Dank , setze mich nachher direkt mal ran...  👌🏽

Content aside

  • Status Answered
  • vor 6 MonatenZuletzt aktiv
  • 5Antworten
  • 56Ansichten
  • 2 Folge bereits