Sunteți pe pagina 1din 21

Ciel V7

Generator de rapoarte

Manual de utilizare

Ciel Generator Rapoarte Manual de utilizare

Prezentare generala
Accesarea Generatorului de rapoarte se poate face prin dou modaliti:

Fereastra principal

Lucrul cu rapoartele personalizate in Ciel V7 presupune folosirea unui tip de fiier


special (.cielrep). Acest fiier poate fi ncrcat in Generatorul de rapoarte, poate fi ncrcat
n lista de rapoarte personalizate sau poate fi atribuit unui anumit tip de document ca fiind
macheta sa de listare.
Meniul principal

Ciel Generator Rapoarte Manual de utilizare

Pai n crearea unui raport nou


1. Iniializare
Se acceseaz opiunea File Raport nou:

Se alege un titlu pentru raport, categoria este implicit aleas ca fiind un raport
personalizat, iar ablonul reprezint un punct de start n crearea unui nou raport, adic se
va face o copie a raportului selectat, el putnd fi modificat fr repercusiuni asupra
originalului.

Ciel Generator Rapoarte Manual de utilizare

2. Prezentare fereastr principal

Ciel Generator Rapoarte Manual de utilizare

3. Parametrii raportului
Orice raport trebuie s poat fi generalizat (e.g.: s se poat aplica mai multor
documente de acelai fel) sau s poat fi personalizat introducndu-se filtre. Aici intervin
parametrii raportului. Ei sunt definii din fereastra Lista de campuri, efectund click
dreapta pe opiunea Parameters i alegnd Add Parameter:

Name reprezint numele parametrului, fr @.


Description reprezint o descriere a parametrului (nu apare n alt parte a
raportului).
Type reprezint tipul de date al parametrului.
Default value reprezint valoarea implicit a parametrului, folosit n testarea
raportului.
Aceti parametri definii pot fi folosii n scriptul SQL n mai multe moduri: filtrare,
afiare condiionat, etc. Dac se dorete s se foloseasc un parametru n scriptul SQL, el
trebuie nti definit cum a fost prezentat mai sus.

Ciel Generator Rapoarte Manual de utilizare

4. Scriptul SQL
Orice raport, indiferent de destinaia acestuia, va avea la baz o surs de date.
Aceasta surs de date este definit prin meniul Script SQL Editeaz script SQL. Aceast
opiune de meniu permite introducerea unui script SQL.
Scriptul SQL poate fi sub forma unei proceduri stocate:

Sau a unui script complet:

Se pot folosi scripturile SQL din rapoarte similare pentru a avea un punct de plecare
n raportul nou.
Un script SQL permite un singur rezultat (o singur comand SELECT care aduce
informaii din baza de date). El va fi executat pe un server Microsoft SQL Server (minim
versiunea 2005) i de aceea scriptul scris fie trebuie sa fie n concordan cu standardele
Microsoft SQL Server 2005 (sau mai mare) fie s fie ANSI SQL.

Ciel Generator Rapoarte Manual de utilizare

! Atenie !
Procedurile stocate i tabelele livrate cu aplicaia nu trebuie sub nici o msur
modificate. Modificarea acestora va conduce la coruperea bazei de date!
Dac se dorete crearea de proceduri stocate sau tabele, altele dect cele
livrate mpreun cu aplicaia, numele procedurilor stocate trebuie s nceap cu
UserSP_, iar numele tabelelor trebuie s nceap cu UserTable_!
Exemplu de creare a unei proceduri stocate:
CREATE PROCEDURE UserSP_MACHETA_FacturaVanzare_v2
@documentId INT
AS
BEGIN
SELECT
*
FROM
Documents d
WHERE
d.Id = @documentId
END
Exemplu de creare a unei tabele:
CREATE TABLE UserTable_RaportVanzari_Cache
(
Id INT PRIMARY KEY NOT NULL IDENTITY(1,1),
Valoare DECIMAL(28,6) NULL,
NumeArticol NVARCHAR(MAX) NOT NULL
)
Create n acest fel, aceste proceduri stocate i/sau tabele nu vor afecta
integritatea bazei de date.

Ciel Generator Rapoarte Manual de utilizare

La apsarea butonului SALVEAZA, se va verifica corectitudinea scriptului. n cazul n


care exist erori de sintax, se va afia un mesaj, specificnd eroarea respectiv (similar
executrii sale n Microsoft SQL Server Management Studio. Dac nu au existat erori de sintax
i scriptul a putut fi rulat cu succes, n partea dreapt a ferestrei principale va fi afiat lista
de cmpuri rezultat n urma rulrii scriptului SQL:

Aceste cmpuri pot fi aduse pe raport prin tragerea lor pe acesta.

Ciel Generator Rapoarte Manual de utilizare

5. Filtrarea raportului
Un raport poate fi filtrat n mod interactiv dup urmtoarele criterii:
-

Ageni
Articole
Categorii de articole
abloane de articole
Conturi
Bnci
Parteneri
Case
Depozite

Pentru a se realiza aceast filtrare, codul SQL trebuie scris ntr-un mod
corespunztor:
n seciunea proieciilor trebuie s existe o legtur cu tabela de filtrare, denumit
ReportFilters.
Aceast legtur trebuie s arate identic exemplelor ce urmeaz.
.1. Primul pas (pentru toate tipurile de filtrri) este preluarea ID-ului de utilizator:
DECLARE @userId AS INT
SELECT @userId = @userIdInt
Unde @userIdInt este parametru al procedurii stocate. Dac o procedur stocat
rulat n raport conine parametrul @userIdInt, acesta va fi completat automat, la rulare,
cu IDul utilizatorului curent. Acest fapt ajut n cazul n care doi utilizatori acceseaz
rapoarte. Filtrele sunt salvate n raport mpreun cu IDul de utilizator, astfel fiecare
utilizator va avea filtrul su ales.
.2. Al doilea pas este definirea identificatorului de entitate pentru filtrare:
DECLARE @agentEntity AS INT
SELECT
@agentEntity = l.Id
FROM
Lookup AS l
INNER JOIN Lookup_Types lt
ON lt.Id = l.LookupTypeId
AND LTRIM(RTRIM(UPPER(lt.[Value]))) = 'ENTITY'
WHERE
LTRIM(RTRIM(UPPER(l.[Value]))) = 'AGENT'
.3. n final, al treilea i ultimul pas, adugarea filtrrii:
INNER JOIN ReportFilters rfAgents
ON ISNULL(agent.Id,'') = ISNULL(ISNULL(rfAgents.EntityId,
agent.Id),'')
AND rfAgents.LookupEntityId = @agentEntity
AND rfAgents.UserId = @userId

Ciel Generator Rapoarte Manual de utilizare

Alias-ul agent vine de la tabela de ageni:


LEFT JOIN [Agents] agent ON [doc].[AgentId] = [agent].[Id]

Atenie la linia:
INNER JOIN ReportFilters rfAgents
Trebuie sa arate exact aa cum a fost prezentat pentru a avea efect. nainte de
afiarea formei de previzualizare, se caut n codul SQL linii de forma de mai sus, iar in
funcie de alias-ul tabelei ReportFilters se afieaz un anumit filtru.
n continuare sunt prezentate cteva din filtrele posibile (codul SQL pentru filtrare).
Parteneri
DECLARE @partnerEntity AS INT
SELECT @partnerEntity = l.Id
FROM Lookup l INNER JOIN Lookup_Types lt ON lt.Id = l.LookupTypeId
AND LTRIM(RTRIM(UPPER(lt.[Value]))) = 'ENTITY'
WHERE LTRIM(RTRIM(UPPER(l.[Value]))) = 'PARTNER'
INNER JOIN ReportFilters rfPartners
ON ISNULL(partner.Id,'') = ISNULL(ISNULL(rfPartners.EntityId,
partner.Id),'')
AND rfPartners.LookupEntityId = @partnerEntity
AND rfPartners.UserId = @userId
Articole
DECLARE @articleEntity AS INT;
SELECT @articleEntity = l.Id
FROM Lookup l INNER JOIN Lookup_Types lt ON lt.Id = l.LookupTypeId
AND LTRIM(RTRIM(UPPER(lt.[Value]))) = 'ENTITY'
WHERE LTRIM(RTRIM(UPPER(l.[Value]))) = 'ARTICLE'
INNER JOIN ReportFilters rfArticles
ON ISNULL(article.Id,'') = ISNULL(ISNULL(rfArticles.[EntityId],
[article].[Id]),'')
AND rfArticles.LookupEntityId = @articleEntity
AND rfArticles.UserId = @userId
Depozite
DECLARE @warehouseEntity AS INT;
SELECT @warehouseEntity = l.Id
FROM
Lookup AS l INNER JOIN Lookup_Types AS lt ON lt.Id =
l.LookupTypeId AND LTRIM(RTRIM(UPPER(lt.[Value]))) = 'ENTITY'
WHERE LTRIM(RTRIM(UPPER(l.[Value]))) = 'WAREHOUSE';

Ciel Generator Rapoarte Manual de utilizare

INNER JOIN ReportFilters rfWarehouses


ON ISNULL([warehouse].Id,'') =
ISNULL(ISNULL(rfWarehouses.[EntityId], [warehouse].[Id]),'')
AND rfWarehouses.LookupEntityId = @warehouseEntity
AND rfWarehouses.UserId = @userId
Generalizarea acestor filtre:
Se nlocuiete n prima seciune al doilea ir de caractere cu valoarea entitii
alese:
-

Ageni 'AGENT'.
Articole - 'ARTICLE'.
Categorii de articole - 'ARTICLECATEGORY'.
abloane de articole - 'ARTICLETEMPLATE'.
Conturi - 'ACCOUNTINGPLAN'.
Bnci - 'BANK'.
Parteneri - 'PARTNER'.
Case - 'TREASURYHOUSE'.
Depozite - 'WAREHOUSE'.

Apoi la filtrare, se nlocuiete aliasul tabelei ReportFilters cu un alias


corespunztor.
-

Ageni rfAgents.
Articole rfArticles
Categorii de articole - rfArticleCategories
abloane de articole - rfArticleTemplates
Conturi - rfAccountingPlans
Bnci - rfBanks
Parteneri - rfPartners
Case - rfTreasuryHouses
Depozite rfWarehouses

Odat cu aceast nlocuire de aliasuri, se vor nlocui si tabele corespunztoare,


mpreun cu legturile lor.
-

Ageni Agents - AgentId.


Articole Articles - ArticleId
Categorii de articole ArticleCategories - ArticleCategoryId
abloane de articole ArticleTemplates - ArticleTemplateId
Conturi AccountingPlans - AccountingPlanId
Bnci Banks - BankId
Parteneri Partners - PartnerId
Case TreasuryHouses - TreasuryHouseId
Depozite Warehouses - WarehouseId

10

Ciel Generator Rapoarte Manual de utilizare

6. Design-ul raportului
Un raport este compus din mai multe benzi. Fiecare band n parte, cu excepia benzii de
detalii, este compus din dou componente: nceput/antet (Header) i sfrit (Footer):

Lista benzilor
1. TOP MARGIN reprezint marginea superioar a paginii. n general se pot introduce
informaii legate de paginare, titlul raportului, data listrii, etc.
2. REPORTHEADER antetul raportului este o band care apare o singur dat ntrun raport, la nceputul acestuia. Utilitate: introducere titlu raport, informaii
raport (date client, date furnizor, etc)
3. PAGEHEADER antetul paginii o band care apare pe fiecare pagina, la nceputul
acesteia. Utilitate: afiare cap de tabel sau alte informaii pertinente unei pagini.
4. GROUPHEADER antetul unei grupri o band mai special care permite o grupare
a informaiilor rezultate din scriptul SQL. De exemplu, dac se afieaz o list de
articole rezultat din facturile de vnzare, acestea pot fi grupate dup denumirea
lor (ArticleName). n acest fel se asigur unicitatea articolelor. Aceast band
poate s apar de mai multe ori pe o pagin sau pe raport, n funcie de rezultatul
gruprii. Se pot aduga mai multe grupri pe un raport, n funcie de necesitate.

11

Ciel Generator Rapoarte Manual de utilizare

5. DETAIL poate cea mai important band a unui raport reprezint acea parte a
raportului care enumer rezultatul scriptului SQL. Daca acest rezultat conine 10
rnduri, amplasarea n aceast band unui singur cmp din lista de cmpuri
conduce la afiarea tuturor celor 10 rnduri.
6. GROUPFOOTER reprezint sfritul unei grupri. n aceast band se pot face
subtotaluri, sau afia informaii pertinente acelei grupri.
7. REPORTFOOTER apare o singur dat pe raport, la sfritul su. n general, n
aceast band se afieaz totalurile pe raport.
8. PAGEFOOTER reprezint sfritul paginii, aceast band apare pe fiecare pagin
n parte. Se pot afia subtotaluri pe pagin, sau alte informaii.
9. BOTTOM MARGIN marginea inferioar a paginii band folosit n special pentru
afiarea paginii curente, a datei listrii sau alte informaii.

Opiuni de afiare sau setri funcionale ale benzilor


1. PAGEHEADER

Acestei benzi i se poate specifica modul de afiare:


-

Pe toate paginile
Nu mpreun cu antetul raportului
Nu mpreun cu sfritul raportului
Nu mpreun cu antetul i sfritul raportului

12

Ciel Generator Rapoarte Manual de utilizare

2. GROUPHEADER

Se poate alege cmpul sau cmpurile dup care se face gruparea. Se poate specifica
modul de mprire a gruprii pe pagin (legat de ultimul rnd din DETAIL sau pe toat
pagina). Se poate specifica ordinea (n cazul mai multor grupri). Se poate alege modalitatea
de ordonare a informaiilor afiate in aceast band.

3. DETAIL

Se poate alege cmpul dup care se face ordonarea rndurilor n aceast band. Bifa
Keep Together va menine mpreun informaiile pentru un rnd din aceast band n cazul
n care s-ar mpri pe mai multe pagini.

13

Ciel Generator Rapoarte Manual de utilizare

4. GROUPFOOTER

Se poate alege ca sfritul gruprii s fie n permanen legat de ultimul rnd din
banda DETAIL. Se poate afia pe fiecare pagin. Se poate afia n josul paginii, oarecum similar
PAGEFOOTER-ului.
n rest, opiunile benzilor sunt oarecum similare.

14

Ciel Generator Rapoarte Manual de utilizare

Opiuni ale componentelor raportului


1. Cmp din lista de cmpuri (Label)

Data Binding reprezint legtura cu sursa de date din scriptul SQL. Se alege automat
la tragerea unui cmp pe raport. Format String permite afiarea ntr-un anumit mod al
informaiilor din cmp. De exemplu, pentru un coninut de tip dat (DATETIME/DATE) se
poate alege modul de afiare: zz/LLLL/aaaa (dd/MMMM/yyyy) sau aa.ll.zz (yy.MM.dd). Exist
presetri pentru aceste tipuri de afiri din care se pot alege. Summary permite calcule pe
seturi de date (sume, medii, maxime, minime, etc). Angle specific unghiul la care este
afiat cmpul.

2. Checkbox

Acest tip de control poate fi legat la un cmp din baza de date de tipul BIT.

15

Ciel Generator Rapoarte Manual de utilizare

3. Rich Text

Acest control poate afia textul n mai multe formate, cu fonturi diferite, stiluri
anume, etc. n general utilizat pentru text static (care nu vine din baza de date/scriptul
SQL).

4. Picture Box

Permite afiarea unei imagini statice n orice poziie din raport.

5. Table

Se poate afia un tabel, chiar i independent de baza de date. Pentru ca datele din
scriptul SQL s fie afiate n tabel, acesta trebuie amplasat in banda Detail, iar in celulele
sale trebuie aduse cmpurile din lista de cmpuri.

16

Ciel Generator Rapoarte Manual de utilizare

6. Diverse alte controale

Control Tags
Cteva tipuri de controale (XRLabel, Label, TableCell, PictureBox) pot avea unele
caracteristici care vin n ajutorul crerii unui raport. Se pot afia informaii n mod automat
n funcie de informaia trecut n proprietatea Tag a controlului. Exemplu:

n acest exemplu, totalul facturii va fi rotunjit automat la numrul de zecimale setat


pe societatea respectiv.

17

Ciel Generator Rapoarte Manual de utilizare

Lista de Taguri i explicaia lor


Nume TAG
RoundSoc
RoundQty
RoundExchangeRate
PageNumber
PrintDate
PrintDateLabel

AppNameLabel
SocietyLogo
SocietyName
SocietyCIF
SocietyRegCom
SocietyAdress
ReportCurrency

Explicaie
Rotunjete valoarea cmpului pe care este la numrul de zecimale
setat pe societate.
Rotunjete valoarea cmpului la numrul de zecimale pentru
cantitate (n general 3).
Rotunjete valoarea cmpului la numrul de zecimale folosit la
afiarea unui curs valutar
Insereaz numrul paginii.
Insereaz data listrii raportului.
Leag label-ul pe care este setat acest tag se setarea din parametri
societate: afiare dat listare pe rapoarte. n general se folosete la
controale cu coninut de genul: Data listrii:
Insereaz numele aplicaiei din care a fost listat.
Pus pe un control de tip PictureBox, va afia n acesta logo-ul
societii curente.
Insereaz numele societii curente.
Insereaz CIF-ul societii curente.
Insereaz nr. reg. com. al societii curente.
Insereaz adresa societii curente.
Insereaz deviza folosit n raport.

18

Ciel Generator Rapoarte Manual de utilizare

Salvarea raportului
Dup crearea unui raport, pentru ca acesta s devin utilizabil, el trebuie salvat ntrun format proprietar Ciel (.cielrep). Se va accesa din meniul File Salvare pachet:

Se va da un nume pachetului, apoi se alege calea unde va fi salvat. Alegerea


categoriei: Personalizate va conduce la salvarea pachetului ca i un raport; n schimb, dac
se alege una din categoriile de machet, raportul va fi utilizabil doar ca machet pe
documente, trebuind specificat i tipul de document cruia i este destinat.

19

Ciel Generator Rapoarte Manual de utilizare

Utilizarea pachetului

20

Dup salvarea pe disc a pachetului, el se poate ncrca n aplicaia Ciel V7 n modul urmtor:

1. Utilizare ca machet de documente


Se acceseaz meniul Utilitare Management Documente. Se adaug o nou nregistrare i se
alege pachetul:

Dup salvarea nregistrrii, ea trebuie marcat ca fiind implicit:

De acum nainte, listarea implicit a unei facturi de vnzare se va face folosind macheta nou
creat.
Listarea unui document se poate face alegnd macheta n
momentul listrii:

2. Utilizare ca raport personalizat


Se acceseaz opiunea de meniu: Rapoarte Rapoarte personalizate Management
rapoarte. Se adaug o nou nregistrare:

Dup salvare, acest raport personalizat poate fi accesat din meniul Rapoarte Rapoarte
personalizate.

S-ar putea să vă placă și