Scope z.B. von eXPress++ benutzen
Moderator: Moderatoren
- Rudolf
- Programmier-Gott
- Beiträge: 1418
- Registriert: Mo, 02. Jan 2006 23:03
- Wohnort: Salzburg/Österreich
- Kontaktdaten:
Scope z.B. von eXPress++ benutzen
Hallo,
ich muss einen Report nach gewissen Kriterien filtern. Mit eXPress++ geht das sehr schnell mittels dc_setscopearray(), da kann ich einzelne Sätze filtern. Aber FRAX ignoriert scopes soweit ich sehe. Habe auch im Sourcecode nichts gefunden, müsste die skip() Funktionen dazu auf dc_dbskip() ändern. Wo kann man die Funktion änderun oder gibt es einen andere Möglichkeit fürs schnelle filtern ?
Spirin hat auf meine Mail Anfrage dazu nicht geantwortet.
Grüße
Rudolf
ich muss einen Report nach gewissen Kriterien filtern. Mit eXPress++ geht das sehr schnell mittels dc_setscopearray(), da kann ich einzelne Sätze filtern. Aber FRAX ignoriert scopes soweit ich sehe. Habe auch im Sourcecode nichts gefunden, müsste die skip() Funktionen dazu auf dc_dbskip() ändern. Wo kann man die Funktion änderun oder gibt es einen andere Möglichkeit fürs schnelle filtern ?
Spirin hat auf meine Mail Anfrage dazu nicht geantwortet.
Grüße
Rudolf
Rudolf Reinthaler
http://www.formcommander.net
http://www.formcommander.net
- brandelh
- Foren-Moderator
- Beiträge: 15734
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 77 Mal
- Danksagung erhalten: 40 Mal
- Kontaktdaten:
Re: Scope z.B. von eXPress++ benutzen
Ist es nicht sinnvoller aus dem eXpress++ scope einen Datenextrakt für den Report zu generieren ?
Dann kannst du diesen auch noch Tage später nachdrucken.
Dann kannst du diesen auch noch Tage später nachdrucken.
Gruß
Hubert
Hubert
- Martin Altmann
- Foren-Administrator
- Beiträge: 16609
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 121 Mal
- Danksagung erhalten: 49 Mal
- Kontaktdaten:
Re: Scope z.B. von eXPress++ benutzen
Hallo Rudolf,
Der Hinweis von Hubert ist aber sicher der bessere Weg.
Viele Grüße,
Martin
das wird er persönlich auch nie wieder tun - er ist vor einigen Monaten (im März) verstorben.Rudolf hat geschrieben:Spirin hat auf meine Mail Anfrage dazu nicht geantwortet.
Der Hinweis von Hubert ist aber sicher der bessere Weg.
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15734
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 77 Mal
- Danksagung erhalten: 40 Mal
- Kontaktdaten:
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2475
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 107 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Scope z.B. von eXPress++ benutzen
Hallo Rudolf,
bei mir werden gesetzte Scopes NICHT ignoriert.
Kannst Du den entsprechenden Code posten ?
Andreas Engler ist Spezialist für FRAX, eventuell kann er Dir einen Tip geben.
bei mir werden gesetzte Scopes NICHT ignoriert.
Kannst Du den entsprechenden Code posten ?
Andreas Engler ist Spezialist für FRAX, eventuell kann er Dir einen Tip geben.
Gruß
Klaus
Klaus
- Rudolf
- Programmier-Gott
- Beiträge: 1418
- Registriert: Mo, 02. Jan 2006 23:03
- Wohnort: Salzburg/Österreich
- Kontaktdaten:
Re: Scope z.B. von eXPress++ benutzen
Hallo,
das ist mein Code mit dem es nicht funktioniert
Grüße
Rudolf
das ist mein Code mit dem es nicht funktioniert
Grüße
Rudolf
Code: Alles auswählen
FrPrn := frReportManager():new()
FrPrn:SetIcon(1)
FrPrn:SetTitle(cTitle)
FrPrn:SetVisualActions(FR_ACT_DISABLE);
FrPrn:SetEventHandler("Report", "OnProgressStart", {|x,y|ShowProgress(x, y, 1)})
FrPrn:SetEventHandler("Report", "OnProgressStop", {|x,y|ShowProgress(x, y, 2)})
FrPrn:SetEventHandler("Report", "OnProgress", {|x,y|ShowProgress(x, y, 3)})
FrPrn:SetEventHandler("Report", "OnBeforePrint", {|ObjName|ShowProcess(ObjName)})
if fexists(addpath(cResDir,"german.frc"))
FrPrn:LoadLangRes(addpath(cResDir,"german.frc"))
endif
// !!!!!!!!!!!!!!!!!!!!!!
aScope := {}
select STD
std->(setorder("ABR1"))
std->(seek(auf->nummer))
do while std->auftrag = auf->nummer
aadd(aScope,std->(recno()))
std->(skip())
enddo
std->(dc_setscopearray(aScope))
// !!!!!!!!
std->(dc_dbgotop())
FrPrn:SetWorkArea("STD", select("STD"))
altd()
cFields := frax_repfields(fielenamefromsel("STD")) // fields from my data dictonary
FrPrn:SetFieldAliases("STD",cFields)
FrPrn:LoadFromFile(cReportFile)
dc_hourglassoff()
DO CASE
CASE cMod = "S"
FrPrn:ShowReport()
CASE cMOd = "D"
FrPrn:DesignReport()
CASE cMod = "P"
FrPrn:SetProperty("Report", "ShowProgress", .f.)
FrPrn:PrepareReport()
FrPrn:Print(.t.)
FrPrn:SetProperty("Report", "ShowProgress", .t.)
Rudolf Reinthaler
http://www.formcommander.net
http://www.formcommander.net
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2475
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 107 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Scope z.B. von eXPress++ benutzen
Rudolf,
Frax ignoriert von Express++ gesetzte Scopes, die intern von Express++ verwaltet werden.
Diese sind Frax natürlich nicht bekannt.
Wenn Du statt dessen die Scopes von Xbase+++ benutzt, funktioniert das
ohne Probleme.
Klaus
Frax ignoriert von Express++ gesetzte Scopes, die intern von Express++ verwaltet werden.
Diese sind Frax natürlich nicht bekannt.
Wenn Du statt dessen die Scopes von Xbase+++ benutzt, funktioniert das
ohne Probleme.
Klaus
Gruß
Klaus
Klaus
- Rudolf
- Programmier-Gott
- Beiträge: 1418
- Registriert: Mo, 02. Jan 2006 23:03
- Wohnort: Salzburg/Österreich
- Kontaktdaten:
Re: Scope z.B. von eXPress++ benutzen
Hallo Klaus,
hab ich befürchtet, hätte sein können dass man im FRAX Sourccode die Funktion anpassen hätte können. Habe die Daten in der Zwischenzeit in eine externe Datei kopiert, geht genausoschnell
LG
Rudolf
hab ich befürchtet, hätte sein können dass man im FRAX Sourccode die Funktion anpassen hätte können. Habe die Daten in der Zwischenzeit in eine externe Datei kopiert, geht genausoschnell
LG
Rudolf
Rudolf Reinthaler
http://www.formcommander.net
http://www.formcommander.net
- andreas
- Der Entwickler von "Deep Thought"
- Beiträge: 1903
- Registriert: Mi, 28. Sep 2005 10:53
- Wohnort: Osnabrück
- Hat sich bedankt: 4 Mal
- Kontaktdaten:
Re: Scope z.B. von eXPress++ benutzen
Hallo Rudolf,
ich habe bei mir immer die Daten in einer temporären Datei (FOXCDX) so zusammengesetzt, wie ich für das Report gebraucht habe. Damit konnte ich auch schnell auf die SQL-Daten umsteigen, ohne die Reports umzustellen. Alternativ kannst du auch Arrays verwenden!
ich habe bei mir immer die Daten in einer temporären Datei (FOXCDX) so zusammengesetzt, wie ich für das Report gebraucht habe. Damit konnte ich auch schnell auf die SQL-Daten umsteigen, ohne die Reports umzustellen. Alternativ kannst du auch Arrays verwenden!