Page 1 of 1
zusätzliche Reports direkt aus dem Objekt aufrufen
Posted: 10. Sep 2010, 16:23
by TomO
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?
Re: zusätzliche Reports direkt aus dem Objekt aufrufen
Posted: 10. Sep 2010, 22:16
by Alexander Weber
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.
Re: zusätzliche Reports direkt aus dem Objekt aufrufen
Posted: 15. Sep 2010, 09:00
by TomO
Alexander Weber wrote:Hallo,
da gibt es zwei Möglichkeiten.
...
Danke dir erstmal für die Antwort.

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

) 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.
Re: zusätzliche Reports direkt aus dem Objekt aufrufen
Posted: 18. Sep 2010, 14:22
by JoeStoe
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
--
JoeStoe
Re: zusätzliche Reports direkt aus dem Objekt aufrufen
Posted: 21. Sep 2010, 14:06
by TomO
Funktioniert wunderbar.. danke
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?
Re: zusätzliche Reports direkt aus dem Objekt aufrufen
Posted: 21. Sep 2010, 15:36
by KSchoenberg
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");
Re: zusätzliche Reports direkt aus dem Objekt aufrufen
Posted: 22. Sep 2010, 09:40
by TomO
KSchoenberg wrote:Hallo,
ggf. hilft Dir folgendes Beispiel weiter.
...
Dir auch nochmal danke. Das Script von JoeStoe ist ähnlich und funktioniert wunderbar.

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
