Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 6 Следующий »

Результаты действий мастера можно вывести в таблице. Для этого нужно добавить элемент "таблица" в редакторе мастера. В данном примере будет показан весь путь создания небольшого "мастера".

Допустим, что нужен мастер, который отображает в таблице список абонентов с отрицательным балансом, и пополнение счёта от которых не было более 2 месяцев

В обработчике мастера указываем Action ID дочернего мастера, в обработчик которого будет переданы данные из текущего: assistantResponce.setNextActionId("debtorsTable");

Создаём окно с таблицей, указывая Action ID: debtorsTable

При запуске мастер "Поиск должников", появится такое окно для задания условий.

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

Для того, чтобы данные корректно отобразились в таблице, необходимо в дин.коде создать собственный класс, который должен быть наследником абстрактного класса  ru.bitel.bgbilling.plugins.assistant.common.bean.FilterTableModel. 

Для того, чтобы передать список собственных классов в механизм создания таблицы, нужно передать полный путь до созданного класса, также нужно преобразовать список в формат JSON,

воспользовавшись методом mapperWrite( List<? extends FilterTableModel> data ) из класса ru.bitel.bgbilling.plugins.assistant.server.AssistantUtils 

Пример того, как это можно сделать показан на скриншоте выше.  assistantResponse.addFieldData( "debtorsTable", new AssistantKeyValue[]{ new AssistantKeyValue( "ru.bitel.bgbilling.assistant.contract.DebtorTableFilter", result )} );

При необходимости, можно реализовать абстрактный метод  getCorrectData() и передать в таблицу данные для определённого столбца. Например, есть необходимость показать в таблицы текущий статус для договоров, с помощью этого метода, можно подменить число статуса на более понятный "Активен". Если нет необходимости  в "подмене" данных, метод должен возвращать null.

Второй метод getCorrectTitleColumn() из родительского FilterTableModel должен возвращать корректное название для колонок таблицы. 

Итоговый результат работы мастера показан ниже

Если таблица содержит колонку с названием "contractId", "cid" или "idContract", то при клике на строке, будет выполняться поиск договора с таким id  в БД, если договор будет найден, он будет открыт.


  • Нет меток