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

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

Ключ

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

...

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

Колонки

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

...

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

Нет

Нет

Нет

Якорь
dt_desc
dt_desc

...

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

...

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

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

...

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

Блок кода
languageruby
titleКод
collapsetrue
column.1.title=ID
column.1.value=id
column.2.title=Причины
column.2.value=param:500
column.3.title=Работы
column.3.value=param:466
column.4.title=Создан
column.4.value=create_dt
column.5.title=Приор.
column.5.value=priority
column.6.title=Статус
column.6.value=status_title
column.7.title=Группа
column.7.value=groups
column.8.title=Адрес
column.8.value=param:345
column.30.title=Описание
column.30.value=description
column.31.title=Исполнители
column.31.value=executors
column.32.title=Время
column.32.value=param:610
column.33.title=Время (значение)
column.33.value=param:610:value
column.34.title=Действия
column.34.value=actions
column.34.align=center

configHead="<tr><td width='20' class='printHide'>".concat( checkAllLink ).concat("</td>")
configHead+=.concat( "<td>ID</td>" )
configHead+=.concat( "<td>Статус [создан]</td>" )
configHead+=.concat( "<td>Адрес</td>" )
configHead+=.concat( "<td>Описание</td>" )
configHead+=.concat( "<td>Группа [исполнители]</td>" )
configHead+=.concat( "<td>Время</td>" )
configHead+=.concat( "<td class='printHide'>Действия</td></tr>" )

configRow="<tr bgcolor='".concat( urgColor ).concat( "' processId='" ).concat( process.getId().toString() ).concat( "'>" )
configRow+=.concat( "<td class='printHide'><input type='checkbox' name='processId' value='" ).concat( process.getId().toString() ).concat( "'/></td>" )
configRow+=.concat( "<td>" ).concat( col1 ).concat( "</td>" )
configRow+=.concat( "<td><b>" ).concat( col6 ).concat( "</b> [" ).concat( col4 ).concat( "]" ).concat( "</td>" )
configRow+=.concat( "<td>" ).concat( col8 ).concat( col36 ).concat( "</td>" )
configRow+=.concat( "<td><b>" ).concat( process.getTypeTitle() ).concat( "</b><br/>" )
configRow+=.concat( process.getTypeId() != 9432 ? "Причины: ".concat( col2 ).concat( "Работы: ").concat( col3).concat( "<br/>" ) : "" )
configRow+=.concat( process.getTypeId() == 9432 ? "И: ".concat( col40 ).concat( "; КТВ: ").concat( col45 ).concat( "; ТЛФ: ").concat( col50 ).concat( "; VOIP: ").concat( col55 ).concat( "<br/>" ) : "" )
configRow+=.concat( col30 ).concat( "</td>" )
configRow+=.concat( "<td>" ).concat( col7 ).concat( " [" ).concat( col31 ).concat( "]</td>" )
configRow+=.concat( "<td>" ).concat( col32 ).concat( "</td>" )
configRow+=.concat( "<td class='printHide'>" ).concat( col34 ).concat( "</td>" )
configRow+=.concat( "</tr>" )

rowConfig.1.media=html
rowConfig.1.stringExpressionHead={@configHead}
rowConfig.1.stringExpressionRow={@configRow}

...

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

Фильтры

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

...

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

Сортировка

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

...

Якорь
process_queue_operation
process_queue_operation

Операции

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

...

Якорь
processQueueProcessor
processQueueProcessor

Обработчики

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

...

Блок кода
languageruby
document:pattern.100.scope=processQueue
document:pattern.100.script=ru.bgcrm.plugin.document.docgen.CommonDocumentGenerator
document:pattern.100.type=jspHtml
document:pattern.100.jsp=/WEB-INF/jspf/user/plugin/document/template/example/process_queue_processor_html.jsp

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

Блок кода
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> - наименование кнопки.

Работа с очередями процессов

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

Image Removed

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

Image Removed

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

Image Removed

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

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

Image Removed

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

ЯкорьcountercounterДействия Ещё - Фильтр - счётчик на панель / Фильтр - счётчик убрать с панели позволяют выделить число счётчика на панель задач BGCRM с определённым цветом и всегда иметь актуальную информацию о важных количественных параметрах процессов. На снимке экрана выше процессы фильтра Нет исполнителя вынесены на панель с красным цветом. 

 

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