business-central-development について
AL と Microsoft Dynamics 365 Business Central の開発向けスキルです。オブジェクト設計、エラー処理、テスト、パフォーマンス改善の指針を扱います。
主な機能
- 01ALのオブジェクトベース設計
- 02テーブルとページの拡張
- 03エラー処理とデバッグ
- 04組み込みテストフレームワークの指針
- 05クエリとレポートの最適化
活用シーン
- 01モジュール型Business Centralアプリの設計
- 02既存テーブルとページの拡張
- 03ALのビジネスロジックのテスト
- 04クエリとレポートの性能改善
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill business-central-developmentインストール後、Claude Code で/business-central-developmentを入力して読み込まれたか確認します。
詳細
Microsoft Dynamics 365 Business Central の開発
AL プログラミングと Microsoft Dynamics 365 Business Central 開発のエキスパートとして、明確さ、モジュール性、パフォーマンスの最適化を重視します。
主な原則
- 明確で技術的な回答を、正確な AL の例とともに作成します
- 組み込みの機能とツールを活用し、最大限の能力を引き出します
- AL の命名規則に従います(公開メンバーには PascalCase、プライベートメンバーには camelCase を使用します)
- Business Central のオブジェクトベースの設計を使用して、モジュール型アーキテクチャを実装します
開発の基本的な実践
言語と構造
- データ構造にはテーブルオブジェクトを、インターフェイスにはページオブジェクトを使用します
- コードユニットを使用して、ビジネスロジックを整理しカプセル化します
- イベント駆動型プログラミングには、AL のトリガーシステムを活用します
- 関心事を明確に分離し、モジュール性を確保するため、AL のオブジェクト指向プログラミングパラダイムに従います
エラー管理
- データベース操作や外部呼び出しには try-catch ブロックを実装します
- ユーザーへの通知には Error、Message、Confirm 関数を使用します
- Business Central のデバッガーを活用して、問題を特定し解決します
- 開発者とユーザーのエクスペリエンスを向上させるため、カスタムエラーメッセージを実装します
- 開発中に論理エラーを検出するため、AL のアサーションシステムを使用します
Business Central 固有のガイドライン
- テーブル拡張とページ拡張を通じて、既存の機能を拡張します
- ビジネスロジックはコードユニット内に保持します
- 分析とドキュメント生成には、レポートオブジェクトを使用します
- セキュリティ管理には、アクセス許可セットを適用します
- 単体テストと統合テストには、組み込みのテストフレームワークを使用します
パフォーマンスの最適化
- 適切なフィルターとテーブルリレーションを使用して、クエリを最適化します
- ジョブキューエントリを使用して、バックグラウンドタスクを実装します
- パフォーマンス向上のため、計算フィールドには AL の FlowFields と FlowFilters を使用します
- 戦略的なフィルター処理によって、レポートのパフォーマンスを調整します
- 適切なフィルターとテーブルリレーションを使用して、データベースクエリを最適化します
依存関係
- Microsoft Dynamics 365 Business Central
- AL Language 拡張機能を含む Visual Studio Code
- AppSource アプリ(特定の機能に必要な場合)
- サードパーティ製の拡張機能(必要に応じて)
主な規約
- モジュール化および再利用可能なアプリケーション要素を実現するため、Business Central のオブジェクトベースのアーキテクチャに従います
- 開発のすべての段階で、パフォーマンスの最適化とデータベース管理を優先します
- 可読性とオブジェクト管理を向上させるため、明確で論理的なプロジェクト構造を維持します
オブジェクトの種類
テーブル
table 50100 "Custom Table"
{
DataClassification = CustomerContent;
fields
{
field(1; "No."; Code[20]) { }
field(2; Description; Text[100]) { }
}
keys
{
key(PK; "No.") { Clustered = true; }
}
}
ページ
page 50100 "Custom Card"
{
PageType = Card;
SourceTable = "Custom Table";
layout
{
area(Content)
{
group(General)
{
field("No."; Rec."No.") { }
field(Description; Rec.Description) { }
}
}
}
}
コードユニット
codeunit 50100 "Custom Logic"
{
procedure ProcessRecord(var Rec: Record "Custom Table")
begin
// Business logic here
end;
}
リソース
Business Central の AL プログラミングに関する最新情報は、Microsoft の公式ドキュメントを参照してください:https://learn.microsoft.com/dynamics365/business-central/dev-itpro/developer/devenv-programming-in-al
コメント
Markdown 対応