Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Якорь
config_process_queue
config_process_queue

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

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

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

...

Блок кода
languagejava
linenumbersfalse
column.<id>.title=<title>
column.<id>.value=<type>
# необязательные параметры
# запрет переносов в столбце 
column.<id>.nowrap=1
# выравнивание в столбце
column.<id>.align=<align>
# стиль столбца
column.<id>.style=<style>
# форматирование переносов строк в столбце к HTML формату (переносы строк отображаются в таблице)
column.<id>.formatToHtml=1
# обрезание значения столбца с добавлением ссылки на развёртывание полного текста, если длина текста больше <maxSymbols> символов
column.<id>.cutIfMore=<maxSymbols>
# обрезание значение столбца с отображением полного значения по наведению мыши
column.<id>.titleIfMore=<titleIfMore>
# отображать значение как ссылку
column.<id>.showAsLink=<linkTitle>
# значения параметров берутся у процесса, к которому данный привязан (родительский)
#column.<id>.process=linked
# преобразование значения в UNSIGNED - может быть полезным при сортировке
#column.<id>.convert=int

Где:

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

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

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

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

Да

Да

Да

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

Да

Да

Да

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

Да

Да

Да

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

Да

Image Removed Да

Да

status_user

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

Да

Да

Да

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

Да

Да

Да

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

Да

Image Removed Да

Да

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

Да

Да

Да

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

Да

Да

Да

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

Нет

Да

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

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

Да

Image Removed Да

Да

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

Да

Да

Да

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

Да

Image Removed Да

Да

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Количество входящих сообщений в процессе.

Да

Да

Да

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

Да

Image Removed Да

Да

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

Да

Да

Да

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Ссылки с операциями над процессом.

Нет

Нет

Нет

Якорь
dt_desc
dt_desc

Примечание

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

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

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

...

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

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

...

Блок кода
languageruby
linenumbersfalse
rowConfig.1.media=html
rowConfig.1.stringExpressionHead=<configHead>
rowConfig.1.stringExpressionRow=<configRow>

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

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

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

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

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

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

...

Блок кода
languagejava
linenumbersfalse
filter.<id>.type=<type>
# при необходимости сделать фильтр скрытым
#filter.<id>.show=0
# дополнительные обязательные и необязательные параметры различные для разных фильтров
filter.<id>.<param1>=<value1>
..
filter.<id>.<paramX>=<valueX>

Где:

  • <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 - значения параметра, используемые, если никакие значения пользователем не выбраны.
linkedCustomer:title

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

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

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

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

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

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

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

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

...

Блок кода
languageruby
linenumbersfalse
sort.combo.count=<count>

Где:

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

...

Блок кода
languageruby
linenumbersfalse
sort.combo.<combo_id>.default=<defaultValue>

Где:

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

...

Блок кода
languageruby
linenumbersfalse
sort.combo.<combo_id>.value=<value>

Где:

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

...

Блок кода
languageruby
linenumbersfalse
sort.mode.<id>.columnId=<col_id>
sort.mode.<id>.title=<title>
# обратный режим сортировки 1 - обратный, 0 - прямой
sort.mode.<id>.desc=1

Где:

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

...

Блок кода
languagejava
linenumbersfalse
sort.mode.1.columnId=1
sort.mode.1.title=Тип
sort.mode.2.column.id=2
sort.mode.2.title=Создан обр.
sort.mode.2.desc=1

Якорь
process_queue_operation
process_queue_operation

Операции

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

...

Блок кода
languagejava
linenumbersfalse
action.<id>.title=<title>
action.<id>.statusIds=<statusIds>
action.<id>.commands=<commands>
#
# необязательные параметры
# подпись кнопки
action.<id>.shortcut=<shortcut>
action.<id>.style=<style>

Где:

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

...

Блок кода
languagejava
linenumbersfalse
actionShowMode=buttons
action.1.title=Принять
action.1.shortcut=П
action.1.statusIds=10,13
action.1.style=padding: 0.2em 0.6em;
action.1.commands=setStatus:9;setCurrentExecutor;refreshCurrentQueue
action.2.title=Принять и открыть
action.2.shortcut=ПО
action.2.statusIds=10,13
action.2.style=padding: 0.2em 0.6em;
action.2.commands=setStatus:9;setCurrentExecutor;open
action.3.title=Отложить
action.3.shortcut=ОТЛ
action.3.statusIds=9,10,15
action.3.style=padding: 0.2em 0.6em;
action.3.commands=setStatus:13;clearExecutors;refreshCurrentQueue

Якорь
processQueueProcessor
processQueueProcessor

Обработчики

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

Блок кода
languagejava
linenumbersfalse
processor.<id>.title=<title>
processor.<id>.class=<class>
#
# необязательные параметры
processor.<id>.page=<jspPage>
processor.<id>.responseType=file

Где:

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

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

...

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

Якорь
process_queue_default_processor
process_queue_default_processor

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

Блок кода
languagejava
linenumbersfalse
processor.<id>.title=<title>
processor.<id>.class=ru.bgcrm.event.listener.DefaultMarkedProcessor
processor.<id>.commands=<commands>
#
# если не печать
processor.<id>.page=/WEB-INF/jspf/user/process/queue/default_marked_processor.jsp
# если печать
processor.<id>.responseType=file

Где:

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

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

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

...

Блок кода
languageruby
linenumbersfalse
# в каком интерфейсе отображать очередь
showIn=<show_in>
# для мобильного интерфейса кнопки создания процессов в очереди
createAllowedProcessList=<process_id_1>:<title_1>;<process_id_2>:<title_2>;..<process_id_n>:<title_n>
# для стационарного интерфейса - запрет создания процессов в очереди (нет кнопки "Создать")
allowCreateProcess=0

Где:

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