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

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

Ключ

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

...

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

Колонки

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

...

Значение <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> - наименование кнопки.

 

 

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