Dokument anzeigen (Ereignisaktion)
Ereignisaktion - Kurzfassung
Zweck: Öffnet ein einzelnes über seine ID identifiziertes Dokument in einem zusätzlichen Browser-Tab, sofern Lesezugriff für das Dokument besteht.
►HINWEIS◄ Diese Ereignisaktion ist nur verfügbar, wenn das funktionale Erweiterungsmodul "Dokumentenmanagement" installiert und lizenziert ist.
Die Ereignisaktion Dokument anzeigen (Ereignisaktion) öffnet ein einzelnes über seine ID identifiziertes Dokument (s. Dokumente) im Browser, sofern Lesezugriff für das Dokument besteht.
Falls der verwendete Browser den Inhalt des Dokuments den beim Hochladen automatisch ermittelten Inhaltstyp (contentType) direkt anzeigen kann, erscheint dieser in einem neuen Browser-Tab.
Anderenfalls kann der Browser den Inhalt des Dokuments an eine vorbestimmte oder interaktiv auswählbare Applikation übergeben oder als Download bereitstellen. Details hängen vom Browser und ggf. eingerichteten Präferenzen des Benutzers ab.
Fehlerbehandlung:
►WICHTIG◄ In allen nachfolgend genannten Konstellationen wird die Ereignisbehandlung fortgesetzt. Die Fehlermeldung betrifft nur die Ausgabe im Browser-Tab!
Dokument-ID |
Rollenberechtigungen |
Zugriff per Besitz |
Fehlermeldung im geöffneten Browser-Tab |
|
unerheblich |
unerheblich |
NullPointerException
|
|
|
unerheblich |
Failed to read: Access denied: Can't access Document for Read ► Die Rolle gewährt keinen Lesezugriff auf Dokumente. |
|
|
||
|
Failed to read: Owner access denied: Can't access Document for Read ► Der Lesezugriff auf das Dokument scheitert mangels Besitz/Freigabe für "Lesen". |
||
|
Konfiguration
Der Wertauflöser für den Parameter Dokumenten-ID akzeptiert alternativ folgende Rückgabewerte:
Einen Long-Wert, der die ID (id) des anzuzeigenden Dokuments angibt.
Einen Textwert, der in einen Long-Wert konvertierbar ist, der die ID (id) des anzuzeigenden Dokuments angibt.
Eine Entität vom Typ "Dokument" (Dokumente), die angezeigt werden soll.
►HINWEIS◄ Auch wenn anstelle einer ID ein komplettes Dokument als Datenobjekt übergeben wird, wird immer nur der serverseitig gespeicherte Dokumentinhalt angezeigt und nicht etwa der ggf. abweichende Inhalt im Feld documentContent des übergebenen (volatilen) Datenobjekts.
Beispiel
Auf der Positionsebene einer Bestellung sollen per Klick auf einen Button "Details" alle hochgeladenen Dokumente angezeigt werden, die sich per "Referenz" auf die für die Position angegebene "EAN Nummer" (Textattribut) beziehen. Anhand dieser Dokumente (Produktbilder, PDF-Dokumente, etc.) soll der Anwender weitere Merkmale für die Position (z. B. eine treffende "Warenbeschreibung") ausfüllen.
Laufzeitbeispiel:
Sobald eine "EAN Nummer" für eine Position vorliegt, erscheint der Button "Details". Ob für die "EAN Nummer" tatsächlich Dokumente hochgeladen wurden, soll hier keine Rolle spielen.
Per Klick auf den Button werden Dokumente gesucht, die sich auf die angegebene "EAN Nummer" beziehen, und - sofern vorhanden und innerhalb der aktuellen Sitzung im Zugriff - in zusätzlich geöffneten Browser-Tabs angezeigt.
Konfiguration:
Obwohl die für die Zuordnung der Dokumente notwendige Suche und das Anzeigen der "gefundenen" Dokumente Server-Kommunikation erfordert, kann die Aufgabenstellung durch einen Client Workflow gelöst werden. Für den Button wird das Verhalten "showDetails" angelegt und wie rechts abgebildet konfiguriert:
►ANMERKUNG◄ Wenn für den Client Workflow wie hier abgebildet kein Element verknüpft wird, steht im Kontext einer Erfassungsmaske für Bestellungen die betreffende Bestellung insgesamt als Eingabewert zur Verfügung. Ohne abweichende Spezifikation für den Ergebnisausdruck steht dann der ggf. im Client Workflow bearbeitete Stand dieses Datenobjekts für die Aktionen bei "wahr" und die Aktionen bei "falsch" zur Verfügung. Hier wird davon aber kein Gebrauch gemacht. |
|
Ein Klick auf den Button "Bearbeiten" in der Konfiguration für die Verhaltensweise Client Workflow öffnet den zugehörigen Editor:
►ANMERKUNG◄ Im Beispiel wird unterstellt, dass beim Hochladen von Dokumenten für bestimmte Artikel im Feld "Referenz" die betreffende "EAN Nummer" angegeben wird. Ob ausgehend von dieser Angabe das Dokument beim Hochladen tatsächlich zugewiesen wurde (s. Dokumente zuweisen), ist für die Zuordnung durch die Suche (Ereignisaktion) im Client Workflow unerheblich. Die "Referenz" wird hier - komplett an der eigentlichen Zuweisungslogik für Dokumente vorbei - als Suchkriterium verwendet, um "passende" Dokumente zu suchen. Ggf. könnte ein zusätzliches Suchkriterium (z. B. für den Dokumententyp) verwendet werden, um Zufallsfunde zu verhindern. |
|