次のタスクがあります。一定の間隔でイベントを実行します。T200 のマニュアルでは、Processing ページから実行できることがわかりました。このためには、接尾辞プロセスを含むグラフを追加する必要があります。しかし、私が困惑しているのは、[プロセス]、[すべて処理]、[スケジュール] ボタンを表示する方法です。私が持っている別の質問は、Acumatica で特定のスケジュールで特定のアクションを実行する方法ですか? 推奨されるアプローチは何ですか?
1 に答える
処理グラフを Acumatica の他の種類のページと区別する重要な点は、グラフにPXProcessing<>
or型のデータ ビューがあることですPXProcessingJoin<>
。これらは、グラフで定義された処理ルーチンと共に、システムにProcess、Process All、およびScheduleボタンを作成させます。対応する画面で。通常、グラフは次のようになります。
public class YourProcessingGraph : PXGraph<YourProcessingGraph>
{
//Data view that provides a list of items to process
public PXProcessing<ARInvoice,
Where<ARInvoice.released, Equal<boolFalse>>> DocumentsToProcess;
public YourProcessingGraph()
{
DocumentsToProcess.SetProcessDelegate(DoActualProcessing);
//You can also change button captions
DocumentsToProcess.SetProcessCaption("Do");
DocumentsToProcess.SetProcessAllCaption("Do For All");
}
public static void DoActualProcessing(List<ARInvoice> itemsToProcess)
{
// Do something cool here
}
}
あなたが言及したT200トレーニングとAcumaticaのソースコード(グラフなど)で、処理グラフを適切に定義する方法のより良い例を見つけることができますARDocumentRelease
。
Acumatica は、何が何であるかを決定する際に (DAC やグラフなど) 定義するクラスの名前に依存しないため、Process接尾辞 ( EntryおよびMaintと同様) はスタイル/慣例の問題にすぎません。(1 つの重要な例外は、プレフィックス/サフィックスが付属するカスタマイズ オブジェクトですがCst
、これらは少し話が異なります。)
アクションを定期的に実行するには、オートメーション スケジュール (SM205020)を使用します。これは、任意の処理画面で[スケジュール] ボタンをクリックすると開く画面です。そこで、特定の処理画面で処理を開始するスケジュールを作成できます。スケジュールは、実行頻度の点で目標に合わせて微調整でき、追加のフィルタリングも可能です。