Использование отчётов для организации универсального поиска
Материал из BiTel WiKi
В отчётах имеется возможность использовать перекрёстные ссылки для открытия объектов биллинга. Это можно применить для некоего "универсального поиска". Метод работает как для Jasper-отчётов, так и для табличных отчётов, только по-разному.
Jasper-отчёты
[u]Как сделать универсальный поиск договоров и с любыми фильтрами и с любыми столбцами результата:[/u]
1) Делаем отчёт в модуле отчётов. 2) ??? 3) PROFIT
[u]Подробности (про это будет в доке):[/u]
В отчёте имеется возможность использовать гиперссылки. Это позволяет из одного отчёта быстро открывать другие связанные отчёты или разные сущности системы, например, договоры. Итак, можно использовать отчёты как пресловутый "универсальный поиск", а именно: формируем любые фильтры и логику поиска, связываем строки результата с отрываемыми договорами и всё -- можно получить список договоров по любому критерию с возможностью открыть нужный. На данный момент поддерживаются следующие типы ссылок:
[list] [*][b]bgbilling:reports://bitel.billing.module.services.reports.BGReportsPanel?param1=value1¶m2=value2&...[/b] для открытия любого другого отчёта. Для этого нужно знать соответствующие параметры метода Report модуля reports (код отчёта итд). [*][b]bgbilling:reports://bitel.billing.module.contract.ContractEditor?<cid>[/b] для открытия вкладки с соответствующим договором.[/list]
Для упомянутой цели, как видно, нужен второй пункт.
[u]Подсказка подробнее:[/u]
В свой отчёт в нужное поле (например, куда выводите заголовок договора) вставляете гиперссылку вида[code]bgbilling:reports://bitel.billing.module.contract.ContractEditor? + <cid договора для этой строки>[/code]Появляется на заголовке договора гиперссылка, которая открывает вкладку договора.
И еще надо выбрать из списка hyperlinkType = "Reference".