Shopsystem ShopPilot

ShopPilot => SSP - Shop Server Pages => Thema gestartet von: dobra am Januar 06, 2012, 18:56:14

Titel: Zahlart auslesen ?
Beitrag von: dobra am Januar 06, 2012, 18:56:14
Hallo,

Wie kann ich die Zahlart einer Bestellung aus der DB auslesen?

In der ORDERS Tabelle Spalte PAYMENT wird diese zwar hinterlegt, aber nur solange man die DB nicht neu angelegt hat  ???

(http://www.woll-insel.at/Bilder/SP-Forum/payment.jpg)

(http://www.woll-insel.at/Bilder/SP-Forum/payment2.jpg)

mit
my $read = ssp::readSQLData("SELECT PAYMENT FROM $ORDERS WHERE ORDERNR = $ordernr","PAYMENT");
bekomme ich für alle Bestellungen nach einem DB neu anlegen ja nur noch 0   :o
Titel: Re: Zahlart auslesen ?
Beitrag von: admin am Januar 08, 2012, 18:14:52
Das Feld PAYMENT eignet sich hierzu nicht.
Sattdessen muss man die Felder für die SOAC Anbindung einrichten.
Dies sind u.a XZAHLUNG und XZAHLARTTEXT.
Diese  würden beim Neuanlegen der ORDERS Tabelle auch wiedre gefüllt.
Aber das Neuanlegen der ORDERS ist in Verbindung mit SOAC eigentlich verboten,
man sollte deshalb die Replizierung  für Bestellungen abschalten.
Gearde bei grössern Shops muss man von Zeit zu Zeit die Bestellungen im WC löschen,
damit die Datenmenge nicht zu gross wird.
Aber SOAC sollen alle Bestellungen erhalten bleiben, auch damit man z.B. Geschäftsjahre
vergeleichen kann.

Gruss hop
Titel: Re: Zahlart auslesen ?
Beitrag von: dobra am Januar 08, 2012, 18:54:12
Hallo hop,

Die Pflicht X-Felder für SOAC hatte ich alle angelegt -> sonst wäre ich ja gar nicht in die Adminmaske rein gekommen ;)
(bis auf XZAHLARTTEXT - das kannte ich nicht und steht auch nicht in meinem Handbuch)

In XZAHLUNG steht bei mir aber der ZahlartBETRAG - also Zu/Abschlag (- Betrag bei Vorauskassa-Sconto und + Betrag bei PM-Zahlung)

Habe gerade das XZAHLARTTEXT-Feld angelegt und bei Shop veröffentlichen (Replizierung  für Bestellungen NICHT abgeschaltet) hatte ich  158 x
Zitat
UPDATE PY2_ORDERS SET SESSIONID = '43781924312600',ATYPE = 0,ORDERNR = 33068,OTIME = 1161166317,STATUS = 0,SHIPPINGINFO = '',EMAIL = '<gelöscht weil echter Kunde>',SCID = -1,PAYMENT = 0,ANREDE = 'Frau',BONUS = '',KUNDENNR = '1045',AVISO = '',XSERIALIZE = '',XTOTALSUM = '',XVERSAND = '',XTAX0 = '',XZAHLUNG = '',XMYRABATT = '',XRABATT = '',WARENWERT = '',ROK = '',XMINDERMENGE = '',XTOTSUMNET = '',XTAX1 = '',XEXTRAPOS = '',XTAXP0 = '',XTAXP1 = '', = 'na' WHERE ORDERNR = 33068
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= 'na' WHERE ORDERNR = 33068' at line 1

State:37000,Native:1064,Origin:[MySQL][ODBC 3.51 Driver][mysqld-5.1.53]
na -1

---------------- fertig (2 min 31 sec) --------------------
Zusammenfassung Datenbank Replikation
 2602 ok
  165 doppelt
  158 erfolglos
 2760 gesamt

kein UPDATE  .. XZAHLARTTEXT ... ? ...

(auch bei "wiederholen")
In der DB gibt es jetzt zwar ein XZAHLARTTEXT Feld aber da steht bei allen Bestellungen nur "na"

Testbestellung gemacht - in XZAHLARTTEXT steht "Vorauskassa (3% Sconto)"
schön ....
dann Bestellungen im WC eingelesen und DB neu angelegt.
Wieder die oben geschriebenen Fehlermeldungen beim Shop veröffentlichen und
im XZAHLARTTEXT Feld dieser NEUEN Bestellung steht "na"  ???

P.S.:
da ich SOAC (noch) nicht an meine speziellen Shopanforderungen anpassen kann, wollte ich die automatisch versendeten Auftragsbestätigungen (mit allen Bedingungen wer/wann/welchen Text bekommt) in mein Versandaviso-Modul einbauen.
Dazu brauche ich aber unbedingt die ZahlartID (oder im Notfall halt den Zahlarttext)
Titel: Re: Zahlart auslesen ?
Beitrag von: dobra am Januar 10, 2012, 22:47:33
noch eine kleine Unklarheit ...

Zitat
Aber das Neuanlegen der ORDERS ist in Verbindung mit SOAC eigentlich verboten,
man sollte deshalb die Replizierung  für Bestellungen abschalten.

Wenn ich SOAC später vielleicht doch mal verwenden kann:

Was wenn ich dann z.B. für eine neue Shopfunktion ein neues ben.def. ORDERS-Feld brauche ?
In SOAC kann ich keine eigenen Felder anlegen und im WC darf ich nicht   :o

also keine Möglichkeit mehr, neue Shopfunktionen einzubauen für die ben.def. Auftragsfelder nötig sind  ???
oder habe ich da was falsch verstanden ?
Titel: Re: Zahlart auslesen ?
Beitrag von: admin am Januar 10, 2012, 23:55:55
Doch das geht mit der neuen Möglichkeit benutzdef. Datenfelder anzulegen / zu löschen ohne die Datenbank neu anzulegen.
Dazu muss man die Replizierung für Bestellungen aktivieren. Das Feld anlegen. Dann replizieren. Und dann sicherheitshalber
wieder die Replizierung für Bestellungen ausschalten.

Gruss hop

Titel: Re: Zahlart auslesen ?
Beitrag von: dobra am Januar 11, 2012, 00:09:44
das ist schön :)
dann habe ich das
"Aber das Neuanlegen der ORDERS ist in Verbindung mit SOAC eigentlich verboten"
doch falsch verstanden.

.... wenn mir jemand bisschen helfen würde mit SOAC ....
vielleicht könnte ich mir dann doch das Versandaviso-Modul ausbauen ersparen um damit auch Auftragsbestätigungen "mit Bedingung" versenden zu können und das doch gleich "richtig" mit SOAC machen ?
.... und bei den "ganz einfachen" = für alle gleichen Versandaviso MIT den eigenen Feldern mal klein anfangen...
Also wenn mir jemand zeigt WIE ich die ssp-Funktionen da nachbauen kann ....