(erledigt) Beleg Nr archivierte Angebote an Report übergeben

14. November 2011 17:32

Hallo alle zusammen!

Da mir bisher immer sehr gut hier im Forum weiter geholfen werden konnte,
melde ich mich auch heute nochmal mit einem Problem das ich nicht gelöst bekomme.

Es geht darum, das ich in den archivierten Verkaufsangeboten einenneuen Button für einen separaten Report integriert habe.
Rufe ich nun den Report mit diesem Button auf, so möchte ich gerne die Belegnummer des archivierten Angebotes an den Report mit übergeben.

Ähnliches Problem hatte ich vor einigen Tagen ier schon für andere Reports. Hier in diesem Fall komme ich nur nicht wirklich mit der Filterung auf den korrekten Datensatz zurecht. (Beleg Nr, Dokumenten Typ, Versions Nr, ...)

Mein aktuell verwendeter Code für den Report Aufruf

SalesHeaderArchive.SETRANGE("No.", Rec."No.");
SalesHeaderArchive.SETRANGE("Version No.", Rec."Version No.");
SalesHeaderArchive.SETRANGE("Document Type", Rec."Document Type"::"Quote");
REPORT.RUNMODAL(50040,TRUE,FALSE,SalesHeaderArchive);

Leider wird keine Beleg Nr an den Report übergeben.

Wo liegt denn hier wieder mein Denkfehler ???????????????????

Gruß aus dem heute verregneten Springfield Ohio
Fuige
Zuletzt geändert von fuige am 18. November 2011 16:08, insgesamt 1-mal geändert.

Re: Beleg Nr archivierte Angebote an Report übergeben

14. November 2011 17:54

ein Findlast fehlt da noch, und evtl. ein SETRECFILTER, oder wenn Du alle Primärschlüsselfelder kennst: GET

Re: Beleg Nr archivierte Angebote an Report übergeben

14. November 2011 18:13

JanGD hat geschrieben:ein Findlast fehlt da noch, und evtl. ein SETRECFILTER, oder wenn Du alle Primärschlüsselfelder kennst: GET

Nö, wieso das denn? Eigentlich fehlt doch nur noch das SetRange auf die Doc. No. Occurrence. Aber egal, so wie bisher hätte er eher mehr als einen Beleg denn gar keinen drucken müssen.

Wird im Report das DataItem in den Properties gefiltert? Wird das rec vor dem Aufruf irgendwo angefasst?

Re: Beleg Nr archivierte Angebote an Report übergeben

14. November 2011 19:07

Hi!

Das DataItem wird nicht in den Properties gefilter und das Rec wird lediglich zur Übergabe in andere Funktione/Cdeunits verwendet. Es wird nicht geändert.

Mein erweiterter Code

SalesHeaderArchive.SETRANGE("No.", Rec."No.");
SalesHeaderArchive.SETRANGE("Version No.", Rec."Version No.");
SalesHeaderArchive.SETRANGE("Document Type", Rec."Document Type"::Quote);
SalesHeaderArchive.SETRANGE("Doc. No. Occurrence", Rec."Doc. No. Occurrence");
REPORT.RUNMODAL(50040,TRUE,FALSE,SalesHeaderArchive);

Der leider noch immer die Belegnummer nicht in den Report übergibt.

Re: Beleg Nr archivierte Angebote an Report übergeben

14. November 2011 19:36

Hm. Wird die Variable SalesHeaderArchive noch irgendwo anders verwendet? Du könntest sie zum Test vor deinem Code resetten.

Re: Beleg Nr archivierte Angebote an Report übergeben

14. November 2011 20:51

Verwende ich folgenden Code, so wird mir ein leeres Message Fenster angezeigt.

Code:
   SalesHeaderArchive.SETRANGE("No.", Rec."No.");
   SalesHeaderArchive.SETRANGE("Version No.", Rec."Version No.");
   SalesHeaderArchive.SETRANGE("Document Type", Rec."Document Type"::Quote);
   SalesHeaderArchive.SETRANGE("Doc. No. Occurrence", Rec."Doc. No. Occurrence");

   message(SalesHeaderArchive."no.");

   Report.RUNMODAL(50040,TRUE,FALSE,SalesHeaderArchive);


Die Variable SalesHeaderArchice habe ich vom DataType Record mit dem Subtype Sales Header Archive angelegt.
Muss ich die Variable noch weiter initialisieren?

P.S. Ich arbeite hier im RTC
Zuletzt geändert von fuige am 14. November 2011 22:27, insgesamt 1-mal geändert.

Re: Beleg Nr archivierte Angebote an Report übergeben

14. November 2011 21:40

Hallo fuige,

dein Quelltext ist leichter zu lesen und zu verstehen, wenn du ihn zwischen so genannte Code-Tags setzt. Insbesondere deine Formatierungen werden so auch beibehalten.

Daher bitten wir dich, vor und nach deinem Quelltext diese Code-Tags einzufügen. Beispiel:


[code]Dein Quelltext[/code]


Außerdem bitte angeben ob CC oder RTC verwendet wird.


Gruß, Kai
MSDynamics.de-Team

Re: Beleg Nr archivierte Angebote an Report übergeben

14. November 2011 23:00

Versuch doch mal, dir statt der Nummer die gesetzten Filter anzusehen (mit message SalesHeaderArchive.getfilters) und da heraus zu erkennen, wieso kein Datensatz gefunden wird.

Re: Beleg Nr archivierte Angebote an Report übergeben

14. November 2011 23:08

Es geht doch darum, den aktuell angezeigten Beleg (in genau dieser Version) zu drucken, richtig?
Dann machs dir doch einfach:

Code:
SalesHeaderArchive := Rec;
SalesHeaderArchive.SETRECFILTER;
REPORT.RUNMODAL(50040,TRUE,FALSE,SalesHeaderArchive);


So musst du dir keine Gedanken darüber machen, aus welchen Feldern der Schlüssel besteht.

Re: Beleg Nr archivierte Angebote an Report übergeben

15. November 2011 00:19

Ich habe nun diesen Code verwendet um zu prüfen welche Daten ermittelt werden.
Es sind genau die richtigen, nur wird noch immer keine Nummer an den Report übergeben.

Code:
SalesHeaderArchive := Rec;
SalesHeaderArchive.SETRECFILTER;
  MESSAGE(SalesHeaderArchive."No.");
  MESSAGE('%1', SalesHeaderArchive."Version No.");
  MESSAGE('%1', SalesHeaderArchive."Document Type");
  MESSAGE('%1', SalesHeaderArchive."Doc. No. Occurrence");
REPORT.RUNMODAL(50040,TRUE,FALSE,SalesHeaderArchive);


Noch jemand ne Idee?
Die angezeigten Daten sind wie gesagt genau die des in der Page 5162 geöffnten Beleges.

Re: Beleg Nr archivierte Angebote an Report übergeben

15. November 2011 00:52

Kannst du die Form bitte mal als Textdatei hier hochladen?

Re: Beleg Nr archivierte Angebote an Report übergeben

16. November 2011 17:13

Sorry!
Komme erst heute wieder dazu mich weiter mit dem Problem zu befassen.


Wie kann ich eine Form als Text hochladen? und welche Form meinst Du.
Sorry für blöde Fragen. Bin noch blutiger Anfänger in Navision.

Re: Beleg Nr archivierte Angebote an Report übergeben

16. November 2011 17:37

Objekt als Text exportieren:

Shift+F12 ruft den Object Designer auf.
Richtiges Objekt markieren.
Menü Datei --> Exportieren
Dateityp unten in Text Format ändern.
Dateinamen eintragen und auf Speichern klicken.

Dieses Textfile kannst du dann als Dateianhang hier im Forum hochladen.

Re: Beleg Nr archivierte Angebote an Report übergeben

16. November 2011 18:00

Danke Sascha!

Hier die Datei.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Beleg Nr archivierte Angebote an Report übergeben

16. November 2011 22:50

Wo ist denn da der Aufruf zum Druck? :shock:

Re: Beleg Nr archivierte Angebote an Report übergeben

17. November 2011 19:51

Hi McClane,

der befindet sich in den Actions der Page 5162.
Ich habe die Page nun mal als txt exportiert.

Weiß nicht ob das hilft?!


Gruß
Fuige
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Beleg Nr archivierte Angebote an Report übergeben

18. November 2011 11:50

Hm. Wenn ich in deiner Action mal die Filter auf SalesHeaderArchive ansehe oder ein findfirst mache, klappt das.

Re: Beleg Nr archivierte Angebote an Report übergeben

18. November 2011 15:33

Hi!

Lasse ich mir per Message Befehl die ermittelten Daten anzeigen, so erscheinen die korrekten Daten.
Nur werden diese leider nicht in die sich öffnende Form übergeben.
Das Feld der Belegnummer ist in der Form leer. Heißt, die Übergabe funktioniert nicht.

Gruß
Fuige

Re: Beleg Nr archivierte Angebote an Report übergeben

18. November 2011 15:39

was ist denn, wenn du mal den Standardreport 215 nimmst?

Re: Beleg Nr archivierte Angebote an Report übergeben

18. November 2011 16:08

Das funktioniert!

Kopiere mir nun diesen Report und baue ihn nochmal für unsere US Kollegen um.


Vielen, vielen Dank an alle für die Hilfestellungen.