私はカスタムページのタブ内にカスタム処理ページを作成しようとしています。私はカスタムエクステンションを操作し、エクステンションクラスでDACを宣言しています。Acumaticaタブ内に処理ページを追加する
イム私のPXProcessingオブジェクトに
マイ処理BLC
public class tableProcess: PXGraph<submittalProcess> { public PXCancel<PX.Objects.PM.ProjectEntry_Extension.ProjectLinesTable> Cancel; public PXProcessing<PX.Objects.PM.ProjectEntry_Extension.ProjectLinesTable, Where<PX.Objects.PM.ProjectEntry_Extension.ProjectLinesTable.contractID, Equal<Current<Contract.contractID>>>> fixtureItems; public submittalProcess()
{ fixtureItems.SetProcessCaption("Approve"); fixtureItems.SetProcessAllCaption("Approve All"); fixtureItems.SetProcessDelegate<ProjectCustom.submittal>(delegate(ProjectCustom.submittal graph, PX.Objects.PM.ProjectEntry_Extension.ProjectLinesTable items) { graph.Clear(); graph.ApproveOrder(items, true); }); } }
メインBLC delcaringアクション
public class submittal: PXGraph<submittal, ProjectEntry_Extension.atcProjectLinesTable>
{
public PXSelect<ProjectEntry_Extension.atcProjectLinesTable> Orders;
public void ApproveOrder(ProjectEntry_Extension.atcProjectLinesTable order, bool isMassProcess = false)
{
Orders.Current = order;
Orders.Update(order);
Persist();
if (isMassProcess)
{
PXProcessing.SetInfo(String.Format(
"Order {0} has been successfully approved.", order.ItemNumber));
}
}
public PXAction<ProjectEntry_Extension.atcProjectLinesTable> Approve;
[PXProcessButton]
[PXUIField(DisplayName = "Approve")]
protected virtual IEnumerable approve(PXAdapter adapter)
{
foreach (ProjectEntry_Extension.atcProjectLinesTable order in adapter.Get())
{
Actions.PressSave();
PXLongOperation.StartOperation(this, delegate()
{
submittal graph = PXGraph.CreateInstance<submittal>();
graph.ApproveOrder(order);
});
yield return order;
}
}
アイブに自分の名前空間を使用してみましたが、私のグラフのデータメンバーを設定することができませんtableProcess.fixtureItemsをグリッドに割り当てますが、拡張クラスのスコープから外します。
ProjectEntry_ExtensionクラスでtableProcessを初期化する方法はありますか?