Support

Forum

Forum

Suche

Anmeldung

Geben Sie Ihren Benutzernamen und Ihr Passwort ein, um sich anzumelden.

Find´den Fehle im Code nicht... brauch mal Profihilfe!

chevi111
Amateur
Themenersteller
Verfasst am: 13.10.2011 [20:08]
nAbend!

Ich bin gerade dabei meine Vorlagen fertigzustellen, komme aber gerade echt nicht weiter:

Ich habe die Vorlage so, dass Rabatt und Listenpreis automatisch eingeblendet/ausgeblendet wird. Außerdem habe ich eine Fußzeile mit dem Gesamtrabatt eingefügt. soweit sogut.

Vorgehensweise:
ICh habe eine unsichtbare Variable [ZaehlerRabattTotal] in den Detailbereich eingefügt mit folgender Berechnung:


procedure ZaehlerRabattTotalOnCalc(var Value: Variant);
begin
{Rabatt-Total berechnen}
if AVX['P_POSKIND'] <> 1 then begin {alle ausser AlternativPositionen}
if AVX['P_PRICE'] <> AVX['P_PRICE_WOD'] then begin
ZaehlerRabattTotal.value := ZaehlerRabattTotal.value + (AVX['P_AMOUNT']*(AVX['P_PRICE_WOD'] - AVX['P_PRICE']));
end else if AVX['P_PRICE'] < 0 then begin
ZaehlerRabattTotal.value := ZaehlerRabattTotal.value - AVX['P_PRICE'];
end;
end;
Rabatt_Gesamt_Zeile1.caption := 'Dieses Angebot enthält Rabatte und Nachlässe von insgesamt' + ZaehlerRabattTotal.value;
end;


das Label [Rabatt_Gesamt_Zeile1]ist im Fußbereich.
Die Berechnung funktioniert ohne Probleme.

Nun möchte ich aber negative Rabatte (also Aufschläge) ausgrenzen, so dass nicht irgendwo "Rabatt -20% auftaucht. Also habe ich gedacht ich kanns so lösen



procedure ReportBeforePrint;

if VorgangRabattEnthalten then begin
if ZaehlerRabattTotal.value > 0 then begin
DBText_Rabatt.Visible := true;
DBText_Listenpreis.Visible := true;
SpaltenUeberschrift_Rabatt.Visible := true;
SpaltenUeberschrift_Listenpreis.visible := true;
DBMemo_Artikelbeschreibung.Width := DBMemo_Artikelbeschreibung.Width - Platzbedarf_Rabatt;
Region_FussnotenRabatte.visible := true;
end else begin
Region_FussnotenRabatte.visible := false;
end;
end;


leider kommt hier ZaehlerRabattTotal.value immer mit "0" an.
Ich vermute mal die Reihenfolge der Berechnung!?
Hat irgendwer eine Idee?

Grüße chevi.
Equilibrium
orgaMAX-Team
Verfasst am: 14.10.2011 [09:07]
Hallo chevi111,

Ui ui ui, viel RAP-Code den du hier gepostet hast. Also zunächst möchte ich anmerken, dass es kein schlechter Ansatz ist, den du da gewählt hast. Allerdings finde ich, dass du es dir ertwas schwerer machst als nötig. Zumindest das was du bei "procedure ZaehlerRabattTotalOnCalc" auszugeben versuchst.
Im ReportBuilder gibt es auch das Element DBCalc. Dann kannst du einfach eine vordefinierte Variable nehmen. Sieh mal in den Anhang. Da ist ein Screenshot der das zeigt, was ich gerade meine.

procedure ReportBeforePrint wirft hier auch Fragen auf. Meld dich doch einfach mal bei unserer Hotline und lass dich für einen Rückruf von dem Supportleiter aufnehmen. Der Kollege ist Vorlagenexperte (mehr als ich icon_razz.gif ) und kann dir sicherlich helfen.

Danke für deinen Beitrag

Gruß
-Equilibrium-

Detmold, 14.10.2011 09:07 [Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 14.10.2011 um 09:14.]Die Balance ist der Akt - Immer schön die Waage halten
Dateianhang: RAP.jpg
chevi111
Amateur
Themenersteller
Verfasst am: 14.10.2011 [11:32]
das mit DBCalc ist ganz nett, allerdings habe ich keine möglichkeit gefunden den gesamtrabatt zu berechnen, da DBCalc_Summe() nicht die Anzahl berücksichtigt!

Beispiel:

Anzahl: 2 Stk
Listenpreis: 10€
Rabatt: 10%
Endpreis: 18€
Rabatt gesamt: 2€

DBCalc Summe(P_Disconttotalgross) sagt: 1€ Rabatt icon_frown.gif


Wenn ich mit DBCalc minimum(P_Discontperc) den kleinsten Rabatt suche, wird zwar zB -5% gefunden, jedoch in procedure ReportBeforePrint nicht verzweigt:

if VorgangRabattEnthalten then begin
if DBCalc_minimumRabatt.value > 0 then begin
Rabatt ausgeben
end else begin
Rabatt nicht ausgeben
end


irgendwie kommt da immer 0 an, obwohl das Feld -5 anzeigt. Wird -5 evtl nicht als Wert erkannt!?


[BTW: Wäre es nicht sinnvoll in diesem Forum die Möglichkeit zu geben Code zu posten?]

Grüße
chevi

[Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 14.10.2011 um 11:33.]
Wiggum
orgaMAX-Team
Verfasst am: 18.10.2011 [09:53]
Hallo chevi,

ohne die komplette Vorlage zu sehen ist dies leider nur schwer einschätzbar. Bitte keine Anfragen per privater Nachricht stellen, da ich diese nicht zeitnah bearbeiten kann.
emik
Neuling
Verfasst am: 17.10.2012 [15:03]
Hallo Chevi!

Hast du eine Lösung für dein Problem gefunden?
Ich bin nämlich genau nach so etwas auf der Suche!!
Also wenn du etwa eine fertige Vorlage hast dann wäre das echt toll!

mfg emik

orgaMAX Forum hat 4948 registrierte Benutzer, 5675 Themen und 18268 Antworten.
Es werden durchschnittlich 4.94 Beiträge pro Tag erstellt.

Zur Zeit sind 0 Benutzer online, davon 0 registrierte Benutzer.
Heute waren bereits 4 registrierte Benutzer online.

SUPPORT HOTLINE

Wir sind für Sie da!

+49 (0) 5231 7090-0

Montag - Freitag
8:00 - 12:00 und 13:00 - 17:00 Uhr

Erweiterte Supportzeiten von 7:00 - 20:00 Uhr sind in unseren Premium-Supportpaketen verfügbar.
Jetzt anfragen