[Gelöst] Report 292 ausführen ohne Formularaufruf

12. Juni 2007 15:25

Wie bitte bekomme ich dort die Variablen gesetzt?

DocType
DocNo
IncludeHeader
.....

Muss ich in dem Report eine neue Funktion anlegen und dort die Parameter übergeben? Quasi SetParameter oder so?

Report292.USERREQUESTFORM(FALSE);
Report292.DocType := 'Posted Invoice';

Findet der die Variable DocType nicht...

Möchte einen Filter auf SalesInvoiceHeader setzen, und anschl. die gebuchte Rechnung als Rechnung, oder Auftrag neu erfassen. Mit dem Report kann man nur einzelne Belege kopieren, ich möchte mehrere auf einmal (nacheinander) kopieren.

Danke.
Zuletzt geändert von elTorito am 13. Juni 2007 15:09, insgesamt 1-mal geändert.

12. Juni 2007 15:28

Wie du generell Filter setzt, siehst du hier:
http://www.navision24.de/tutorials/repo ... rufen.html

Vor RUN setzt du dein Report292.USEREQUESTFORM(FALSE); (ein R war dort zuviel)

12. Juni 2007 15:48

Natalie hat geschrieben:Wie du generell Filter setzt, siehst du hier:
http://www.navision24.de/tutorials/repo ... rufen.html

Vor RUN setzt du dein Report292.USEREQUESTFORM(FALSE); (ein R war dort zuviel)


In dem Report kann ich doch kein Filter setzen?

Der Report 292 wird ja normalerweise aus dem Auftrag oder aus der Rechnung heraus aufgerufen. Und kopiert den Beleg dann ins Rechnungs, oder AUftragsmodul, je nachdem wo ich mich gerade befinde.

12. Juni 2007 16:37

Mach dir in dem Report eine "SetFunktion" und ruf diese einfach vor dem RUN auf. Dort gibst du dann die Werte in globale Variablen und schon hast du die Informationen in deinem Report.

Beispiel:
Code:
Dein Aufruf:
Report292.SetVariable(DocType,DocNo,...) // was du möchtest
Report292.RUN

Code:
Code im Report:
SetVariable(iDocType : 'Invoice,Order';iDocNo : Code[10])  // die neue Funktion
// Dann die Übergabevariablen einfach globalen Variablen übergeben und dann die globalen Variablem im Report benutzen


Gruß
Egnaz

13. Juni 2007 15:08

Hi,

habe es ohne den Report 292 gelöst , habe die Codeunit 6620 verwendet, welche auch im Report 292 verwendet wird.

CopyDocMgt.SetProperties(TRUE,FALSE,FALSE,FALSE,FALSE);
CopyDocMgt.CopySalesDoc(7,'No',SalesHeader,TRUE,TRUE,FALSE);

:-)

Warum muss man anfangs imemr so kompliziert denken ? ;-)

Danke!!