Podręcznik użytkownika > Raporty > Definiowanie i import raportów
Raporty w systemie eDokumenty możemy tworzyć korzystając z graficznego formularza lub poprzez import definicji z pliku .report.
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 Grupa. Opcjonalnie uzupełniamy pozostałe pola i klikamy Zapisz.
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.
Uwaga
Zapytanie musi zwracać przynajmniej 1 rekord. Użyteczne konstrukcje i funkcje językowe SQL oraz przykładowe zapytania do bazy eDokumenty można znaleźć tutaj
nowy_raport_wszystkie zakładki.png
W kwerendach możemy stosować parametry:
{DATE_FROM} (string) - np. adddat::date >= '{DATE_FROM}' {DATE_TO} (string) - np. adddat:: <= '{DATE_TO}' {USR_ID} (string) - przecinkami rozdzielona lista użytkowników, do których ma dostęp zalogowany użytkownik {LOGGED_USR_ID} (int) - id zalogowanego pracownika {ENT_ID} (int) - id jednostki, na której jest wykonywany raport {SYMBOL} (string) - symbol kontrahenta z systemu zewnętrznego {EXTEID:OPTIMA}(int) - symbol kontrahenta z systemu Optima {ACORID} (int) - id jednostki rozliczeniowej {TOVCID} (int) - id rodzaju kosztów {CONTID} (int) - id kontrahenta (przy raportach wykonywanych w kartoteki) {CONTIDS} (int[]) - id kontrahentów zaznaczonych na liście w module Klienci {DOC_ID} (int) - id dokumentu (przy raportach wykonywanych z kartoteki) {DOC_IDS} (int[]) - id dokumentów zaznaczonych na liście (równoważny zapis: {DOCIDS} {PRC_ID} (int) - id sprawy (przy raportach wykonywanych w kartoteki) {PRC_IDS} (int[]) - id spraw zaznaczonych na liście (równoważny zapis: {PRCIDS} {EVNTID} (int) - id zdarzenia (przy raportach wykonywanych w kartoteki) {EVNTIDS} (int[]) - id zdarzeń zaznaczonych na liście {CAMPID} (int) - id kampanii {DEVCID} (int) - id urządzenia (przy raportach wykonywanych w kartoteki) {DEVCIDS} (int[]) - id urządzeń zaznaczonych na liście {DEPOID} (int) - id produktu {DEPOIDS} (int[]) - id produktów zaznaczonych z listy produktów {FILTER_STRING} (string) - wartość zwrócona przez filtr {ORUNID} - lista stanowisk, do których ma prawo zalogowany użytkownik (lista orunid)
Będą one mapowane na formularzu "Parametry raportu" i z odpowiednich pól pobierane będą wartości.
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:
SELECT * FROM mssql_external_documents WHERE symbol = '{SQL::SELECT ex_sym FROM documents WHERE doc_id = {DOC_ID}}'
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.
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 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.
Kreator importu definicji raportu
Po zaczytaniu definicji zostaje otwarte okno edycji raportu, a raport jest widoczny na liście.