Wydruki Crystal Reports w bazie SQL

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, API, Hydra, .NET

Moderator: mikey

ospi
Posty: 29
Rejestracja: 12 gru 2016, 15:30
Rola: Konsultant CDN XL
Wersja: 2016

Wydruki Crystal Reports w bazie SQL

Post autor: ospi »

Drodzy forumowicze,

Próbuję napisać aplikację C#, która pobrałaby z bazy danych definicję wydruku i utworzyła z tego plik .rpt Crystal Reports, w którym następnie chciałbym sprawdzić programistycznie kilka rzeczy.

Definicje plików wyciągam takim zapytaniem:

Kod: Zaznacz cały

select RpF2_Nazwa, RpD2_Definicja from cdn.RptDefinicje2
join cdn.RptFormaty2 on RpF2_RpWId = RpD2_RpWId and RpF2_Id = RpD2_RpFId
where RpD2_RpWId = 17 and RpD2_RpFId = 2
ale z racji tego, że pliki są podzielone na częsci, nie wiem jak to złożyć od strony C# w całość.
Czy ktoś coś może kiedyś w tym temacie robił?

Z góry dziękuję za pomoc!

Swiety_M
Posty: 381
Rejestracja: 19 lip 2012, 13:05
Rola: Administrator CDN XL
Wersja: 8.0
Lokalizacja: Poznań, Września, Konin
Kontakt:

Re: Wydruki Crystal Reports w bazie SQL

Post autor: Swiety_M »

A nie łatwiej wyeksportować po prostu plik z XL i już go masz w .rpt? :)
Marek Michałowski
www.tecado.pl
ERP/WMS/SFA
POZNAŃ - WRZEŚNIA

ospi
Posty: 29
Rejestracja: 12 gru 2016, 15:30
Rola: Konsultant CDN XL
Wersja: 2016

Re: Wydruki Crystal Reports w bazie SQL

Post autor: ospi »

Dużo łatwiej, ale to wymaga chodzenia po wszystkich możliwych menu i eksportowanie definicji, a ja chciałbym to zautomatyzować :)

oskrry
Posty: 1
Rejestracja: 07 sie 2019, 21:21
Rola: Administrator CDN XL
Wersja: 2019

Re: Wydruki Crystal Reports w bazie SQL

Post autor: oskrry »

@ospi
Cześć, Podgrzeje trochę temat. Czy udało Ci się osiągnąć export tego pliku z bazy?
Walczę z czymś podobnym tylko przez PHP i też się zastanawiam jak to połączyć :D

ospi
Posty: 29
Rejestracja: 12 gru 2016, 15:30
Rola: Konsultant CDN XL
Wersja: 2016

Re: Wydruki Crystal Reports w bazie SQL

Post autor: ospi »

@oskrry
Niestety nie udało mi się nic zrobić w tej kwestii i jestem w punkcie wyjścia - inne tematy miały ostatnio wyższy priorytet :)

Yuber
Posty: 934
Rejestracja: 12 sty 2009, 12:03
Rola: Administrator CDN XL
Wersja: 2016
Lokalizacja: Kraków

Re: Wydruki Crystal Reports w bazie SQL

Post autor: Yuber »

nie wiem na ile to pomoże ale z WMS-a drukowałem etykiety dla spedycji i etykiety na towary

Kod: Zaznacz cały

               CRAXDRT.Application crxApp = new CRAXDRT.Application();
                CRAXDRT.Report crxReport = new CRAXDRT.Report();


                crxReport = crxApp.OpenReport(@"C:\path\report.RPT", null);

                crxReport.ParameterFields.GetItemByName("GIDNumer", "EtykietaTowaru").AddCurrentValue(DocumentPositionContext.Position.Article.Id.ToInt32());
                foreach (CRAXDDRT.DatabaseTable crxdt in crxReport.Database.Tables)
                {
                    crxdt.ConnectionProperties.DeleteAll();
                    crxdt.ConnectionProperties.Add("DSN", @"XL DSN");
                    crxdt.ConnectionProperties.Add("Database", "CDNXL_NAME");
                    crxdt.ConnectionProperties.Add("Password", @"password");
                    crxdt.ConnectionProperties.Add("User Id", @"user");
                }

                Api.Toast.ShowSuccess((sender as IMobButton).Name.ToString());
                if ((sender as IMobButton).Name.ToString() == "Print1")
                {
                    crxReport.SelectPrinter("plik_sterownika_drukarki", "nazwa_drukarki", "port_drukarki");
                    crxReport.PrintOut(false, 1, true, 1, 1);
                }
                if ((sender as IMobButton).Name.ToString() == "Print2")
                {
                    crxReport.SelectPrinter("plik_sterownika_drukarki", "nazwa_drukarki", "port_drukarki");
                    crxReport.PrintOut(false, 1, true, 1, 1);
                }
Plik raportu osadzam gdzieś na dysku. definiuje połączenie do bazy danych (musi być zdefiniowany poprawnie XL DSN) a potem wskazuję drukarkę gdzie można to wydrukować.
1. Definicja raportu znajduje się w pliku a nie w systemie
2. Do eksportu wyników można użyć PDF Creator i w skazać go jako drukarkę.

gante
Posty: 9
Rejestracja: 15 paź 2011, 16:22
Rola: Administrator CDN XL
Wersja: 2015

Re: Wydruki Crystal Reports w bazie SQL

Post autor: gante »

Cześć,
czy może komuś w tym temacie udało się dokonać postępów? 🙂 Bo właśnie mam podobny problem.
Będę wdzięczny za odpowiedź 🙂

Pozdrawiam,
Łukasz

posuch
Posty: 3
Rejestracja: 15 mar 2017, 21:39
Rola: Administrator CDN XL
Wersja: 2016

Re: Wydruki Crystal Reports w bazie SQL

Post autor: posuch »

Cześć,
podbijam temat. Problem tak naprawdę tkwi w sposobie zapisu pliku RPT w kolumnie RpD2_Definicja. Po odczycie wartości dowolną aplikacją nie wiadomo, jak tą definicję przekonwertować, aby zapisać plik RPT na dysku. Na pewno nie jest to BASE64 jak w DaneBinarne, nie jest to też plain text.

ODPOWIEDZ