0

Direkte Anzeige eines per Skript neu erstellten Eintrags in der gleichen Tabelle

Hallo zusammen!

Ich habe eine Tabelle "Artikel" mit diversen Untertabellen ("Bestellung", "Zugang", "Abgang"), welche mit Komposition zu "Artikel" verknüpft sind.

Die Anwender würden gerne die Möglichkeit haben, Einträge zu duplizieren - ganz einfach, weil es durchaus neue Einträge gibt, die bereits vorhandenen sehr ähneln. Wenn sie dies über die Systemfunktion "Duplizieren" erledigen, werden aber auch die mit dem Ursprungsartikel verknüpften Einträge der Untertabellen dupliziert (interessanterweise sind die neuen Einträge dort weiterhin mit dem Ursprungsartikel verknüpft).

Um auf die Komposition der Untertabellen nicht verzichten zu müssen, habe ich eine Befehlsschaltfläche "Artikel duplizieren" erstellt:

 

let myNr := Nr;
let myArtNr := 'Artikel-Nr.';
let myBez := Bezeichnung;
let myTyp := Typ;
let myMB := Mindestbestand;
let myLief := 'Standard-Lieferant';
let myLager := Lagerort;
let newB := (create Artikel);
newB.('Artikel-Nr.' := myArtNr);
newB.(Bezeichnung := myBez);
newB.(Typ := myTyp);
newB.(Mindestbestand := myMB);
newB.('Standard-Lieferant' := myLief);
newB.(Lagerort := myLager);
openRecord(record(Artikel,last(Nr)))

 

Das klappt soweit sehr gut, bis auf die letzte Zeile. Es wird ein neuer Artikel mit den gewünschten Daten aus dem Ursprungsartikel angelegt, lediglich das Springen zum neuen Eintrag misslingt. Es bleibt der Ursprungsartikel angezeigt. "popupRecord" funktioniert im Übrigen auch nicht, "openRecord" hat den kleinen Vorteil, dass die Tabelle neu sortiert wird und somit der neue Eintrag wenigstens direkt unterhalb des Ursprungs angezeigt wird.

Hat jemand eine Idee, wo sich da in meiner Funktion ein Denkfehler eingeschlichen hat?

 

lg, Torsten

4 Antworten

null
    • Torsten_Stang.1
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Boah ey,

    und wieder stolpere ich direkt nach dem Post im Forum über die Lösung - hätte zu Beginn schon hier posten sollen... :-)

    Für die Interessierten, so hab ich's gelöst:

     

    let NeuArtNr := max((select Artikel).number(Nr));
    openRecord(record(Artikel,NeuArtNr))

     

    lg, Torsten

    • Ninox Premiumpartner
    • Bastian_Vorholt
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Schau mal im Websumit nach die Datenbank 60 habe ich gerade hochgeladen, da ist deine Frage erklärt.

    • Torsten_Stang.1
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Danke, in der WebApp wird der neue Eintrag bei Deiner Lösung nicht geöffnet.

    So wie ich‘s jetzt habe schon…!?

     

    lg, Torsten 

    • Ninox Premiumpartner
    • Bastian_Vorholt
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Eigenartig bei der Client Ninox App funktioniert es, ich arbeite selten mit der Web app, muss ich nochmal schauen.

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 4Antworten
  • 2578Ansichten