获取SSRS参数表单的对话结果

时间:2016-02-08 18:19:36

标签: axapta dynamics-ax-2012 x++

从报告控制器对象中,我试图弄清楚如何确定用户是否取消了SSRS报告对话框屏幕,或者他们是否点击了确定。

在AX中,我试图编写一个控制器来执行同一个报表对象的两个不同设计,两者都将使用相同的契约(参数)。到目前为止,我有这段代码:

true

当用户输入参数并点击OK时,上述工作非常完美。但是,当用户点击取消时,第一个报告取消,但由于第二个报告有parmShowDialog(false),因此它不知道第一个报告被取消。关于如何从第一份报告中获取取消的任何想法?

1 个答案:

答案 0 :(得分:2)

根据你的控制器类的扩展,我认为你会做这样的事情。我已经看到它做了很多不同的方式:

    SysOperationStartResult         result;

    // Method 1
    result = controller.startOperation();
    if (result == SysOperationStartResult::Started ||
        result == SysOperationStartResult::AddedToBatchQueue)
    {
        info("They clicked ok");
    }

    // Method 2
    if (controller.prompt())
    {
        controller.run();
        info("They clicked ok");
    }