1

Schnelle Auswahl von Artikeln in der Positionstabelle

Hallo lieber Schwarm, ich komme vom Filemaker und bin gerade dabei die alten Zöpfe abzuschneiden :-)

Ninox Gefällt mir bisher sehr gut :-)) Sehr modern und übersichtlich beim Programmieren.

Ein paar Kleinigkeiten stören mich aber, bzw. mache ich sicherlich was falsch.

Bei der Auswahl der Artikel ist mir der Weg von 1+2+3 (Siehe Bilder) zu lang. Kann man das abkürzen. Das liebste wäre  mir Bild 1, Datensatz hinzufügen, dann kommt eine Liste wie auf Bild 3 wo ich dort mit einer Mehrfachauswahl meine Positionen zb.10 Stk. auswählen kann.

Weiters schaffe ich es nicht die Sortierung der PositionsListe (Bild3) beim Aufpopen dauerhaft umzusortieren. es kommt jedesmal die Sortierung der interne id, ich möchte aber meine ID mit den häufigsten Produkten ID 1-9 haben. Ich hoffe das war nicht zu kompliziert :-)

Für eine Starthilfe wäre ich sehr dankbar.

Gerne stelle ich auch meine Programmierung zur Verfügung.

lg rainer  

15 Antworten

null
    • T_Bartzsch
    • vor 11 Monaten
    • Gemeldet - anzeigen

    Hallo Rainer und herzlich willkommen... 

    du füllst ja mit dem Button "+ Datensatz erstellen" im Prinzip nur eine Untertabelle (Positionen Artikel) mit Einträgen, von denen jeder Einzelne einen Verweis auf einen bestimmten Artikel hat, mit zusätzlichen Angaben wie zB. Menge.  Durch diese Zusatzangaben macht dieser Schritt 2 natürlich Sinn. Es gibt aber mehrere Möglichkeiten diese Untertabelle auch anders zu befüllen... am Ende geht es immer um das Zuweisen von Datensatz-IDs (Nr). Sobald Du einen Artikel im Schritt 2 ausgewählt hast, hat das Verknüpfungsfeld "Artikel" in deinem Schritt 2 die ID des ausgewählten Artikels - gleichzeitig wirst Du im Artikel eine Rückverknüpfung auf die Untertabelle "Positionen Angebot" finden, mit mehreren IDs (da der Artikel ja in mehreren Angebotspositionen vorkommen kann). 

    Wenn Du links den kleinen Pfeil bei Angebote öffnest, findest Du dort die Untertabelle "Positionen Angebot" - dort wirst Du das gleiche Prozedere erkennen... die einzelnen Datensätze der Positionen haben alle eine Verknüpfung "Angebot" auf die ID des Angebots, deren Inhalt sie sind.

    Sobald Du die "No-Code" Ebene verlässt und dich an etwas Programmieren traust, kann man das zuweisen von Verknüpfungs-IDs auch anders lösen. Einen Button im Schritt 2 mit dem Script

    Menge := 10;
    Artikel := 7

    Würde das Zahlenfeld Menge mit 10 und die Verknüpfung auf den Artikel mit der Nr 7 "Musiktitel in einzelne Tracks schneiden" befüllen...

    Du könntest dem Feld Menge auch einen Standardwert von 1 geben, dann musst du im Schritt 2 immer nur einen Artikel wählen.

    Zu deiner Frage bei Schritt 3, Sortierung.

    Geh im Schritt 2, im Editiermodus (roter Schraubenschlüssel) auf das Verknüpfungsfeld Artikel, dort auf "Anzuzeigende Spalten festlegen" ... da kannst Du dir zum Einen die Spalten in die Ansicht holen welche Du sehen willst und zum Anderen auch entscheiden, welche Spalte wie sortiert werden soll...

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

    Hallo Rainer, der Hinweis von  auf die Aktivierung des Schraubenschlüssels ist wichtig, da solche Änderungen (z. B. der Sortierung) nur im Administratormodus dauerhaft gespeichert werden und dann für alle Benutzer gelten. Im normalen Benutzermodus gelten die Änderungen nur temporär für den jeweiligen Benutzer.

    Grundsätzlich: Bei 'Angeboten' und 'Artikeln' handelt es sich um eine so genannte N:M-Verknüpfung. Das heißt, ein Angebot kann mehrere Artikel enthalten, ein Artikel kann aber auch in mehreren Angebote vorkommen. Die 'Positionen' fungieren dabei als Verbindungstabelle. Anders lassen sich N:M-Verknüpfungen technisch nicht umsetzen.

    In der Regel ist dieser Zwischenschritt kein Problem, weil man in der Position auch noch weitere Informationen erfassen bzw. anpassen kann. Neben der Menge vielleicht auch noch einen Rabatt, eine Lieferbedingung, ein für dieses Angebot geänderter Preis oder eine individuell angepasste Leistungsbeschreibung.

    Prinzipiell wäre es aber durchaus machbar, im Angebot direkt einen Artikel auszuwählen, die dazugehörige Menge anzugeben und mit diesen Informationen einen neuen Datensatz in 'Positionen' anzulegen. Mit temporären Feldern für Artikel-Verknüpfung und Menge sowie einem Button, der daraus die Position erstellt.

    Zur Veranschaulichung habe ich mal eine kleine Beispiel-DB gebaut (siehe Dateianhang). Vielleicht hilft sie weiter.

    PS: Ach ja, zum Thema Verknüpfungen gibt es einen Thread mit Links zu Lernressourcen:
    https://forum.ninox.de/t/p8h0t0r/einsteiger-tutorial-zu-verknupfungen-in-ninox

    • Kruna
    • vor 11 Monaten
    • Gemeldet - anzeigen

    Hallo Rainer,

    Ich habe eine ähnliche Situation in meiner DB im Einsatz. Hierzu hatte ich tolle Hilfe hier im Forum und möchte das gerne teilen.

    Man kann 'schnelle Auswahl' auch mittels eines dynamischen Mehrfachauswahlfeldes erreichen.

    - ich habe mir erlaubt, dies in Deiner Beispieldatenbank aufzuzeigen.

    Die Menge lässt sich direkt in der Untertabelle Angebotspositionen eingeben

    Gruß

    Kruna

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

       Ja, dynamische Auswahlfelder sind prinzipiell natürlich eine Option. Ich nutze sie selber oft und gerne. Hier habe ich den Gedanken daran aber gleich wieder verworfen, weil die Artikeltabelle im Screenshot 191 Datensätze enthält, und die würden sich in einem dynamischen Auswahlfeld gar nicht darstellen lassen (ich glaube, maximal 130 oder so). Man müsste die Menge also zuvor noch über eine Kategorie o. ä. filtern. Deshalb erschien mir der Weg über die Verknüpfung in diesem Fall sinnvoller (und natürlich sowieso übersichtlicher als eine Combobox mit zig Einträgen).

      • Kruna
      • vor 11 Monaten
      • Gemeldet - anzeigen

      planox. prooh, ich wusste nicht, dass das auf 130 Datensätze limitiert ist. Aber auch hier wieder etwas dazugelernt, so dass ich ich Zukunft darauf achten werde. ;-)

      ps. Ich habe es gerade mal versucht, da ich in einer Tabelle über 300 Datensätze habe. Ich habe auf 'alle' geklickt und es wurden alle DAtensätze angezeigt bzw bin ich die mal durchgegangen, alle werden angezeigt oder habe ich da etwas missverstanden?

      Gruß Kruna

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

       300 Einträge als Liste in einem dynamischen Auswahlfeld? Im Ernst? Das wäre mir neu. Allerdings habe ich das auch noch nie probiert, weil ich Comboboxen schon ab 25 Einträgen sehr unübersichtlich finde. Ist aber natürlich eine Geschmackfrage.

      • Kruna
      • vor 11 Monaten
      • Gemeldet - anzeigen

      ja, in der Tat. Ich habe es gleich ausprobiert, als Du die Begrenzung von 130 erwähnt hast, da mir das bisher nicht bekannt war und es ein Problem für mich gewesen wäre, wenn nicht alle Datensätze angezeigt werden.

      Bei mir funktioniert/passt es insofern, dass ich es nach dem ABC oder zB Stadt oder Datum sortiere und als ComboBox schnell dahin scrollen kann.

    • Rafael_Sanchis
    • vor 11 Monaten
    • Gemeldet - anzeigen

    Is there a way to enter the MENGE without entering it directly on subtable ?

      • Kruna
      • vor 11 Monaten
      • Gemeldet - anzeigen

      Rafael Sanchisyes, you would need to doubleclick on that field.

      PS, sorry misunderstood your post at first read, but also yes. You would need to click on the respective line and the record will open.

      • Rafael_Sanchis
      • vor 11 Monaten
      • Gemeldet - anzeigen

        ok 👍

    • filmueberspielung
    • vor 11 Monaten
    • Gemeldet - anzeigen

    Viele lieben Danke für die rasche Hilfe, ich bin schon dabei die Lösung von Plano.pro bei mir einzubauen. Das Script des Button an meine  Programmierung  anzupassen ist gar nicht so leicht. Wie gesagt ist erst der zweite Tag mit Ninox. lg Rainer 

    • filmueberspielung
    • vor 11 Monaten
    • Gemeldet - anzeigen

    Danke auch an " Bartzsch"  Muss aber leider gestehen das mir die Antwort zu hoch ist :-(

    Dazu verstehe ich von Ninox und seinen Möglichkeiten zu wenig. Danke 

    • filmueberspielung
    • vor 11 Monaten
    • Gemeldet - anzeigen

    So ich glaub ich habs, hier stelle ich meine Lösung gerne zur Verfügung.

    Und da tun sich schon die nächsten Fragen auf!

    Geht sowas? 

    Meine Anfragen kommen so per Mail:

    Name: Peter Mustermann

    Email: peter.mustermann@mail.at

    Telefon: +43664111111 Stück: 1

    Auf: USB Stick HQ MPEG2

    Vhs: true

    Video8: false Versand: Ich versende meine Videokassetten mit der Post

    Ich möchte den Text in ein Mehrfachzeilen Feld kopieren. Dieses soll die einzelnen Parameter Automatisch aufteilen und ins richtige Feld schieben.

    Z.B  Name: Peter Mustermann ins Feld  Barkunde:  Peter Mustermann usw.

    Das wäre ja Grenzgenial :-)

    Hier meinen Datei  kann gerne verwendet werden, sofern die Programmierung nicht zu stümperhaft ist :-)

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

       Wenn der Aufbau immer exakt derselbe ist und keine Leerzeilen dazwischen sind, könnte man per Button ein Array erzeugen und die Einträge der Reihenfolge nach den Feldern zuordnen:

      let myI := split(Mailtext, "
      ");
      Barkunde := trim(last(split(item(myI, 0), ":")));
      Email := trim(last(split(item(myI, 1), ":")));
      Telefon := trim(last(split(item(myI, 2), ":")));
      usw.
      

      Wobei 'Mailtext' stellvertretend für den tatsächlichen Namen des mehrzeiligen Feldes steht.

    • filmueberspielung
    • vor 11 Monaten
    • Gemeldet - anzeigen

    Danke vielmals, ist schon eingebaut und funktioniert :-)

    kann man so auch die  Angebots Positionsliste  automatisch befüllen lassen. lg rainer

Content aside

  • 1 „Gefällt mir“ Klicks
  • vor 11 MonatenZuletzt aktiv
  • 15Antworten
  • 149Ansichten
  • 5 Folge bereits