Willkommen
Gast
. Bitte
einloggen
oder
registrieren
.
Mai 22, 2012, 21:01:40
1 Stunde
1 Tag
1 Woche
1 Monat
Immer
Einloggen mit Benutzername, Passwort und Sitzungslänge
Suche:
Erweiterte Suche
5257
Beiträge in
1422
Themen von
333
Mitglieder
Neuestes Mitglied:
pje
Diskussionen und Infos zum Shopsystem ShopPilot
ShopPilot
ShopPilot Enterprise
Rabatt abhängig von Zahlungsweise
0 Mitglieder und 1 Gast betrachten dieses Thema.
« vorheriges
nächstes »
Seiten:
1
2
[
3
]
Autor
Thema: Rabatt abhängig von Zahlungsweise (Gelesen 6302 mal)
parimo
Jr. Member
Lob: 0
Offline
Beiträge: 99
Re: Rabatt abhängig von Zahlungsweise
«
Antwort #30 am:
Juli 02, 2009, 00:02:39 »
Hallo dobra,
ja, das stimmt.
Aber sie war zweimal auf dem Server - einmal im Shopverzeichnis, wo ich sie manuell über FTP gelöscht hatte.
Und dann noch einmal in diesem cgi-bin-Verzeichnis.
Gott, bin ich froh, dass nun wieder alles klappt.
Nochmals vielen Dank.
LG - parimo
Gespeichert
parimo
Jr. Member
Lob: 0
Offline
Beiträge: 99
Re: Rabatt abhängig von Zahlungsweise
«
Antwort #31 am:
August 01, 2010, 16:14:32 »
Hallo Dobra,
ich greife dieses Thema noch mal auf, weil ich das immer noch nicht hinbekommen habe.
Ich habe inzwischen begriffen, dass mit dem Identifier __show::myrabatt2__ im WK ausgegeben wird: "Ihr persönlicher Rabatt beträgt x%".
Das klappt auch. Allerdings habe ich immer noch nicht herausgefunden, welchen Identifier ich für __zahlartbetrag__ einsetzen muss, damit die Kalkulation im WK stimmt.
Wäre schön, wenn du mir da behilflich sein könntest. Ich möchte das jetzt gern einrichten, damit die Vorkasse-Kunden nicht immer erst warten müssen, bis ich ihnen ihren Zahlbetrag per Email mitteile.
LG - parimo
Gespeichert
dobra
Global Moderator
Hero Member
Lob: 18
Offline
Beiträge: 1182
Re: Rabatt abhängig von Zahlungsweise
«
Antwort #32 am:
August 01, 2010, 17:17:33 »
Hallo parimo,
ihmmmm, st ja schon ne ganze Weile her, dass ich mich damit beschäftigt habe....
Habe aber jetzt mal mein "altes" Callbackscript von damals in einen Demoshop eingebaut.
Der Rabatt wird ja beim Rechnungsbetrag korrekt abgerechnet, aber nicht ausgewiesen
(konnte nicht mehr rekonstuieren, wie ich das damals gemacht hatte
)
aber SO gehts:
in stdall.ipl unterhalb vom Callback-Script (dann kannst Du auf allen Seiten - also auch den Bestellvorlagen und Mails darauf zugreifen) diesen Code schreiben
Code:
<!--spmacro:module(rabatt)
sub rsumme {
main::mprint(main::fp($Callback::rabattsumme));
return 0;
}
-->
und im Warenkorb dann mit
__rabatt::rsumme__
ausgeben
Gespeichert
mfG
dobra
______________________________
www.shoppilot.at
-
Sitemap
www.woll-insel.at
-
Sitemap
www.wolle-online.eu
-
Sitemap
Mobile Shop:
www.woll-insel.mobi
www.wolle-online.mobi
parimo
Jr. Member
Lob: 0
Offline
Beiträge: 99
Re: Rabatt abhängig von Zahlungsweise
«
Antwort #33 am:
August 01, 2010, 17:44:38 »
Danke Dobra, jetzt hab ich's fast.
Es sieht jetzt so aus:
Es wird also noch der 4%-Rabatt, den alle Vorkasse-Kunden bekommen, angezeigt und in Abzug gebracht.
Der muss ja auch für diese Kundengruppe bestehen bleiben.
Nur bei den Kunden, die einen höheren Treuerabatt bekommen, müsste der wegfallen.
LG - parimo
Gespeichert
dobra
Global Moderator
Hero Member
Lob: 18
Offline
Beiträge: 1182
Re: Rabatt abhängig von Zahlungsweise
«
Antwort #34 am:
August 01, 2010, 19:28:27 »
wie gibst Du den Treuerabatt aus?
wenn Du das mit __myrabatt__ machst, sollte es so funktionieren:
im Callback-Script myrabatt abfragen und die Bedingung ergänzen
.....
my ($zahlart) = ssp::get_cart_zahlart();
my $myrabatt = ssp::get_cart_myrabatt();
if ($zahlart = 1
&& $myrabatt == 0
) { # Zahlart "Vorauskasse" gewählt
aber kein kundenspezifischer Rabatt
....
$zahlart = 1 -> da natürlich deine zahlartnr.
Gespeichert
mfG
dobra
______________________________
www.shoppilot.at
-
Sitemap
www.woll-insel.at
-
Sitemap
www.wolle-online.eu
-
Sitemap
Mobile Shop:
www.woll-insel.mobi
www.wolle-online.mobi
parimo
Jr. Member
Lob: 0
Offline
Beiträge: 99
Re: Rabatt abhängig von Zahlungsweise
«
Antwort #35 am:
August 01, 2010, 19:39:53 »
Die normalen 4% bei Vorkasse habe ich bei der Zahlungsart (= 1) hinterlegt (-4%).
Für den Userrabatt habe ich im Warenkorb dein Script hinterlegt:
<!--spmacro:module(show)
sub myrabatt2 {
my $userrabatt = ssp::get_var_user("USERRABATT");
$userrabatt =~ s/,/./g;
my ($zahlart) = ssp::get_cart_zahlart();
my $rabatt;
my $rabattsumme;
if (length($main::userid) && ($userrabatt > 0) && ($zahlart = 1)) {
my $anzahl = ssp::get_cart_items();
for (my $i = 0;$i <= $anzahl;++$i) {
$rabatt = (ssp::get_var_cart('preis',$i) * $userrabatt) / 100;
$rabattsumme += $rabatt * ssp::get_var_cart('anzahl',$i);
}
if ($rabattsumme > 0) {
$rabattsumme = main::fp($rabattsumme);
main::mprint(qq|
Ihr persönlicher Rabatt beträgt $userrabatt%
|);
}
}
}
-->
Und die stdcart.ipl habe ich auch so übernommen:
<!--spmacro:module(Callback)
$rabattsumme = 0;
sub invoice_addpos {
my $userrabatt = ssp::get_var_user("USERRABATT");
$userrabatt =~ s/,/./g; # dadurch ist es egal, ob ein Kommabetrag mit "," oder "." eingetragen wird
if (length($userrabatt)) { # Feld USERRABATT ist nicht leer
my $ref_gesamt = $_[0];
my $ref_gesamt_steuer = $_[2];
my $ust = $_[3]/100;
my $netto = $_[4];
my $anzahl = ssp::get_cart_items();
for (my $i = 0;$i <= $anzahl;++$i) {
my ($zahlart) = ssp::get_cart_zahlart();
if ($zahlart = 1) { # Zahlart "Vorauskasse" gewählt
my $rabatt = (ssp::get_var_cart('preis',$i) * $userrabatt) / 100;
$rabattsumme += $rabatt * ssp::get_var_cart('anzahl',$i);
}
}
if ($netto > 0) {
$$ref_gesamt -= $rabattsumme;
$$ref_gesamt_steuer -= $rabattsumme*$ust;
} else {
$$ref_gesamt -= $rabattsumme;
$$ref_gesamt_steuer -= $rabattsumme*(1-1/(1+$ust));
}
return 0;
} else { # kein spezieller Kundenrabatt eingetragen -> also 4% Rabatt für alle anderen
my $ref_gesamt = $_[0];
my $ref_gesamt_steuer = $_[2];
my $ust = $_[3]/100;
my $netto = $_[4];
my $anzahl = ssp::get_cart_items();
for (my $i = 0;$i <= $anzahl;++$i) {
my ($zahlart) = ssp::get_cart_zahlart();
if ($zahlart = 1) { # Zahlart "Vorauskasse" gewählt
my $rabatt = (ssp::get_var_cart('preis',$i) * 4) / 100;
$rabattsumme += $rabatt * ssp::get_var_cart('anzahl',$i);
}
}
if ($netto > 0) {
$$ref_gesamt -= $rabattsumme;
$$ref_gesamt_steuer -= $rabattsumme*$ust;
} else {
$$ref_gesamt -= $rabattsumme;
$$ref_gesamt_steuer -= $rabattsumme*(1-1/(1+$ust));
}
return 0;
}
}
-->
<!--spmacro:module(rabatt)
sub rsumme {
main::mprint(main::fp($Callback::rabattsumme));
return 0;
}
-->
Ich verstehe ja von dieser ganzen Programmierung nischt, daher habe ich das einfach mal so übernommen. Klappt ja auch schon fast.
LG - parimo
Gespeichert
dobra
Global Moderator
Hero Member
Lob: 18
Offline
Beiträge: 1182
Re: Rabatt abhängig von Zahlungsweise
«
Antwort #36 am:
August 01, 2010, 19:50:24 »
ach soooooooo
na dann nimm mal die "- 4%" bei derZahlart raus.
Wenn jetzt jemand keinen user-rabatt hat, müssten ihm so wie Du das jetzt hast, eigentlich die 4% doppelt abgezogen werden?
1x als eingetragener zahlertrabatt und dann nochmal von Script
if (length($userrabatt)) { # Feld USERRABATT ist nicht leer
....
} else { # kein spezieller Kundenrabatt eingetragen -> also 4% Rabatt für alle anderen
....
}
Gespeichert
mfG
dobra
______________________________
www.shoppilot.at
-
Sitemap
www.woll-insel.at
-
Sitemap
www.wolle-online.eu
-
Sitemap
Mobile Shop:
www.woll-insel.mobi
www.wolle-online.mobi
parimo
Jr. Member
Lob: 0
Offline
Beiträge: 99
Re: Rabatt abhängig von Zahlungsweise
«
Antwort #37 am:
August 01, 2010, 20:35:28 »
Habe die 4% rausgenommen, dann stimmte es zumindest.
Das Problem ist nun, dass der Treuerabatt auch bei all den anderen Zahlarten aufgeführt wird.
Und bei den Kunden, die mit Vorkasse zahlen und die üblichen 4% haben, steht nun nichts mehr in dem Feld __zahlarttext__.
Es ist verflixt, kaum löst man ein Problem, kommt schon das nächste.
LG - parimo
Gespeichert
dobra
Global Moderator
Hero Member
Lob: 18
Offline
Beiträge: 1182
Re: Rabatt abhängig von Zahlungsweise
«
Antwort #38 am:
August 01, 2010, 20:49:33 »
mit
__rabatt::rsumme__
sollte aber sowohl der 4% Vorauszahlungsrabatt als auch der Treuerabatt ausgegeben werden
Zahlarttext (__zahlarttext__) gibt - wie der Name ja schon sagt - nur der "Text" aus wenn da etwas definiert ist.
Diesen Identifier kannst Du also nicht mehr verwenden.
Versuchs mal so:
Code:
<!--spmacro:module(show)
sub myrabatt2 {
my $userrabatt = ssp::get_var_user("USERRABATT");
$userrabatt =~ s/,/./g;
my ($zahlart) = ssp::get_cart_zahlart();
my $rabatt;
my $rabattsumme;
if (length($main::userid) && $userrabatt > 0 && $zahlart = 1) {
my $anzahl = ssp::get_cart_items();
for (my $i = 0;$i <= $anzahl;++$i) {
$rabatt = (ssp::get_var_cart('preis',$i) * $userrabatt) / 100;
$rabattsumme += $rabatt * ssp::get_var_cart('anzahl',$i);
}
if ($rabattsumme > 0) {
$rabattsumme = main::fp($rabattsumme);
main::mprint(qq|
Ihr persönlicher Rabatt beträgt $userrabatt%
|);
}
}
if ($userrabatt <= 0 && $zahlart = 1) {
main::mprint (qq|Vorauszahlungsrabatt 4%|);
}
}
-->
Gespeichert
mfG
dobra
______________________________
www.shoppilot.at
-
Sitemap
www.woll-insel.at
-
Sitemap
www.wolle-online.eu
-
Sitemap
Mobile Shop:
www.woll-insel.mobi
www.wolle-online.mobi
parimo
Jr. Member
Lob: 0
Offline
Beiträge: 99
Re: Rabatt abhängig von Zahlungsweise
«
Antwort #39 am:
August 01, 2010, 21:58:09 »
Nun bekomme ich folgende Fehlermeldung:
This Error has occured:
parsing error 123-6 in GLOB(0x33a2e30): Can't modify logical and (&&) in scalar assignment at (eval 6) line 9, near "1) "
1 main - 2609 - main::syserr - 1
2 main - 2561 - main::read_templ_work - 1
3 main - 109 - main::read_templ - 1
4 main - 1815 - main::myshowcart - 1
5 main - 622 - main::myplacecart - 1
6 main - 371 - main::placecart - 1
Danke für deine unendliche Geduld!
LG - parimo
Gespeichert
dobra
Global Moderator
Hero Member
Lob: 18
Offline
Beiträge: 1182
Re: Rabatt abhängig von Zahlungsweise
«
Antwort #40 am:
August 01, 2010, 22:39:47 »
sorry - Klammern falsch gesetzt
ich sollte keinen ungetesteten Code posten
hier der korrigierte und getestete Code
(habe auch noch was geändert, dass bei "keinem Rabatt" nicht 0,00 sondern nichts ausgegeben wird)
Code:
<!--spmacro:module(Callback)
$rabattsumme = 0;
sub invoice_addpos {
my $userrabatt = ssp::get_var_user("USERRABATT");
$userrabatt =~ s/,/./g; # dadurch ist es egal, ob ein Kommabetrag mit "," oder "." eingetragen wird
if (length($userrabatt)) { # Feld USERRABATT ist nicht leer
my $ref_gesamt = $_[0];
my $ref_gesamt_steuer = $_[2];
my $ust = $_[3]/100;
my $netto = $_[4];
my $anzahl = ssp::get_cart_items();
for (my $i = 0;$i <= $anzahl;++$i) {
my ($zahlart) = ssp::get_cart_zahlart();
my $myrabatt = ssp::get_cart_myrabatt();
if ($zahlart == 1 && $myrabatt == 0) { # Zahlart "Vorauskasse" gewählt
my $rabatt = (ssp::get_var_cart('preis',$i) * $userrabatt) / 100;
$rabattsumme += $rabatt * ssp::get_var_cart('anzahl',$i);
}
}
if ($netto > 0) {
$$ref_gesamt -= $rabattsumme;
$$ref_gesamt_steuer -= $rabattsumme*$ust;
} else {
$$ref_gesamt -= $rabattsumme;
$$ref_gesamt_steuer -= $rabattsumme*(1-1/(1+$ust));
}
return 0;
}
else { # kein spezieller Kundenrabatt eingetragen -> also 4% Rabatt für alle anderen
my $ref_gesamt = $_[0];
my $ref_gesamt_steuer = $_[2];
my $ust = $_[3]/100;
my $netto = $_[4];
my $anzahl = ssp::get_cart_items();
for (my $i = 0;$i <= $anzahl;++$i) {
my ($zahlart) = ssp::get_cart_zahlart();
if ($zahlart == 1) { # Zahlart "Vorauskasse" gewählt
my $rabatt = (ssp::get_var_cart('preis',$i) * 4) / 100;
$rabattsumme += $rabatt * ssp::get_var_cart('anzahl',$i);
}
}
if ($netto > 0) {
$$ref_gesamt -= $rabattsumme;
$$ref_gesamt_steuer -= $rabattsumme*$ust;
} else {
$$ref_gesamt -= $rabattsumme;
$$ref_gesamt_steuer -= $rabattsumme*(1-1/(1+$ust));
}
return 0;
}
}
-->
<!--spmacro:module(rabatt)
sub rsumme {
if ($Callback::rabattsumme >0) {
main::mprint("-" . main::fp($Callback::rabattsumme));
return 0;
}
}
-->
Code:
<!--spmacro:module(show)
sub myrabatt2 {
my $userrabatt = ssp::get_var_user("USERRABATT");
$userrabatt =~ s/,/./g;
my ($zahlart) = ssp::get_cart_zahlart();
my $rabatt;
my $rabattsumme;
if (length($main::userid) && ($userrabatt > 0) && ($zahlart == 1)) {
my $anzahl = ssp::get_cart_items();
for (my $i = 0;$i <= $anzahl;++$i) {
$rabatt = (ssp::get_var_cart('preis',$i) * $userrabatt) / 100;
$rabattsumme += $rabatt * ssp::get_var_cart('anzahl',$i);
}
if ($rabattsumme > 0) {
$rabattsumme = main::fp($rabattsumme);
main::mprint(qq|
Ihr persönlicher Rabatt beträgt $userrabatt%
|);
}
}
if (!length($userrabatt) && ($zahlart == 1)) {
main::mprint (qq|Vorauszahlungsrabatt 4%|);
}
}
-->
Gespeichert
mfG
dobra
______________________________
www.shoppilot.at
-
Sitemap
www.woll-insel.at
-
Sitemap
www.wolle-online.eu
-
Sitemap
Mobile Shop:
www.woll-insel.mobi
www.wolle-online.mobi
parimo
Jr. Member
Lob: 0
Offline
Beiträge: 99
Re: Rabatt abhängig von Zahlungsweise
«
Antwort #41 am:
August 01, 2010, 23:04:04 »
Hi Dobra,
der Wahnsinn ... das klappt tatsächlich .. und einwandfrei.
Vielen, vielen Dank.
Liebe Grüße - parimo
Gespeichert
Seiten:
1
2
[
3
]
« vorheriges
nächstes »
Gehe zu:
Bitte wählen Sie ein Ziel:
-----------------------------
ShopPilot
-----------------------------
=> News
=> Aktuelle FAQ - Häufige Fragen
=> Shopbetrieb
=> ShopPilot Enterprise
===> Beta
=> SSP - Shop Server Pages
===> SSP Bibliothek
===> Ajax Fragen
===> Ajax Beispielanwendungen
=> Visual Forms
=> Online-Module
===> IBONews
===> IBO Lister
===> IBOReview
=> Warenwirtschaft, Faktura
=> SOAC
=> Allgemein
-----------------------------
eCommerce allgemein
-----------------------------
=> Board News
=> Aktuelle Rechtssprechung
=> Suchmaschinen und Marketing
Loading...