| 1 | [http://support.edokumenty.eu/trac/wiki/UserGuideV5 Podręcznik użytkownika] > [http://support.edokumenty.eu/trac/wiki/UserGuideV5/Reports Raporty] > Definiowanie i import raportów |
| 2 | |
| 3 | = Definiowanie i import raportów = |
| 4 | |
| 5 | Raporty w systemie eDokumenty możemy tworzyć korzystając z graficznego formularza lub poprzez import definicji z pliku '''.report'''. [[BR]] |
| 6 | |
| 7 | == Tworzenie nowego raportu == |
| 8 | |
| 9 | Dodawanie nowego raportu w module '''Raporty''' rozpoczynamy po kliknięciu ikony '''Nowy''' w '''Pasku narzędzi'''. Wypełniamy pola '''Tytuł''' oraz wybieramy wartość z listy '''[http://support.edokumenty.eu/trac/wiki/UserGuideV5/Reports/Groups Grupa]'''. Opcjonalnie uzupełniamy pozostałe pola i klikamy '''Zapisz'''. [[BR]] |
| 10 | |
| 11 | [[Image(wiki:UserGuideV5/Attachments:nowy_raport_01.png, 600)]][[BR]] |
| 12 | ''Okno dodawania nowego raportu'' [[BR]] |
| 13 | |
| 14 | __'''Uwaga'''__ [[BR]] |
| 15 | Zaznaczenie checkboxa '''systemowy''' sprawi, że raport nie będzie będzie widoczny w module '''Raporty'''. Dostęp do raportów systemowych ma miejsce z poziomu '''Rejestrów''', jeśli konfiuguracja systemu eDokumenty zakłada obecność tego modułu. |
| 16 | |
| 17 | === Zakładka Definicja === |
| 18 | Po zapisaniu podstawowych informacji, formularz raportu zostaje poszerzony o kolejne zakładki, z których najważniejszą jest '''Definicja'''. W polu '''Kwerenda''' w tej karcie wpisujemy kwerendę '''SQL''' definiującą raport, np. '''SELECT * FROM events''', po czym klikamy '''Zapisz'''. [[BR]] |
| 19 | |
| 20 | __'''Uwaga'''__ [[BR]] |
| 21 | Zapytanie musi zwracać przynajmniej 1 rekord. Użyteczne konstrukcje i funkcje językowe SQL oraz przykładowe zapytania do bazy eDokumenty można znaleźć [http://support.edokumenty.eu/trac/wiki/DeployerGuide/Custumization/AdvancedReporting/SQLExamples tutaj]. [[BR]] |
| 22 | |
| 23 | [[Image(wiki:UserGuideV5/Attachments:nowy_raport_02.png, 600)]][[BR]] |
| 24 | ''Definicja raportu'' [[BR]] |
| 25 | |
| 26 | W kwerendach możemy stosować parametry: |
| 27 | |
| 28 | || Parametr || Opis || |
| 29 | || {DATE_FROM} (string) || np. adddat::date >= '{DATE_FROM}' || |
| 30 | || {DATE_TO} (string) || np. adddat:: <= '{DATE_TO}' || |
| 31 | || {USR_ID} (string) || przecinkami rozdzielona lista użytkowników, do których ma dostęp zalogowany użytkownik || |
| 32 | || {LOGGED_USR_ID} (int) || id zalogowanego pracownika || |
| 33 | || {ENT_ID} (int) || id jednostki, na której jest wykonywany raport || |
| 34 | || {SYMBOL} (string) || symbol kontrahenta z systemu zewnętrznego || |
| 35 | || {EXTEID:OPTIMA}(int) || symbol kontrahenta z systemu Optima || |
| 36 | || {ACORID} (int) || id jednostki rozliczeniowej || |
| 37 | || {TOVCID} (int) || id rodzaju kosztów || |
| 38 | || {CONTID} (int) || id kontrahenta (przy raportach wykonywanych w kartoteki) || |
| 39 | || {CONTIDS} (int[]) || id kontrahentów zaznaczonych na liście w module Klienci || |
| 40 | || {DOC_ID} (int) || id dokumentu (przy raportach wykonywanych z kartoteki) || |
| 41 | || {DOC_IDS} (int[]) || id dokumentów zaznaczonych na liście (równoważny zapis: {DOCIDS} || |
| 42 | || {PRC_ID} (int) || id sprawy (przy raportach wykonywanych w kartoteki) || |
| 43 | || {PRC_IDS} (int[]) || id spraw zaznaczonych na liście (równoważny zapis: {PRCIDS} || |
| 44 | || {EVNTID} (int) || id zdarzenia (przy raportach wykonywanych w kartoteki) || |
| 45 | || {EVNTIDS} (int[]) || id zdarzeń zaznaczonych na liście || |
| 46 | || {CAMPID} (int) || id kampanii || |
| 47 | || {DEVCID} (int) || id urządzenia (przy raportach wykonywanych w kartoteki) || |
| 48 | || {DEVCIDS} (int[]) || id urządzeń zaznaczonych na liście || |
| 49 | || {DEPOID} (int) || id produktu || |
| 50 | || {DEPOIDS} (int[]) || id produktów zaznaczonych z listy produktów || |
| 51 | || {FILTER_STRING} (string) || wartość zwrócona przez filtr || |
| 52 | || {ORUNID} || lista stanowisk, do których ma prawo zalogowany użytkownik (lista orunid) || |
| 53 | |
| 54 | Będą one mapowane na liście '''Dostępne parametry''' dostępnym po kliknięciu przycisku '''Pokaż paramety'''. [[BR]] |
| 55 | |
| 56 | Cała definicja raportu jest dodatkowo przepuszczana przez silnik parsujący (np. w workflow). Daje to dodatkowe możliwości (np. dynamiczne parametry w raportach wykonywanych na zewnętrznych źródłach danych). Przykładowe zapytanie z raportu dla dokumentu: |
| 57 | |
| 58 | {{{ |
| 59 | #!sql |
| 60 | SELECT * FROM mssql_external_documents WHERE symbol = '{SQL::SELECT ex_sym FROM documents WHERE doc_id = {DOC_ID}}' |
| 61 | }}} |
| 62 | |
| 63 | Pod polem '''Kwerenda''' znajdują się dodatkowe opcje. |
| 64 | |
| 65 | === Zakładka Kolumny === |
| 66 | W zakładce '''Kolumny''' wybieramy, jakie kolumny mają być wyświetlane. Zaznaczone na liście elementy przenosimy między oknami '''Dostępne''' a '''Aktywne na raporcie''' używając strzałek pomiędzy nimi. |
| 67 | |
| 68 | '''Funkcje formatujące dane''' |
| 69 | |
| 70 | Aby móc sformatować drukowane dane np. jako odnośnik do formularza ale nie mechanizm otwierający formularz poprzez dwuklik tylko po kliknięciu odnośnika w kolumnie należy użyć funkcji formatującej: |
| 71 | |
| 72 | || Funkcja || Jak działa || Przykład danych || |
| 73 | || Formatuj datę || Przyjmuje kolumnę z datą np. TIMESTAMP a w wyniku zwraca datę w formacie YYYY-MM-DD || 2015-01-01 10:00 => 2015-01-01|| |
| 74 | || Formatuj czas || Przyjmuje wartość typu INTEGER np 61 a w wyniku zwraca czas w formie słownej czyli 1m 1s || 61 => 1m 1s || |
| 75 | || Formatuj kwotę || Przyjmuje wartość typu NUMERIC np 12.89 a w wyniku zwraca 12.89 zł. Funkcja szuka w kolumnach kolumny nazwanej cursmb i na jej podstawie drukuje nazwę (symbol) waluty || 12.89 => 12.89 zł || |
| 76 | || Formatuj link do kontaktu || Przyjmuje wartość pola symbol z kartoteki klienta następnie wyszukuje w tabeli contacts klienta o tym symbolu i drukuje odnośnik do kartoteki || TTT78 => html jako odnośnik do kartoteki || |
| 77 | || Formatuj link do ... || Przyjmuje wartość w postaci ciągu np CONTACT|1|Firma a w wyniku zwraca odnośnik do kartoteki klienta o identyfikatorze 1 i jako opis odnośnika stosuje frazę Firma || CONTACT|1|Firma => html jako odnośnik do kartoteki klienta || |
| 78 | |
| 79 | == Import definicji raportu == |
| 80 | Utworzoną w zewnętrznym narzędziu definicję raportu SQL w postaci pliku '''.report''' możemy zaczytać do modułu, gdzie może być ona modyfikowana (przykładowy plik można znaleźć w załączniku). Aby tego dokonać, klikamy ikonę '''Import raportu''' w '''Pasku narzędzi'''. Następnie klikamy przycisk [[Image(wiki:UserGuideV5/Attachments:raporty_import_przycisk_dodaj_z_dysku.png, 12)]] w oknie '''Import raportu''' i wybieramy plik z dysku. Po prawidłowym wczytaniu definicji raportu, jego nazwa wyświetli się w polu '''Definicja raportu'''. Klikamy przycisk '''Importuj'''.[[BR]] |
| 81 | |
| 82 | [[Image(wiki:UserGuideV5/Attachments:nowy_raport_03.png, 300)]][[BR]] |
| 83 | ''Kreator importu definicji raportu'' [[BR]] |
| 84 | |
| 85 | Po zaczytaniu definicji zostaje otwarte okno edycji raportu, a raport jest widoczny na liście. |
| 86 | |
| 87 | === Zobacz także === |
| 88 | * [http://support.edokumenty.eu/trac/wiki/UserGuideV5/Reports/DrillDown Raporty z podraportami] |
| 89 | * [http://support.edokumenty.eu/trac/wiki/UserGuideV5/Reports/OpenForm Rapoty z odnośnikami do kartotek] |