Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Очередь процессов - это интерфейс доступа к массиву процессов определённых типов. Очередь определяет вид таблицы, доступные сортировки и фильтры. Очереди отображаются в пользовательском интерфейсе оснасткой Процессы.

Редактирование очередей процессов производится в оснастке Администрирование => Процессы => Очереди процессов.

В свойствах очереди определяются доступные в ней типы процессов, прочие параметры вводятся в конфигурации.

В конфигурации очереди процессов определяются колонки с выводимыми данными, доступные фильтры и прочие параметры. При выборе родительского типа процесса в разрешённых типах все вновь появившиеся типы процессов-потомки также будут отображены в очереди без необходимости её пересохранения.

Колонки

Одна или несколько записей вида:

Где:

  • <id> - уникальный числовой идентификатор колонки;
  • <title> - заголовок;
  • <type> - выводимое значение, см. значения далее;
  • <align> - выравнивание: "left", "center", "right";
  • <style> - CSS стиль столбца;
  • <maxSymbols>, <titleIfMore> - максимальная не обрезаемая длина текста;
  • <linkTitle> - текст со ссылкой, linkUrl - разместить в качестве текста саму ссылку (значение колонки);
  • <aggregateFunction> - агрегирующая функция для столбца, допустимые значения: SUM, AVG, COUNT.

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

Использование агрегирующих функций предполагает дополнительный запрос для каждого вывода таблицы очереди процессов, что может замедлить отображение.

Выводимое значение <type> может быть следующим:

Таблица. Колонки

Значение <type>Что выводитсяtitleIfMore, cutIfMoreСортировкаВывод на печать
idКод процесса со ссылкой на открытие процесса на нём.

Да

Да

Да

type_titleНаименование типа процесса

Да

Да

Да

status_titleТекущий статус процесса.

Да

Да

Да

status_dtДата и время установки текущего статуса.

Да

Да

Да

status_user

Пользователь, установивший текущий статус.

Да

Да

Да

status_commentКомментарий текущего статуса.

Да

Да

Да

status:<statusIds>:dtДата и время последней установки статуса с кодом из перечисленных в <statusIds> через запятую.

Да

Да

Да

status:<statusIds>:userПользователь, последним установивший статус из перечисленных в <statusIds> через запятую.

Да

Да

Да

status:<statusIds>:commentКомментарий последнего статуса с кодом из перечисленных через запятую в <statusIds>.

Да

Да

Да

priorityПриоритет процесса. Строка в таблице очереди процесса окрашивается в цвет приоритета.

Нет

Да

Выводится число

create_dtДата и время создания процесса.

Да

Да

Да

create_userПользователь, создавший процесс.

Да

Да

Да

close_dtДата и время закрытия процесса.

Да

Да

Да

close_userПользователь, закрывший процесс.

Да

Да

Да

executors:<groupIds>:<roleIds>Исполнители процесса через запятую. Необязательные дополнения :<groupIds> и :<roleIds> позволяют ограничить исполнителей по группам и ролям, указывая их через запятую. Если необходимо ограничение только по ролям, использовать executors:*:<roleIds>.

Да

Нет

Да

groups:<roleIds>Группы решения процесса через запятую. Необязательное дополнение :<roleIds> позволит ограничить группы по ролям, указывая их через запятую.

Да

Нет

Да

descriptionОписание процесса.

Да

Да

Да

descriptionLinkОписание процесса со ссылкой на открытие карточки процесса.

Да

Да

Да

param:<param_id>

Значение параметра процесса с кодом <param_id>.

Для параметров с типами date и datetime возможно указание формата и необходимости вывода непосредственного значения.

Для параметров адресного типа возможно указание param:<param_id>:quarter и param:<param_id>:street - вывод наименования квартала и улицы.

Да

Да

Да

ifListParam:<paramId>:<value>:<existFag>:<notExistFlag>Вывод <existFlat> если списковый параметр процесса с кодом <paramid> установлен в значение <value> либо <notExistFlag> в противоположном случае, :<existFag>:<notExistFlag> - необязательные параметры, по умолчанию это символы "✓" и "✗

Нет

Нет

Нет, числовое значение спискового параметра

messageInCountКоличество входящих сообщений в процессе.

Да

Да

Да

messageInLastDtДата и время отправки последнего входящего сообщения.

Да

Да

Да

messageInUnreadCountКоличество входящих непрочитанных сообщений в процессе.

Да

Да

Да

messageInLastTextТекст последнего входящего сообщения.ДаДаДа
messageInLastUserПользователь, принявший последнее входящее сообщение.ДаДаДа
messageInLastSubjectТема последнего входящего сообщения в процессе.ДаДаДа
messageOutCountКоличество исходящих сообщений в процессе (обратите внимание, что все сообщение типа "Заметка" считаются исходящими).ДаДаДа
messageOutLastTextТекст последнего исходящего сообщения.ДаДаДа
messageOutLastUserПользователь, создавший последнее исходящее сообщение.ДаДаДа
messageOutLastSubjectТема последнего исходящего сообщения в процессе.ДаДаДа
linkCustomer:param:<param_id>Параметр привязанного к процессу контрагента, где <param_id> - код параметра. Возможны все те же опции, что и для столбца param.

Да

Да

Да

linkCustomer:<column>Значения столбца <column> из таблицы customer для привязанных контрагентов; id - код, title - наименование.

Да

Да

Да

linkObject:<object_type_prefix>Названия привязанных к процессу сущностей в таблице process_link с префиксом типа <object_type_prefix>.

Да

Да

Да

linkObject:<object_type_prefix>:idАналогично предыдущему, но выводится идентификатор привязанного объекта. Например: linkObject:bgbilling-helpdesk:id - код привязанного топика HelpDesk.

Да

Да

Да

linkCustomerLinkПеречень контрагентов, привязанных к процессу со ссылками на открытие их карточек.

Нет

Нет

Нет

linkObject:processПеречень кодов привязанных к процессу процессов со ссылками на открытие карточки через запятую.

Нет

Нет

Нет

linkObject:contract:<billingIds>Перечень привяазанных к процессу договоров BGBilling, необязательный суффикс :<billingIds> позволяет уточнить идентификаторы биллингов через запятую.

Нет

Нет

Нет

linkProcessList:<linkType>:<open>Отображение привязанных процессов к данному процессу. Отображаются дата создания, статус и тип. Необязательный параметр <linkType> - тип связи, * - любой тип; <open> - если указать open, то выводятся только открытые процессы.

Да

Нет

Да

linkedProcessList:<linkType>:<open>Аналогично предыдущему, но выводятся процессы, к которым привязан данный.

Да

Нет

Да

actionsСсылки с операциями над процессом.

Нет

Нет

Нет

Для всех типов столбцов, выводящих дату и время возможна установка после наименования столбца формата через двоеточие в формате Java. Например: status_dt:dd.MM.yy выведет только дату с двухзначным годом. Если столбец используется для сортировки и сортировка требуется по значению даты и времени а не по их строковому представлению, то вместо формата указывается :value. Если столбец требуется и для сортировки и для отображения - следует сделать два столбца один из которых скрыть

Очередь процессов может быть выведена в таблицу HTML либо на печать с помощью вызова Ещё - Печать.

По-умолчанию в таблице оснастки отображаются все настроенные столбцы, ограничить их и поменять порядок можно с помощью опции media.html.columns=<columnIds>, где <columnIds> - id столбцов через запятую в порядке вывода. Например:

Допустима склейка значений нескольких столбцов на одной позиции с помощью символа сложения, например:

Для вывода таблицы на печать определите таким же образом параметр конфигурации media.print.columns. Обратите внимание на таблицу, не все столбцы могут быть выведены на печать.

Для выгрузки таблицы в XLS файл, укажите переменную media.xls.columns, правила заполнения аналогичны. Пункт выгрузки в Excel появляется также в Ещё.

Выводимую в очереди таблицу с процессами можно настроить ещё более гибко, указав в конфигурации очереди:

Где <configHead> и <configRow> - JEXL выражения, генерирующие HTML для вывода заголовочного столбца таблицы и строк данных соответственно.

В контекст JEXL выражения передаются объекты, при генерации заголовка:

  • checkAllLink - строка, содержащая ссылку для выделения всех строк в случае использования обработчиков в очереди.

При генерации строки:

  • priority - строка с цветом, соответствующим приоритету процесса;
  • colX - HTML со значением столбца с кодом X.

Пример настройки отображения заголовка таблицы и строк с помощью JEXL:

Код  Развернуть исходный код

В результате очередь будет выглядеть приблизительно подобным образом.

Обратите внимание на группировку различных данных в столбцах описание и статус.

Фильтры

Одна или несколько записей вида:

Где:

  • <id> - уникальный числовой идентификатор фильтра;
  • <type> - тип фильтра, единственный обязательный параметр, см. значения далее.

Порядок фильтров в конфигурации определяет их порядок в отображении.

Пример. Фильтр по статусу с выбранным по-умолчанию значением и ограничениям на значения, фильтр по дате создания, по группам решения, исполнителям, коду и дате закрытия.

Далее описываются фильтры по их типу (параметр <type>), обязательные и необязательные параметры. В таблице перечислены типы фильтров и их параметры

Таблица. Типы фильтров

Значение <type>ФильтрИнформация
codeЧисловой код процесса. 
descriptionПодстрока в описании процесса. 
openCloseОткрытые либо закрытые процессы.

В отличие от фильтра по статусу данный фильтр может существенно ускорять выборку.

Дополнительные параметры:

  • defaultValue - 'open' либо 'close'.
create_dateДиапазон дат создания процесса. 
close_dateДиапазон дат закрытия процесса. 
status_dateДиапазон дат когда процесс последний раз был переведён в какой-то статус.

Необязательные параметры:

  • availableValues - отображаемые в фильтре коды статусов, в порядке их отображения; если параметр не указан - отображаются все статусы.
statusТекущий статус процесса.

Необязательные параметры:

  • width - ширина фильтра в пикселях;
  • values - жёстко заданные в фильтре коды статусов, в этом случае фильтр имеет смысл только скрытым;
  • availableValues - отображаемые в фильтре коды статусов, в порядке их отображения; если параметр не указан - отображаются все статусы;
  • defaultValues - коды статусов, выбранные в фильтре по-умолчанию через запятую;
  • onEmptyValues - значения фильтра, используемые, если никакие значения пользователем не выбраны.
typeТип процесса.

Необязательные параметры:

  • width - ширина фильтра в пикселях;
  • availableValues - отображаемые в фильтре коды типов процессов, в порядке их отображения; если параметр не указан - отображаются все типы процессов;
  • defaultValues - коды типов процессов, выбранных в фильтре по-умолчанию через запятую;
  • onEmptyValues - значения фильтра, используемые, если никакие значения пользователем не выбраны.
groupsГруппы, исполняющие процесс. Без учёта ролей.

Необязательные параметры:

  • width - ширина фильтра в пикселях;
  • availableValues - отображаемые в фильтре коды групп, в порядке их отображения; если параметр не указан - отображаются все группы;
  • defaultValues - коды типов групп, выбранных в фильтре по-умолчанию через запятую;
  • onEmptyValues - значения фильтра, используемые, если никакие значения пользователем не выбраны.
executorsИсполнители процесса.

Без учёта в составе какой группы участвует пользователь. Фильтр работает только совместно с фильтром groups, при этом в списке исполнителей отображаются пользователи, когда-либо состоявшие в группах, указанных в фильтре groups.

Необязательные параметры:

  • width - ширина фильтра в пикселях;
  • values - "current", если необходимо отображать только процессы с текущим пользователем в исполнителях, фильтр в этом случае желательно скрыть;
  • showEmptyExecutor - "1", отображение в фильтре исполнителей пункта "не указан" для выбора процессов без исполнителя.
grexСовмещённый фильтр по группам и исполнителям процесса.

Фильтрует с учётом роли групп в процессах.

Обязательные параметры:

  • roleId - код роли.

Необязательные параметры:

  • groups.show - 0, если выбор групп необходимо скрыть;
  • groups.width - ширина выбора групп в пикселях;
  • groups.availableValues - отображаемые в фильтре коды групп, в порядке их отображения; если параметр не указан - отображаются все группы;
  • groups.defaultValues - коды типов групп, выбранных в фильтре по-умолчанию через запятую;
  • groups.onEmptyValues - значения групп фильтра, используемые, если никакие значения пользователем не выбраны;
  • executors.show - 0, если выбор исполнителей необходимо скрыть;
  • executors.width - ширина выбора исполнителей в пикселях.
param:<paramId>Параметр процесса с кодом <paramId>.

Поддерживаются параметры одного из следующих типов: "list", "listcount", "date", "datetime", "address".

Обязательные параметры:

  • title - подпись к фильтру.

Необязательные параметры:

  • orEmpty - "1", для включения в выборку процессов с пустым значением параметра; для параметров "date", "datetime".
  • width - ширина фильтра в пикселях; для параметров типа "list", "address";
  • availableValues - доступные значения спискового параметра;
  • defaultValues - выбранные по-умолчанию значения спискового параметра;
  • onEmptyValues - значения параметра, используемые, если никакие значения пользователем не выбраны;
  • valueFrom - "curdate", для принудительного задания начала периода равным текущей дате; для параметров "date", "datetime";
  • valueTo - "curdate", для принудительного задания конца периода равным текущей дате; для параметров "date", "datetime";
  • fields -  разделённые точкой с запятой поля для параметра типа "address", доступные значения: "city;quarter;street;house;flat"; поля город, улица и дом отображаются всегда, вне зависимости от наличия в конфигурации.
linkedCustomer:title

Подстрока в наименовании привязанного к процессу контрагента.

Необязательные параметры:

  • width - ширина фильтра в пикселях.
linkedCustomer:param:<paramId>Параметр привязанного к процессу контрагента с кодом <paramId>.

Поддержан только тип list.

Обязательные параметры:

  • title - подпись к фильтру.

Необязательные параметры:

  • width - ширина фильтра в пикселях;
  • availableValues - доступные значения спискового параметра;
  • defaultValues - выбранные по-умолчанию значения спискового параметра;
  • onEmptyValues - значения параметра, используемые, если никакие значения пользователем не выбраны.

Сортировка

Конфигурация количества последовательных сортировок (выпадающих списков с режимами сортировки).

Где:

  • <count> - количество последовательных сортировок.

Пример:

Для каждого выпадающего списка возможно определение значния по-умолчанию:

Где:

  • <combo_id> - порядковый номер выпадающего списка начиная с 1;
  • <defaultValue> - выбранное по-умолчанию значение в выпадающем списке начиная с 1.

Либо жёстко определить значение (используется в основном для мобильного интерфейса):

Где:

  • <combo_id> - порядковый номер выпадающего списка начиная с 1;
  • <value> - выбранное значение в выпадающем списке начиная с 1.

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

Где:

  • <id> - уникальный числовой идентификатор режима сортировки;
  • <col_id> - числовой идентификатор колонки, по которой производится сортировка, либо "0" - случайный режим сортировки;
  • <title> - название режима сортировки.

Пример. Режимы сортировки по типу процесса, выводимому в колонке 1 и режим обратной соротировке по id процесса.

Операции

Настраиваемые операции над процессом, ссылки которых выводятся в колонке с value=actions.

Действия могут отображаться в виде ссылок либо кнопок.

По-умолчанию операции отображаются в виде ссылок, для "кнопочного" отображения добавить в конфигурацию очереди.

Операции определяются в конфигурации очереди следующим образом:

Где:

  • <id> - уникальный числовой идентификатор режима сортировки;
  • <title> - наименование операции.
  • <statusIds> - коды статусов через запятую, в которых разрешена операция;
  • <commands> - команды макроса обработки процесса;
  • <shortcut> - сокрашённый текст на кнопке;
  • <style> - атрибут HTML style для кнопки.

Пример настройки операций в очереди процессов.

Обработчики

Обработчики позволяют производить пакетную обработку нескольких выделенных процессов. Например, менять статус или устанавливать исполнителя. Обработчики добавляются в конфигурации очереди записями следующего вида:

Где:

  • <id> - числовой идентификатор обработчика;
  • <class> - динамический либо обычный класс, расширяющий ru.bgcrm.event.listener.DynamicEventListener
  • <jspPage> - JSP страница со свойствами обработчика.

Параметр responseType=file необходимо указывать для обработчиков, генерирующих файлы, например для печати.

Пример обработчиков в конфигурации:

Обработчики отображаются в пункте меню Ещё очереди процессов наряду со стандартными пунктами.

В системе поставляется обработчик ru.bgcrm.event.listener.DefaultMarkedProcessor, позволяющий выполнять некоторые типовые обработки процессов в очереди. Шаблон добавления обработчика:

Где:

  • <id> - числовой идентификатор обработчика;
  • <commands> - команды, см. далее.

Поддержанные команды:

  • setStatus:<statusIds> - установка одного из статусов, коды которых через запятую перечислены в <statusIds>;
  • addExecutors:<groupIds> - добавление в процесс исполнителей из групп, коды которых перечислены через запятую в <groupIds>;
  • setParam:<paramId> - установка параметра процесса с кодом <paramId>, поддержаны типы 'date' и 'datetime';
  • print:<patternId> - команда должна быть единственной в обработчике; генерация бланка документа типа jspHtml либо pdfForm.

Шаблон документа для команды print должен обладать scope=processQueue, title=<любая строка>. Пример шаблона:

Прочие параметры очереди

Где:

  • <show_in> - может быть usermob, user; по-умолчанию принимается значение user.
  • <process_id_x> - код типа процесса;
  • <title_x> - наименование кнопки.

 

 

  • Нет меток
Документация BGCRM 3.0