ShopPilot > SSP - Shop Server Pages

Zahlart auslesen ?

(1/2) > >>

dobra:
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  ???





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

Linkback: https://www.shoppilot.net/pf/index.php?topic=1582.0

admin:
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

dobra:
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
--- End quote ---

---------------- 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)

dobra:
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.
--- End quote ---

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 ?

admin:
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

Navigation

[0] Themen-Index

[#] Nächste Seite

Go to full version
Powered by SMFPacks SEO Pro Mod | Sitemap