0

automatischer Eintrag in Formular wenn "X" passiert

Hallo zusammen,

 

ich bin am Warenwirtschaftssystem am arbeiten und einstellen. Dort habe ich ein Formular erstellt wo ich Material über Personen entnehmen kann.

gleichzeitig wollte ich ein Formular erstellen womit ich eine Inventur durchführen kann. sprich ich zähle den Artikel und trage ihn im Inventurformular ein. dieser wert soll geprüft werden mit dem Lagerartikel und dann soll der inventur wert dort eingetragen sein.

dies möchte ich gern über die Entnahme seite machen über die person (Inventur). damit ich eine übersicht habe welche Artikel nicht korrekt waren.

 

wie führe ich es aus, das automatisch ein eintrag in dem entnahme Formulargetätigt wird.

danke :)

6 Antworten

null
    • anonyml
    • vor 3 Jahren
    • Gemeldet - anzeigen

    okay habe es dank dem Forum hinbekommen. mehrere seite und probieren haben geholfen :)

    aber eine sache da hänge ich noch.

    in dem skript unten habe ich das first(select Inventur...... stehen. dadurch nimmt er immer den ersten eintrag in der liste, aber er soll den aktuell angezeigten wert dort nehmen. wie bekomme ich das wohl hin?

    if '3_Artikel'.Lagerbestand != 'Berechnung 4' then
    let me := this;
    let Entnahme := (create Entnahme);
    Entnahme.(
    Menge := first(select Inventur).'Berechnung 4';
    Mitarbeiter := 2;
    '3_Artikel2' := first(select Inventur).'3_Artikel'
    )
    end

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

    Hm,

     

    ich kenne Dein Datenmodell nicht, aber würde mutmaßen:

     

    if '3_Artikel'.Lagerbestand != 'Berechnung 4' then
    let me := this;
    let Entnahme := (create Entnahme);
    Entnahme.(
    Menge := first(select Inventur).'Berechnung 4';
    Mitarbeiter := 2;
    '3_Artikel2' := me.'3_Artikel'
    )
    end

     

    lg, Torsten

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

    Örgs,  natürlich so:

     

    if '3_Artikel'.Lagerbestand != 'Berechnung 4' then
    let me := this;
    let Entnahme := (create Entnahme);
    Entnahme.(
    Menge := me.'Berechnung 4';
    Mitarbeiter := 2;
    '3_Artikel2' := me.'3_Artikel'
    )
    end

    • anonyml
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Leider geht das Programm nun immer in den Lademodus (drehendes Rad).

    Gibt es eventuell eine Auflistung wofür die Befehle stehen?

    Also dieses "first , me, usw". ich denke mir fehlt da einfach das verständnis, was diese dinge tun.

    (sorry bin leider kein Programmierer und versuche mich da grad ein wenig reinzu fuchsen)

    danke dennoch für die Hilfestellung hier

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

    Wie erwähnt kenne ich Dein Datenmodell nicht. Ich weiss also nicht, wo in Ninox Du Dich mit dem Skript befindest und auf welchen Datensatz aus welcher Tabelle Du Dich mit Deinem ursprünglichen "first(select Inventur).'3_Artikel'" beziehen willst.

     

    Die Anweisung "let me := this" setzt einen Zeiger auf den Datensatz in dem das Skript läuft. "first(select Inventur).'3_Artikel'" wählt das Feld '3_Artikel' aus dem ersten Datensatz aus der Tabelle 'Inventur', der Ninox unter die Finger kommt, im Idealfall, aber nicht zwingend, den ältesten.

     

    Unter https://ninox.com/de/manual/erweiterte-Berechnungen/die-programmiersprache-nx findest Du ein paar Infos zur Programmiersprache, aber um ein intensiveres Reinfuchsen wirst Du, gerade bei der Ambitiion "Warenwirtschaftssystem" nicht herum, wobei ich Dir eher zu tiefgreifender Unterstützung raten würde.

     

    lg, Torsten

    • anonyml
    • vor 3 Jahren
    • Gemeldet - anzeigen

    hey hey, es hat geklappt. erstmal besten Dank dafür.

    ich hatte das laden durch einen dummen Fehler verursacht indem ich keinen Mitarbeiter mehr auf Pos. 2 stehen hatte.

    ja werde mir das mit der Programmiersprache mal ansehen. 

    Bisher klappt es mit goggle und Co. recht gut. aber mal sehen was mich noch erwartet.

     

    vielen dank erstmal