Business Centralでは、テーブル内のフィールドには特定のデータ型が割り当てられ、それによって格納できるデータの種類が決まります。ケーススタディで紹介した「Non-conformity(不適合)」テーブルでは、以下のデータ型を使用する必要があります。
不適合日フィールドの日付:これは、不適合日フィールドには不適合が記録された日付のみを格納する必要があるためです。日付データ型は、時刻を含まない日付を格納するのに適しています。
不適合番号フィールドのコード:不適合番号フィールドは、「NC24-001」のように、「NC」と年を含む形式の英数字値を使用するように定義されています。Business Centralでは、コードデータ型は英数字キーを格納するフィールドに使用されます。これは長さが制限されたテキストフィールドであるため、文字と数字を含む番号系列に適しています。
その他のオプションは適していません:
A . 不適合番号フィールドの整数: 不適合番号には整数だけでなく英数字も含まれるため、これは適切ではありません。
B . 非適合日フィールドの日時: 日付と一緒に時刻を保存する必要がないため、これは正しくありません。
C . 不適合番号フィールドのChar:Business Centralでは、番号シリーズや識別子にCharデータ型を使用することは通常ありません。この用途にはCodeデータ型が推奨されます。
トピック2、Contoso 社
概要
Contoso 株式会社は製造業を営む販売会社です。複数の国/地域に子会社を持ち、それぞれが独自のローカライズを行っています。これらの子会社は相互にデータ独立性を保つ必要があります。Contoso 株式会社は、一部の製造品目の下請け管理を外部のビジネスパートナーに委託しています。Contoso 株式会社には複数の部門があり、部門間のデータセキュリティが求められています。
Contoso社は、財務、販売、購買、倉庫、製造プロセスにおける主要なERPとしてBusiness Central Onlineを使用しています。従業員はBusiness Central Webアプリケーションと外部アプリケーションを使用しています。また、カスタムの外部モバイルアプリを開発中です。IT部門とそのパートナーは、ネイティブでは利用できない機能に対応するためにカスタム拡張機能をインストールし、会社の要件を満たしています。
Contoso Ltd. は、顧客やパートナーが提供する外部サービスと連携しています。Business Central から公開される SOAP および OData エンドポイントは、さまざまなアプリケーションによって操作されます。
Contoso 社の外部ビジネス パートナーは、新しい下請け注文の詳細を受信し、受信した各下請け注文の予定リリース日を送信するための REST API を公開しました。
Contoso Ltd. ではテナントの監視が有効になっていないため、アプリの内部テレメトリがありません。
さまざまな部門の要件を満たすためにカスタム レポートを作成する必要があります。
Contoso 社では、テナント管理に関して次のような考慮事項があります。
IT部門
* IT 部門には、パフォーマンスの問題を防ぎ、起こりうる異常を検出するためにテナントを監視する機能が必要です。
* IT 部門は、Azure Application Insights と Log Analytics を使用して、取り込まれたテレメトリ信号を検査する予定です。
* テナントのアップグレードはすべてMicrosoftによって自動的に処理されます。IT部門は更新プログラムの可用性やテナント関連の通知を確認しません。
* IT 部門は、Business Central 管理センターからのテナント関連通知の受信を構成していません。
外部ビジネスパートナー
* 外部ビジネス パートナーは、ビジネス プロセスを監視できるように、Contoso. Ltd. 用に作成されたアプリケーションにカスタム テレメトリを追加する必要があります。
* アプリケーションのカスタム テレメトリ信号は、パートナーのテレメトリでのみ表示される必要があります。
石鹸
* Contoso 社は、統合に SOAP プロトコルを使用することを中止する予定です。
* Contoso 社は、外部アプリケーションが Business Central SOAP エンドポイントを使用しているかどうかを検出できる必要があります。
問題
Business Central テナントは、夜間に Microsoft によって新しいメジャー バージョンにアップグレードされます。
ユーザーから、Contoso. ltd. の拡張機能の 1 つがテナントから消えたという報告がありました。IT 部門では、拡張機能がまだ公開されていることを確認しました。
Contoso Ltd. は、次の要件を持つカスタム モバイル アプリケーションを作成する予定です。
* 従業員は、ERP からリアルタイムに品目の詳細を確認し、製造プロセス中に発生した問題を報告するためにアプリを使用する必要があります。
* アーカイブされた問題を処理するには、AL 拡張機能を作成する必要があります。
* モジュールを実装するときは、Business Central 開発ガイドラインに従う必要があります。
* 問題情報の報告と追跡のためのモジュールを実装する必要があります。このモジュールは「Issue Management」と呼ぶ予定です。このモジュールは、メソッド nan Postlude を公開する必要があります。
* 時間の経過とともにコードの変更が必要になります。
* 問題管理プロセスは、次の 2 つの拡張機能に分割する必要があります。
* ISSUE BASE: メイン拡張機能
* ISSUE EXT: ISSUE BASEからの依存関係を持つ2番目の拡張
* ISSUE BASE 拡張機能のバージョン 1.0.0.0 では、Issue Total という名前のグローバル Decimal 変数を含む Issue テーブルを作成する予定です。
* ISSUE BASE 拡張機能のバージョン 1.0.0.0 では、説明フィールドが次のように定義された Issue Category という名前のテーブルを定義する予定です。
フィールド(2;説明;テキスト[SG])
{
データ分類 * 顧客コンテンツ;
>
* ISSUE BASE 拡張機能で定義された Issue テーブルには、次のように定義された Clone プロシージャが含まれています。
手順Corte() begin end;
* ISSUE EXT 拡張では、Issue テーブルのテーブル拡張オブジェクトを作成します。
* 問題テーブルのテーブル拡張オブジェクトは、問題合計: 小数点変数にアクセスする必要があります。
数週間使用した後、説明フィールドとクローン手順は不要になったため削除する必要があることがわかりました。
ISSUE BASE拡張機能の新しいバージョンでは、新しいIssue Typeテーブルを作成します。以前は廃止されていたIssue Categoryテーブルから新しいIssue Typeテーブルにデータを行単位で移動する必要があります。大量のデータを移動する必要があるため、DataTransferオブジェクトを使用してUpgradeコードユニットを記述する必要があります。
IT部門は、カスタムIssueテーブルを公開するためのカスタムAPIを作成します。このAPIは、問題を新しいテーブルにコピーするアクションを提供します。アクションは次のように定義されます。
(サービス有効)
手順のコピー (アクションコンテキストを変更: WebServiceActionContext)
始める
終わり;
Contoso 社は、アイテムの詳細をモバイル アプリケーションに公開するために、Business Central で API を作成する必要があります。
* API は、業務時間中に使用される場合、本番環境への影響を最小限に抑える必要があります。
* API は Get 操作のみをサポートする必要があります。
Business Central の ISSUE BASE 拡張機能のユーザーが問題を報告します。
問題をデバッグするために、次の構成のスナップショット デバッグが有効化されました。

デバッグがトリガーされていないことがわかります。
Contoso 社は、ビジネス パートナーが提供する外部 API に Business Central を接続する必要があります。この API は、パートナーが販売需要を満たすための新規下請け注文の詳細を送信し、送信された各注文の予定リリース日を受信するために使用されます。統合要件は次のとおりです。
* ビジネスパートナーは、Basic認証で保護されたREST APIを提供します。APIへのアクセスに必要な認証情報は、Contoso社と共有されます。
* 下請け注文を送信するための API は、指定されたエンドポイントに認証された POST リクエストを送信して呼び出す必要があります。
* 各下請け注文の注文番号と予定リリース日を取得するための API は、次の JSON で応答します。

各注文番号を取得する必要があります。