契約管理において、ベースとなる受注伝票と発注伝票を完成にした時に、派生伝票を自動作成できるようにしました。
設定
受注伝票/発注伝票の完成時に、派生伝票を作成するためには、プロセスの設定を行い、ワークフローの機能を使って、完成後にそのプロセスを実行します。
プロセスの設定
プロセスに、CallContractProcessクラスを設定します。受注伝票/発注伝票の完成時にCallContractProcessが実行され、CallContractProcessから派生伝票を作成するプロセス(契約処理マスタのプロセス)が呼び出されます。
プロセスのパラメーターには下記のパラメーターを追加して下さい。
◆契約処理実行単位 [JP_ContractProcessUnit]
受注伝票/発注伝票後に派生伝票を作成するには、契約処理実行単位を、契約内容毎[PCC]にする必要があります。
◆伝票ステータス更新[DocAction]
派生伝票を作成する時の、伝票ステータス更新処理を選択する事ができます。
◆レコード毎にコミットする[IsRecordCommitJP]
レコード毎にコミットする[IsRecordCommitJP]は、Nを設定して下さい。
◆契約処理ログレベル[JP_ContractProcessTraceLevel]
契約処理ログレベルを設定して下さい。
◆契約処理期間[JP_ContractProcPeriod_ID]
パラメーターには必ず契約処理期間[JP_ContractProcPeriod_ID]を追加して下さい。CallContractProcessの内部処理の関係上、プロセスのパラメーターに契約処理期間が必要です。
ワークフローの設定
受注伝票 / 発注伝票を完成にした後で、派生伝票を作成したい場合には、上記のプロセスが実行されるようにワークフローを設定します。完成ノードの後に、プロセスを実行するノードを追加します。
◆WFノードの設定
WFノードに、プロセスを割り当てて、プロセスパラメーターを設定して下さい。
◆完成ノードからプロセスノードへの移行条件
完成ノードからプロセスノードへの移行条件には、受注伝票/発注伝票の契約処理期間が入力されているかどうかを加えると、無駄にプロセスが実行されるのを防ぐ事ができます。その他、必要に応じて条件を追加して下さい。
カスタマイズ情報
修正クラス:CallContractProcess
CallContractProcessを受注伝票/発注伝票から呼び出せるように次のような修正を行っています。
◆契約処理実行単位を、契約内容毎[PCC]にする事で、受注伝票/発注伝票から契約処理プロセスを実行できるように修正。
ただし、下記の場合は契約処理プロセスは実行できません。
- 受注伝票/発注伝票の伝票タイプのサブ伝票タイプが、標準受発注では無い場合。
- 受注伝票/発注伝票に契約内容が入力されていない場合。
- 受注伝票/発注伝票の伝票ステータスが完成ではない場合。
- 契約が期間契約ではない場合。
- 契約内容の派生伝票作成方針がマニュアルの場合。
- 契約内容の伝票ステータスが"完成"もしくは"クローズ"ではない場合。
◆受注伝票 / 発注伝票の契約処理期間に対応する派生伝票が作成されます。
完成にする受注伝票/発注伝票に設定されている契約処理期間に対応する派生伝票を作成します。作成する処理自体は、契約処理マスタに設定されているプロセスに移譲します。契約処理マスタにプロセスが設定されていない場合は、デフォルトの契約処理プロセスで処理が行われます。
CallContractProcessでは、受注伝票/発注伝票に設定されている契約処理期間に対応する派生伝票の契約処理期間をすべて取得し、契約処理プロセスを実行します。
修正クラス:DefaultContractProcessCreateBaseOrder
受注伝票 / 発注伝票を完成にする時に、ワークフロー経由で完成にするように修正しました。
修正クラス:DefaultContractProcessCreateBaseOrderIndirectly
受注伝票 / 発注伝票を完成にする時に、ワークフロー経由で完成にするように修正しました。