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

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

Ключ

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

...

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

Блок кода
languagejavaruby
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

...

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

Блок кода
languagejavaruby
titleКод
linenumbersfalse
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}

...

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

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

...

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

Блок кода
languagejavaruby
linenumbersfalse
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 процесса.

Блок кода
languagejavaruby
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

...

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

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

...

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

Блок кода
languagejavaruby
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

...

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

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

...

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

Блок кода
languagejavaruby
linenumbersfalse
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, позволяющий выполнять некоторые типовые обработки процессов в очереди. Шаблон добавления обработчика:

Блок кода
languagejavaruby
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

...

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

Блок кода
languagejavaruby
linenumbersfalse
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

...

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