创建一个新的虚拟维护屏幕以启用对项目交叉引用的通用搜索,甚至可以创建新的DAC和BLC,甚至在屏幕上添加“处理”按钮,但是单击任何一个处理按钮时都没有任何反应(当前它会引发PXException)。最终,我需要使用“全部处理”(标记为“创建NoteID”)按钮来填写NoteID字段,这样我才可以实际使用通用搜索部分。
这是我的图表。 INItemXRef实际上是一个附加了NoteID字段的新的自定义DAC(没有其他更改,直接从数据库创建)。最终,我需要更新下面的代码以将随机值填充为空的NoteID,因此,如果对下一步有任何建议,在解决当前问题后也可以理解:
public class INItemXRefGraph : PXGraph<INItemXRefGraph>
{
public PXSelect<INItemXRef> INItemXRef;
public PXSave<INItemXRef> Save;
public PXFilter<INItemXRef> MasterView;
[PXFilterable]
public PXProcessing<INItemXRef, Where<INItemXRef.noteID, IsNull>> INDocumentList;
public INItemXRefGraph()
{
INDocumentList.SetProcessDelegate(ReleaseDoc);
INDocumentList.SetProcessAllCaption("Create NoteIDs");
}
public static void ReleaseDoc(System.Collections.Generic.List<INItemXRef> list)
{
throw new PXException("Hello World");
}
答案 0 :(得分:1)
尝试一下
public class INItemXRefGraph : PXGraph<INItemXRefGraph>
{
public PXSelect<INItemXRef> INItemXRef;
public PXSave<INItemXRef> Save;
public PXFilter<INItemXRef> MasterView;
[PXFilterable]
public PXProcessing<INItemXRef, Where<INItemXRef.noteID, IsNull>> INDocumentList;
public INItemXRefGraph()
{
INDocumentList.SetProcessDelegate(
delegate(System.Collections.Generic.List<INItemXRef> list)
{
System.Collections.Generic.List<INItemXRef> newlist = new System.Collections.Generic.List<INItemXRef>(list.Count);
foreach (INItemXRef doc in list)
{
newlist.Add(doc);
}
ReleaseDoc(newlist);
}
);
INDocumentList.SetProcessAllCaption("Create NoteIDs");
}
public static void ReleaseDoc(System.Collections.Generic.List<INItemXRef> list)
{
throw new PXException("Hello World");
}