2016-12-24 3 views
0

Ich versuche, eine benutzerdefinierte Verarbeitungsseite innerhalb einer Registerkarte einer benutzerdefinierten Seite zu erstellen. Ich arbeite mit einer benutzerdefinierten Erweiterung und habe den DAC in meiner Erweiterungsklasse deklariert.Acumatica Hinzufügen der Verarbeitungsseite innerhalb der Registerkarte

Im nicht in der Lage die Datamember meiner Grafik auf meine PXProcessing Objekt

Meine Verarbeitung BLC

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; 
} 
} 

Ive

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); }); } }

Haupt BLC delcaring Aktionen zu setzen versuchten, ihre Verwendung von Namespaces zu Weisen Sie tableProcess.fixtureItems dem Grid zu, jedoch nicht dem Geltungsbereich der Erweiterungsklasse.

Gibt es eine Möglichkeit, TabelleProcess in meiner ProjectEntry_Extension Klasse zu initialisieren?

Antwort

2

Gegenwärtig erlaubt Acumatica das Erstellen von verschachtelten Seiten innerhalb der Registerkarte einer anderen Seite nicht. In Ihrem Fall wäre es besser, das Erscheinungsbild eines Bearbeitungsbildschirms innerhalb einer Registerkarte zu emulieren, indem Sie die Auswahlspalte und die Schaltflächen Prozess/Alle verarbeiten für das Verarbeitungsraster deklarieren. Um einen Prozess für ausgewählte oder alle Datensätze im Verarbeitungsraster zu starten, verwenden Sie das statische PXLongOperation.StartOperation-Verfahren, wie in dem Abschnitt von T200 beschrieben.

Verwandte Themen