|
По MatrixObject в FastReport
|
|||
---|---|---|---|
#18+
Есть ли знатоки в FR ? По ходу дела пришлось столкнуться с генерацией отчета для которого больше всего подходит объект матрица. Мне например нужно бы делать в итоговых столбцах не сумму, а разность, для сравнения план факта. В дизайнере появляется выбор "пользовательская", но как с ним работать так и не нашел. Подскажите каким образом можно такое сделать? А так же можно ли как нибудь подставлять в заголовок другие значения. Вот у меня например план идет со значением tip "1", а факт "0". и если я делаю как на скриншоте, то само собой вижу в заголовке 0 и 1, надо бы план факт. В поиске специалиста по FR за сдельную оплату. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2018, 16:09 |
|
По MatrixObject в FastReport
|
|||
---|---|---|---|
#18+
Отвечу сам себе. Данный опыт будет полезен другим разработчикам реализующим формирование отчетов в FastReport, так же для разработчиков в виде дополнительной информации для оценки возможностей представленного генератора отчетов при выборе генератора для своего проекта . Свою задачу решить смог. Служба поддержки FastReport не бросила меня в трудную минуту. Мой тикет в итоге передали Александру Циганенко основателю и техническому диерктору компании. В результате взаимодействия Александр добавил дополнительный функционал для реализации посталенной задачи, поэтому представленные примеры будут работать только на билде выше 2018.3.36 Необходимо было реализовать отчет по сотрудникам для компании в сфере курьерских перевозок. Сотрудников много. Формат отчета предпологал - столбцы с информацией о сотруднике (номер договора, дата найма), - статические столбы для анализа, - динамический набор столбцов по начисленным суммам и оплаченным. Динамческий набор зависел от данных на которых строится отчет. - строки нужно группировать по городу, проекту с итогами наверху. Данные предоставляются в отчет в таком формате idnameproektgoroddogovorDate1Date2dopInfo3adres2exptipanalitikNamesumma 1998Титов Олег СергеевичbrkМСК554 2018.01.01NULLNULL NULL EPR0171Вознаграждения5000 Получилось сделать с помощью объекта Матрица Как делать. В дизайнере отрисовываем шаблон отчета на базе объекта Матрица с помощью перетаскивания мышкой полей с окна Данные. Таким образом матрица сама делает группировку строк и подсчет итогов, чтобы итоги были наверху, выставляем соответствующую галочку. Чтобы добавить столбцы с информацией о сотруднике (номер договора договор, дата найма) добавляем обекты Текст в строку в матрице и пишем них источник из данных, например [dannieSotr.dataNaima] Далее переходим в скрипты событие AfterData для добавления данных Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48.
событие AfterTotals для расчета итогов Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 21:09 |
|
По MatrixObject в FastReport
|
|||
---|---|---|---|
#18+
В итоге получается такой отчет, который можно экспортировать в любой формат, а так е можно нагрузить дополнительно функционалом, например при двойном клике по сотруднику открывать его "расчетку" Как видите FastReport блестяще справился с поставленной задачей. Клиент счастлив, я как разработчик доволен "как слон". Меня радует что у меня "развязаны руки" формировать отчеты такого уровня сложности используя функционал генератора отчетов, передавая стандартный набор данных ,то есть иными словами, чтобы решать такие задачи не потребуется индивидуализировать запрос и набор предоставляемых данных к генератору отчета от моего приложения, таким образом мне легко подстраиваться под запросы пользователей, меняя только шаблон отчета и не делая изменений в ядро системы или разнообразные "костыли". ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 21:28 |
|
|
start [/forum/topic.php?fid=31&fpage=6&tid=1532946]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 123ms |
0 / 0 |