CV

Hallo,

im ARIS Toolset haben ich einen ausführlichen Report, den ich jetzt schon fast komplett für den Business Architect umgesetzt habe.

Mir bleibt nur noch ein Problem. In dem Atttribute Verknüpfung1 sind Verweise auf "lokale" Dateien, wie "C:\Report\bild.jpg".

Wie bekomme ich diese Datei in meinen Report?

Gruß Carl   

by Martin Schröder
Badge for 'Contributor' achievement
Posted on Fri, 01/14/2011 - 15:34

Die Frage ist nicht ganz eindeutig:

Soll der Wert des Attributs Verknüpfung1, also die URL oder Pfad zur Datei im Report erscheinen, damit der Leser des Reportdokuments den Verweis ebenso verfolgen kann wie der Aris-Anwender?

Dazu den Wert des Model-/Objektattributs Verknüpfung1 (Constants.AT_EXT_1 ) mit getValue() ermitteln und mit OutputLink() ausgeben (s. Aris Script Hilfe: Report class Output - Method OutputLink, mögliche Stolperfalle s. hier )

Das Ziel des Verweises sollte dann aber nicht lokal sein, sondern auf einem für alle Leser des Doks erreichbaren Server/Dokmgmtsystem.

Oder soll die referenzierte Datei bild.jpg bei der Reportausführung gelesen und im Reportdokument ausgegeben werden wie z.B. ein Logo?

Codebsp. s. Aris Script Hilfe: Report class Context - Method createPicture()

Dazu sollte die Datei aber als Ressource zu dem Reportscript auf dem Aris Business Server abgelegt werden: Architect > Modul Admin > Auswertungen > Gemeinsame Dateien - Hinzufügen (oder in der selben Kategorie wie das Script)

0
by Carl von Papen Author
Posted on Fri, 01/14/2011 - 16:55

Hallo,

die referenzierte Datei soll in den Report aufgenommen werden. Also das Bild.

Da wir nur eine Business Architect Lizenz haben, aber einige Business Designer Lizenzen, suche ich einen Weg die Datei  über ein "Unterprogramm" in den passenden Bereich zu bekommen.

Für den XML-Import gibt es eine Dialog-Funktion, die das liefert. Das muss doch auch ohne Dialog gehen.

Gruß Carl 

0
by Martin Schröder
Badge for 'Contributor' achievement
Posted on Mon, 01/17/2011 - 16:17

Dann gilt der zweite Teil: Context.createPicture() verwenden

So ganz verstehe ich aber immer noch nicht, was das besondere an dem Bild ist:

  1. Hat jeder Anwender des Reports ein anderes in seinem lokalen Pfad? Soll er es interaktiv auswählen zum Zeitpunkt der Reportausführung?
  2. Oder ist es eine statische, für alle Anwender selbe Ressource?

Für 2. galt der Hinweis, die Grafik zusammen mit dem Reportscript auf dem Business Server zu speichern, wo der Report auch ausgeführt wird. Um im Kontext des Servers die Grafik ohne Dialog in das Reportdokument einzufügen, genügt createPicture("Bild.jpg"), wenn sie in der selben Kategorie wie das Script oder unter Gemeinsame Dateien zu finden ist.

Für 1. müßte

  • der Anwender die Datei auswählen und öffnen mit var selFile = Dialogs.getFilePath(....),
  • der Inhalt der Datei mit var imageData = selFile.getData(....) übernommen  
  • und damit createPicture ( byte[] imageData, String imageFormat ) gefüttert werden
0
by Carl von Papen Author
Posted on Mon, 01/17/2011 - 17:10

Diese Bild enthält weitere graphische Erklärungen zum Prozess. Ich bin hier der einzige Administrator und wir haben 41 Aris-User in ungefähr 50 Projekten.

Die hinterlegten Bilder sollen narürlich auch nicht für alle User zur Verfügung stehen.

Mal abgesehen davon, das die User und ihre Chefs vom Toolset diesen Standard gewohnt sind.

Um genau zu seine liegen die Daten auf eine LAN-Server der mit entsprechedner Gruppensteuerung ist. Aber diese Details zu berücksichtigen scheint mir dann doch zu kompliziert.

Nun bitte ich doch, wenn es eine Lösung gibt, diese mir mitzuteilen.

Nichts für ungut,

Carl 

 

0
by Martin Schröder
Badge for 'Contributor' achievement
Posted on Fri, 01/21/2011 - 17:48

Nach 15 Jahren Systemanalyse, Anforderungsmanagement und Testen kann ich nur sagen: 50% der Arbeit ist geschafft wenn die Aufgabe richtig beschrieben ist.

In dem (Modell- / Objekt- ?) Attribut Verknüpfung1 verweisen also Pfade auf verschiedene Bilddateien (oder auch andere Dateitypen?), die auf Fileserver liegen. 

Dazu müssen die o.g. Script Methoden nur in eine neue Reihenfolge gebracht werden, den Rest macht das Klavier von allein. Die Aris Script Hilfe enthält unter den hervorgehobenen Stichworten ausformulierten Beispielcode.

  1. den Wert des Model-/Objektattributs Verknüpfung1 ( Constants.AT_EXT_1 ) mit AttrType.getValue() ermitteln
  2. den Pfad (als string) benutzen, um den Inhalt der Bilddatei einzulesen, z.B. als  var imageData = strTargetpath.getData()
  3. damit createPicture ( byte[] imageData, String imageFormat ) füttern, um im Output-Objekt die Grafik einzufügen. Diese Methode ist nur für Bilddateien geeignet.

<quote>"...liegen die Daten auf eine LAN-Server der mit entsprechedner Gruppensteuerung ist. Aber diese Details zu berücksichtigen scheint mir dann doch zu kompliziert."</quote>

Für Anwender verschwimmen solche Details gerne in der Cloud, aber der Entwickler des Reports muß sich schon überlegen, ob nur die Modellierer (Ersteller der Verknüpfung) oder auch die Anwender, die den Report ausführen, mind. Leseberechtigung auf die referenzierte Datei haben, sonst gibt's kein Bild im Dokument.

0
by Carl von Papen Author
Posted on Mon, 01/24/2011 - 10:14

 

Entschuldigt bitte, das meine Formulierungen so ungenau sind.

Das man die Adresse der Datei mit getValue bekommt, mit getData das Byte-Array für das Bild bekommt und es mit createPicture in das Dokument einbinden kann, das ist mir klar und ich dachte das wäre deutlich geworden.

Die Funktion getData gibt es nach Hilfe-System jedoch nur in zwei Klassen, der SelectedFile und der XLSDataObject. Das XLSDataObject bezieht sich meinen Verständnisses nach auf eine Excel-Datei. Das SelectedFile auf beliebige.

Jedoch kenne ich nur eine Funktion, nämlich die Context.getFile, die eine Klasse SelectedFile erzeugt. Diese kann nur auf interne Bereiche von ARIS zugreifen.

Da ich weis, das sich auch in diesem Forum viele schlaue Köpfe bewegen, dachte ich mir, hier kann mir jemand sagen, wie ich die Klasse SelectedFile erzeugen kann, ohne die Datei vorher in den ARIS-Arbeitsbereich, wie z.B. "Gemeinsame Dateien" laden zu müssen.

Eine alternative Lösung wäre eine Funktion, die die Datei in einen ARIS-Bereich lädt.

Habe ich noch eine Alternative vergessen ?

 

0
by Martin Schröder
Badge for 'Contributor' achievement
Posted on Fri, 01/28/2011 - 13:07

Eine weitere Möglichkeit, die Beschränkungen des Business Server Context beim Lesen von Dateien zu umgehen, liegt hier

Stell die Frage doch noch einmal auf Englisch für die naderen schlauen Köpfe.

0

Featured achievement

Rookie
Say hello to the ARIS Community! Personalize your community experience by following forums or tags, liking a post or uploading a profile picture.
Recent Unlocks

Leaderboard

|
icon-arrow-down icon-arrow-cerulean-left icon-arrow-cerulean-right icon-arrow-down icon-arrow-left icon-arrow-right icon-arrow icon-back icon-close icon-comments icon-correct-answer icon-tick icon-download icon-facebook icon-flag icon-google-plus icon-hamburger icon-in icon-info icon-instagram icon-login-true icon-login icon-mail-notification icon-mail icon-mortarboard icon-newsletter icon-notification icon-pinterest icon-plus icon-rss icon-search icon-share icon-shield icon-snapchat icon-star icon-tutorials icon-twitter icon-universities icon-videos icon-views icon-whatsapp icon-xing icon-youtube icon-jobs icon-heart icon-heart2 aris-express bpm-glossary help-intro help-design Process_Mining_Icon help-publishing help-administration help-dashboarding help-archive help-risk icon-knowledge icon-question icon-events icon-message icon-more icon-pencil forum-icon icon-lock