Skip to content

Raportowanie

Moduł Wycofany

Moduł wycofany z użycia. Używany tylko w platformie CRM

Platforma

  • platormaCRM używa dwóch systemów raportowania

Jasper Reports Community

  • używany głównie do wydruków dokumentów
  • wymagających "pixel perfect"
  • Wymaga narzędzie Jasper Studio community editor, zwykle zainstalowany port 8080

Raporty (CGS)

System do raportowania

platformaCRM posiada moduł CGS (content generating system) umożliwiający przygotowanie raportów

Prezentacje wyniku

  • EKRAN / PDF / EXCEL / PLIK / DOCX
  • jako komponent

Obsługiwane żródła danych

  • zapytanie SQL
  • procedura SQL
  • dowolny połączenie oznacza to że systemmoże teżraportować

Przykłady użycia

  • raport sprzedaży z możliwością wydrukowania PDF lub pobrania w formie pliku excel
  • komponent umożliwiający wyświetlenie w kontekście użytkownika danych z innych systemów np systemu finansowo księgowego

Typy Templatów v1.6

Porównanie możliwości różnych mechanizmów template obsługiwanych w platformie

Funkcjonalność GRID HTML RAZOR EXCEL JSON RAWFILE
1 Wyświetlanie wielu zestawów danych z jednej procedury NIE TAK TAK TAK TAK TAK
2 Wyświetlanie dużych ilości informacji 100 000 + wierszy TAK NIE NIE TAK NIE NIE
3 Podsumowanie automatyczne TODO TAK TAK TAK NIE NIE
4 Grupowanie automatyczne TAK TAK TAK NIE NIE

GRID

Rekomendowany do wyświetlania dużych ilości informacji np 500 000 wierszy oparty na komponencie  https://github.com/mleibman/SlickGrid

img

HTML

Natywnie wspieranie automatyczne generowanie pliku HTML z rezultatów.

img

Podstawowy

img

z wypełnionym polem grupowania i sum

RAZOR

Mozliwość wykorzystania templatów RAZOR do budowania bardziej zaawansowanych komponentów  https://antaris.github.io/RazorEngine/AboutRazor.html

EXCEL

Zwrot danych do formatu EXCEL XLSX

JSON

Zwrot danych  w postaci json

JSON
{
   "1":[
      {
         "invoice":"invoice 1",
         "currency":"USD",
         "amount":5.990
      },
      {
         "invoice":"invoice 2",
         "currency":"PLN",
         "amount":5.999
      },
      {
         "invoice":"invoice 3",
         "currency":"USD",
         "amount":1.099
      },
      {
         "invoice":"invoice 3",
         "currency":"USD",
         "amount":12.000
      },
      {
         "invoice":"invoice 3",
         "currency":"USD",
         "amount":1.100
      }
   ],
   "2":[
      {
         "text":"sample result 1",
         "integer":1,
         "double":1.00,
         "large number":1000000.004,
         "markup":"lorem <br/> ipsum ",
         "parameter":"zwrotka"
      }
   ]
}

RawFile

Rekomendowany w przypadku generowania plików TXT, XML .

Jeżeli w zestawie informacji znajdzie się kolumna  'filename' zostanie użyty jako nazwa pliku

Przykład Pliki JPK.

Eksperymentalne

  • DOCX  - dokument WORD
  • CHART_BAR - wykresy
  • CHART_LINE - wykresy
  • CHART_PIE - wykresy

Bezpieczeństwo

  • Dostęp do edycji CGS powinien posiadac tylko osoby wyznaczone i przeszkolone.
  • Domyślnie słowa [user], delete,insert,update,truncate,drop,alter w komendach sql nei sa dozwolone
  • Zalecane jest używane procedur bazy danych

Przykład procedury dla raportu

Procedura w bazie SQL

SQL
alter PROCEDURE dbo.testcgs
   @sampleparameter varchar(20)

as

/*DATASET1*/
select 'invoice 1' invoice , 'USD' currency, 5.99 amount
union all
select 'invoice 2' invoice , 'PLN' currency, 5.999 amount
union all
select 'invoice 3' invoice , 'USD' currency, 1.099 amount
union all
select 'invoice 4' invoice , 'USD' currency, 12 amount
union all
select 'invoice 5' invoice , 'USD' currency, 1.1 amount

/*DATASET2*/

select
   'sample result 1' text ,
   1 [integer],
   1.00 [double],
   1000000.004 [large number],
   'lorem <br/> ipsum ' markup,
   @sampleparameter parameter

Konfiguracja RaportuCGS

img

Zapytania

CGS może używać procedur lub zapytań SQL oraz zdefiniowanych parametrów które renderują się w postaci filtrów raportu które może wypełnić użytkownik.

SQL
1
2
3
4
5
6
7
8
9
Pole "Zapytanie/procedura"  przykład Komendy SQL
select top 100
    documentdate, documenttype, documentnr,firmid
from document.document
where
    documentdate >=isnull(@documentdatefrom,documentdate) and
    documentdate <= isnull(@documentdateto,documentdate) and
    documenttype ='PZ' order by documentdate
/*CGS-FORCE-SEND-EMPTY-PARAMETERS*/

Pola Słownikowe

CGS umożliwia upraszczanie zapytań SQL, pola których nazwa konczy sie na ID np firmid system bedize probowal rozszyfrowac automatycznie, nie ma potrzeby twozyc polaczen "join" dla pol slownikow.

Pole "Zapytanie/procedura" przykład procedury

SQL
[dbo].[test]

Pole "Zapytanie/procedura" dyrektywy preprocesora

Komenda | Opis /CGS-FORCE-SEND-EMPTY-PARAMETERS/ | Wszystkie parametry są wysyłane, niezależnie czy są wypełnione przez uzytkowników.

Wartość parametru to DBnull przydatne tylko w komendach SQL aby umożliwić opcjonalne wprowadzaniae parametrów