kb:pg:migracija_crystal_reports_obrazaca

This is an old revision of the document!


Migracija Crystal Reports izveštaja na Postgres

TTX i COM izveštaji se ne moraju prepravljati jer njima Balans prosleđuje podatke.

Crystal Reports ne funkcioniše prirodno sa Postgres ODBC drajverom, jer ne vidi parametrizovane upite !

Izveštaji koji se oslanjaju na ODBC se moraju prebaciti na Crystal Reports Command objekat koji može da vidi parametrizovane upite na PGS bazama.


Na računaru na kojem je instaliran Balans i ima pristup bazama podataka u Data folderu postupak za prepravku takvih izveštaja je sledeći:

  1. Pokrenuti program Formula Checker
  2. Odabrati opciju 'obradi i podfoldere'
  3. Kliknuti na sličicu Postgres slona
    Direktorijum JET baze koja sadrži upite na koje se izveštaji oslanjaju zadaje se klikom na dugme foldera iznad sličice PGS slona.
  4. Na kraju procesa u Data folderu ili u folderu sa izveštajima će biti napravljen fajl Izvestaj_o_izvestajima.txt.
    Sadržaj tog fajla će biti spisak izveštaja sa pripadajućim SQL komandama za dobijanje podataka iz PGS baze.

    Ovi podaci biće neophodni za definisanje Command objekta u Crystal Designer-u !

    Na primer:

    E:\Razvoj\Assets\Reports_4\Artikli i Usluge\Kartica artikla (prosirena).rpt

Parametri: 5
{?inElID} {?inSklID} {?inDatStart} {?inDatEnd} {?InFal}
Tabele: 1
tabela rptProveraArtikla: ODBC —> SELECT * FROM {?dbSchemaName}rptProveraArtiklaMP({?inElID},{?inSklID},{?inDatStart},{?inDatEnd},{?InFal}::boolean)

  1. Otvoriti prvi izveštaj, desni klik na Database Fields pa opcija Set Datasource Location…
  2. U novom prozoru u gornjem polju 'Current Data Source' kliknuti na ime tabele/upita koji se koristi, a u donjem polju 'Replace with' kliknuti na 'Create New Connection' i unutar toga ODBC (RDO). Pojaviće se forma za odabir ODBC konekcije pa treba odabrati prethodno napravljeni PGS ODBC konektor sa isključenom opcijom TrueIsMinus1 (npr. PostgreSQL35W):
  3. Nakon toga treba kliknuti na Add Command u ODBC (RDO) odeljku pa na dugme 'Update'. Pojaviće se forma za unos SQL komande i parametara. U polje za SQL treba copy–paste komandu iz fajla Izvestaj_o_izvestajima.txt pa za svaki parametar u {?…} zagradama treba dodati odgovarajući bez tih zagrada klikom na dugme Create…

Value Type za parametre koji su dodatno uokvireni u apostrofe i za dbSchemaName je String, a za ostale je najbolje pogledati kroz QA za svaki slučaj.

Default value za dbSchemaName je prazan string, vrednost će biti setovana kroz Balans pre prikazivanja izveštaja.
Kada se izveštaj pravi na bazi koja je raščlanjena u DSN podešavanje na strani 2 u polje “Connect Settings” treba upisati SET SESSION search_path TO btek,bcus,bpub,public,pg_catalog;

Uglavnom su parametri čiji naziv počinje sa InDat tipa DateTime, parametri koji se kastuju sa CBool() ili ::boolean su tipa Boolean, a ostali su tipa Number.
Na kraju, kada se dodaju svi parametri u spisak, posle klika na OK pojaviće se forma za unos parametara (iz nepoznatog razloga pojavi se 2 puta) pa ako sve prođe kako treba u polju 'Current Data Source' će za Table Name pisati Command umesto imena tabele/upita.

Ako izveštaj ima podizveštaje koji koriste svoje upite onda u polju 'Current Data Source' treba za svaki od njih ponoviti postupak zamene upita SQL komandom iz fajla Izvestaj_o_izvestajima.txt

Ponoviti postupak za sve ostale izveštaje, ali ne zatvarati program Crystal Reports-a tako da se ne mora svaki put praviti nova ODBC (RDO) konekcija.

  • kb/pg/migracija_crystal_reports_obrazaca.1551703132.txt.gz
  • Last modified: 2019/03/04 12:38
  • by nessa