[Gelöst] Vorzeichen im RTC drehen

5. Oktober 2010 13:04

Hallo Leute,

ich habe ein neues (kleines) Problem:

Ich habe einen Report, der im CC die Vorzeichen dreht. Dies geschieht dort einfach über folgendes im Trigger: OnAfterGetRecord

Code:
IF PaymentType."Payment Direction" = PaymentType."Payment Direction"::Outgoing THEN
"Pmt. Amount (LCY)" := -"Pmt. Amount (LCY)";

So schnell wird aus einem beispielsweise 1000 ein -1000!

Der RTC jedoch übernimmt diese Dreher nicht und zeigt mir weiter den Wert 1000 an und nicht -1000. Was muss ich im RTC einstellen oder im Ausdruck hinterlegen, dass der Wert (ggf. mit Abhängigkeit,wie im Beispiel) gedreht wird?

Danke und Grüße
Andree
Zuletzt geändert von EDING am 5. Oktober 2010 16:05, insgesamt 1-mal geändert.

Re: Vorzeichen im RTC drehen

5. Oktober 2010 13:10

Hat dein Report ein RTC-Layout oder arbeitest du mit dem klassichen Design?

Re: Vorzeichen im RTC drehen

5. Oktober 2010 13:20

Hallo Natalie,

ich arbeite im RTC-Layout. Das funktioniert soweit auch schon alles bestens. Bis auf die Anzeige der Vorzeichen, die halt von der "Payment Direction" abhängig ist. im klassischen Layout ist auch alles wunderbar und der Bericht funktioniert ohne Probleme. Lediglich das RTC-Layout hat falsche Vorzeichen und somit am Ende auch falsche Summen.

Re: Vorzeichen im RTC drehen

5. Oktober 2010 13:25

EDING hat geschrieben:ich arbeite im RTC-Layout.

Gut, dann würde ich jetzt im Layout zwei Dinge überprüfen:
1. Stimmt DataSetFieldName der Textbox im CC-Report wirklich überein mit der Datenquelle des RTC-Feldes?
2. Wurde im RTC-Feld ein bestimmtes Format definiert? Wenn ja, zur Probe löschen und Report erneut testen.

Re: Vorzeichen im RTC drehen

5. Oktober 2010 13:50

Hallo Natalie,

ich habe beide Dinge einmal geprüft mit folgendem Ergebnis:

zu 1.) Das DataSetFieldName habe ich noch einmal genau geprüft. Dort ist alles korrekt eingetragen.
zu 2.) Im RTC war bei Format folgendes eingetragen "=Fields!Payment_Proposal_Head__Pmt__Amount__LCY__Format.Value". Dies habe ich entfernt.

Doch bis jetzt werden immernoch die falschen Vorzeichen angedruckt.

Was mir aber eben noch aufgefallen ist: Ich habe unten eine Summierung pro Art. Dort sollen die Werte von oben auch noch einmal aufgegriffen werden. Die Vorzeichen stimmen dort aber. Quasi wird in den Zeilen das falsche Vorzeichen angezeigt, unten jedoch dann richtig.

Re: Vorzeichen im RTC drehen

5. Oktober 2010 14:19

EDING hat geschrieben:Was mir aber eben noch aufgefallen ist: Ich habe unten eine Summierung pro Art. Dort sollen die Werte von oben auch noch einmal aufgegriffen werden. Die Vorzeichen stimmen dort aber. Quasi wird in den Zeilen das falsche Vorzeichen angezeigt, unten jedoch dann richtig.

Wie unterscheiden sich die Felder denn? Ist irgendeine Eigenschaft anders? Die Quelle?

Re: Vorzeichen im RTC drehen

5. Oktober 2010 14:34

Also das eine ist eine normale Tabelle, in der OnAfterGetRecord die Vorzeichen gesetzt werden.

Am Ende des Triggers werden diese Daten zusätlich in eine Temporäre Tabelle geschrieben. In der ersten Tabelle werden die Daten falsch angezeigt. Später in der temporären Tabelle richtig.

Kann es irgendwie damit zusammenhängen, dass der RTC die Werte sozusagen nicht direkt OnAfterGetRecord aktualisiert bekommt und somit zunächst "falsche" Werte anzeigt? Und beim Durchlaufen der Temporären Tabelle (ohne weitere Änderungen) die richtigen Werte hat?

Re: Vorzeichen im RTC drehen

5. Oktober 2010 14:39

EDING hat geschrieben:Am Ende des Triggers werden diese Daten zusätlich in eine Temporäre Tabelle geschrieben. In der ersten Tabelle werden die Daten falsch angezeigt. Später in der temporären Tabelle richtig.

Das heißt doch, dass sich die Felder in deinem RTC-Report untesrscheiden müssen: das eine zeigt auf die "echte" Tabelle, das andere auf die temporäre Tabelle? Würden die RTC-Felder exakt wie im CC-Report Daten anzeigen, dürfte das Problem des falschen Vorzeichens theoretisch gar nicht bestehen ...

Ich meine, es wäre so: Dem RTC-Report sind irgendwelche Programmierungen in den Reporttriggern egal. Das, was in den Sections (Textboxen, Labels ...) landet, wird als Tabelleninhalt für den RTC-Report aufbereitet. Im RTC-Report muss man nur noch das richtige Tabellenfeld anzapfen.

Re: Vorzeichen im RTC drehen

5. Oktober 2010 14:45

Das dachte ich nämlich eigentlich auch, dass es so ist,wie du es beschreibst.

Jedoch habe ich noch einmal genau alle DataSetFieldNames angeschaut und überprüft.
Im RTC wird angezeigt das Feld: "Pmt. Amount (LCY)"
und dieses hat folgendes DataSetFieldName: Payment_Proposal_Head__Pmt__Amount__LCY__

Und im RTC habe ich folgendes Feld zur Ausgabe: =Fields!Payment_Proposal_Head__Pmt__Amount__LCY__.Value

Re: Vorzeichen im RTC drehen

5. Oktober 2010 14:48

EDING hat geschrieben:Und im RTC habe ich folgendes Feld zur Ausgabe: =Fields!Payment_Proposal_Head__Pmt__Amount__LCY__.Value

Und was steht im anderen RTC-Feld?

Re: Vorzeichen im RTC drehen

5. Oktober 2010 14:53

Dort wird eine Summe generiert, die folgendes anzeigt:

Code:
=Sum(Fields!AccountingRuleTemp__Analyze_Amount_.Value)


Das Feld "Pmt. Amount (LCY)" wird in die temporäre Tabelle geschrieben und dann summiert im unteren Bereich angedruckt. Wären die Vorzeichen dort falsch, würde die Summe ja nicht stimmen ;)

Re: Vorzeichen im RTC drehen

5. Oktober 2010 14:58

EDING hat geschrieben:Dort wird eine Summe generiert, die folgendes anzeigt:

Code:
=Sum(Fields!AccountingRuleTemp__Analyze_Amount_.Value)

Also eben nicht
Code:
=Sum(Fields!Payment_Proposal_Head__Pmt__Amount__LCY__.Value)


Und im CC-Report wird in der Textbox mit dem DataSetFieldName=Payment_Proposal_Head__Pmt__Amount__LCY tatsächlich ein Minus angezeigt? Ist in der Textbox irgend eine Eigenschaft gesetzt?

Re: Vorzeichen im RTC drehen

5. Oktober 2010 15:03

Du hast recht, es ist nicht beides:

Code:
=Sum(Fields!Payment_Proposal_Head__Pmt__Amount__LCY__.Value)


aber der Wert aus diesem Feld wird ja 1:1 in eine andere, temporäre Tabelle geschrieben und von dort erneut ausgegeben ( was im Classic Client ja auch wunderbar alles funktioniert )

In den Propertys finde ich bis auf "FontBold = No" überall nu Default-Werte. Auch in den RTC-Eigenschaften des Feldes habe ich bis auf TextAlign und VerticalAlign alles Defaults.


Hier einmal das Ergebnis im CC und RTC. Die Werte werden in abhöngigkeit + oder - gesetzt. Im CC: + + + - und im RTC sind die Daten - + + +
ClassicClient
Bild

RTC
Bild

Re: Vorzeichen im RTC drehen

5. Oktober 2010 16:05

Ich habe das Problem erst einmal gelöst. Ich weiß nicht, ob dies die richtige Lösung des Problemes ist, aber es funktioniert.

Nachdem die Vorzeichen ggf. gedreht wurden, schreibe ich den aktuellen Wert in eine globale Variable.
Diese globale Variable binde ich mit Visible = No in den Classic Client ein ( damit ich diese im RTC nutzen kann ) und zeige diese Variable dann im RTC an. So funktioniert es auf jedenfall erst einmal ...

was bleibt ist ein riesiges :?: