...
Одна или несколько записей вида:
Блок кода | ||||
---|---|---|---|---|
| ||||
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 |
...
Пример настройки отображения заголовка таблицы и строк с помощью JEXL:
Блок кода | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
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} |
...
Одна или несколько записей вида:
Блок кода | ||||
---|---|---|---|---|
| ||||
filter.<id>.type=<type> # при необходимости сделать фильтр скрытым #filter.<id>.show=0 # дополнительные обязательные и необязательные параметры различные для разных фильтров filter.<id>.<param1>=<value1> .. filter.<id>.<paramX>=<valueX> |
...
Пример. Фильтр по статусу с выбранным по-умолчанию значением и ограничениям на значения, фильтр по дате создания, по группам решения, исполнителям, коду и дате закрытия.
Блок кода | ||||
---|---|---|---|---|
| ||||
filter.1.type=status filter.1.show=1 filter.1.availableValues=9,10,12 filter.1.defaultValues=10 # filter.2.type=create_date # filter.3.type=groups filter.3.defaultValues=17 # filter.4.type=executors # filter.5.type=code filter.6.type=close_date |
...
Пример. Режимы сортировки по типу процесса, выводимому в колонке 1 и режим обратной соротировке по id процесса.
Блок кода | ||||
---|---|---|---|---|
| ||||
sort.mode.1.columnId=1 sort.mode.1.title=Тип sort.mode.2.column.id=2 sort.mode.2.title=Создан обр. sort.mode.2.desc=1 |
...
Операции определяются в конфигурации очереди следующим образом:
Блок кода | ||||
---|---|---|---|---|
| ||||
action.<id>.title=<title> action.<id>.statusIds=<statusIds> action.<id>.commands=<commands> # # необязательные параметры # подпись кнопки action.<id>.shortcut=<shortcut> action.<id>.style=<style> |
...
Пример настройки операций в очереди процессов.
Блок кода | ||||
---|---|---|---|---|
| ||||
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 |
...
Обработчики позволяют производить пакетную обработку нескольких выделенных процессов. Например, менять статус или устанавливать исполнителя. Обработчики добавляются в конфигурации очереди записями следующего вида:
Блок кода | ||||
---|---|---|---|---|
| ||||
processor.<id>.title=<title> processor.<id>.class=<class> # # необязательные параметры processor.<id>.page=<jspPage> processor.<id>.responseType=file |
...
Пример обработчиков в конфигурации:
Блок кода | ||||
---|---|---|---|---|
| ||||
processor.1.title=Создать компанию обзвона Астериск processor.1.class=ru.bgcrm.dyn.ufanet.otm.CreateTMCallCampaign processor.2.title=Принять на processor.2.class=ru.bgcrm.dyn.ufanet.stp.SetProcessExecutor processor.2.page=/WEB-INF/jspf/user/process/queue/custom/executor_list.jsp |
...
В системе поставляется обработчик ru.bgcrm.event.listener.DefaultMarkedProcessor, позволяющий выполнять некоторые типовые обработки процессов в очереди. Шаблон добавления обработчика:
Блок кода | ||||
---|---|---|---|---|
| ||||
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 |
...
Шаблон документа для команды print должен обладать scope=processQueue, title=<любая строка>. Пример шаблона:
Блок кода | ||||
---|---|---|---|---|
| ||||
document:pattern.37.title=BLANK document:pattern.37.scope=processQueue document:pattern.37.script=ru.bgcrm.plugin.document.docgen.CommonDocumentGenerator document:pattern.37.xslt=docpattern/ktv_blank.xsl document:pattern.37.type=xsltHtml document:pattern.37.documentTitle=report.html |
...