Jump to content

Rolf Thielmann

smapLand members
  • Posts

    54
  • Joined

  • Last visited

  • Days Won

    3

Rolf Thielmann last won the day on November 8 2023

Rolf Thielmann had the most liked content!

2 Followers

Recent Profile Visitors

69 profile views

Rolf Thielmann's Achievements

Enthusiast

Enthusiast (6/14)

  • Pioneer - 1. Year of smapLand
  • Helpful Rare
  • One Month Later
  • Great Posts
  • Collaborator

Recent Badges

80

Reputation

5

Community Answers

  1. Hallo allerseits, wenn man auf dem Gerät gespeicherte Bilder in eine Smap einfügen will, wäre es natürlich hilfreich, wenn man gleich mehrere Bilder auswählen und hinzufügen könnte. Wenn man allerdings den Umweg mit der Speicherung in der Galerie nur macht, damit die nicht nur in der Smap gespeichert sind, habe ich einen anderen Vorschlag. So viele Bilder wie nötig über einen Fotobaustein in einer Wiederholungsgruppe aufnehmen, den Report als Word-Datei an sich selbst (oder einen Rechner, auf dem die eingehenden Reports automatisch verarbeitet werden) senden und dann die Bilder aus der Word-Datei per Makro automatisiert abspeichern. Dann hat man die Bilder auch gleich auf einem Rechner und nicht nur auf dem Smartphone. 😉 Wie das Abspeichern von Bildern aus einer Word-Datei per Makro möglich ist, habe ich in meinem Post unter https://forum.community.smapone.com/topic/826-unterschrift-als-bilddatei/ beschrieben. Man müsste nur statt der Abspeicherung der letzten beiden Bilder eine For-Next-Schleife für alle enthaltenen Bilder verwenden. So könnte das aussehen: For Each eingebettetes_Bild in aktuelles_Dokument.InlineShapes.Items Z = Z + 1 Ziel = Tempordner & "Bild " & aktuelles_Dokument.Filename & " " & Format(Z, "0000") & "." & Dateiextension SaveInlineshapeToEmfFile eingebettetes_Bild, Ziel Next
  2. Hallo nochmal, ich habe mal die Weiterverarbeitung der Bilder in einem PDF-Leistungsbeleg für Kunden skizziert. Wen das interessiert, der findet das unter Zweite Version Report... 😉
  3. Hallo allerseits, ich hatte bereits beim Support nach einer Lösung für diese Anforderung nachgefragt. Leider ist so etwas derzeit nicht möglich/vorgesehen. Ich habe eine Smap zur Erfassung von Leistungsbelegdaten unserer Servicetechniker erstellt. In dem daraus resultierenden Report sind einige Informationen enthalten, die die Kunden nicht erhalten sollen/müssen. Daher war es meine Frage, ob es möglich ist, aus einer Smap zwei unterschiedliche Reports zu genrieren und die dann auch an unterschiedliche Empfänger zu senden. Da das derzeit nicht möglich/vorgesehen ist, habe ich eine Alternativlösung gesucht. Die Lösung ist, die Daten aus der Smap in eine Word-Datei einzutragen, diese dann als PDF-Datei abzuspeichern und per eMail an die Kunden zu senden. Manuell ist das natürlich kein Problem. Man kann sich aus dem Report ja alles herauskopieren und in ein neues Dokument einsetzen. Aber wir wollen durch die Digitalisierung ja weniger Arbeit haben und nicht mehr. Nach einigen Recherchen und Tests habe ich eine zufriedenstellende Lösung über VBA-Makros erstellt. Da die Reports per eMail hereinkommen und auch wieder per eMail verschickt werden, habe ich das in Outlook programmiert. In der Smap habe ich dazu einen eMailversandbaustein eingebaut, der alle relevanten Daten mit entsprechenden Bezeichnungen in den Text schreibt. Weiterhin wird hier der Standard-Report als Word-Datei eingefügt. Die eMail wird auf einem virtuellen Rechner mit Outlook 365 empfangen. Im Outlook habe ich im Visual Basic Editor (zu starten über Alt+F11) im Projekt-Explorer (Anzeige über Strg+R) unter "Microsoft Outlook Objekte" > "ThisOutlookSession" das Makro "Sub Application_Startup()" hinzugefügt, das jeweils beim Start von Outlook ausgeführt wird. Über den Taskmanager lasse ich Outlook zyklisch starten. Das Makro Übernimmt dann alle Daten aus dem eMailtext und speichert sie in eine Text-Datei (Der Dateiname enthält zur Identifikation die Auftragsnummer des Einsatzes und den Zeitpunkt des Einsatzbeginns). Weiterhin wird der Report unter dem gleichen Dateinamen (nur eine andere Extension) gespeichert und per Makro mit Word geöffnet. Aus der geöffneten Word-Datei kann ich die Unterschriften von Servicetechniker und Kunde als Bilddatei speichern. Wie das geht, habe ich bereits unter dem Thema Unterschrift als Bilddatei gepostet. Auf dem Empfangsrechner ist die eMail damit abgearbeitet und kann gelöscht werden (den vollständigen Report als PDF habe ich mit einem separaten eMailversandbaustein an unsere Serviceabteilung gesendet). Die nachfolgenden Schritte könnten grundsätzlich auch auf dem Empfangsrechner ausgeführt werden. Aber da wir die Leistungsbelege über eine NoReply-eMailadresse versenden wollen, ist es geschickter, dafür einen zweiten virtuellen Rechner zu verwenden, auf dem diese eMailadresse eingerichtet ist. Auf dem virtuellen Versandrechner ist ebenfalls Outlook 365 eingerichtet. Auch hier wird Outlook zyklisch gestartet und ein Autostartmakro ausgeführt. Wenn eine Textdatei mit Leistungsdaten identifiziert wird, werden die Daten ausgelesen und zusammen mit den Unterschriftsdateien in eine Word Vorlage (mit Platzhalten für die entsprechenden Daten) eingetragen. Diese Word-Datei wird dann für die weitere Bearbeitung (Abrechnung) unter der Auftragsnummer als PDF gespeichert und gleichzeitig per eMail als PDF an den Kunden gesendet. Zum Schluss werden noch die Textdatei und die Bilddateien zu diesem Auftrag gelöscht. So lange Textdateien mit Abrechnungsdaten vorhanden sind, wird das Makro wiederholt. Wenn der entsprechende Ordner leer ist, wird Outlook beendet und ist für den nächsten zyklischen Start bereit. Den gesamten VBA-Code hier zu posten würde wohl den Rahmen sprengen. Wenn aber jemand Interesse hat, würde ich versuchen, den VBA-Code um sich wiederholdende Arbeitsschritte zu reduzieren und das dann zu posten.
  4. Hallo allerseits, ich habe eine andere Lösung gefunden. Es ist vielleicht nicht besonders elegant, aber es funktioniert und ich brauche dafür keine Kenntnis der RestAPI bzw. wie man überhaupt eine API nutzt. 🙂 So geht es: ich sende den Report als Word-Datei an mich. Dann kann ich mit nachfolgendem VBA-Code das vorletzte und letzte in der Word-Datei enthaltene Bilder als Bilddatei speichern: Sub Demo_Bilder_aus_Word_Dokument_speichern() Dim aktuelles_Dokument As Word.Document Dim eingebettetes_Bild As InlineShape Dim Ziel As String Tempordner = "S:\- Temp\" Dateiextension = "EMF" On Error Resume Next Kill Tempordner & "Unterschrift *." & Dateiextension On Error GoTo 0 Set aktuelles_Dokument = Word.ActiveDocument Ziel = Tempordner & "Unterschrift Techniker." & Dateiextension Set eingebettetes_Bild = aktuelles_Dokument.InlineShapes.Item(aktuelles_Dokument.InlineShapes.Count - 1) SaveInlineshapeToEmfFile eingebettetes_Bild, Ziel Ziel = Tempordner & "Unterschrift Kunde." & Dateiextension Set eingebettetes_Bild = aktuelles_Dokument.InlineShapes.Item(aktuelles_Dokument.InlineShapes.Count) SaveInlineshapeToEmfFile eingebettetes_Bild, Ziel End Sub Function SaveInlineshapeToEmfFile(eingebettetes_Bild As InlineShape, Ziel As String) As Boolean Dim EMF_Bytes() As Byte EMF_Bytes = eingebettetes_Bild.Range.EnhMetaFileBits Open Ziel For Binary Access Write As #1 Put #1, , EMF_Bytes Close #1 End Function Statt EMF kann man auch JPG als Dateiextension verwenden. VIELEN DANK an OlimilO für seinen Tipp im VBA-Forum (https://foren.activevb.de/forum/vba/thread-27329/beitrag-27330/Re-Bild-aus-Word-Datei-als-Bild/#forum) Ich habe auch ein Makro entwickelt, mit dem ich die Unterschriftsdateien in eine Word-Datei einfügen kann, über die ich dann eine zweite Variante des Reports (für unsere Kunden) erstellen kann. Das werde ich bei nächster Gelegenheit in meinem dazugehörigen Beitrag posten. 😉
  5. Hallo Bülent, ich habe es jetzt mit der Checkbox gelöst. Vielen Dank für den Hinweis.
  6. Hallo Ismet, ich bin erst seit September in Sachen SmapOne unterwegs und habe noch keine Erfahrung mit der REST-API. Meine Programmierkenntnisse gründen sich auf hobbymäßige Programmierungen in Basic (in den 80ern/90ern) und VBA (Excel/Outlook). Dabei habe ich mit VBA auch schon auf Windows Systemvariablen zugegriffen. Aber hier habe ich meistens Code in irgendwelchen Foren gefunden und auf meine Bedürfnisse angepasst. Mit diesen Kenntnissen kann ich Texte aus eMails bzw. PDF-Dateien herauslesen. Ein Bild, das als Dateianhang in einer eMail enthalten ist, könnte ich auch verarbeiten. Aber an die im PDF eingebetteten Bilder (Unterschriften) komme ich leider nicht heran. Ich muss zugeben, dass mich die Dokumentation zur API überfordert. Ich weiß gar nicht, wo ich anfangen soll. Gibt es irgendwo Beispielcode, wie man mit VBA oder vergleichbaren Programmiersprachen auf die REST-API und damit auf Daten/Bilder zugreifen kann?
  7. Hallo allerseits, ich baue gerade einen digitalen Leistungsbeleg. Die Smap an sich habe ich fertiggestellt. Jetzt geht es darum, aus der Smap 2 Reports zu generieren (einen mit allen Infos für den internen Gebrauch und einen anderen mit nur den Daten für den Kunden). Da man nicht 2 unterschiedliche Reports aus 1 Smap erstellen kann, ist meine Idee, alle für die Kundenversion notwendigen Daten in den Text einer eMail zu schreiben und daraus per Outlook-Makro den Report für den Kunden zu erstellen. Mein Problem besteht nun darin, die Unterschrift des Kunden als Bilddatei zu erhalten, die ich in eine Vorlage einfügen kann. Gibt es eine Möglichkeit, den Inhalt eines Unterschriftsfelds per eMail (als Bilddatei oder als URL zum Download) zu versenden?
  8. Hallo allerseits, wie es scheint, habe ich den Fehler erkannt. Beim Export aus dem ERP wurde offensichtlich die Zeichenkombination "/ Ø" durch sehr viele Ziffern ersetzt. Nachdem ich das manuell ersetzt und neu importiert habe, konnte ich das Feld auch wieder als Suchspalte klassifizieren. Ich gehe davon aus, dass der lange String nicht indiziert werden konnte und daher eine Suche danach nicht möglich gewesen wäre.
  9. Hallo allerseits, ich habe in meiner Smap für den digitalen Leistungsbeleg mehrere DSABs. In einem Baustein werden für die letzte Spalte die drei Buttons für Suchspalte, Vorschauspalte und Nutzerzuordnung nicht angezeigt. So sieht es normalerweise aus: So sieht es bei dem betroffenen DSAB aus: Die entsprechenden Dateien stammen alle aus der entsprechenden Hauptdatei (Aufteilung per Makro) und haben in Excel das identische Format. Hat jemand eine Idee, woran das liegen könnte?
  10. Hallo Sebastian, ich habe eben festgestellt, dass das Problem nicht auftritt, wenn ich die Exceldatei öffne und speichere. Ich füge daher die Datei als Export aus dem ERP und noch einmal geöffnet und gespeichert (ansonsten unverändert) bei. Offene_Auftraege_Neugeschaeft.xlsxOffene_Auftraege_Neugeschaeft neu gespeichert.xlsx
  11. Hallo Bülent, in der Excel-Datei sind die Zellen benutzerdefiniert, aber als Datum formatiert (s.u.). Anzeigen ist erst einmal die wichtigste Funktion. Aber eine Berechnung, wieviel Zeit noch bis zu dem Termin bleibt, ist auch angedacht.
  12. Hallo allerseits, ich habe in meinen Smaps einen Datensatzauswahlbaustein der eine Excel-Datei mit einer Datumsspalte als Datenquelle hat. Wenn ich für die Spalte mit dem Datum das Textformat auswähle, wird nichts angezeigt. Wenn ich für die Spalte mit dem Datum das Zahl auswähle, wird das Datum als Zahl angezeigt. Die Excel-Datei wird automatisch täglich aus der ERP-Software exportiert und soll (demnächst) auch automatisch importiert werden. Spätestens wenn der Import automatisch funktioniert, scheidet die Option aus, vor dem Export die Spalte in Excel als Text zu formatieren. Hat jemand eine andere Idee? VIELEN DANK im Voraus
  13. Hallo allerseits, ich baue gerade einen digitalen Leistungsbeleg und habe ein Problem. Ich habe eine Gruppe für die Erfassung von Zeiten für einen zweiten Techniker in der Smap. Wenn der Name des Technikers eingegeben wird, wird der nächste Baustein aktiviert, der dann auch ein Pflichtfeld ist. Weitere Bausteine (von denen einige ebenfalls Pflichtfelder sind) folgen und werden jeweils auch nur dann aktiviert, wenn die vorherigen Felder vollständig ausgefüllt sind. Das funktioniert grundsätzlich gut. Wenn kein zweiter Techniker dabei ist, bleibt der Baustein mit dem Namen des zweiten Technikers eben frei und die nachfolgenden Bausteine werden nicht aktiviert. Leider musste ich feststellen, dass die Übermittlung erst möglich ist, wenn ein zweiter Techniker eingetragen ist. Ich habe vermutet, dass es an irgendwelchen Pflichtfeldern innerhalb der Gruppe liegt. Allerdings habe ich das gleiche Problem, wenn der nachfolgende Baustein kein Pflichtfeld ist. Außerdem sind in der Gruppe noch andere nicht aktivierte Bausteine als Pflichtfelder, die die Übermittlung offensichtlich nicht verhindern, wenn sie nicht aktiviert sind. Hat jemand ein Idee, woran das liegen könnte? Hier der Aufbau inkl. Aktivierungsregel: Die nachfolgenden Bausteine werden jeweils deaktiviert, wenn die Funktion des Technikers nicht ausgewählt wurde.
  14. Hallo Manuel, hallo Bülent, VIELEN DANK für Eure Tipps! Ich habe es etwas anders umgesetzt, weil der folgende Abschnitt nur eingeblendet werden soll, wenn kein Eintrag in der Wiederholungsgruppe vorhanden ist, bzw. alle vollständig ausgefüllt sind. Hier nochmal meine Version:
×
×
  • Create New...