Announcement

Collapse
No announcement yet.

Фильтрация задач по статусам - не работает

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Фильтрация задач по статусам - не работает



    Фильтр по статусам не срабатывает. Возможно проблема в том что нет английских аналогов статусам и определяются они видимо динамически. По всей видимости есть какой то обходной путь корректного задания статусов.

    На текущий момент
    select distinct status from task дает следующий результат: Not Started Started В плане В работе Закрыта Новая Обратная связь Отказ Отложена Решена По всей видимости последствия импорта данных, отдельно статусы не настраивались,
    Настройках поля status в администрировании при выборе русского языка в настройках: http://joxi.ru/L21lNQ3T8VdaDm
    Настройках поля status в администрировании при выборе английского языка в настройках: http://joxi.ru/Q2K4bljH4XKP3A

    Вариант поиска с any of дает пустую выборку: http://joxi.ru/EA41gWaUwZ7K1r

    Что надо сделать для исправления?
    Last edited by dimyy; 06-28-2018, 07:49 AM.

  • #2
    У вас не должно быть разбежностей между значениями в таблице и вариантами в описании поля в администрировании. Надо либо расширять варианты, либо менять значения в базе.
    В поиске есть возможность выбрать только из заданных вариантов. С фильтром None of Закрыта (для системы это ключ Completed) запрос строится, что значений не должно быть Completed. А для базы "Completed" не то же что "Закрыта"

    Comment


    • #3
      Т.е. то что слева в колонке администрирования - это значения которые должны быть прописаны в БД, справа - это настройка отображения в конкретном языке?

      "Completed" жестко зарезервировано под закрытые задачи и так и должно быть прописано в БД на закрытых задачах?

      Comment


      • #4
        Нет жесткой резервации, просто должно быть соответсвие между левой колонкой и значениями в базе.

        Но вот стандартные фильтры могут не работать. Их надо будет переопределить (те фильтры, что слева от поиска)
        EspoCRM – Open Source CRM Application. Contribute to espocrm/espocrm development by creating an account on GitHub.

        Comment


        • #5
          Есть ли корректный метод переопределения или правильнее исходный код править?

          В самом простом варианте необходимо в функции

          protected function filterActual(&$result)
          {
          $result['whereClause'][] = array(
          'status!=' => ['Completed', 'Canceled', 'Deferred']
          );
          }

          добавить в массив 'Closed'

          Comment


          • #6
            В файле custom/Espo/Custom/SelectManagers/Task.php создаете класс Task, наследуете данный класс, переодределяете нужные функции
            пространство имен - namespace Espo\Custom\SelectManagers;

            Comment


            • #7
              Спасибо!

              Все работает как хотелось бы.
              Last edited by dimyy; 06-28-2018, 12:21 PM.

              Comment

              Working...
              X