Pregătirea unui șablon de raport

Rapoartele sunt construite folosind componenta DevExpress Report Designer bazată pe date primite de la server.

Pentru a compila raportul, trebuie:

  • Desenați un raport folosind elemente vizuale standard pentru a obține aspectul dorit.
  • Din lista de câmpuri, adăugați atributele necesare pentru generarea raportului.
  • Utilizând scripturi, compuneți o interogare pentru a obține datele necesare utilizând API pentru a crea rapoarte.

La începutul oricărui raport:

  1. Apelați meniul contextual din poziția goală a Designer-ului de rapoarte.
  2. Faceți clic pe Adăugați subreport:
    • Sarcini. dacă raportul se bazează pe sarcini;
    • Obiecte. dacă raportul este construit pe obiecte;

Comanda "Add Subreport" este necesară pentru a prelua date din baza de date. Doar după aceea, puteți continua să lucrați la formarea raportului.

Exemplu de generare de rapoarte prin sarcini

Să luăm în considerare un exemplu de a crea un raport privind sarcinile care vi-au fost date.

  1. Apelați meniul contextual din poziția goală a Designer-ului de rapoarte și selectați comanda Add Sarcini.
  2. Selectați tabelul din cutia de instrumente și trageți-l în zona DetailReport - "Tasks".
  3. În lista de câmpuri, extindeți lista Sarcini. Selectați câmpul Titlu și trageți-l în prima celulă.
  4. Apoi selectați câmpul Descriere și trageți-l în a doua celulă.
  5. În celula a treia, trageți câmpul DeadlineDate.
    Pregătirea unui șablon de raport

Astfel, am compilat un raport simplu care conține informații despre toate sarcinile: titlul lucrării. descrierea locului de muncă și termenul limită.

Creați un antet al tabelului:

  1. Faceți clic dreapta pe zona Detail1. Selectați secțiunea Adăugare - Titlul raportului din meniul contextual.
  2. Adăugați masa în zona ReportHeader.
  3. Completați și formatați antetul tabelului.
    Pregătirea unui șablon de raport

Completați raportul cu informațiile despre inițiator și sarcinile de grup de către inițiatori.

  1. Faceți clic dreapta pe zona Detail1. Selectați secțiunea Adăugare - Comandă titlul grupului din meniul contextual.
  2. Pentru a seta regulile de grup de lângă antetul grupului GroupHeader1, extindeți proprietățile grupului făcând clic pe.
  3. Setați câmpul Gruparea inițiatorului → Id. Faceți clic pe OK.
  4. Selectați instrumentul Text și adăugați text în zona GroupHeader1.
  5. În lista câmpuri, extindeți Tasks → Initiator → Person. Selectați câmpul DisplayName și trageți-l în antetul grupului.
    Pregătirea unui șablon de raport

Pentru a obține informații despre locurile de muncă atunci când construiți un raport, trebuie să compuneți o interogare către server utilizând scriptul:

  1. În Bara de instrumente, faceți clic pe Scripturi.
  2. Scrieți un script care solicită date pentru atributele specificate în designerul de rapoarte. Ar trebui să se obțină un raport privind sarcinile atribuite utilizatorului actual. Pentru a face acest lucru, utilizați metoda PilotReport_DataSourceDemanded, care solicită datele de pe server pentru raport:

privat void PilotReport_DataSourceDemanded (expeditor obiect, System.EventArgs e)


LongRunning.Start (aceasta, () => <
var currentPerson = context.CurrentPerson;
var tasksBuilder = QueryBuilder.CreateTaskQueryBuilder ();
tasksBuilder.Must (TaskFields.ExecutorPositionId.Be (currentPerson.MainPosition.Id));
context.Tasks = context.GetTasks (tasksBuilder);

Pentru a arăta vizual că sarcina nu este finalizată la timp, specificați regulile de formatare.

Dacă inițiatorul nu a stabilit termenul limită pentru sarcină, raportul afișează o valoare specială a sistemului din 31.12.9999. Această valoare poate fi convertită în text, de exemplu, fără o limită de timp. Pentru a face acest lucru, creați un câmp calculat:

De asemenea, puteți vedea șabloane de eșantioane de rapoarte prin descărcarea rapoartelor dezvoltate de la Centrul de descărcări pilot ICE. de la site-ul Pilot-ICE. Dacă le deschideți pentru editare, puteți studia alte exemple de interogări de scriere și descrierea câmpurilor calculate.

Exemplu de formare a unui raport privind documentele

Luați în considerare un exemplu simplu de a crea un raport de proiect utilizând parametrii. În acest raport, toate documentele proiectului selectat vor fi afișate.

  1. Apelați meniul contextual din spațiul gol al Designer-ului de rapoarte și selectați comanda Add Subreport - Objects.
  2. Selectați tabelul din cutia de instrumente și trageți-l în zona DetailReport - "Obiecte".
  3. Ștergeți a treia celulă.
  4. În lista de câmpuri, extindeți lista Obiecte. Selectați câmpul Titlu și trageți-l în a doua celulă.
  5. Selectați prima celulă. Extindeți proprietățile celulei dând clic pe.
  6. În câmpul Rezumat, faceți clic pe. . Selectați funcția Sumar. Numărul de înregistrări. Intervalul de numărare - Raport. Apoi faceți clic pe OK.

Masa a fost pregătită. Pentru a permite utilizatorilor să selecteze proiectul pentru care doriți să primiți raportul, trebuie să creați parametrul:

  1. În lista de câmpuri, faceți clic pe Opțiuni.
  2. Faceți clic dreapta pe meniul contextual și selectați Adăugare parametru.
  3. În fereastra Add New Parameter. specificați numele parametrului proiectului. Descriere proiect :.
  4. Selectați tipul de obiect Pilot din listă.
  5. Setați valoarea implicită care va fi oferită la crearea raportului.
  6. Faceți clic pe OK pentru a termina.

Scrieți un script care va interoga datele despre documentele existente în proiectul selectat de utilizator:

privat void PilotReport_DataSourceDemanded (expeditor obiect, System.EventArgs e)


LongRunning.Start (aceasta, () => var builder = QueryBuilder.CreateObjectQueryBuilder ();
constructor.Must (ObjectFields.TypeId.Be (documentType.Id));
var selectProiect = (RObject) Parametri ["Proiect"] Valoare;
context.Objects = context.GetObjects (constructor, selectProiect.Id);
DataSource = context;

Pentru detalii privind toate caracteristicile Designerului de rapoarte DevExpress, consultați documentația DevExpress.