编辑:目标是使附加到采购申请的报价文件可供直接处理采购订单的员工以一种简单的方式使用,而无需导航回申请文件本身。
我想DocuRef::openDocHandling
在采购订单屏幕中使用该方法,而不复制链接到采购申请的文档。我想通过添加到采购订单屏幕的按钮来执行此操作;我知道与采购订单相关联的申请编号是什么。
提前谢谢了。
编辑:目标是使附加到采购申请的报价文件可供直接处理采购订单的员工以一种简单的方式使用,而无需导航回申请文件本身。
我想DocuRef::openDocHandling
在采购订单屏幕中使用该方法,而不复制链接到采购申请的文档。我想通过添加到采购订单屏幕的按钮来执行此操作;我知道与采购订单相关联的申请编号是什么。
提前谢谢了。
在表单 PurchTable 中添加一个带有(活动)采购申请的数据源 VendPurchOrderJour。您不必显示数据源的任何字段,因此您可以使用 OnlyFetchActive 属性。然后创建表单方法“docCursor”,告诉DocuView表单哪条记录是活动的。
public Common docCursor()
{
return reqDoc ? vendPurchOrderJour : purchTable;
}
使用“单击”方法创建按钮:
void clicked()
{
reqDoc = true;
if (!infolog.docu().isDocuViewSet())
infolog.docu().note(element);
else
infolog.docu().setActive();
}
清除 PurchTable 的“active”方法中的“reqDoc”。
此解决方案不允许采购行上的文档,您可能必须像这样扩展解决方案(行是一个表单组):
public Common docCursor()
{
return reqDoc ? vendPurchOrderJour :
line.contains(element.selectedControl()) ? purchLine :
purchTable;
}
如果您想要一个按钮在未打开时打开文档视图并在打开时激活,那么您单击的方法应如下所示:
void clicked()
{
if (!infolog.docu().isDocuViewSet())
infolog.docu().note(element);
else
infolog.docu().setActive();
}
你的问题不清楚你的目标。你想要什么?请展开。