Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2024 item input below item list #408

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

sschoeling
Copy link
Member

@sschoeling sschoeling commented Nov 20, 2024

Dieser PR enthält 3 Features im Auftrag von Jan.

Ziel ist, dass Benutzer die die alte Auftragsmaske gewohnt sind sich ein wenig Look&Feel davon zurückkonfigurieren können.

  1. In der Auftragsmaske kann die Artikeleingabe jetzt unter die Positionen konfiguriert werden. Das interne flag dazu heisst "order_item_input_position", und ist sowohl in der Mandantenkonfig (unter Features -> Einkauf & Verkauf) als auch in den Benutzereinstellungen (Anzeigeoptionen) zu finden. Benutzereinstellungen überlagern Mandantenkonfiguration. Ich habe die Benutzerkofiguration mit Bernds SL::UserPreferences::* gemacht, schau bitte mal ob das so okay ist Bernd.

  2. Um die Eingabe flüssiger zu machen, ist das Scrollverhalten in der Auftragsmaske jetzt leicht anders: Wenn der Scrollbereich für die Positionen ausgestellt ist (Benutzereinstellungen -> Prozentuale Höhe der Positionen = 0) und die Artikeleingabe unter den Positionen gerendert wird, und die Seite groß genug wird, dass es Scrollbars gibt, scrollt die Eingabe so, dass die vertikale Position der Artikeleingabe konstant bleibt - die Seite rutscht also nach oben.

  3. Weil die Artikeleingabe durch diese Änderungen sehr weit unten auf der Seite ist, habe ich dem Part Picker Verhalten gegeben, dass das autocomplete Menü über der Eingabe gerendert wird wenn unter dem input nicht genug Platz ist, aber über dem input genug Platz ist. Die Positionierung ist sticky, wird also nur neu entschieden, wenn das autocomplete zu und neu aufgemacht wird, nicht beim neudimensionieren wenn sich durch Eingabe die Auswahl ändert.

Option ist in der Mandatenkonfiguration unter Features -> Einkauf &
Verkauf -> Position der Artikeleingabe in Aufträgen und Angeboten
…e ohne Scrollbereich

Wenn die Artikeleingabe unten gerendert wird, und die Positionsliste
nicht begrenzt ist, gilt jetzt folgendes Verhalten:

Wenn nach dem Einfügen der neuen Zeile die Seite scrollbar ist, und
durch scrollen die Eingabeleite auf konstanter Höhe gehalten werden
kann, dann wird so gescrollt.
@rebootl
Copy link
Member

rebootl commented Dec 5, 2024

Hi

Hier ist mir aufgefallen, dass noch die Template Anpassungen fürs neue Design 4.0 fehlen. templates/design40_webpages/

Zur zeit erstellen wir ja jeweils noch beide Varianten. Vielleicht in der nächsten Version (falls 4.0) dann nur noch die neuen.
Denke diese müssten noch ergänzt werden.

LG
Cem

Im Gegensatz zum alten template Satz ist hier die Artikeleingabe nicht
im scrollbaren Bereich enthalten, weil der sowieso schon recht klein
ist.
@sschoeling
Copy link
Member Author

Hier ist mir aufgefallen, dass noch die Template Anpassungen fürs neue Design 4.0 fehlen. templates/design40_webpages/

Zur zeit erstellen wir ja jeweils noch beide Varianten. Vielleicht in der nächsten Version (falls 4.0) dann nur noch die neuen. Denke diese müssten noch ergänzt werden.

Moin Cem,

ist korrekt, ist jetzt nachgepflegt.

Das Verhalten ist hier jetzt aber ein wenig anders. Da im design4.0 der Scrollbereich sowieso sehr klein ist, habe ich die Artikeleingabe darunter außerhalb der Itemliste gepackt. Teste mal bitte ob sich das so flüssig anfühlt.

@sschoeling sschoeling requested a review from rebootl January 24, 2025 14:32
@rebootl
Copy link
Member

rebootl commented Jan 27, 2025

Ja sieht gut aus von mir aus. 👍 Vielleicht am besten noch mit den Partnern besprechen die sich das Feature gewünscht haben. Vielleicht am nächsten Partnern Treff zum Beispiel.
LG
Cem

@jbueren
Copy link
Contributor

jbueren commented Feb 17, 2025

Das passt soweit und tut.
Eine Überlegung die noch in der Montagsrunde aufgekommen ist, kann man die Eingabe ggf. doch direkt in der Positionstabelle anzeigen lassen, also nach letzter Position und vor der Zwischensumme? Ggf auch schon mit Pos.(nummer) + 1 im Positionsfeld des Artikelpickers vorbelegt?

@sschoeling
Copy link
Member Author

kann man die Eingabe ggf. doch direkt in der Positionstabelle anzeigen lassen

Hmm, kurz reingeschaut, dafür müsste man ein neues Template anlegen, die aktuelle Zeile hat ein etwas anderes Layout. Müsste ich mit rumspielen und schauen wie sich das anfühlt. Willst Du das noch in diesem PR haben, oder erstmal mergen und dann bauen?

@nx78
Copy link
Contributor

nx78 commented Feb 19, 2025

Hi Sven,

..
Hmm, kurz reingeschaut, dafür müsste man ein neues Template anlegen, die aktuelle Zeile hat ein etwas anderes Layout. Müsste ich mit rumspielen und schauen wie sich das anfühlt. Willst Du das noch in diesem PR haben, oder erstmal mergen und dann bauen?

Mir waere es wichtig die Eingabe zum Release hin "als unterste Artikelzeile" noch vor den Summen usw hinzubekommen, das vorher zu mergen birgt immer etwas die Gefahr, dass es danach lange nicht mehr angefasst wird. Hast du eine zeitliche Einschaetzung bis wann du dir das nochmals ansehen koenntest?

Zum Background:
Der Grund des Auftrags war/ist, dass viele unserer Kunden mit dem neuen Auftragscontroller "fremdeln" und die Positionierung des neuen Controllers oberhalb der Artikelliste sowohl gewohnte Bedienung als auch Ergononomie bricht, zumindest je nachdem was man mit dem System tut bzw tun will. Das stellte uns ein wenig vor die Frage auf ewig auf Version 3.9.0 (wo der alte Controller noch funktioniert) zu bleiben und evtl eher in Richtung odyn oder eines echten Forks zu schauen und das Projekt im Grunde zu verlassen, oder eine Verbesserung des aktuellen Zustands aus unserer Sicht zu beauftragen. Die letzten sechs oder acht Jahre haben wir den neuen Controller immer und ueberall wegen des negativen Feedbacks abgeschaltet, niemand bei uns verwendet ihn, bislang hat jeder Kunde bei der Wahl immer den alten bevorzugt, sei es aus Gewohnheit oder der Einfachheit wegen. Entsprechend ist der neue Controller bei den Kunden (und uns selber) auch schon in seiner jetzigen Form negativ vorbelastet und wir muessen schauen, wie wir ihn jetzt bei den Kunden unterschummeln und schmackhaft machen koennen. Uns ist klar, dass der neue Controller technisch ueberlegen und die viel modernere Loesung ist, der Hase liegt eher bei Design und Usability im Pfeffer.
"In je vielen Belegen grosse Artikelmengen runtertippen" war (soweit ich verstanden habe) der Vater des Gedanken beim neuen Controller, aber viele User haben eine begrenzte Anzahl von Positionen die sie je nach Eingabe noch editieren (weitere Angaben, Seriennummern, Beschreibungstexte etc) und die sind im neuen Controller stets am scrollen und suchen.

Der Wunsch unsererseits waere es das Verhalten des neuen Controllers (zumindest konfigurierbar) an dem alten Controller auszurichten (vermutlich wird noch mehr Arbeit innerhalb der Bedienung des neuen Controllers spaeter notwendig, auch hier wieder Ergonomie der Eingabe).

  1. Eingabe unter statt ueber den Artikelpositionen (konfigurierbar) moeglich
  2. Eingabe an der "letzten/leeren" Positionsstelle, an der der Artikel dann auch nach erfolgreicher Eingabe steht und somit fuer den Anwender nachvollziehbar direkt wiederfindbar ist
  3. Nach Eingabe von z.B. Artikel Nummer acht in dem Beleg automatischer Sprung an die dann neu erscheinende Artikelzeile neun (Thema spaeter irgendwann, das Eingabefeld des neuen Controllers so nahtlos zu gestalten, dass es sich nicht mehr so wesentlich von einer existierenden Positionszeile abhebt)
  4. All diese Sachen dann einheitlich, sprich vom Angebot bis zur Rechnung/Gutschrift/Reklamation in nicht mehr von einander abweichenden Layouts zu haben die dann wieder zueinander und untereinander stimmig sind.

@sschoeling
Copy link
Member Author

Das sind einige Infos die ich leider nicht initial mitgekriegt hatte. Kurze Einschätzung zu Deinen Punkten:

  • Die Eingabezeile in der Tabelle am Ende anzeigen ist sicherlich machbar, das ist nur etwas Arbeit.
  • Elemente an einer beliebigen Stelle einfügen sollte auch jetzt schon gehen wenn man die Position angibt
  • Nach dem Eingeben an diese Position springen ist nicht vorgesehen
  • Nach dem Eingeben die Eingabezeile mitten in der Tabelle rendern ist auch nicht vorgesehen

Ich persönlich habe das inline-scrollen auch immer sofort ausgestellt (das kann man ja wegkonfigurieren: Benutzereinstellungen -> Anzeige -> Prozentuale Höhe des Scrollbereichs = 0), auf meinem Monitor reicht das dann für 12 Positionen + Eingabezeile, wenn die darüber gerendert wird (und ich hab es auf 120% stehen).

Wenn es mehr werden: einer der Punkte für das neue Design war ja, dass die Maske bei 100+ Positionen zu langsam wird, weil all die interaktiven Elemente immer neu aufgebaut werden müssen bei jedem reload. Da ist also nicht nur das runtertippen, sondern auch Bearbeiten von Zeilen eigentlich schneller als vorher.

Aber: ich muss damit auch nicht jeden Tag arbeiten.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants