2016-04-15 10 views
1

Ich möchte einen Parameter zu einem SSRS-Bericht hinzufügen, der einen Berichtsdatenanbieter verwendet.Der AX SSRS-Berichtsparameter wird im Bericht angezeigt, kann aber nicht verwendet werden.

Ich suchte die LedgerTrialBalanceContract Klasse in AOT und im classDeclaration ein Attribut hinzugefügt "Currency accountingCurrency;".

Nach diesem Schritt habe ich eine Methode „parmAccountCurrency“, die wie folgt aussehen:

[ 
DataMemberAttribute(identifierStr(accountingCurrency)) 
] 
public CurrencyCode parmAccountCurrency(CurrencyCode _accountingCurrency = accountingCurrency) 
{ 
    //accountingCurrency = _accountingCurrency; 
    accountingCurrency = CompanyInfo::standardCurrency(); 
    return accountingCurrency; 
} 

ich die accountingCurrency wissen wird immer der Wert von „Company :: standardCurrency();“ Das ist das Ziel.

In der initialize Methode aus der Klasse LedgerTrialBalanceDP i zusätzlich die zweite Zeile von dieser Code-Snippet hinzugefügt:

contract = this.parmDataContract() as LedgerTrialBalanceContract; 
contract.parmAccountCurrency(CompanyInfo::standardCurrency()); 

Nach diesen Änderungen, die ich meine Parameter mit richtigem Wert im AX Dialog sehen (siehe screenshot), aber nicht in Visual Studio.

Ziel ist es, diesen Parameter im Bericht in einem Textfeld anzuzeigen.

Haben Sie jemanden eine Idee, was ich vermisse?

+0

Versuchen Sie, das Dataset des Berichts in Visual Studio zu aktualisieren. –

+0

ja! Danke für deine Hilfe! – JamesnxD

+0

nachdem die Textbox mit dem Parameter als contant Addieren kommt die folgende Ausnahme: „SysOperationDataContractInfo nicht initialisiert Objekt Stapel trace (C) \ Classes \ SrsReportDataContractUIBuilder \ addDialogField - line 10 (C) \ Classes \ SysOperationAutomaticUIBuilder \ buildGroup - line 41. " – JamesnxD

Antwort

0

Stellen Sie sicher, den Datensatz des Berichts in Visual Studio und führen Sie eine inkrementelle oder vollständige cil Zusammenstellung nach der Änderung der Vertragsklasse zu aktualisieren.