[Gelöst] - [RTC] - RDLC Report C/AL Code übernehmern

6. Juni 2013 16:58

Hi,

ich bin noch immer dabei unsere Auftragsbestätigung RTC Konform zu migrieren :-|

Im CC Report hatte/habe ich eine Section AmountTotals Body, in welcher der SkontoBetrag ausgerechnet wurde.
Im Report wird im CC unterhalb von "Total EUR inkl. MwSt." 2 Zeilen gedruckt, z.B.:

-2% Skonto: 482,56
Zahlbetrag: 23.654,57

Dafür verwende ich 4 Felder, 2 Felder für die Texte , die Texte definiere ich im SalesHeader im OnAfterGet Trigger:
Code:

// PKA060613a -->
//Skonto
IF "Payment Discount %" <> 0 THEN BEGIN
  SkontoVorhanden := TRUE;
  SkontoTextAusgabe := '-' + FORMAT("Payment Discount %") + '% Skonto:';
  SkontoTextTotal := Zahlbetrag;
END ELSE BEGIN
  SkontoVorhanden := FALSE;
  SkontoTextAusgabe := '';
  SkontoTextTotal := '';
END;
// PKA060613a <--


Im OnPreSection Trigger meiner Section hatte ich folgenden Code:
Code:
Skontobetrag := ROUND((SalesLine."Line Amount"-SalesLine."Inv. Discount Amount" + VATAmount) *
   ("Sales Header"."Payment Discount %"/100));


Diesen Code habe ich in den OnAfterGetRecord Trigger von TotalAmounts geschoben, weil der RTC Code in den Sections Trigger ignoriert.

Dann habe ich noch das Feld der GesamtSumme mit abgezogenen Skonto(Zahlbetrag), es ist lediglich ein Feld mit folgender SourceExpr.:
Code:
ROUND((SalesLine."Line Amount"-SalesLine."Inv. Discount Amount" + VATAmount)-Skontobetrag)


Das funktioniert für den Classic Report, aber ich bekomme das im RDLC nicht hin .

Ich hab im RDLC Unterhalb von der GesamtSumme 1 neue Zeile eingefügt und 4 Neue Textfelder hinzugefügt, und mit folgenden Ausdrücken versehen:
Code:
=Fields!SkontoTextAusgabe_.Value
=Fields!SkontoTextTotal_.Value
=Fields!SkontoBetrag_.Value
=Fields!Zahlbetrag_.Value


Hätte gedacht das reicht schon aus um den Wert zu bekommen, bzw. zumindest die Text Strings (Zahlbetrag und x% Skonto) , es wird einfach nichts angezeigt, die Zeilen aber werden gedruckt (hab ich mal farblich hinterlegt)

Bekomme ich die Werte so rüber, oder muss ich diese im RDLC Report neu berechnen? Anhand der Textboxen die mir schon zur Verfügung stehen?

hmm. Habe nun im OnAfterGetRecord des RoundLoop DataItem folgenden Code gefunden:

Code:
IF ISSERVICETIER THEN BEGIN
  TotalSubTotal += SalesLine."Line Amount";
  TotalInvoiceDiscountAmount -= SalesLine."Inv. Discount Amount";
  TotalAmountWithoutDiscount += SalesLine."Line Amount" - SalesLine."Inv. Discount Amount";
  ...


Offenbar muss ich meine SKonto Berechnungen hier implementieren damit die Variablen im RDLC ankommen.
Werde ich als nächstes probieren.

Aber ich hätte jetzt vermutet das ich auf so simple Sachen wie textfelder einfach mit Fields! zugreifen kann, habe probeweise in meiner Section noch ein Feld eingefügt , ein einfaches Label mit Caption "Hallo skonto" , bekomme aber auch nichts angezeigt mit :

Code:
=Fields!SKontoTest_.Value


Bin etwas verwirrt :-?

Danke
Zuletzt geändert von elTorito am 7. Juni 2013 14:38, insgesamt 1-mal geändert.

Re: [RTC] - RDLC Report C/AL Code übernehmern

6. Juni 2013 17:03

Die "Summenbox" ist auch einer meiner persönlichen Albträume im RDLC, ich bediene mich daher ausschließlich beim Standard. Hast du dir schon den Standardreport 205 angesehen und vergleichen, wie dort die Daten angedruckt werden? Kommen dort die Skontowerte an?

Re: [RTC] - RDLC Report C/AL Code übernehmern

7. Juni 2013 13:42

Natalie hat geschrieben:Die "Summenbox" ist auch einer meiner persönlichen Albträume im RDLC, ich bediene mich daher ausschließlich beim Standard. Hast du dir schon den Standardreport 205 angesehen und vergleichen, wie dort die Daten angedruckt werden? Kommen dort die Skontowerte an?


Hi Natalie,
danke für deine Antwort,

ist kniffelig, merke ich auch :-( . Im R205 gibt es nur Skonto auf MWST , kann dort keine weiteren Skonto Angaben oder Berechnungen finden.

Habe aber nun mein Problem bzw. Lösung gefunden *hand gegen die stirn klatsch*
Habe eine Section im CC Designer wo die Versteckten Textboxen die Variablen für den RDLC aufnehmen.
Da habe ich meine Skonto Textboxen vergessen ... :oops:

PS:
Habe hiernoch folgende Aussage von dir gefunden:

Sämtliche Aufsummierungen und Bestimmung von Prozentwerten sollten im RDLC erfolgen, nicht in C/AL mit Übergabe an das Dataset. Dies ist (nach der Umgewöhnung) nicht nur einfacher für dich, sondern bei der Ausführung des Reports auch performanter, weil das an das RDLC übergebene DataSet kleiner ist.


Demnach ist es sowieso doof was ich mache?
Wenn ich im RoundLoop DataItem des Skonto Berechne? Besser ist es das Skonto im RDLC anhand der Textbosen dort zu berechnen?

Re: [RTC] - RDLC Report C/AL Code übernehmern

7. Juni 2013 13:55

elTorito hat geschrieben:Habe eine Section im CC Designer wo die Versteckten Textboxen die Variablen für den RDLC aufnehmen.
Da habe ich meine Skonto Textboxen vergessen ... :oops:

Ja, die Crux mit den versteckten Textboxen in den Sections ...
Es wird dir zwar nicht helfen, aber ich würde trotzdem gern loswerden, dass das in NAV 2013 immerhin etwas "offensichtlicher" ist, da es dort keine Sections mehr gibt sondern nur noch den Dataset-Designer. Je Textbox früher (egal ob sichtbar oder nicht) hast du dort eine Zeile. Da fällt es schon eher auf, wenn etwas fehlt.

Re: [RTC] - RDLC Report C/AL Code übernehmern

7. Juni 2013 14:11

Natalie hat geschrieben:Ja, die Crux mit den versteckten Textboxen in den Sections ...
Es wird dir zwar nicht helfen, aber ich würde trotzdem gern loswerden, dass das in NAV 2013 immerhin etwas "offensichtlicher" ist, da es dort keine Sections mehr gibt sondern nur noch den Dataset-Designer. Je Textbox früher (egal ob sichtbar oder nicht) hast du dort eine Zeile. Da fällt es schon eher auf, wenn etwas fehlt.


Hi Natalie,

doch, hilft mir etwas, habe mich eben noch gefragt ob in NAV 2013 mit VS 2010 das ganze ähnlich Mühsam ist , wenn denn wenigstens der Visual Basic Code Editor für den Bericht ein Syntax Highlighting hätte. Warum eigentlich VB und nicht C#? Habs Jahrelang vermieden in VB was zu machen, und nun werd ich "gewzungen" :evil:

Re: [RTC] - RDLC Report C/AL Code übernehmern

7. Juni 2013 14:39

elTorito hat geschrieben:wenn denn wenigstens der Visual Basic Code Editor für den Bericht ein Syntax Highlighting hätte.
Wenn du damit den "Code"-Abschnitt im Layout meinst: nee, sieht genauso aus wie vorher ...

Warum eigentlich VB und nicht C#? Habs Jahrelang vermieden in VB was zu machen, und nun werd ich "gewzungen" :evil:

Verrät mir meine Glaskugel auch nicht :-)

Re: [RTC] - RDLC Report C/AL Code übernehmern

7. Juni 2013 14:51

Natalie hat geschrieben:
elTorito hat geschrieben:wenn denn wenigstens der Visual Basic Code Editor für den Bericht ein Syntax Highlighting hätte.
Wenn du damit den "Code"-Abschnitt im Layout meinst: nee, sieht genauso aus wie vorher ...


Ich meinte den Editor hier:

Bild

Bild

Warum eigentlich VB und nicht C#? Habs Jahrelang vermieden in VB was zu machen, und nun werd ich "gewzungen" :evil:

Verrät mir meine Glaskugel auch nicht :-)[/quote]

Das ist schade :-)

Re: [Gelöst] - [RTC] - RDLC Report C/AL Code übernehmern

7. Juni 2013 15:10

Passt schon, an diesen Editoren hat sich nichts geändert.

Re: [Gelöst] - [RTC] - RDLC Report C/AL Code übernehmern

7. Juni 2013 15:52

Natalie hat geschrieben:Passt schon, an diesen Editoren hat sich nichts geändert.

Hehe. Dann bin ich mal gespannt ob ich es noch erleben darf das es für NAV irgendwann mal ein "vernünftigen" Editor geben wird :)