Разница в отчете CP и данных консольного отчета

У меня есть отчет (скажем, с идентификатором отчета 101010), сгенерированный через консоль, и он выводит следующие результаты:

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

Когда я пытаюсь использовать тот же идентификатор отчета на странице CP через контроллер виджета, я получаю следующий результат:

+----------+-----+
| 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);
}

Так что я не могу понять, это:

  • Почему разница в данных?
  • Почему только 3 категории (вместо 5) вытягиваются через контроллер виджетов CP?
    • Одна вещь, которую я заметил, заключалась в том, что внутри была собственность $report_data называется как per_page и его ценность была 3. Это причина потянуть только первые 3 записи? Если да, как бы я увеличил это значение?

После некоторого R&D, я думаю, я обнаружил, что причина изменения данных в том, что на CP данные извлекаются для инцидентов, вызванных только зарегистрированным пользователем, тогда как данные из консоли включают в себя инциденты, поднятые всеми.

Итак, как мне удалить встроенный фильтр, который добавляется в отчет?

0

Решение

Вы были более вероятны в результате при просмотре атрибута на странице. И модель отчета, и переменные виджеты реализуют этот атрибут. Сами аналитические отчеты осуществляют нумерацию страниц. Итак, либо в отчете по умолчанию установлена ​​переменная страницы, равная трем, либо вы устанавливаете ее где-то еще (возможно, случайно). Смотрите, если изменение 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

Другие решения

В модели отчета есть строка, которая, вероятно, добавляет фильтр. Попробуйте удалить эту строку и посмотреть, что произойдет.

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

По вопросам рекламы [email protected]