0

Ändern der RE-Pos. innerhalb eines Angebotes

Hallo Forum,

ich bin ein absoluter Ninox Anfänger und habe absolut keine Erfahrung mit dem Schreiben von Codes.

Ich nutze die Warenwirtschafts Vorlage und konnnte diese auch relativ gut auf meine Bedürfnisse anpassen. Allerdings scheitere ich gerade an folgendem Punkt:

Beim Schreiben von Angeboten möchte ich Artikel teilweise verschieben. Also z.B. von Pos. 20 auf Pos.10. Dazu ändere ich entsprechend die RE-Pos. Nummer und der Artikel rutscht auch wie gewünscht auf die neue Pos. Leider ändern sich damit aber nicht die RE-Pos. Nummern der folgenden Artikel, mit der Folge, dass ich 2 x die RE-Pos. 10 habe. Momentan änder ich dann alle folgenden RE-Pos. Nummern manuell, was bei 60 Artikel ewig dauert... das kann ja bestimmt auch nicht die Lösung sein?!

Ich freue mich auf Eure Hilfe. Danke!

7 Antworten

null
    • Florian_Wisser
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo,

     

    also hättest Du gerne, dass sich wenn du in die z.B. 4. position die 1 rein schreibst die Position die aktuell die 1 ist auf 2 schiebt? Was soll die Funktion machen wenn du die Pos. 5 auf die 3 schiebst? Alle um eins nach hinten?

     

    lg Florian

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

    Hallo zusammen,

     

    zu dem Thema gab es schon einen Thread mit Lösung: https://ninox.com/de/forum/technische-hilfe-5ab8fe445fe2b42b7dd39ee8/automatisierte-reihenfolge-von-positions-nummern-5d06a25183905f02c7acced4

     

    Die verlinkte Demo-DB ist übrigens weiterhin verfügbar...

     

    lg, Torsten

    • berlin props
    • Tereza
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Erst einmal vielen Dank, Florian und Tortsen, für Eure Antworten... scheint doch komplizierter zu sein, als ich dachte. 😅 

    Ich habe gehofft man könnte einfach bei dem Feld RE-Pos. bei "Erweiterte Optionen" einen markigen Code eingeben und gut ist. 

    Folgendes zu Florians Nachfrage: Ja ich möchte einen Artikel, den ich z.B. weiter unten im Angebot habe oder später hinzugefüge z.B. an Pos. 4 stellen.

    Dazu schreibe ich die „4“ in das Feld RE-Pos. Der Artikel rutscht dann auch an die 4. Position. Das Problem ist nun aber, dass die Zahl der alten Pos. 4 nicht automatisch auf 5 springt (und alle Positionen danach entsprechend eins weiter...), sondern auf 4 bleibt und ich somit 2 x die Pos. 4 habe. 

    Ich habe nun Torstens Rat befolgt und mir den Thread dazu durchgelesen und mir auch die Positions-Nummern.ninox Datei heruntergeladen, weiß aber jetzt gar nicht, was ich damit anfangen soll. Wie importiere ich die Datei in das Programm und wie/ wo muss ich "Es" dann platzieren. Sorry, aber ich sagte ja, dass ich ein blutiger Anfänger und Programmier-Nerd bin 😬 

    LG & 🙏 Tereza

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

    Hallo Tereza,

     

    "Knackpunkt" der Lösung ist, dass sich ein automatisches Neusortieren der Positionsnummern nicht einfach nach Eingabe einer doppelten Positionsnummer lösen lässt. Vielmehr musst Du die im Thread erläuterten und in der Beispiel-DB eingebauten Befehlsschaltflächen für Position-auf und Position-ab einbauen und benutzen.

     

    lg, Torsten

    • UweG
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Tereza
    Schau dir mal die Datenbank 332_Sortierreihenfolge im Team 'Webinar DE 2020' an. In der Tabelle Ranking 2 gbt es 2 Lösungsvorschläge.

    • Florian_Wisser
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hi nochmal,

    oder Du nimmst Leos Lösung aus dem Link von Thorsten. 

    Wenn Du die Warenwirtschaftsvorlage nutzt und da nichts umbenannt hast dann erstellst Du unter Rechnungspositionen 2 Buttons. Der Erste heisst z.B.

    "Pos +1" und hat die Funktion:

    let my := this;
    let next := first(Rechnung.Rechnungspositionen['RE-Pos.' = my.'RE-Pos.' + 1]);
    my.('RE-Pos.' := my.'RE-Pos.' + 1);
    next.('RE-Pos.' := next.'RE-Pos.' - 1)

    der zweite heisst dann Pos -1  und hat die Funktion:

    let my := this;
    let myfor := first(Dokument.Position['RE-Pos.' = my.'RE-Pos.' - 1]);
    my.('RE-Pos.' := my.'RE-Pos.' - 1);
    myfor.('RE-Pos.' := myfor.'RE-Pos.' + 1)

     

    Statt dem Text Pos. +1 bzw. -1 kannst du auch z.B. wie Leo es gemacht hat  Emojis ⬇️ oder 
    ⬆️ nutzen

     

    lg Florian

    • berlin props
    • Tereza
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Oh wie toll, es hat geklappt! 😃

    Vielen Dank Florian für die idiotensichere Anweisung ☺️... Ich musste in den 2. Code (Pfeil hoch) allerdings statt "Dokument.Position" auch "Rechnung.Rechnungspositionen" eingeben, aber das war wahrscheinlich noch ein Überbleibsel aus dem Code von Torsten, bzw. Leo. 

    Jetzt funktioniert das Verschieben prima und ich bin überglücklich! 😃

    Vielen Dank Euch allen - auch Dir lieber Uwe... Deinen Tipp schaue ich mir auch noch an! 

    LG & noch einen schönen Tag im Homeoffice... 😉

    Tereza

Content aside

  • vor 3 JahrenZuletzt aktiv
  • 7Antworten
  • 480Ansichten