CP报告和控制台报告数据的差异

时间:2015-02-09 06:24:22

标签: php rightnow-crm

我有一份报告(让我们说报告ID是101010)通过控制台生成,并打印出以下结果:

+----------+-----+
| Category | NoI |
+----------+-----+
| C        | 102 |
| A        |  98 |
| E        |  90 |
| D        |  74 |
| B        |  60 |
+----------+-----+

当我尝试通过小部件的控制器在CP页面上使用相同的报告ID时,我得到以下结果:

+----------+-----+
| Category | NoI |
+----------+-----+
| D        |  32 |
| A        |  25 |
| B        |   6 |
+----------+-----+

以下是我的小部件控制器的代码:

function getData() {
    $filters = array();
    $format = array();
    $report_id = $this->data['attrs']['report_id'];
    echo $report_id; // this is printing 101010
    $reportToken = \RightNow\Utils\Framework::createToken($report_id);
    $report_data = $this->CI->model('Report')->getDataHTML(
       $report_id, $reportToken, $filters, $format
    );   
    print_r($report_data);
}

所以我无法弄清楚的是:

  • 为什么数据存在​​差异?
  • 为什么只通过CP小部件控制器提取3个类别(而不是5个)?
    • 我注意到的一件事是$report_data内有一个名为per_page的属性,其值为 3 。这是仅拉动前3条记录的原因吗?如果是,我将如何增加该值?

更新

在一些R& D之后,我想我发现数据发生变化的原因是因为在CP上,数据是针对仅由登录用户引发的事件而提取的,而来自控制台的数据包括每个人提出的事件。

那么我该如何删除正在添加到报告中的内置过滤器?

2 个答案:

答案 0 :(得分:1)

在查看每页属性时,您更有可能获得结果。报表模型和变量窗口小部件都实现该属性。分析报告本身实施分页。因此,报告的默认页面变量设置为3,或者您将其设置在其他位置(无意中可能)。查看更改per_page过滤器是否有效:

function getData() {
    $filters = array('per_page' => 50);
    $format = array();
    $report_id = $this->data['attrs']['report_id'];
    echo $report_id; // this is printing 101010
    $reportToken = \RightNow\Utils\Framework::createToken($report_id);
    $report_data = $this->CI->model('Report')->getDataHTML(
       $report_id, $reportToken, $filters, $format
    );   
    print_r($report_data);
}

答案 1 :(得分:0)

报告模型中有一行可能正在添加过滤器。尝试删除此行,看看会发生什么。

 $searchArgs['search_field' . $index++] = $this->toFilterArray("$contactSessionAlias.c_id", OPER_EQ, " $contactID");