Variant verliert Filter auf Record

17. Februar 2015 11:19

Ich stehe gerade vor folgendem Problem:

Ich habe eine Funktion "PrintDocument", die unterschiedliche Records als Variant entgegen nimmt und in Abhängigkeit von einer ebenfalls übergebenen internen Report-Nr. unterschiedliche Reports mit diesem Variant (Variablenname Record) aufruft. Die Records sind teilweise gefiltert.
Die Reports werden dann über die Funktion REPORT.RUNMODAL aufgerufen, wie hier zu sehen:

Code:
REPORT.RUNMODAL("Report ID",ReqWindow,FALSE,Record)


In NAV 2009 hat das auch problemlos geklappt und die Filter kamen korrekt auf den Reports an.
In NAV 2013 wird der Record zwar als Variant an den Report übergeben, er verliert aber die Filter.

Kennt jemand das Problem und gibt es hierfür eine Lösung, bei der die bisherige Funktion, die bei uns an einigen Stellen aufgerufen wird, beibehalten werden kann?

Re: Variant verliert Filter auf Record

17. Februar 2015 12:13

Übergibst du den Variant als VAR? Falls nicht, versuch bitte mal, ob sich dann was ändert.

Re: Variant verliert Filter auf Record

17. Februar 2015 12:17

Das macht keinen Unterschied, der Filter wird in beiden Fällen nicht übergeben.
In 2009 war die Übergabe ohne VAR.

Re: Variant verliert Filter auf Record

17. Februar 2015 13:47

Unter Dynamics NAV 2015 CU3 funktioniert das einwandfrei (auch ohne VAR):

Code:
TestVariantFilter()
SalesInvHeader.FINDLAST;
SalesInvHeader.SETRECFILTER;
VariantRecord := SalesInvHeader;

VariantRunReport(VariantRecord);

VariantRunReport(VarRecord : Variant)
REPORT.RUNMODAL(206, TRUE, FALSE, VarRecord);


2013 hab ich grad nicht parat... Ich würde es im Zweifelsfall mit dem letzten CU nochmal testen.

Re: Variant verliert Filter auf Record

17. Februar 2015 16:16

Code:
sh.setrange("Document type",sh."Document Type"::Order);
sh.setrange("no.",'1001');
Variante := sh;

REPORT.RUNMODAL(50090,true,false,Variante);


Funktioniert bei mir mit Build 7.00.38052 korrekt. Der aufgerufene Bericht zeigt die Filterwerte korrekt an.

Tritt der Fehler mit beliebigen Berichten auf?

Gruß Fiddi