2012-05-14 5 views

答えて

8

リボンボタンからレポートを実行するには、ボタンから呼び出す関数を含むjsファイルを作成する必要があります。

あなたは4つのものが必要です。

  1. rdlName - RDLファイル名を。
  2. reportGuidレポートのGUID。
  3. entityGuid =レポートを実行するエンティティGUID。
  4. entityType =エンティティオブジェクトタイプコード。

これは例です。

function printOutOnClick() { 
    // This function generates a Print out 
    var rdlName = "SomeReport.rdl"; 
    var reportGuid = "9A984A27-34E5-E011-B68F-005056AC478A"; 
    var entityGuid = Xrm.Page.data.entity.getId();//Here I am getting Entity GUID it from it's form 
    var entityType = "4214"; 
    var link = serverUrl + "/" + organizationName + "/crmreports/viewer/viewer.aspx?action=run&context=records&helpID=" + rdlName + "&id={" + reportGuid + "}&records=" + entityGuid + "&recordstype=" + entityType; 
    openStdDlg(link, null, 800, 600, true, false, null); 
} 

openStdDlg()はMS Dynamics CRMのは、それ自体を使用しています)window.openのラッパー(ですので、あなたがこの記事のように行う必要があるリボンボタンに追加するにはI.

を行うHow to start a Dialog from Application Ribbon (CRM 2011)代わりにレポートを呼び出す必要があります。

+0

ありがとうGrigory!これは非常に便利なスニペットで、私は実際にjsでクリックして印刷する方法を知りました!ボタンに問題はありません。すでにいくつか追加してjs関数を作成しました。 – MademoiselleLenore

+0

openStdDlgの使用には注意が必要です。技術的には、その機能を使用するにはサポートされていません。 – GotDibbs

1

RDL名の後、GUIDはRecordGuidでなくてはならない。

+0

ありがとうございました。 – Grigory

+1

これは非常に役に立ちましたが、entityType 4214の使用については混乱していました.Microsoftによれば、Service Appointmentです。 OPはレポートについて尋ねた...私はあなたのスニペットが単なるサンプルであったことを知っています。しかし、私はレポートのエンティティタイプを見つけることができませんでした...それはドロップすることができますか? – GPGVM

関連する問題