Tables
Microsoft Dynamics 365 Business Central 本製品 は、アカウントでWeb Services として設定されたテーブルのみを公開します。Microsoft Dynamics 365 Business Central OData サービスを使用して、接続時にテーブルリストを動的に取得して表示します。追加テーブルを表示することが可能です。追加方法については次のセクションを参照してください。
テーブルの追加表示
Microsoft Dynamics 365 Business Central 本製品 が表示した以外のテーブル(エンドポイント)を表示するには、自身のアカウントでWeb サービスとして必要なテーブルを設定する必要があります。設定すると、本製品 が公開されたエンドポイントを検出して表示します。
これを行うには、次の手順に従います。
- Dynamics 365 Business Central アカウントにログインします。
- Web Services に移動してNew をクリックします。
- Object Type でPage またはQuery を選択します。Codeunit オプションは、Dynamics 365 Business Central バージョン16.3以降で利用可能です。
- Object ID ドロップダウンを使用してSelect from full list を選択します。
- Object Name カラムから表示するテーブルを選択します。
- Service Name を指定し、サービスがどのように表示されるかを定義します。
- Published チェックボックスを選択し、OData V4 URL フィールドが入力されるまで待ちます。
- ページの右上を確認し、変更が保存されたことを確認します。
- 追加したい他のテーブル(Web Services として設定されているもの)についても、この手順を繰り返します。
AL Enum オブジェクトによるフィルタリング
Business Central API ページの一部(ほとんどのAPI v2.0 ページを含む)には、AL Enum オブジェクトに基づくフィールドがあります。
AL Enum オブジェクトに基づくフィールドは、使用している言語やOS に関係なくレポートのフィルタが常に機能するように、一貫性があり常に同じ名前でなければなりません。 このため、AL Enum に基づくフィールドは変換されず、Buisness Central API は特殊文字を避けるためにエンコードされる必要があります。
Enum 値でフィルタリングするには、https://www.w3.org/Style/XSL/TestSuite/results/4/XEP/symbol.pdf ドキュメントを参照し、シンボルの前後に _(アンダースコア)を付けて値をエンコードする必要があります。
例えば、スペースは"_x0020_" なので、以下のコードスニペットが機能します。
SELECT * FROM DimensionSetLines WHERE parentid={id} and parentType='Sales_x0020_Order'
ヒント: フィールドが列挙型オブジェクトであるかどうかを確認するには、sys_tablecolumns テーブルのIsEnumeration カラムを参照してください。
API の制限
SalesInvoiceLines テーブルへのINSERT ステートメントは、売上請求書のステータスが'DRAFT' の場合にのみ機能することに注意してください。ステータスが'PAID' または'OPEN' の場合、INSERT ステートメントは正常に完了しません。これはAPI の制限事項です。