Когда делаешь юнивёрсы и отчёты, всё более-менее понятно. Вот какие другие задачи возникали недавно:
1. В отчёте WebI на юнивёрсе поверх таблиц (не OLAP) сделать дату по умолчанию == сегодня. Посёрфил в сети, охренел (слабо сказано!). Проблема тянется с 2007 года минимум, до сих пор есть только два решения: * сделать @prompt не типом D а текстовым. К нему нагенерить значения, в том числе значение 'СЕГОДНЯ', которое и будет по умолчанию. В sql-запросе преобразовывать в дату и анализировать на 'СЕГОДНЯ'. Буэ так как нет валидации а 365 значений в списке выбирать -- мало радости. * @prompt типа D но по умолчанию дата 01.01.1901. Это типа 'СЕГОДНЯ' и пользователь это держит в башке.
Дата по умолчанию работает (говорят) только в OLAP-юнивёрсах.
2. Сделать отчёт по активности пользователей -- кто какие отчёты запускал Поставляется штатный Activity.unv, в принципе все данные в нём можно вытащить но он муторный. Проще оказалось написать select на 3 строчки. Правда сперва требуется поизучать структуру БД аудита.
3. К отчёту п.2 добавить информацию, к какой группе пользователей относится логин (там этого нет) Тут я немного прифигел от найденного решения: в CMS 99% информации по данному вопросу хранится в БЛОБах и нужно ходить через BO SDK -- то есть в юнивёрс это вообще никак не цепляется. В итоге сделал однократный разбор выборки Query Builder из виртуальных таблиц CI_*, загрузку этой информации в свою БД.
Затем попытался сляпать отчёт на основании Auditing database и CMS, неожиданно понял что совместить измерения при соединении к двум БД можно но остальные поля в отчёт не подтянуть. Пришлось шаманить с дблинками.
В итоге задача решена, но BO тут только мешает.
Нерешённой пока осталась задача -- выбирать параметры запуска отчёта, т.к. требуется разбор SQL. При желании и времени реализуемо.
4. Организовать ввод комментариев пользователя к бизнес-данным
Это конечно не задача BO/BW но заказчик хочет. WebI приятно порадовал возможностью писать расширения JS/JSP (Enhancement Points), да и готовый плагин с похожей функциональностью достаточно известен. Через расширения удалось сделать требуемое (комментарии попадают в БД с отчётами через окольный путь но это неважно), а пользователь ходит через единую точку входа.
В общем WebI не очень приятная штука (глюки, архитектура, диагностика ошибок, расширяемость). Особенно по сравнению с единым АБАПом в BW. Но и здесь можно выкрутиться.
_________________ Telegram-chat: PO, CPI-PI, java, groovy
|