RFC - noch'n Datumpicker

SFP..SAPscript (Transaktion SE71)..Smartforms (TA Smartforms).. Interactive Forms..Transaktion EFRM)..SIFBA..IAF..AIF..SIFBA - SAP_Interactive_Forms_based_on_Adobe // LÖSUNGSANSÄTZE aber AUCH FÜR "NORMALE" PDFs VERWENDBAR ;-)
Antworten
Benutzeravatar
supersonic
Beiträge: 2
Registriert: 02.03.2012, 15:20

RFC - noch'n Datumpicker

Beitrag von supersonic » 14.07.2015, 13:56

Nicht nur im Umfeld medizinischer Dokumentation gibt es Situationen, in denen die direkte Erfassung eines Tagesdatums in einem Eingabefeld nicht möglich oder nicht erwünscht ist. Dann würde ein Popup eines Adobe-Dialogs, das ein Datum erfasst, helfen. Nebenbei vermeidet man syntaktische Fehleingaben.

Lange Zeit habe ich in Foren wie Acronaut (top!) gesucht und viel Nützliches entdeckt. Irgendwann stieß ich auf den undokumentierten Dialogelementtyp link_text, der primär zur Anzeige von Hyperlinks ins Web dient. Was aber nirgendwo dokumentiert ist und nur durch Probieren herauszufinden war:  Keineswegs ist dieses Linkelement nur auf Verweise ins Internet mit URLs beschränkt, sondern man kann es auch wie Schaltflächen ohne jeden Web Bezug behandeln. Zudem lässt es sich ein wenig formatieren.

Gegenüber Schaltflächen haben Hyperlinks zwei Vorteile:
  • Es ist keine Mindestbreite vorgegeben, dadurch wird jeder Tageseintrag und das Fenster insgesamt angenehm schmal
  • Die Links lassen sich einfärben und in der Schriftart variieren.
So erhält man ein Gesamtbild, das deutlich mehr einem typischen Datumpicker entspricht und intuitiv zu bedienen ist.

Der Picker ist sicher noch nicht bis in die letzte Verästelung perfekt, für den normalen Gebrauch dürfte er aber erst mal ausreichen. Er verarbeitet momentan ausschließliches deutsches Datumsformat. Man kann das Coding des Datumpickers natürlich auch mit anderen Dialogelementen kombinieren, z.B. der Eingabe einer Uhrzeit und sagen wir, einer Entfernungsangabe.

Optimierungspotential gibt es sicher noch genug. Verbesserungsvorschläge bitte in diesem Forum, ich arbeite sie ggflfs. Gerne ein und lade eine neue Version dann hoch.

Ein Punkt z.B., der mir selbst nicht so gefällt:

Der EVAL-Ausdruck zur Erzeugung eines Strings mit fortlaufender Nummer:

Code: Alles auswählen

strFunDesc = "function(dialog) { lnClick(dialog, dialogDescriptor, '" + strLnID + "'); }";
dialogDescriptor[strLnID] = eval(strFunDesc);
      
Dadurch wird 42mal dem jeweiligen Linkelement der Funktionsaufruf lnClick() zugewiesen, jeweils mit der Nummer des Kontrollelements als 3. Parameter, z.B.

Code: Alles auswählen

dialogDescriptor[“ln42“] =  function(dialog) { lnClick(dialog, dialogDescriptor, “ln42“) }
Zweck dieses 3. Parameters ist einfach nur zu unterscheiden, von welchem Hyperlink aus der Klick und Aufruf von lnClick() zur Laufzeit erfolgte. Schöner wäre es natürlich, man könnte auf Parameter verzichten und irgendwie zur Laufzeit anderweitig herausfinden, welcher Hyperlink gerade aktiviert, also in Fokus genommen wurde – dann benötigte man für 42 Hyperlinks nur noch ein und dasselbe Funktionsobjekt.

Habe aber auf die Schnelle nix besseres gefunden, vielleicht weiß ja jemand eine andere Konstruktion.

Ansonsten versuche ich mich nicht an schlauen Datums- und Kalenderkunststückchen, sondern gebe so viele Datumsberechnungen wie möglich an die eingebauten Standard-Datumsfunktionen von JavaScript ab. Weswegen z.B. auch keine Feiertage markiert sind.

Wie „releasefest“ das Ganze ist kann ich bei Adobes Versionspolitik beim besten Willen nicht vorhersagen – mit Adobe DC unter Windows 7 klappte es zuletzt.

Viel Spass damit!



[line]
Über uns:

Wir sind IT-Mitarbeiter des Universitätsklinikums Heidelberg, Zentrum für Informations- und Medizintechnik, geleitet von Prof. B. Bergh.
Wir sind bestrebt, unsere Spitzenstellung in der Medizin durch technologisch fortgeschrittene IT zu festigen und auszubauen.

In diesem Forum fanden wir sehr viele, teils äußerst hilfreiche Beiträge und bedanken uns mit gelegentlichen eigenen Posts mit der Bitte um Kommentierung.
Zudem gehört es als universitäre Einrichtung zu unseren Aufgaben, erworbenes Wissens auch wieder zu verbreiten.

Wir betreiben, parametrieren, administrieren und entwickeln im Umfeld des zentralen Krankenhausinformationssystems SAP Healthcare / Cerner i.s.h.med.
Mit  dem LifeCycle Designer und Adobe PDF-Formularen bekamen wir zuerst im Rahmen eines Technologieprojektes „Einführung und Ausbau eines Werkzeugs zur strukturierten Dokumentation im Krankenhausinformationssystem“ zu tun, das die Modernisierung unserer Dokumentationswerkzeuge zum Ziel hatte. Diese „dynamischen PDF“ sind nicht identisch mit den SAP Interactive Forms by Adobe, sondern eine gemeinsam mit der Firma iConsens Austria entstandene Kundenlösung, eine Weiterentwicklung der sog. „Parametrierbaren Medizinischen Dokumente“.

Zum aktuellen Zeitpunkt dieses Posts sind ca. 100.000 medizinische Dokumente auf Basis von 40 PDF-Formularen erstellt worden.

Wer mehr wissen möchte schreibe an peter.moll@med.uni-heidelberg.de (Projektkoordinator), jochen.pilz@... (Abt.-Leitung) oder mich rolf.schall@... (IT-Indianer).


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Antworten