CRM 2011 Bericht erstellen

8. Mai 2012 16:51

Hallo,

ich habe mich bereits durch diverse Foren durchgekämpft und auch die SDK Einträge durchgelesen zu diesem Thema, nur werde ich nicht wirklich schlau daraus.
Meine Aufgabenstellung ist es einen Report in BIDS zu erstellen, den ich direkt in CRM bei einer Entität hinterlegen kann und der auch von dort aufgerufen werden kann (Mit der entsprechenden GUID der Entität). Das ganze soll ein SQL basierender Report sein und nicht die Fetch Technologie verwenden.

Meine Frage wäre, wie ich hier vorgehen muss, also im Bezug auf die Erstellung eines kleinen Reports (Parameter Setztng, ein kleines DataSet mit einer Spalte aus Account, Bericht Registrierung im CRM mit Standardfilter)
zB.: Ausgabe von Informationen eines Accounts (ähnlich Firmenübersicht). Wenn der Report unter alle Berichte aufgerufen wird, sollen alle Accounts angezeigt werden, wenn dieser von einem Account direkt aufgerufen wird, sollen nur Informationen zum aktuellen Account ausgegeben werden

Meinen Recherchen nach sollte es irgendwie mit den CRMAF_ Prefix zu tun haben, jedoch funktioniert das bei mir nicht, oder nicht so wie ich es mir überlegt habe :-( . Bzw. könnte mir jemand den Code der RDL Datei kurz hier rein kopieren?

Eine weitere Frage wäre noch, da man den Bericht so immer über den Punkt vorhandene Datei direkt ins CRM laden muss, kann man das ganze auch über "Link zur Webseite" einbinden und somit den Report auf einem Reportserver oder ähnlichem hosten?


Vielen Dank für eure Hilfe,
Christian

Re: CRM 2011 Bericht erstellen

9. Mai 2012 09:16

Hallo Christian,

erst einmal herzlich willkommen in unserem Forum.

Bitte immer nur eine Frage pro Beitrag, sonst wird es für die Benutzer des Forums schwerer sich zurechtzufinden bzw. die Antworten auf Ihre Fragen zu finden.
Ich werde deshalb hier nur den Teil der Frage beantworten, der sich auf die Erstellung eines Reports bezieht.

Das einfachste ist, du machst dir über den Report Wizzard erst einmal einen einfachen Report im CRM, der schon die benötigten Entitäten und Verknüpfungen enthält. Diesen Report kannst du dann innerhalb des CRM in eine RDL Datei exportieren, die du dann mit VS weiterbearbeiten kannst.
Innerhalb von VS kannst du dann deinen Report entsprechend deinen Anforderungen formatieren und auf Filtern, das funktioniert mit dem CRMAF_Prefix.

Eine SQL Abfrage könnte z.B. so aussehen:
Code:
SELECT     CRMAF_FilteredActivityPointer.activitytypecodename, CRMAF_FilteredActivityPointer.regardingobjectidname, CRMAF_FilteredActivityPointer.subject,
                      CRMAF_FilteredAccount.name
FROM         FilteredActivityPointer AS CRMAF_FilteredActivityPointer INNER JOIN
                      FilteredAccount AS CRMAF_FilteredAccount ON CRMAF_FilteredAccount.accountid = CRMAF_FilteredActivityPointer.regardingobjectid


Aber warum die Festlegung auf SQL? Die Zukunft gehört eindeutig Fetch-XML.

Re: CRM 2011 Bericht erstellen

9. Mai 2012 11:16

Hallo Michael,

erst einmal herzlich willkommen in unserem Forum.

vielen Dank und Hallo, sehr interessantes Forum habt ihr hier.

Bitte immer nur eine Frage pro Beitrag, sonst wird es für die Benutzer des Forums schwerer sich zurechtzufinden bzw. die Antworten auf Ihre Fragen zu finden.

sorry an dieser Stelle, ich dachte nur dass dieses Thema diese beiden Bereiche leicht umschließt und somit die 2 Fragen, werde aber sonst noch einen 2. Thread erstellen

Das einfachste ist, du machst dir über den Report Wizzard erst einmal einen einfachen Report im CRM, der schon die benötigten Entitäten und Verknüpfungen enthält. Diesen Report kannst du dann innerhalb des CRM in eine RDL Datei exportieren, die du dann mit VS weiterbearbeiten kannst.
Innerhalb von VS kannst du dann deinen Report entsprechend deinen Anforderungen formatieren und auf Filtern, das funktioniert mit dem CRMAF_Prefix.

Das Problem bei den Reports aus dem ReportWizard ist, dass diese leider immer Fetch-Based und aufgrund einer Vorgabe nicht brauchbar für mich sind. Die Vorgabe besteht leider und ich kann sie auch nicht umgehen.

Meine Frage wäre jetzt, wenn ich zB.: den angegebenen Code von dir verwende, wie übergibt das CRM die AccountID oder die jeweilige GUID der Entität an den Report. Ich muss doch hier irgendwie über Parameter lösen mit dem CRMAF_Prefix und diesen an das Dataset übergeben, damit dieses die Filterung zb auf die AccountID durchführen kann.

Hast du vl. ein Codestück mit Parameter und Dataset aus der RDL Datei parat, damit ich mir dies testhalber in einem Report zusammenstöpseln könnte und ins CRM auf Account-Ebene (oder ähnlichem) einhängen könnte. Irgendwie drehe ich mich hier leider schon im Kreis.

Vielen Dank!!!

Re: CRM 2011 Bericht erstellen

9. Mai 2012 13:21

Hallo,

Meine Frage wäre jetzt, wenn ich zB.: den angegebenen Code von dir verwende, wie übergibt das CRM die AccountID oder die jeweilige GUID der Entität an den Report. Ich muss doch hier irgendwie über Parameter lösen mit dem CRMAF_Prefix und diesen an das Dataset übergeben, damit dieses die Filterung zb auf die AccountID durchführen kann.

Das macht das CRM System automatisch für dich, darum musst du dich nicht kümmern. Durch die Einbindung des CRMAF_Prefixes geschieht diese FIlterung automatisch.

Hast du vl. ein Codestück mit Parameter und Dataset aus der RDL Datei parat, damit ich mir dies testhalber in einem Report zusammenstöpseln könnte und ins CRM auf Account-Ebene (oder ähnlichem) einhängen könnte. Irgendwie drehe ich mich hier leider schon im Kreis.

Code:
SELECT DISTINCT
contact.firstname,
contact.lastname,
contact.dl_function1name,
contact.dl_function2name,
contact.dl_nationalityidname,
contact.parentcustomeridname,
contact.dl_athleterepresentidname
FROM (' + @CRM_Filteredcontact + ') AS conact

Der obige Code beinhaltet einen Filter und holt alle Kontakte aus dem CRM.

Re: CRM 2011 Bericht erstellen

9. Mai 2012 16:35

Hallo

Code:
SELECT DISTINCT
contact.firstname,
contact.lastname,
contact.dl_function1name,
contact.dl_function2name,
contact.dl_nationalityidname,
contact.parentcustomeridname,
contact.dl_athleterepresentidname
FROM (' + @CRM_Filteredcontact + ') AS conact


sorry, aber hier verstehe ich deinen Code nicht ganz. Wenn ich dich richtig verstanden habe, dann erstelle ich einfach ein Dataset mit genau diesem Code und dadurch sollte ich auch einen Reportparameter erstellen/erstellt bekommen, der mir durch das CRM befüllt wird.

ich dachte immer, der Code fürs DataSet sollte so oder so ähnlich aussehen:
Code:
select CRM_FilteredContact.lastname
from FilteredContact as CRM_FilteredContact
where CRM_FilteredContact.contactid = @CRM_FilteredContactID

und dazu brauche ich auch noch einen Reportparameter der @CRM_FilteredContactID heist und noch ein paar Einstellungen hat.

Nur anscheinend bin ich hier irgendwie auf dem Holzweg. Hast du vl. einen Codesnippet von einem Report-File Code parat, indem man ein Dataset + den dazugehörigen Reportparameter sehen kann?


vielen Dank!!!

lieben Gruß

Re: CRM 2011 Bericht erstellen

9. Mai 2012 17:00

Hallo,

ich verstehe dein Problem nicht so ganz. Der gepostete Code funktioniert, ich habe ihn aus einer RDL-Datei herauskopiert, kommt allerdings noch von CRM 4.0, da ich in 2011 nur Reports mit Fetch XML erstellt habe.

Re: CRM 2011 Bericht erstellen

6. Juni 2012 09:04

Hi,

Sorry für die verspätete Antwort.

ich verstehe dein Problem nicht so ganz. Der gepostete Code funktioniert, ich habe ihn aus einer RDL-Datei herauskopiert, kommt allerdings noch von CRM 4.0, da ich in 2011 nur Reports mit Fetch XML erstellt habe.


der Code funktioniert, ich die Variante nur zu Beginn nicht verstanden, wie das mit dem FROM-Teil funktioniert:
Code:
FROM (' + @CRM_Filteredcontact + ') AS conact

Bei mir funktioniert mittlerweile die Übergabe mittels CRM Parameter bei den default FilteredViews nur leider bei den custom Entity FilteredViews nicht. Hier wird immer der default Wert verwendet und der Parameter nicht korrekt befüllt.

Kennt jemand von euch das Problem?

lg Christian