zusätzliche Reports direkt aus dem Objekt aufrufen

Post Reply
TomO
Posts: 61
Joined: 04. Dec 2009, 10:24
Location: Berlin
Contact:

zusätzliche Reports direkt aus dem Objekt aufrufen

Post by TomO » 10. Sep 2010, 16:23

Ich stelle mir gerade folgende Frage:

Wenn Ich einen zusätzlichen Report erzeugen möchte (neben dem jeweiligen TypeReport) und diesen ans Asset hängen will (z.B. Inventaraufkleber für Rechner) wie ist das zu bewerkstelligen?

Ziel wäre es z.B. an einem Computer-Datensatz eine Möglichkeit zu haben einen Report aufzurufen der gleich als Parameter die ObjectID erhält und gleich das korrekte Label anzeigt.

Ideen?

Alexander Weber
Posts: 4
Joined: 10. Sep 2010, 21:06
Location: Mönchengladbach
Contact:

Re: zusätzliche Reports direkt aus dem Objekt aufrufen

Post by Alexander Weber » 10. Sep 2010, 22:16

Hallo,
da gibt es zwei Möglichkeiten.
#1:
Über ein J-Script als Aktion den Report "extern" aufrufen und die Werte übergeben, der Ausdruck kann aber nur aus dem Dialog erfolgen nicht aus der Suchseite

#2:
Wir entwickeln in unserer Custom-Dev-Abteilung dafür eine Lösung, das auch aus der Suchseite und dem Dialog als Aktion gedruckt werden kann.
Mit freundlichen Grüßen / Best regards

Alexander Weber
Principal Consultant - Architect

Matrix42 AG
(member of asseco group)

Disclaimer: I participate in this forum on a voluntary basis. Views expressed are not necessarily those of matrix42 AG or of the support team.

TomO
Posts: 61
Joined: 04. Dec 2009, 10:24
Location: Berlin
Contact:

Re: zusätzliche Reports direkt aus dem Objekt aufrufen

Post by TomO » 15. Sep 2010, 09:00

Alexander Weber wrote:Hallo,
da gibt es zwei Möglichkeiten.
...
Danke dir erstmal für die Antwort. :D Hast du Beispiele für ein solches JScript? Müsste mich da erstmal einlesen, bin nicht so der JScript Freak.

Richtig cool wäre ja auch (Feature Request :mrgreen: ) ne "Klick-Lösung" nach dem Schema Neuen Report in Typ zufügen -> Parameter aus Typ definieren -> Als "Aktion" einzubinden (Wie gesagt das wäre am coolsten)

Aber würde mich schon über ein paar JScript Schnipsel arg freuen.

User avatar
JoeStoe
Posts: 13
Joined: 18. Sep 2010, 14:04
Contact:

Re: zusätzliche Reports direkt aus dem Objekt aufrufen

Post by JoeStoe » 18. Sep 2010, 14:22

Einen Bericht über eine Aktion in einem Dialog zu starten, geht übrigens so:

Das Beispiel nimmt dafür den Dialog 'Allgemein' des Objektes 'Organisationseinheit' her
und startet den Bericht 'SW-Konformität', wobei die Sprache berücksichtigt wird und
die aktuell ausgewählte OU als Parameter im Bericht übergeben wird.
  • Administration > Konfigurationselemente
  • Das CI = Organisationseinheit öffnen
  • Dialoge > Allgemein > Formular editieren
  • Im Reiter 'Skript' folgenden Code hinterlegen:

Code: Select all

function RunReport()
{
// Get basic URL from SPS.config

var ReportServer = '<%=update4u.SPS.Config.Provider.Settings.GetString("update4u.SPS.ReportingServices-server", "") %>';
var ReportRoot = '<%=update4u.SPS.Config.Provider.Settings.GetString("update4u.SPS.ReportingServices-rootFolder", "") %>';

// Get current language to show correct DE|EN-report

var ReportLanguage = "<% =System.Threading.Thread.CurrentThread.CurrentUICulture.LCID%>";

// Get some report parameter from context of current object

var ReportParam = "&OrgUnit=" + document.getElementById(SPSOrgUnitClassBaseName).value;

// Get correct subfolder + report for current language

if (ReportLanguage = 1031)
{
ReportLanguage = "/DE/";
var ReportPath = "License%20Manager/Softwarekonformit%C3%A4t&rs:Command=Render";
}
else
{
ReportLanguage = "/EN/";
var ReportPath = "License%20Manager/Software%20Compliance&rs:Command=Render";
}

// Get the whole Report-URL

var ReportFullURL= ReportServer + '?' + ReportRoot + ReportLanguage + ReportPath + ReportParam;

// Now the part to launch the report ... [this could be your short solution if everything is rather fix ...]

javascript:void(window.open(ReportFullURL));
}
RegisterClienSideTask("00000000-0000-0000-0000-000000000000", "SW-Compliance Report", "RunReport");

Ein paar Screenshots in der Anlage, woraus Ihr erseht, wie das Ergebnis aussieht und wie man die URLs & Parameter für die Berichte ermittelt ...


Feel free :wink:
--
JoeStoe

TomO
Posts: 61
Joined: 04. Dec 2009, 10:24
Location: Berlin
Contact:

Re: zusätzliche Reports direkt aus dem Objekt aufrufen

Post by TomO » 21. Sep 2010, 14:06

Funktioniert wunderbar.. danke :mrgreen:

Darüber hinaus versuche Ich auch gerade einen neuen Type-Report einzubauen, scheitere aber an den Parametern. Ist es nicht so dass beim Aufruf eines Type-Reports die Expression-ObjectID des Objekts als Parameter @ObjectID an den Report weitergereicht wird?

User avatar
KSchoenberg
Posts: 22
Joined: 23. Oct 2009, 09:00
Contact:

Re: zusätzliche Reports direkt aus dem Objekt aufrufen

Post by KSchoenberg » 21. Sep 2010, 15:36

Hallo,

ggf. hilft Dir folgendes Beispiel weiter.
Wir rufen aus einer Aufgabe einen Report (Arbeitsauftrag) über die Ticketnummer auf.

function RunReport()
{

var ReportServer = '<%=update4u.SPS.Config.Provider.Settings.GetString("update4u.SPS.ReportingServices-server", "") %>';
var ReportRoot = '<%=update4u.SPS.Config.Provider.Settings.GetString("update4u.SPS.ReportingServices-rootFolder", "") %>';

var ReportLanguage = "<% =System.Threading.Thread.CurrentThread.CurrentUICulture.LCID%>";

var ReportParam = "&ObjectID=" + global_ObjectID;

if (ReportLanguage = 1031)
{
ReportLanguage = "/DE/";
var ReportPath = "TypeReports/SPSActivityTypeBase_Scherdel&rs:Command=Render";
}
else
{
ReportLanguage = "/EN/";
var ReportPath = "TypeReports/SPSActivityTypeBase_Scherdel&rs:Command=Render";
}

var ReportFullURL= ReportServer + '?' + ReportRoot + ReportLanguage + ReportPath + ReportParam;

javascript:void(window.open(ReportFullURL));
}

RegisterClienSideTask("00000000-0000-0000-0000-000000000000", "Arbeitsauftrag", "RunReport","/SPS/Images/Icons/16x16/worker.png");

TomO
Posts: 61
Joined: 04. Dec 2009, 10:24
Location: Berlin
Contact:

Re: zusätzliche Reports direkt aus dem Objekt aufrufen

Post by TomO » 22. Sep 2010, 09:40

KSchoenberg wrote:Hallo,

ggf. hilft Dir folgendes Beispiel weiter.
...
Dir auch nochmal danke. Das Script von JoeStoe ist ähnlich und funktioniert wunderbar. :mrgreen: Meine zweite Frage wäre in Richtung der TypeReports (also die die hinter dem Druck-Button liegen). Ich dachte bisher dass es reicht für einen TypeReport einen Parameter ObjectID abzufragen und die Suite übergibt dem Report beim Aufruf die Expression-ObjectID. Nun schaue Ich mir aber andere TypeReports an und frage mich ob dieser Parameter ausreicht?

EDIT (27.09.2010):
Habs auch mit den TypeReports hinbekommen. Parameter ObjectID übergibt die Expression-ObjectID.. sehr praktisch das :mrgreen:

Post Reply

Return to “Customizing und Reporting”

Who is online

Users browsing this forum: No registered users and 11 guests