このドキュメントはAIによって翻訳されました。正確な情報については英語版をご参照ください。
承認は、人が開始し、人が処理することで関連データのステータスを決定するために専用に設計されたプロセス形式です。通常、オフィスオートメーションやその他の手動の意思決定事項のプロセス管理に使用されます。例えば、「休暇申請」、「経費精算承認」、「原材料調達承認」などのシナリオの手動プロセスを作成・管理できます。
承認プラグインは、専用のワークフロータイプ(トリガー)「承認(イベント)」と、そのプロセス専用の「承認」ノードを提供します。NocoBase 特有のカスタムコレクションやカスタムブロックと組み合わせることで、様々な承認シナリオを迅速かつ柔軟に作成・管理できます。
ワークフロー作成時に「承認」タイプを選択すると、承認ワークフローを作成できます。

その後、ワークフロー設定画面でトリガーをクリックしてダイアログを開き、詳細な設定を行います。

NocoBase の承認プラグインは柔軟な設計に基づいており、任意のカスタムコレクションと組み合わせて使用できます。つまり、承認設定でデータモデルを再設定する必要はなく、作成済みのコレクションを直接再利用します。そのため、トリガー設定に入った後、まずコレクションを選択し、このプロセスがどのコレクションのデータに対して承認を行うかを決定する必要があります。

業務データに対して承認を開始する際、以下の 2 つのトリガー方式を選択できます。
データ保存前
提出されたデータが保存される前に承認を開始します。承認通過後にデータを保存する必要があるシナリオに適しています。このモードでは、承認開始時のデータは一時的なものであり、承認通過後にのみ対応するコレクションに正式に保存されます。
データ保存後
提出されたデータが保存された後に承認を開始します。データを先に保存してから承認を行うシナリオに適しています。このモードでは、承認開始時にデータはすでに対応するコレクションに保存されており、承認プロセス中の修正も保存されます。
システム内で承認を開始する場所を選択できます。
データブロック内でのみ開始
そのテーブルの任意のフォームブロックのアクションをこのワークフローにバインドして承認を開始し、単一データの承認ブロックで承認プロセスを処理および追跡できます。通常、業務データに適しています。
データブロックと待機センターの両方で開始
データブロックに加えて、グローバルな待機センターでも承認の開始と処理が可能です。これは通常、行政データに適しています。
ユーザー範囲に基づいた権限を設定し、どのユーザーがその承認を開始できるかを決定できます。
すべてのユーザー
システム内のすべてのユーザーがその承認を開始できます。
選択されたユーザーのみ
指定された範囲のユーザーのみがその承認を開始できます。複数選択が可能です。

最後に、申請者のフォームインターフェースを設定する必要があります。このインターフェースは、承認センターブロックから開始する場合や、ユーザーが撤回した後に再申請する場合の提出操作に使用されます。設定ボタンをクリックしてダイアログを開きます。

申請者用のインターフェースには、バインドされたコレクションに基づいた入力フォームや、ヒントや誘導のための説明文(Markdown)を追加できます。フォームの追加は必須です。そうしないと、申請者がこのインターフェースに入った後に操作できなくなります。
フォームブロックを追加した後、通常のフォーム設定インターフェースと同様に、対応するコレクションのフィールドコンポーネントを追加し、自由に配置してフォームの内容を構成できます。

直接提出するボタンとは別に、「下書き保存」操作ボタンを追加して、一時保存の処理フローをサポートすることもできます。

承認ワークフローで申請者の撤回を許可する場合、申請者インターフェースの設定で「撤回」ボタンを有効にする必要があります。

有効にすると、このワークフローで開始された承認は、承認者が処理する前であれば申請者によって撤回できます。ただし、後続の承認ノードで設定された承認者が処理した後は、撤回できなくなります。
撤回ボタンを有効化または削除した後、トリガー設定のダイアログで保存をクリックして提出しないと有効になりません。
待機センターの「マイ申請」リスト内のタスクカードを設定するために使用されます。

カードには、表示したい業務フィールド(リレーションフィールドを除く)や承認関連情報を自由に設定できます。
承認申請が作成されると、待機センターのリストでカスタマイズされたタスクカードを確認できます。

スナップショット
承認プロセスにおいて、申請者と承認者が入った時に表示されるレコードの状態です。提出後は、自分が修正したレコードのみが表示され、他の人がその後に行った更新は見えません。
最新
承認プロセスにおいて、申請者と承認者はプロセス全体を通じて常にレコードの最新バージョンを表示します。操作前のレコードの状態に関わらず、プロセス終了後はレコードの最終バージョンが表示されます。
承認ワークフローでは、専用の「承認」ノードを使用して、承認者が開始された承認を処理(承認、拒否、または差し戻し)するための操作ロジックを設定する必要があります。「承認」ノードは承認ワークフロー内でのみ使用可能です。詳細は 承認ノード を参照してください。
承認ワークフロー内に「承認」ノードが一つもない場合、そのワークフローは自動的に承認されます。
承認ワークフローを設定して有効にした後、そのワークフローを対応するコレクションのフォーム提出ボタンにバインドして、ユーザーが提出時に承認を開始できるようにします。

その後、ユーザーがそのフォームを提出すると、対応する承認ワークフローがトリガーされます。提出されたデータは対応するコレクションに保存されるだけでなく、承認フロー内にスナップショットとして保存され、後続の承認者が閲覧するために使用されます。
承認を開始するボタンは、現在、新規作成または更新フォーム内の「提出」(または「保存」)ボタンのみをサポートしています。「ワークフローをトリガー」ボタン(このボタンは「カスタムアクションイベント」のみバインド可能)はサポートしていません。
待機センターは、ユーザーが待機タスクを確認および処理するための統一された入り口を提供します。現在のユーザーが開始した承認や待機中のタスクは、トップツールバーの待機センターからアクセスでき、左側のカテゴリナビゲーションで異なる種類の待機タスクを確認できます。





データブロックから開始する場合、次のように呼び出すことができます(posts コレクションの作成ボタンを例にします)。
ここで URL パラメータ triggerWorkflows はワークフローのキーであり、複数のワークフローはカンマで区切られます。このキーは、ワークフローキャンバス上部のワークフロー名にマウスホバーすると取得できます。

呼び出しに成功すると、対応する posts コレクションの承認ワークフローがトリガーされます。
外部呼び出しもユーザーの身元に基づく必要があるため、HTTP API を介して呼び出す際は、通常のインターフェースから送信されるリクエストと同様に、認証情報を提供する必要があります。これには Authorization リクエストヘッダーまたは token パラメータ(ログイン時に取得したトークン)、および X-Role リクエストヘッダー(ユーザーの現在のロール名)が含まれます。
この操作で対一リレーションデータ(対多は現在未サポート)のイベントをトリガーする必要がある場合、