0

Position von Untertabelle in Untertabelle Kopieren

Hallo zusammen,

ich möchte Positionen einer Untertabelle in eine andere Untertabelle Kopieren, welche einer anderen Tabelle zugeordnet ist. Etwas konkreter: in der Tabelle "Projekte" stelle ich in der Untertabelle "Komponenten" die benötigten Komponenten wie eine Stückliste zusammen. Um Offerten zu erstellen / verwalten, habe ich eine weitere Tabelle "Offerten" erstellt, welche wiederum die Untertabelle "Offertpositionen" enthält. Nun möchte ich für eine Offerterstellung (für ein spezifisches Projekt) die Komponenten in die Offerte kriegen, weshalb ich die Verknüpfen möchte. Am liebsten wäre mir eine Kopie der Komponenten, damit die Offertpositionen auch nach dem Verändern des Projektes sich nicht mehr ändern. Eine weitere Hürde stellt dann noch die manuelle Anpassung dar, da ich noch "freihändig" Offertpositionen anfügen möchte...

ich selber komme hier nicht mehr weiter und benötige Eure Hilfe! Bin noch relativ neu bei Ninox und daher ziemlich am Anschlag... Vielen Dank vorab, Adrian

7 Antworten

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

    Hallo Adrian,

     

    Du könntest im Projekt eine Befehlsschaltfläche 'neue Offerte' erstellen. Dieser gibst Du ein Skript in der Form:

     

    let my := this;
    let newOfferte := (create 'Offerten');
    newOfferte.('Projekt' := my);
    for i in 'Komponenten' do
       let myFeld1 := i.'Feld1';
       let myFeld2 := i.'Feld2';
       let myPos := (create 'Offertpositionen');
       myPos.('Offerten' := newOfferte);
       myPos.('Feld1' := myFeld1);
       myPos.('Feld2' := myFeld2);
    end;
    popupRecord(newOfferte)

     

    'Feld1' und 'Feld2' sind beispielhaft aufgeführt und in die entsprechenden Feldnamen in den Tabellen 'Komponenten' und 'Offertpositionen' anzupassen und ggfl. fortzuführen.

     

    lg, Torsten

    • Adrian_Ambord
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Torsten. Vielen herzlichen Dank für Deine Hilfe. Der Code schaut für mich logisch aus, gibt mir allerdings noch einen Fehler raus —> „Eine Taberllenspalte wurde nicht gefunden: Offerten in Zeile xy“. Kann das was mit der Verknüpfung zu tun haben? Habe nur eine Verknüpfung von „Offerten“ zu „Projekte“... Adrian

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

    Hallo Adrian,

     

    und die Offertpositionen sind nicht mit der Offerte verknüpft? Ohne genaueres Datenmodell ist es natürlich schwer, einen validen Code auszuspucken... ;-)

     

    lg, Torsten

    • Adrian_Ambord
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Torsten. Das versteh ich gut...

    Komponenten ist eine Untertabelle von Projekte. Offertpositionen ist eine Untertabelle von Offerten. Momentan existiert nur die Verknüpfung Offerten —> Projekte

    • Adrian_Ambord
    • vor 5 Jahren
    • Gemeldet - anzeigen

    ach ja: hier tritt der Fehler auf -> myPos.(Offerten := newOfferte);

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

    Hallo Adrian,

     

    schau bitte in der Tabelle 'Offertpositionen' wie dort die Verknüpfung zur Tabelle 'Offerten' heisst - die Zeile sollte dann lauten

     

    myPos.(<Name der Verknüpfung zu 'Offerten'> := newOfferte);

     

    lg, Torsten

    • Adrian_Ambord
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Lieber Torsten. Vielen Dank für Deine Hilfe! Prinzipiell funktionierts jetzt, muss noch etwas an den Details kämpfen... Du hast mir echt weitergeholfen. Danke Dir und liebe Grüsse, Adrian