スクリプトの Microsoft Dynamics CRM 2013 へのアップグレード

Dynamics CRM 2013
 

対象: Dynamics CRM 2013

スクリプトが Microsoft Dynamics CRM 2011 および Microsoft Dynamics CRM Online の最新のリリースによって提供されるサポートされる Xrm.Page およびXrm.Utility APIのみを使用している場合、スクリプトがアップグレード後にも機能し続けることを確認するはずです。

アップグレードする前に、スクリプトのどれも Microsoft Dynamics CRM 2011 で廃止済みおよびMicrosoft Dynamics CRM 2013 および Microsoft Dynamics CRM Onlineで削除されている機能を使用していないことを確認する必要があります。スクリプトになお、これからのオブジェクトへのリファレンスが含まれている場合は、アップグレードすると失敗します。詳細については、「このリリースで除去された削除機能」を参照してください。

組織で Microsoft Dynamics CRM 2011 更新プログラム ロールアップ 12 またはそれ以降適用していないか、Microsoft Dynamics CRM 2012 年 12 月のサービス更新プログラム を使用していない場合、Internet Explorer以外のブラウザーで作業することを確認するために、スクリプトをテストしていない場合、または変更できない場合もあります。アップグレードすると、ユーザーは サポートされる web ブラウザーとモバイル デバイスで他に説明されるブラウザーを使用できるようになります。スクリプトが壊れる原因となる可能性のあるさまざまブラウザーで JavaScript を使用する場合に、使用可能な機能には一部違いがあります。さまざまなブラウザーを使用してスクリプトをテストして修正する必要があります。詳細については、「複数のブラウザーで Javascript を記述する」を参照してください。

組織またはソリューションに、非サポート メソッドを使用するスクリプトが含まれる場合、このリリースでは機能しないことがあります。スクリプトをテストして、引き続き機能するかどうかを確認する必要があります。それらが機能していない場合、提供する機能がサポートされるメソッドを使用して達成できるか、機能が削除できるかどうか、アップグレードされたアプリケーション内でこの機能を達成する何らかの他の方法が見つかるかを評価する必要があります。詳細については、「サポートされないメソッドを置き換えるための新機能」を参照してください。

Microsoft Dynamics CRM 2013 のカスタム コード確認ツール は、スクリプトがこのリリースで破壊される原因となる可能性がある問題について、web リソースを調べるために、インストールし、実行できる管理ソリューションです。これは、潜在的リスクを見つける点で助けになる有用なリソースです。これは、すべての潜在的な問題となることを発見できるわけではなく、一部の誤検知を提起します。なお、コードが行うことを理解してテストすることが必要です。

フォーム スクリプトでよく使用される次の機能は Microsoft Dynamics CRM 2011 および Microsoft Dynamics CRM Online で削除されており、Microsoft Dynamics CRM 2013 および Microsoft Dynamics CRM Onlineでは使用できません。

Microsoft Dynamics CRM 4.0 のオブジェクト モデル

Microsoft Dynamics CRM 4.0 SDK のトピック フォーム プログラミング リファレンス および グローバルのスクリプト参照 で説明しているオブジェクトは使用できません。各グローバルな関数または変数は新しい API置き換えられました。それらに置き換わる API については Client-side context (client-side reference) を参照してください。crmForm オブジェクトを参照するすべてのコードは Xrm.Page オブジェクトに含まれる同等の API と取り替えられる必要があります。詳細については、「Client-side programming reference」および「フォーム スクリプトの簡易参照」を参照してください。

Microsoft Dynamics CRM 4.0 (2007) web サービス エンドポイント

JavaScriptを使用して 2007 web サービス エンドポイントを使用してデータにアクセスすることができました。Microsoft Dynamics CRM 4.0 SDK には、これを行う方法を説明した スクリプト サンプル コード に何らかのサンプル コードが含まれ、さまざまなオープン ソース コミュニティ ライブラリはこれを行うための関数を提供します。ただし Microsoft Dynamics CRM 2011 がリリースされたので、web サービスにアクセスするするための推奨される方法は、OData (REST) エンドポイントと現代の App の SOAP エンドポイントを使用しています。2007 エンドポイントはこのリリースで削除されるために、OData または現代の App の SOAP エンドポイントのいずれかを使用するためにはコードを更新する必要があります。詳細については、「Web リソースでの Web サービス データの使用 (OData および最近のアプリの SOAP エンドポイント)」を参照してください。

Xrm.Page.context.getServerUrl と Xrm.Page.context.AuthenticationHeader

Xrm.Page.context.getServerUrl は、組織の URL を取得する一貫性のある方法を提供するために、Xrm.Page.context.getClientUrl に優先して削除されました。

Xrm.Page.context.AuthenticationHeader は、OData (REST) エンドポイントまたは現代の App の SOAP エンドポイントに、少しも必要とされませんでした。Microsoft Dynamics CRM 4.0GenerateAuthenticationHeader 関数に対する代替物を提供するためにのみ提供されました。2007 エンドポイントが削除されたので、そのための必要はありません。

次の表は、以前のバージョンでは非サポート メソッドを使用しないと実現できなかった機能に取って代わる、Xrm.Page を使用した新機能の一覧です。これまで非サポートのメソッドを使用してこれらの結果を達成していた場合は、スクリプトを変更して、それらがアップグレード後にこれらのサポート済みメソッドを使用するようにしてください。

目標

Xrm.Page メソッド

ユーザー定義のツールヒントの表示

属性説明を編集します。属性説明のテキストがツールヒントとして表示されます。コードは必要ありません。

フォームおよびコントロール通知の表示

Xrm.Page.ui control.setNotification は、コントロールで通知メッセージをセットし、Xrm.Page.ui control.clearNotificationがクリアするために呼び出されるまで、レコードの保存を防止するために使用します。

Xrm.Page.ui control.setFormNotification はフォーム レベル通知をセットするために使用し、Xrm.Page.ui.clearFormNotification はそれをクリアするために使用します。

検索フィールド用に提供されたビューを操作する。

検索の値を設定する際、検索ダイアログが開く直前に、新しい PreSearch イベント を使用します。このイベントには、アプリケーションにイベント ハンドラーを設定するユーザー インターフェイスがなく、それは Xrm.Page.ui control.addPreSearch メソッドを使用してのみ設定できます。このイベントは、addCustomFilteraddCustomView、および setDefaultView メソッドと共に使用して、ユーザーがレコードを検索して、それを検索フィールドの値として設定するときに開くビューを制御します。

日付コントロールで日付の時間の部分を表示するかどうかを指定します。

Xrm.Page.ui control.setShowTimeの使用

フォームに表示されるラベルを変更する。

タブ、セクション、コントロール、およびナビゲーション アイテムに、setLabel メソッドを使用します。

フォーム要素を非表示にする。

タブ、セクション、コントロール、およびナビゲーション アイテムに、setVisible メソッドを使用します。

tab.setDisplayState メソッドを使用すると、タブを閉じたり開いたりすることができます。

フォーム タブまたはナビゲーション領域にフォーカスを設定する。

タブ、コントロール、およびナビゲーション アイテムに使用可能な setFocus メソッドを使用します。

  • ] タブの順にクリックする方法もあります。setFocus

  • コントロール。setFocus

  • ナビゲーション アイテム。setFocus

コントロールに必要なレベルを設定する。

attribute.setRequiredLevel メソッドを使用します。

コードを使用してイベントに関数を追加する。

attribute.addOnChange または entity.addOnSave メソッドを使用します。

メニュー項目またはボタンを非表示にする。

Xrm.Page 内の機能のうち、リボンに影響を与えるのは、refreshRibbon メソッドだけです。リボン内に表示されるコントロールを非表示または無効化するには、<CommandDefinition> (RibbonDiffXml) 要素内で <EnableRule> (RibbonDiffXml) および <DisplayRule> (RibbonDiffXml) を構成する必要があります。

これらのルールを使用すると、さまざまなデータ駆動型ルールを適用して、フォームのコントロールを非表示または無効にできます。提供されているどのルール要素からも利用できないデータがロジックに必要な場合は、JScript ライブラリ内の関数を呼び出す <CustomRule> (RibbonDiffXml) を作成できます。詳細については、「リボンの表示ルールの定義」を参照してください。

表示: