17. Oktober 2011 15:24
Hallo Forum!
Wieder einmal stehe ich vor einem Problem bei dem ich leider über die Suche keine Lösung finde.
Ich möchte die Angebotsnummer aus der Angebotsübersicht (Page 9300) automatisch mit in einen neu erstellten Report übergeben.
Hierzu habe ich ein neues Action Element angelegt
- unter RunObect den gewünschten Report eingetragen
- und im CAL Code den Befehl (DocPrint.PrintSalesHeader(Rec);) hinterlegt
Den neuen Report habe ich als Kopie des bereits existierenden Reports (dieser übernimmt die Angebotsnummer aus der Übersicht) zum drucken des Verkaufsangebotes erstellt. In dem neuen Report wird lediglich die Anordnung der Daten und teils andere Daten ausgegeben.
Kann mir hier jemand sagen wo ich noch etwas anpassen muss um die automatische Übernahme der Angebotsnummer zu erhalten?
Gruß
Fuige
Zuletzt geändert von fuige am 11. November 2011 01:15, insgesamt 3-mal geändert.
18. Oktober 2011 15:42
Keiner eine Idee?
Oder fehlen noch Angaben um das Problem besser zu verstehen?
18. Oktober 2011 16:09
Hallo,
du kannst doch entweder im Code was eingeben oder in den Properties.
Beides zusammen geht doch nicht. So wird eines der beiden übersteuert.
Du müsstest dann den Aufruf des Report auch im Code machen.
Gruß
Aydin
18. Oktober 2011 17:20
Hi!
Erst einmal vielen Dank für Deine Antwort.
Wie lässt sich denn über die Properties des Button die Übernahme des selektierten Beleges einrichten?
Im Code habe ich mal ne Lösung begegnet bei der der Befehl
Report.Runmodal(.....
verwendet wurde.
Wie müsste ich diesen anwenden wenn ichs über den Code realisieren wollte?
18. Oktober 2011 17:33
Hallo,
sorry anscheinend kann man über die Properties keine Filter mitgeben. Ich dachte funktioniert so wie beim Aurfuf einer anderen Page (über SubformLink).
Also im Code kannst du doch einfach eine Variable vom Typ Report declarieren und dann auf den aktuellen Datensatz filtern, anschließend mit
myReport.Runmodal aurufen.
Gruß
Aydin
19. Oktober 2011 14:49
Hi!
Werde heute nicht mehr dazu kommen es zu probieren.
Feedback kommt morgen.
Gruß
21. Oktober 2011 11:06
Guten Morgen!
Im Action Element habe ich nun folgenden Code eingesetzt.
REC.SETRANGE(REC."No.", "No.");
REPORT.RUNMODAL(50040,TRUE,FALSE,REC);
REC.RESET;
Der Report 50040 wird nun aufgerufen, nur stell ich mir die Frage ob dies ein sauberer Aufruf ist.
Kann man das so verwenden?
Für Anregungen und konstruktive Kritik bin ich dankbar und wünsche schon einmal allen hier ein schönes WE!!!!
21. Oktober 2011 12:23
Hallo,
ich würde nicht mit REC arbeiten, sondern eine eigene Record-Variable für den Report anlegen und dann SETRECFILTER verwenden.
- Code:
recVar.GET("No.");
recVar.setrecfilter;
REPORT.RUNMODAL(50040,TRUE,FALSE,recVar);
Gruß
Jörg
21. Oktober 2011 12:56
Vielen Dank!
Welchen Subtype muss ich der Variable denn geben?
Mit Sales Header funktioniert es nicht.
21. Oktober 2011 13:28
welchen Subtype hat dein REC aus deinem Beispiel?
die recVar in meinem Beispiel sollte den selben Subtype haben.
Wenn dein REC aber vom Typ "Sales Header" war, dann muss der GET geändert werden, weil die Table 36 einen zusammengesetzten Primärschlüssel hat.
In diesem Fall müsste der GET so aussehen:
- Code:
recVar.GET("Document Type","No.");
21. Oktober 2011 13:34
Das war die Lösung!!!!!
Vielen, vielen Dank und schönes WE.
Gruß
Fuige
10. November 2011 21:18
Hallo zusammen!
Auch wenn ich diesen Beitrag bereits alsgelöst markiert hatte, so will ich ihn nochmals öffnen da ich aktuell versuche die Belegnummer
einer gebuchten Verkaufslieferung an einen Report zu übergeben wenn ich auf denneuen Button klicke.
Leider mit dem hier gezeigten Code ohne Erfolg.
with SalesShptHeader do begin
SalesShptHeader.SETRANGE("No.", "No.");
REPORT.RUNMODAL(50044,TRUE,FALSE,SalesShptHeader);
end;
Wer kann mir sagen wo hier mein Fehler liegt.
SalesShptHeader ist als Variable vom Typ Record und Subtype Sales Shipment Header angelegt
10. November 2011 21:46
fuige hat geschrieben:with SalesShptHeader do begin
SalesShptHeader.SETRANGE("No.", "No.");
REPORT.RUNMODAL(50044,TRUE,FALSE,SalesShptHeader);
end;
Lass mal das WITH ... DO-Konstrukt weg
Momentan steht de facto das hier:
- Code:
with SalesShptHeader do begin
SalesShptHeader.SETRANGE("No.", SalesShptHeader."No."); // <--! No. rechts muss aber aus Rec kommen
REPORT.RUNMODAL(50044,TRUE,FALSE,SalesShptHeader);
end
10. November 2011 23:19
Hi,
hab das hier mal eingesetzt. Leider ohne Veränderung.
SalesShptHeader.SETRANGE("No.", SalesShptHeader."No.");
REPORT.RUNMODAL(50044,TRUE,FALSE,SalesShptHeader);
Sonst noch eine Idee?
10. November 2011 23:40
Genau falschrum verstanden. Lies dir doch Natalies Beitrag nochmal durch, dann fällt es dir bestimmt auf.
11. November 2011 00:16
Hi!
Hab nun folgende Version versucht.
SalesShptHeader.SETRANGE("No.", Rec."No.");
REPORT.RUNMODAL(50044,TRUE,FALSE,SalesShptHeader);
Wieder ohne Veränderung im Ergebnis.
Auch wenn ich das SalesShptHeader for SETRANGE durch Rec ersetze bleibt das Ergebnisgleich.
Steh ich so auf dem Schlauch ????????
11. November 2011 00:33
Nein, stehst du nicht, der letzte Versuch hätte eigentlich klappen sollen.
Da brauchen wir wohl ein paar Infos über den Aufruf, genauer gesagt über die Form, auf der der Button liegt. Welche Tabelle ist da das rec, also der SourceTable?
Und was passiert bisher bei dem Aufruf? Leere Seite?
11. November 2011 01:15
Hab an einer anderen Stelle auf dem Schlauch gestanden.
Hatte in den Options unter RunObject noch den Aufruf für den Report drinne stehen. Nchdem ich den entfernt habe, wird die Belegnummer auch wie gewünscht übergeben.
Nochmal vielen Dank für die Hilfe!
Gruß
Fuige
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.