いくつかのレコードフォームのリボンボタンからcrmダイアログを呼び出します。ダイアログ内でこのレコードGUIDを取得する方法はありますか?
3 に答える
すべての応答に感謝します。私は方法を見つけました。ダイアログ フォーム アシスタントでは、{ EntityName } の下のドロップダウンで選択するよりも、{ EntityName }を探す必要があります- ダイアログを呼び出す現在のレコードに関するすべてのデータが保存されています。
私のニーズはわずかに異なっていたため、提案された 2 つのソリューションは正確には適合しませんでした。これが他の誰かに役立つ場合に備えて投稿しています。プロンプトと応答ページに GUID を表示し、その GUID をカスタム コードに渡したいと考えていました。
もちろん、CRM は主キー guid をレコード名に変換します。
コードでは、その名前でレコードのエンティティをクエリできますが、その中で多くの余分な処理が行われるため、これは問題ありません。
追加のサポート情報については、すべてのフォームに管理タブがあります。この場合、フィールドを作成して管理タブに配置し、この JavaScript をフォーム OnLoad に追加しました。
function PopulateRecordGuid()
{
if (Xrm.Page.ui.getFormType() != 1)
{
if(Xrm.Page.getAttribute('xxxx_recordguid').getValue() == null )
{
var Id = Xrm.Page.data.entity.getId();
Id = Id.replace('{', '');
Id = Id.replace('}', '');
Xrm.Page.getAttribute('xxxx_recordguid').setValue(Id);
}
}
}
もちろん、レコードの作成などをトリガーするプラグインやワークフローを使用して作成メッセージに入力するなど、多くのバリエーションがあります。
はい、これを行うための素晴らしいウォークスルーは次のとおりです。
http://crmmongrel.blogspot.com/2011/06/launch-dialog-from-ribbon-button-in-crm.html
手順 6 では、リボンに次のものが含まれていることがわかります。
<CrmParameter Value="FirstPrimaryItemId" />