Zum Inhalt springen

Alex Krause

smapLand Mitglieder
  • Gesamte Inhalte

    9
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    2

Alex Krause hat zuletzt am 16. April 2023 gewonnen

Alex Krause hat die beliebtesten Inhalte erstellt!

6 Benutzer folgen

Über Alex Krause

  • Geburtstag 01.11.1997

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeigt.

Leistungen von Alex Krause

Apprentice

Apprentice (3/14)

  • Pioneer - 1. Jahr smapLand
  • Seit einem Jahr dabei
  • Gut reagiert
  • Gute Beiträge
  • Großartige Beiträge

Neueste Abzeichen

32

Reputation in der Community

3

Community-Antworten

  1. Hi, ich habe mal an einer Formel gearbeitet, die würde auch bis 2099 funktionieren.. jedoch aufgegeben, da das Wochenende alleine nicht die Endlösung ist. Sämtliche Feiertage sollte man auch abziehen können und das ist zurzeit unmöglich in SmapOne abzubilden. Gruß Alex
  2. Wir nutzen ausschließlich die Samsung Tablets A7 und A8. Ich habe bereits mehrfach versucht das Problem nachzustellen mit der Samsung-Kamera-App und bei mir hat es auch immer reibungslos funktioniert. Die User jedoch kommen immer mal wieder mit diesem Problem zu mir und wie oben geschrieben, wenn ich die Samsung-Kamera-App schließe, dann funktioniert SmapOne wieder einwandfrei. Also ich bin mir da auch sicher, dass die sich gegenseitig blockieren. Eine andere Kamera zu installieren wird leider keine Alternativlösung für uns sein.
  3. Hallo, uns ist das Problem auch bereits paar mal aufgefallen. Ich schließe (auf Android), folgende Apps: Kamera, SmapOne. Wenn ich dann das Formular wieder öffne, dann gehts.. vielleicht ist das nur Zufall.. vielleicht blockiert die Kamera die Funktion in der Smap. Man muss auch dazu sagen, dass die User einen Kiosk-Modus haben und gar nicht die Möglichkeit haben die Kamera zu öffnen, doch jedes Mal ist die App trotzdem im Hintergrund an, wenn ich mir das anschaue.
  4. Hi, das sollte klappen: Bausteine: DataRecordSelect: ResultText: IF(EQUALS(LENGTH({DataRecordSelect[Zeit]}), 4), CONCAT("0", {DataRecordSelect[Zeit]}), {DataRecordSelect[Zeit]}) ResultNumber: SUM(MUL(TEXTPOS("012345", SUBTEXT(TEXT({Timestamp}), 15, 1)), 10), MUL(TEXTPOS("012345", SUBTEXT({ResultText}, 4, 1)), 10), -22, TEXTPOS("0123456789", SUBTEXT(TEXT({Timestamp}), 16, 1)), TEXTPOS("0123456789", SUBTEXT({ResultText}, 5, 1))) Minutenumbruch: IF(GREATERTHANOREQUAL({ResultNumber}, 60), SUB({ResultNumber}, 60), {ResultNumber}) ResultNumber_10: SUM(MUL(TEXTPOS("012345", SUBTEXT(TEXT({Timestamp}), 12, 1)), 10), MUL(TEXTPOS("012345", SUBTEXT({ResultText}, 1, 1)), 10), -22, TEXTPOS("0123456789", SUBTEXT(TEXT({Timestamp}), 13, 1)), TEXTPOS("0123456789", SUBTEXT({ResultText}, 2, 1)), IF(GREATERTHANOREQUAL({ResultNumber}, 60), 1, 0)) ResultText_2: CONCAT(IF(GREATERTHANOREQUAL({ResultNumber_10}, 24), TEXT(SUB({ResultNumber_10}, 24)), TEXT({ResultNumber_10})), ":", IF(LESSTHAN({ResultNumber_2}, 10), "0"), TEXT({ResultNumber_2})) Alles bis auf ResultText_2 nicht in der App anzeigen. Regel für ResultText_2: AND(NOTEMPTY({DataRecordSelect}), NOTEMPTY({Timestamp})) ---> Aktiviert Schönes Wochenende
  5. Ich habe deine Formel mal verkleinert: CONCAT(SUBTEXT(TEXT({Timestamp}), 1, 8), TEXT(SUM(MUL(TEXTPOS("123456789", SUBTEXT(TEXT({Timestamp}), 9, 1)), 10), SUB(TEXTPOS("0123456789", SUBTEXT(TEXT({Timestamp}), 10, 1)), 1), 1)))
  6. Hallo zusammen, gibt es die Möglichkeit, dass man jede Aufgabe, die man in der API (durch state=incomplete) zieht, nur einmal zu ziehen sind? So wie es bei state=new auch gehen würde, wenn man den Parameter markAsExported=true mit hat. Hintergrund: Der Mitarbeiter bekommt durch unser Schnittstellensystem eine Benachrichtigung per E-Mail, dass noch eine Aufgabe offen ist. Diese E-Mail bekommt er aber jedes Mal, wenn der Job in unserem Schnittstellensystem durchgelaufen ist und "spamt" diesen zu. Eine Erinnerungsmail reicht vollkommen aus. Gruß Alex krause
  7. Hallo, wir hatten das Problem auch und haben das so gelöst: Wir nutzen gar nicht erst den DSAB-Baustein, sondern einen Textergebnisbaustein. Diesen Textergebnisbaustein({String}) aktualisieren wir mit unseren Daten als einzelnen String --> CONCAT("{Barcode1}{Data1_1}{Data1_2}{Data1_3}{Data1_4}{Barcode2}{Data2_1}{Data2_2}[Data2_3}{Data2_4}") In unserem Beispiel sieht das so aus: CONCAT("6200000000001000036985RAB30032015672000037881-0001YAD0806201865") In dem Beispiel wäre: Barcode1 = 6200000000001000036985 Data1_1 = R Data1_2 = AB Data1_3 = 30.03.2015 Data1_4 = 67 Barcode2 = 672000037881-0001 Data2_1 = Y Data2_2 = AD Data2_3 = 08.06.2018 Data2_4 = 65 Wichtig ist, dass die "Daten" im String immer eine feste Länge haben, der Barcode kann beliebig lang sein. Mit Textergebnisbausteinen erhalte ich die einzelnen Werte wieder, zuvor aber ein Zahlenergebnisbaustein, welcher die Stringposition des Barcodes wieder gibt: Zahlenergebnisbaustein({ResultNumber}): TEXTPOSITION({String}, {CodeScanner} Textergebnisbaustein1(bei uns Ampelfarbe): SUBTEXT({String}, SUM({ResultNumber}, LENGTH({CodeScanner})), 1) Textergebnisbaustein2(Formfaktor): SUBTEXT({String}, SUM({ResultNumber}, LENGTH({CodeScanner}), 1), 2) Textergebnisbaustein3(Letzte Bewegung): CONCAT(SUBTEXT({String}, SUM({ResultNumber}, LENGTH({CodeScanner}), 3), 2), ".", SUBTEXT({String}, SUM({ResultNumber}, LENGTH({CodeScanner}), 5), 2), ".", SUBTEXT({String}, SUM({ResultNumber}, LENGTH({CodeScanner}), 7), 4)) Textergebnisbaustein4(SysID): SUBTEXT({String}, SUM({ResultNumber}, LENGTH({CodeScanner}), 11), 2) Dann haben wir noch ein Bild, welches gezeigt wird, wenn der Barcode in dem String nicht vorhanden ist. Bild - Bedingung: AND(NOTEQUALS({ResultText}, "R"), NOTEQUALS({ResultText}, "G"), NOTEQUALS({ResultText}, "Y"), NOTEMPTY({CodeScanner})) Wenn man einen integrierten Scanner im Gerät hat, dann kann man natürlich auch mit einem Textbaustein als "CodeScanner" arbeiten. Das war jetzt eine Lösung, die noch relativ einfach ist, weil die Daten, die ausgegeben werden sollen immer die gleiche Länge haben. Wenn die Daten nicht die gleiche Länge haben, dann muss ein "Trenner" zwischen den Daten gesetzt werden, beim Aktualisieren des String-Bausteins. Mit geschickten Substring/Left/Right und Textpos kann man die Daten zwischen den "Trenner" raus bekommen. Beispiel eines Trenner kann sein "|", zwischen den einzelnen Daten und ein "*" zwischen den Barcodes mit Daten. Kleines Beispiel (Database = String): 1: RIGHT({Database}, SUB(SUB(LENGTH({Database}), TEXTPOS({Database}, {CodeScanner})), LENGTH({CodeScanner}))) 2: LEFT({zwischenErgebnis_string}, TEXTPOS({zwischenErgebnis_string}, "*")) 3: LEFT({zwischenErgebnis_string2}, SUB(TEXTPOS({zwischenErgebnis_string2}, "|"), 1)) Sollte etwas unklar sein, kann ich nochmal ergänzen. Achtung, der String-Baustein hat ein Limit mit Zeichen, der liegt glaube ich bei ca. 1mio Zeichen. Wir haben 710.000 Zeichen im Baustein und funktioniert noch. (natürlich auch schnell, sonst wäre das keine Alternative) Gruß Alex
  8. Hi, einfacher und weniger Formeln hätte dieser Weg hier: - 3 Bausteine (2 versteckt, 1 Ausgabe) 1. Baustein {Vorname}: CONCAT(SUBTEXT("ABCDEFGHIJKLMNOPQRSTUVWXYZ", TEXTPOS("abcdefghijklmnopqrstuvwxyz", LEFT({user:email}, 1)), 1), SUBTEXT({user:email}, 2, SUB(TEXTPOS({user:email}, "."), 2))) 2. Baustein {Nachname}: CONCAT(SUBTEXT("ABCDEFGHIJKLMNOPQRSTUVWXYZ", TEXTPOS("abcdefghijklmnopqrstuvwxyz", SUBTEXT({user:email}, ADD(TEXTPOS({user:email}, "."), 1), 1), 1), 1), SUBTEXT({user:email}, ADD(TEXTPOS({user:email}, "."), 2), SUB(TEXTPOS({user:email}, "@"), ADD(TEXTPOS({user:email}, "."), 2)))) 3. Baustein {AusgabeName} REPLACE(REPLACE(REPLACE(CONCAT({Vorname}, " ", {Nachname}), "ae", "ä"), "oe", "ö"), "ue", "ü") Der Replace im 3. Baustein von ae in ä etc. ist optional 🙂 Gruß Alex 🙂
×
×
  • Neu erstellen...