删除 Siebel 列表视图中的所有记录
Delete All records in a Siebel List View
我需要通过单击按钮的方法删除列表小程序中的所有记录。为了实现这一点,我使用“DeleteAllRecords”方法向列表小程序添加了一个按钮,并向 BC PreInvokeMethod 函数添加了一个脚本,如下所示。单击按钮后,所有记录都将被删除,但小程序不会刷新。我怎样才能做到这一点?
try
{
if(MethodName == "DeleteAllRecords")
{
var EmpBO = TheApplication().GetBusObject("XXXX");
var EmpBC = EmpBO.GetBusComp("XXXX");
with(EmpBC)
{
SetViewMode(AllView);
ActivateField("EmployeeID");
ClearToQuery();
SetSearchExpr("[XXXX] <> ' '");
ExecuteQuery(ForwardOnly);
var Frecord = FirstRecord();
while(Frecord)
{
Frecord = DeleteRecord();
Frecord = FirstRecord();
}
}
//BC.InvokeMethod("RefreshBuscomp");
return (CancelOperation);
}
}
catch(e)
{
throw(e);
}
finally
{
EmpBO = null;
EmpBC = null;
}
return (ContinueOperation);
你可以尝试一些事情。
1:所有删除完成后最后一个简单的空查询。 ClearToQuery() 和 ExecuteQuery();
2:RefreshBusComp 有一个 BC 方法(查看文档),可以与 InvokeMethod() 一起使用。做的事情与 1 几乎相同。我看到你已经尝试过了,但可能没有用。
3:有可以刷新小程序的业务服务,比如FINS Teller UI导航
4:您也可以在 browserscript/javascript 中尝试一个空查询,将它放在 InvokeMethod 中,以便它在 BC escript 之后运行。 Genb 必须 运行 生成 bscripts。
其中一个应该有效。
我需要通过单击按钮的方法删除列表小程序中的所有记录。为了实现这一点,我使用“DeleteAllRecords”方法向列表小程序添加了一个按钮,并向 BC PreInvokeMethod 函数添加了一个脚本,如下所示。单击按钮后,所有记录都将被删除,但小程序不会刷新。我怎样才能做到这一点?
try
{
if(MethodName == "DeleteAllRecords")
{
var EmpBO = TheApplication().GetBusObject("XXXX");
var EmpBC = EmpBO.GetBusComp("XXXX");
with(EmpBC)
{
SetViewMode(AllView);
ActivateField("EmployeeID");
ClearToQuery();
SetSearchExpr("[XXXX] <> ' '");
ExecuteQuery(ForwardOnly);
var Frecord = FirstRecord();
while(Frecord)
{
Frecord = DeleteRecord();
Frecord = FirstRecord();
}
}
//BC.InvokeMethod("RefreshBuscomp");
return (CancelOperation);
}
}
catch(e)
{
throw(e);
}
finally
{
EmpBO = null;
EmpBC = null;
}
return (ContinueOperation);
你可以尝试一些事情。 1:所有删除完成后最后一个简单的空查询。 ClearToQuery() 和 ExecuteQuery(); 2:RefreshBusComp 有一个 BC 方法(查看文档),可以与 InvokeMethod() 一起使用。做的事情与 1 几乎相同。我看到你已经尝试过了,但可能没有用。
3:有可以刷新小程序的业务服务,比如FINS Teller UI导航
4:您也可以在 browserscript/javascript 中尝试一个空查询,将它放在 InvokeMethod 中,以便它在 BC escript 之后运行。 Genb 必须 运行 生成 bscripts。
其中一个应该有效。