Zum Inhalt springen

Minimal-/Maximalwert von eingegebenen Zeiten innerhalb einer Wiederholungsgruppe


Tim Bindewald

Empfohlene Beiträge

Hallo zusammen,

die Erfassung von Montagezeiten in unserer Produktion läuft seit einigen Monaten zum Teil über smapOne. Nach und nach fallen im Tagesbetrieb immer mal wieder kleinere Erfassungsfehler auf, welche wir gerne direkt in der smap abfangen möchten, um manuelle Korrekturen zu minimieren. An folgendem Fall beiße ich mir gerade die Zähne aus:

Ein Monteur kann immer nur an einem Produktionsauftrag gleichzeitig arbeiten. Diese Logik möchte ich gerne als kleine Plausibilitätsprüfung einbauen. Ich habe ein Zeitauswahlfeld (Startzeit) und ein Zeitauswahlfeld (Endzeit). Beide Felder nehmen nur die Uhrzeit auf, das Datum wird im Kopf einmalig separat erfasst.
Die Startzeit innerhalb eines Datensatzes der Wiederholungsgruppe sollte also nicht vor der Endzeit des vorherigen Datensatzes liegen. Verschiedene Datensätze innerhalb einer Wiederholungsgruppe miteinander zu vergleichen ist wahrscheinlich nicht möglich, daher war mein Gedanke, dass ich die summierte Gesamtmontagezeit des Tages auf den Minimalwert der Startzeit aus der Wiederholungsgruppe addiere, mit der maximalen Endzeit vergleiche und bei Fehler das Absenden des Formulars verhindere. (Die Lösung ist natürlich nicht ganz so sauber, aber immerhin fangen wir damit einen Großteil ab). 

MIN() funktioniert aber nur mit dem Datentyp Zeitraum und ich habe Zeitpunkte als Werte. Bei der Umwandlung der Zeitpunkte in einen Zeitraum verzweifle ich. Habe ich einen Denkfehler? Habt ihr Ideen, vielleicht auch alternative Lösungsvorschläge? 

 

Hier nochmal ein minimalistischer Nachbau der Smap, zum besseren Verständnis:

image.png.c2d909f3f524087f13cea1decebae63e.png

 

Danke vorab an alle, die sich bemühen, meine Gehirnwindungen nachzuvollziehen.

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Geschrieben (bearbeitet)

Hey @Manuel Rühl, danke für die Antwort.  Guter Gedanke, aber leider funktioniert das auch nicht ohne Weiteres:

"SUB_DATE" enthält inkompatible Operanden.

weil DateTime_3 nur das Datum und DateTime nur die Uhrzeit erfasst (diese Einstellung hier:)

image.png.64d4d1a4f7ba5beceabe8e891e58b773.png

Wenn ich diese Einstellung bei DateTime_3 auf Datum und Uhrzeit stelle, verschwindet der Fehler, allerdings wird dann zur Berechnung die dort ausgewählte Uhrzeit gezogen, was wiederum zu Differenzen führen wird. Außerdem... finde ich das in der Eingabe für die Monteure nicht schön! 🙂

Bearbeitet von Tim Bindewald
  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo @Tim Bindewald,

so müsste zumindest SUBDATE() funktionieren und den entsprechenden Zeitraum berechnen.
Start- und Endzeit sind auf "Uhrzeit" eingestellt.

Allerdings wird die Plausibilitätsprüfung leider ohne Weiteres nicht funktionieren. Leider passen die Datentypen untereinander nicht ganz.
Man müsste vermutlich die Startzeiten und Endzeiten in den jeweiligen Abschnitten "zerpflücken" und die Werte miteinander vergleichen.

Andere Idee wäre ein Tageslimit für die Montagezeit zu definieren. Man summiert in allen Abschnitten die Zeiträume zusammen und vergleicht es mit dem Tageslimit. Wäre das realistisch?

image.thumb.png.1609b18e3cb78090bb9f83a6bb3299ef.png

  • Like 4
Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin! Danke auch dir @Bülent Erbas für die Antwort.

Fürs Erste werde ich jetzt doch die Kröte schlucken und die Start- und Endzeiten als Datum und Zeit (statt nur Zeit) erfassen. Bedeutet für den Monteur pro Arbeitsgang zwei Klicks mehr und bedeutet damit dann auch einen traurigen Tim 🥺

Damit kann ich dann allerdings über SUB_DATE() einen Zeitraum ermitteln und danach über MIN() / MAX() die minimale Startzeit und die maximale Endzeit aus der Wiederholungsgruppe ermitteln. Danach kommt dann die Plausibilitätsprüfung, die die Minimalzeit zur summierten Montagezeit addiert und mit der Maximalzeit vergleicht. Falls (Minimalzeit+Montagezeit >= Maximalzeit) wird dann das Abschicken des Datensatzes verhindert

image.thumb.png.92908b86726fbac75ea5cf74482f87c3.png

 

Wenn jemand eine Lösung hat, wie ich einen Zeitpunkt mit nur Uhrzeit -ohne Datum- in einen Zeitraum umwandeln kann - her damit! Bis dahin bleibe ich der traurige Tim. 🙂

  • Like 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 1 Minute schrieb Michael Prem:

Hallo @Tim Bindewald, habt ihr schon mal darüber nachgedacht, ob es möglich ist , die Start- und Endzeit, statt einer Auswahl durch einen Zeitstempel zu ersetzen?

Guter Punkt! Darüber nachgedacht haben wir, das Problem dabei ist, dass das eine strikte Buchungsdisziplin der Monteure erfordern würde. Durch die Zeitauswahl kann der Monteur theoretisch auch erst am Ende des Tages eingeben, was er den Tag über getrieben hat.

Vielleicht gehen wir irgendwann mal einen etwas strikteren Weg, aber momentan wollen wir da keine unnötigen Mauern aufbauen.

  • Like 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 6 Stunden schrieb Tim Bindewald:

Guter Punkt! Darüber nachgedacht haben wir, das Problem dabei ist, dass das eine strikte Buchungsdisziplin der Monteure erfordern würde. Durch die Zeitauswahl kann der Monteur theoretisch auch erst am Ende des Tages eingeben, was er den Tag über getrieben hat.

Vielleicht gehen wir irgendwann mal einen etwas strikteren Weg, aber momentan wollen wir da keine unnötigen Mauern aufbauen.

Ok verstehe.

 

Wäre das eine Alternative image.png.80bd45d025b67a25cefadaad6486998c.png

Gruß Michael

  • Like 4
  • Danke 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 14 Stunden schrieb Michael Prem:

Ok verstehe.

 

Wäre das eine Alternative image.png.80bd45d025b67a25cefadaad6486998c.png

Gruß Michael

Spannend! Anstatt der Wiederholungsgruppe benutzt du hier nacheinander aktivierte Gruppen, wodurch man in Datensatz B auf Datensatz A zugreifen kann? Und die maximale Anzahl der Datensätze wird wahrscheinlich fix durch die Anzahl der angelegten Gruppen definiert.

Ich werde damit mal ein wenig herumspielen und sehen, ob die Ansicht auf dem Mobiltelefon noch übersichtlich bleibt (pro Arbeitsgang werden teilweise noch weitere optionale Daten erfasst, z.B. den Arbeitsgangtyp oder Kommentare/Bilder/Probleme des Monteurs während der Montage, da kann ich mir vorstellen, dass das auf dem Handydisplay irgendwann unübersichtlich wird).

Aber selbst wenn ich das in diesem Anwendungsfall nicht nutzen werde hast du damit auf jeden Fall meinen Horizont erweitert. Danke dafür!

 

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...
vor 3 Stunden schrieb Thomas Hoffmann:

@Moritz Heidlindemann über so ein ähnliches Thema haben wir doch neulich gegrübelt. Vielleicht hilft unser Lösungsweg?! Magst du das teilen, falls es hilfreich ist (ich habe die smap nicht)? 

Gerne!

@Tim Bindewald ich bin mir nicht ganz sicher ob es passt, aber wirf mal einen Blick in die folgende smap:

https://platform.smapone.com/ImportSharedApp/f554439b-63a2-42e5-bb17-dc915bf4a75c/52bfeb1bdc3bd0bdecccf1ec78e7b781bafeded2?lang=de

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 5.7.2024 um 13:17 schrieb Moritz Heidlindemann:

Gerne!

@Tim Bindewald ich bin mir nicht ganz sicher ob es passt, aber wirf mal einen Blick in die folgende smap:

https://platform.smapone.com/ImportSharedApp/f554439b-63a2-42e5-bb17-dc915bf4a75c/52bfeb1bdc3bd0bdecccf1ec78e7b781bafeded2?lang=de

Moin Moritz,

das passt und würde so auf jeden Fall funktionieren; danke für das Beispiel!

Es bleibt aber auch hier der Fakt, dass der Benutzer den Arbeitsbeginn als "Datum und Uhrzeit" auswählen muss, obwohl das Datum ja schon im Kopf ausgewählt wurde. Dies ist der kleine (und wenn wir ehrlich sind: unwesentliche) Schritt mehr, den ich gerne einsparen würde.

Die offene Herausforderung wäre also nur noch, dass in den Eingabeoptionen der beiden Datums- und Zeitauswahlfelder {Arbeitsbeginn} und {Arbeitsende} "Uhrzeit" statt "Datum und Uhrzeit" verwendet werden kann.

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Bitte melde Dich an, um einen Kommentar zu hinterlassen

Du kannst nach der Anmeldung einen Kommentar hinterlassen



Jetzt anmelden
×
×
  • Neu erstellen...