メモ
コミュニティの関心グループが Yammer から Microsoft Viva Engage に移行されました。 Viva Engage コミュニティに参加し、最新のディスカッションに参加するには、「 Finance and Operations Viva Engage Community へのアクセスを要求する 」フォームに入力し、参加するコミュニティを選択します。
このチュートリアルでは、モデルでソース管理を有効にするように Microsoft Azure DevOps を構成する方法について説明します。 また、TODO タスクの作成と整理、メタデータとソース コードの検索、関連するモデル要素間の移動、モデルからのプロジェクトの作成などの、開発ツールの他の生産性機能についても学習できます。
Azure DevOps 組織およびプロジェクトをコンフィギュレーションする
このセクションでは、Azure DevOps で新しいプロジェクトを作成します。 このプロジェクトは、モデルのソース コードをホストします。 あなたはフリート管理モデルを例として使います。 Azure DevOps 組織がない場合は、作成します。
Azure DevOps にサインアップし、アカウントを作成して、新しいプロジェクトを作成する
https://www.visualstudio.com/ に移動して Azure DevOps に新規登録します。 [ サインアップ] を選択します。 Azure DevOps のアカウントを既に持っている場合は、この記事の後半の Azure DevOps チーム プロジェクトの作成 セクションに移動します。
Microsoft アカウントを使用してサインインします。
メモ
組織のアカウント (Microsoft 365 ドメイン) を使用することも可能です。
Azure DevOps 組織を作成し、アカウントの URL を選択します。 Visual Studio でソース管理を構成するときに、この URL を使用して開発用コンピューターから接続します。 次の図は、アカウント URL の例です。
アカウントを作成すると、アカウントのメイン ページが表示され、最初のプロジェクトを作成するように求められます。
デモフリート管理プロジェクトを作成します。
メモ
このチュートリアルでは、財務と運用アプリの既定のオプションである Team Foundation Version Control (TFVC) を使用することを前提としています。 X++ 開発用にC++ を使用する方法の詳細については、Git の X++ を参照してください。
Azure DevOps チーム プロジェクトの作成
Azure DevOps 組織を既に持っている場合は、Microsoft Edge のアカウントに移動します。 この記事では、説明のための URL の例として .visualstudio.com を使用します。
https://www.visualstudio.com/ に移動します。
[ 最近使用したプロジェクトとチーム] で、[ 新規 ] を選択して新しいプロジェクトを作成します。
[ プロジェクト名 ] フィールドに「 フリート管理」と入力し、[ 説明] を入力して、[ プロジェクトの作成] を選択します。
チーム プロジェクトで推奨するフォルダー構造を作成する
Microsoft Dynamics Lifecycle Services の自動コード アップグレード ツールを使用して以前のバージョンからコードを移行すると、Azure DevOps チーム プロジェクトに次のフォルダー構造が自動的に作成されます。
メタデータ フォルダーには、パッケージとモデルによって整理されたソース XML ファイルがあり、プロジェクトフォルダーには Visual Studio プロジェクトが含まれています。 コードを移行せず、最初から開始する場合は、開発を開始する前に、チーム プロジェクトのサーバーで同様のフォルダー構造を作成します。
Visual Studio をコンフィギュレーションしてチーム プロジェクトに接続する
Visual Studio を開きます。 管理者としてマシンにサインインしている場合は、管理者として Visual Studio を開きます。
ツール>オプション>ソース コントロール>プラグイン選択を選択します。
[ 現在のソース管理プラグイン ] フィールドで、 Visual Studio Team Foundation Server を選択します。
[ Team>Connect to Team Foundation Server を選択します。
チーム エクスプローラーで、[チーム プロジェクトの選択] を選択します。
[ Team Foundation Server の選択 ] ドロップダウン リストで、Fleet Management プロジェクトをホストする Azure DevOps 組織 を選択するか、メニューにない場合は [ サーバー ] を選択します。
- [ Team Foundation Server の追加と削除 ] ダイアログが開いたら、[ 追加] を選択します。
- Azure DevOps 組織の URL を入力します。
- [OK] を選択.
- メッセージが表示されたら、Microsoft アカウントのユーザー名とパスワードを入力します。
[チーム プロジェクト] の [フリート管理] チェック ボックスをオンにし、[接続] を選択します。
Azure DevOps プロジェクトをローカルのモデル ストアとプロジェクト フォルダーにマップ
モデル ストアのルート フォルダーには、アプリケーションの一部であるすべてのパッケージとモデルのソース ファイルが含まれています。 デプロイ時には、通常、複数のパッケージ間で複数のモデルのソース ファイルを使用します。 モデル ストアのルート フォルダーを Azure DevOps チーム プロジェクトのメタデータ フォルダーにマップします。
Visual Studio の チーム エクスプローラー で、このドキュメントで前に説明したようにチーム プロジェクトに接続します。
ソース管理エクスプローラーからチーム エクスプローラーを開きます。
チーム プロジェクトの メタデータ フォルダーを、ローカル ドライブ (通常は
K:\AOSService\PackagesLocalDirectory) のモデル ストアのルート フォルダーにマップします。 次の図に例を示します。メモ
モデル ストアは、コンピューターの構成によっては、
I:\AosService\PackagesLocalDirectoryまたは別のドライブの下に配置される場合があります。
[ マップ] を選択し、次のダイアログで [いいえ] を選択 します。
同様に、 /Trunk/Main/Projects サーバー フォルダーを、Visual Studio ソリューションとプロジェクト ファイルを保持する ローカル プロジェクト フォルダー にマップします。
シナリオ 1: フリート管理ソリューションを開き、Azure DevOps ソース管理に追加する
このセクションでは、Azure DevOps のソース管理にソリューションを追加するために必要なステップについて説明します。 このシナリオは、新しいモデルで開発を開始し、初めてソース管理に追加する場合に関連します。 コード移行シナリオ、または別の開発者が作成した新しいモデルを同期する場合は、 シナリオ 2 を参照してください。
FleetManagement ソリューションを開く
メモ
このプロジェクトは単なる一例です。 任意のプロジェクトまたはソリューションを開いて、ソース管理にソリューションを追加するプロセスについて学習できます。
- ファイル メニューで、開くをポイントし、プロジェクト/ソリューションを選択します。
- デスクトップを参照し、FleetManagement フォルダーを開きます。
- FleetManagement という名前のソリューション ファイルを選択します。 表示されるファイル タイプは Microsoft Visual Studio Solution です。 ソリューション ファイルが自分のコンピューターにない場合、フリート管理サンプル アプリケーションのエンド アンド エンドのシナリオ の手順に従って作成します。
- [Open] を選択します。 ソリューションの読み込みには時間がかかる場合があります。
ソース コントロールへの FleetManagement ソリューションの追加
ソリューション エクスプローラーで、Fleet Management ソリューションを右クリックし、[ソース管理にソリューションを追加] を選択します。
[Team Foundation バージョン管理] を選択し、[次へ] を選択します。
チーム プロジェクトの場所で、[プロジェクト] を選択します。
メモ
FleetManagement ソリューションを含むローカル フォルダーにサーバー プロジェクト フォルダーを既にマップしている場合は、手順 2 と 3 をスキップします。
[OK] を選択.
Team Explorer >保留中の変更に移動し、[チェックイン] を選択して、ソリューションとそのモデル要素を Azure DevOps ソース管理にチェックインします。
ソース コントロールへのモデル記述子ファイルの追加
すべての Visual Studio プロジェクトはモデルに属しています。 モデルは、通常 Visual Studio プロジェクトよりも大きなスコープ内にあるソース コードの配布と配置の単位です。 前のセクションでは、ソースコード管理にフリート管理ソリューションの要素ファイルを追加しました。 このアクションは、フリート管理モデルの要素をソース管理に初めて追加したため、モデル記述子ファイルもチェックインする必要があります。
Visual Studio 内のチーム エクスプローラーで,ソース管理エクスプローラーを開きます。
メタデータ フォルダー (たとえば、 \Trunk\Main\Metadata) を右クリックし、[ フォルダーにアイテムを追加...] を選択します。
モデル記述子ファイルを選択します。 モデル記述子ファイルは、モデルの XML ファイルのマニフェストです。 これは、モデルが属するパッケージの記述子フォルダーにあります。 次の図は、フリート管理モデルのモデル記述子ファイルが存在する場所の例を示しています (c:\packages\FleetManagement\Descriptor\FleetManagement.xml)。
メモ
マシンの構成によっては、モデル ストアが K:\AosService\PackagesLocalDirectory、c:\AosService\PackagesLocalDirectory、または別のドライブの下にある場合があります。
完了を選択します。
メモ
ソリューションには 2 つのモデルの要素が含まれているため、ソース管理に追加のモデル記述子ファイルを追加する必要があります:K:\AOSService\PackagesLocalDirectory\FleetManagementExtension\Descriptor\FleetManagementExtension.xml
保留中のアイテムを確認してください。 最新のクラウドベースのソース管理システムと、Azure DevOps の他の多くのアプリケーション ライフサイクル機能を使用して、フリート管理アプリケーションを開発できるようになりました。
ソース管理を試す
このセクションでは、 FMRental テーブルに軽微な変更を加え、変更をソース コード リポジトリの最新バージョンと比較します。
ソリューション エクスプローラーで、フリート管理移行済みデータモデル>テーブル>FMRental>を選択します。
デザイナーを開けるには、FMRental をダブルクリックします。
[フィールド] ノードを右クリックし、[新しい>整数] を選択します。
メソッド を右クリックして、新しいメソッドを追加します。
X++ コード エディターで、新たなメソッドにコメントを入力します。
既存メソッドにコメントを入力します。
FMRental テーブルを保存します。
チーム エクスプローラーで、FMRental.xml を右クリックして最新バージョンと比較を選択します。
比較 (差異) ウィンドウの違いを参照してください。
ソリューション エクスプローラーで FMRental テーブルを右クリックし、ソース管理 > 元に戻す > 保留中の変更を選択して変更を元に戻します。
次のダイアログで取り消しを確認し、差異ウィンドウを閉じます。
シナリオ 2: ソース管理からモデルを同期する
このセクションでは、Azure DevOps プロジェクトから既存のモデルとモデル要素を同期します。 同期は、次の場合に関連します。1) ライフサイクル サービスを介して以前のバージョンからコードを移行した場合、または 2) 別の開発者が新しいモデルまたは新しいモデル要素をチェックインし、それらを開発環境に同期する必要があります。
ソース管理エクスプローラーで、[メタデータ] を右クリックし、[最新バージョンの取得] を選択します。 最新バージョンを取得すると、ローカル パッケージ フォルダーが最新のコードと同期されます。
または、[ 詳細設定 ] メニューを使用して、特定のビルド バージョンまたは変更セットを同期します。
同期が完了し、同期によって環境に新しいモデルが追加された場合は、Visual Studio からメタデータを更新します。
Dynamics 365 > モデル管理 > モデルの更新の順に移動します。
プロジェクト内の TODO タスクの整理
このセクションでは、X++ コードに埋め込まれたタスク (TODO コメント) から Visual Studio プロジェクトを作成する方法について説明します。
ソリューション エクスプローラー で、フリート管理移行済みコーディングクラス を選択し、FMDataHelper FMDataHelper をダブルクリックします。 X++ コード エディターが開きます。任意のメソッド内に TODO コメント (
//TODO: my comment) を入力します。他のフリート管理のクラスやテーブルを開き、さらに TODO コメントを追加します。
FleetManagement Migrated プロジェクトをリビルドします。
[ タスク リスト > 表示 ] を選択して、Visual Studio の [タスク一覧] ウィンドウを開きます。
ドロップダウン リストから コメント を選択します。
すべての作業項目を選択して右クリックし、新しいプロジェクトに追加 を選択します。
項目を追加すると、[ 新しいプロジェクト ] ダイアログが開き、すべての TODO を含む新しいプロジェクトを作成できます。
このプロジェクトを作業プロジェクトとして保存し、TODO リストを管理することができます。
完了したら、 チーム エクスプローラーで保留中のすべての変更を元に戻します。
[ ファイル] > [ソリューションを閉じる ] を選択して FleetManagement ソリューションを閉じます。
メタデータ検索とナビゲーション ツールを使用して要素を検索し、プロジェクトを作成する
このセクションでは、アプリケーション全体でメタデータ ベースの検索を実行する方法を示します。
[メタデータ検索] ウィンドウの使用
Dynamics 365 > メタデータ検索を選択します。
[ メタデータ検索 ] ウィンドウの [検索 ] フィールドに、次のテキストを入力して、会社間クエリを含む Application Suite モデル内のすべてのテーブル挿入メソッドを検索します:
type:table,method name:insert code:"crosscompany" model:"Application Suite"。検索が完了するまで待ちます。 しばらく時間がかかる場合があります。
リスト内の結果をダブルクリックします。 コード エディターが開き、検索条件に一致する行にカーソルが置かれます。
Ctrl キーを押しながら複数選択することで結果リストで複数の要素を選択し、右クリックして 新しいプロジェクトに追加 を選択します。 要素を追加すると、選択した要素を含む新しいソリューションとプロジェクトを作成できます。
他の検索例を試す
検索結果を操作する前に、検索が完了するのを待つ必要はありません。 いつでも結果をダブルクリックして、検索条件に一致するメタデータまたはソース コードを表示することができます。 推奨される検索例を次に示します。
モデル アプリケーション スイートの表示モードおよび自動幅モードで定義された、垂直タブのコントロールを検索します。
type:form,formtabcontrol property:arrangeMethod=Vertical,ViewEditMode=view,WidthMode=Auto model:"Application Suite"プロパティ heightmode = 列で編集できないすべてのフォーム内のグリッド コントロールを検索します。
type:form,formgridcontrol:allowedit=no,heightmode=columnアプリケーション スイート モデル内のすべての SimpleListDetail フォームを検索します。
type:formdesign property:style=simplelistdetail model:"Application Suite"キーワード xpNum を含むインデックス フィールド名を持つすべてのテーブルを検索します。
type:table,tableindexfield anem: xpNum*以前の検索条件にアクセスするには、検索バーのドロップダウン メニューを使用します。
関連する要素への移動
このセクションでは、アプリケーション エクスプローラーまたはソリューション エクスプローラーで関連要素を見つけることなく、ある要素から関連要素に移動する機能を紹介します。
アプリケーション エクスプローラーを開き、モデル ビューに切り替えます。
フリート管理モデルで、ユーザー インターフェイス>メニュー項目>メニュー項目を表示>FMCustomerを選択します。
FMCustomer を右クリックし、デザイナーを開く を選択します。
FMCustomer メニュー項目デザイナーでルート ノードを右クリックし、フォーム FMCustomer に移動するを選択します。
FMCustomer フォーム デザイナーが開きます。
FMCustomer フォームのデザイナーで、[データ ソース] を展開し、[FMCustomer] を右クリックし、[テーブル FMCustomer に移動] を選択します。
FMCustomer テーブル デザイナーが開きます。
同じ手法を使用すると、テーブル フィールドが参照する EDT 要素に移動できます。 ヒント: コンテキスト メニューを開くのではなく F9 キーを押します。 F9 キーを使用すると、参照先の要素のデザイナーが開きます。 ヒント: 現在のプロジェクトに要素を追加するには、ドキュメント タブを右クリックし、プロジェクトへの追加を選択します。
アプリケーション エクスプローラーを使用してモデルからプロジェクトを作成
アプリケーション エクスプローラーを使用して、モデルのすべてまたは一部の要素を検索し、検索結果からプロジェクトを作成できます。
要素のタイプでプロジェクトを整理するためのオプションがオンになっていることを確認します。 Dynamics 365 > オプション > プロジェクトの順に移動します。
アプリケーション エクスプローラーに移動し、目的のモデル内の要素を検索します。 たとえば、「 model:"fleet management"」と 入力し、Enter キーを 押します。
検索が完了したら、AOT ルート ノードを右クリックし、[新しいプロジェクトに検索結果を追加] を選択します。
[新しいプロジェクト] ダイアログでプロジェクトのプロパティを指定し、[ OK] を 選択してプロジェクトを作成します。
ヒント
検索結果からプロジェクトを作成するには、すべての結果が同じモデルにある限り、任意の種類、名前、またはその他のフィルターを検索に追加します。 たとえば、 model:"Fleet Management" type:Table name:^FM は、名前が FM で始まるフリート管理モデル内のすべてのテーブルを返します。