Beitrag von Frank (474 Beiträge) am Samstag, 18.März.2006, 00:19.
Warenausgang
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Samstag, 18.März.2006, 14:34.
Re: Warenausgang
Mmh, Du könntest in "top" nach
das hier
if($_[1])
{
my $rest=$Menge-$a;
if($rest<0) { out "Nicht mehr genügend vorrätig!"; return -1; }
else { mod "Id==$r", ["Menge", $rest], "Artikel"; }
}
einfügen und in "best" das
in
if(&berech(1,1)==-1) { ...fehler-behandlung... }
ändern. Das ist jetzt aber nicht getestet und nix, nur eine Anregung...
Antworten
Beitrag von Frank (474 Beiträge) am Sonntag, 19.März.2006, 12:04.
Re: Warenausgang
Leider bin ich syntaktisch noch nicht so weit, ich hab`s ausprobiert aber es kommen Fehlermeldungen, die sich allerdings verändern. Herausgefunden habe ich, daß der Code if(&berech(1,1)==-1) { ...fehler-behandlung... } in best die Fehlermeldung auslöst.z.B.
if($_amount>0)
{
if(&berech(1,1)==-1);
$ges=sprintf("%.2f",$ges);
$end=sprintf("%.2f",$ges+$vko+($Bezahlung eq "Nachnahme"?$nna:0));
$mwst=sprintf("%.2f",$end-($end/"1.$mwst"));
...
[ Fehler: Fehlerhafter Perl Code in :
syntax error at (eval 409) line 39, at EOF ]
auch
--------------------------------------------------------
if(&berech(1,1)==-1) { ...fehler-behandlung... };
[ Fehler: Fehlerhafter Perl Code in :
syntax error at (eval 728) line 39, near "{ ..." syntax error at (eval 728) line 121, near "} else" ]
---------------------------------------------------------
... wobei mir dieses zweimal if hintereinander ungewohnt ist, ich bin aber eigentlich nur mit der bash vertraut und kann kein perl. Deshalb habe ich den Code-Schnipsel auch mal so eingefügt:
if($_amount>0)
{
(&berech(1,1)==-1);
$ges=sprintf("%.2f",$ges);
$end=sprintf("%.2f",$ges+$vko+($Bezahlung eq "Nachnahme"?$nna:0));
$mwst=sprintf("%.2f",$end-($end/"1.$mwst"));
...
Dann kommt immerhin erst auf der übernächsten Seite eine Fehlermeldung (wahrscheinlich wenn der Bestand geändert werden soll?):
[ Fehler: Kann /usr/local/httpd/baseportal/ar/te/arteurope.de/kunst/Artikel.fields nicht öffnen ]
Ich habe daraufhin die Rechte an der Datenbank artikel geändert, alles angekreutzt, jeder darf alles, die Fehlermeldung blieb die gleiche. Die Datei Artikel.fields sehe ich nur über meinen ftp-Manager und da kann ich ja keine Rechte setzen (aus gutem von dir bereits erklärten Gründen). Sudo wäre jetzt das rechte Mittel.
Antworten
Beitrag von hempelr (1976 Beiträge) am Sonntag, 19.März.2006, 15:22.
Re: Warenausgang
Antworten
Beitrag von Frank (474 Beiträge) am Sonntag, 19.März.2006, 21:47.
Re: Warenausgang
Vielen Dank für die Aufforderung erstmal perl zu lernen, das geht zur Zeit aber nicht.
Aber vielleicht wärst du so nett und machst aus deinem Denkanstoss einen Anfang
1)if($_[1])
2) {
3) my $rest=$Menge-$a;
4) if($rest<0) { out "Nicht mehr genügend vorrätig!"; return -1; }
5) else { mod "Id==$r", ["Menge", $rest], "Artikel"; }
6) }
Die Zeilen bedeuten:
1) Wenn ein Objekt ausgewählt wird soll folgendes ausgeführt werden
2) Klammer auf
3) Array rest nimmt die Differenz aus angegeb. Menge - ausgew. Anzahl auf
4) ist Artikelmenge<0 = Textausgabe und zurück zum vorigen Zustand
5) sonst modifiziere den dbEintrag des Artikels für Menge, ??? in db Artikel?
6)Klammer zu
also id==$r ist mir unklar muß aber die db meinen und ["Menge", $rest] wozu die eckigen und nicht runde und schließlich heißt die db nicht Artikel sondern artikel,-- viele Fragen.
Das soll soviel heißen:
Wenn die Berechnung abgeschlossen ist ??? oder was
danach kommen Formatierungsanweisungen und Summe:
$ges=sprintf("%.2f",$ges);
$end=sprintf("%.2f",$ges+$vko+($Bezahlung eq "Nachnahme"?$nna:0));
$mwst=sprintf("%.2f",$end-($end/"1.$mwst"));
Das ist es was ich mir zusammenreimen kann, stimmt es denn?. Und Fehlerbehandlung, also gut, das muß ich wohl über die Doku selbst lernen, ich möchte nicht zuviel erbitten, ich bin schließlich kein Codeschnorrer, wieso aber überhaupt eine Fehlerbehandlung an der Stelle?
Antworten
Beitrag von hempelr (1976 Beiträge) am Sonntag, 19.März.2006, 22:37.
Re: Warenausgang
sorry, aber deine Lernresistenz (Zitat: "erstmal perl zu lernen, das geht zur Zeit aber nicht") lässt mich die Segel streichen...
Autofahren ohne Fahrerlaubnis wird auch bestraft!
Antworten
Beitrag von Frank (474 Beiträge) am Montag, 20.März.2006, 10:24.
Re: Warenausgang
Sag mal, siehst du zwischen den Anforderungen von Autofahren und Rumscripten keinen Unterschied?
Ich erkläre es dir:
Ein Auto kann Menschenleben gefährden. Deshalb ist hier eine Überprüfung wichtig. Man sagt, es gibt ein Volk in Europa, das dauernd für alles irgendwelche Scheine, Zerifikate, Genehmigungen, Erlaubnisse erfindet, wo es eigentlich keine braucht, weißt du zufällig welche Volksgruppe damit gemeint ist? Und welches Motiv werden diese Menschen haben? Vielleicht nur Wichtigtuerei? Ausgrenzung? Dummheit?
Ich bin leider nicht mehr in dem Alter, wo ich mal eben Perl lernen könnte, berufliche, familiäre und gemeinnützige Anforderungen und Verpflichtungen stehen dem entgegen. Ich habe da jetzt ein Problem und es hätte ja genügt wenn du geschrieben hättest, ob ich den Code richtig interpretiere, oder welcher Teil verkehrt ist. Dann wüsste ich, wo ich mal anfangen kann. Denn, da bin ich schon deiner Meinung, natürlich muß man sich schon selbst damit beschäftigen.
Antworten
Beitrag von Herbert (220 Beiträge) am Montag, 20.März.2006, 11:22.
Re: Warenausgang
Mein ich aber auch, dachte hier ist das forum für Baseportal und nicht DAS Forum für Perl Programmierer.
heisst auch so schön : in 5 minuten zur eigenen Datenbank.
Wenn ich damals gewusst hätte, was auf mich zukommt hätte ich wahrscheinlich die Finger davon gelassen, was nicht heisst das ich BP nicht gut finde, ganz im gegenteil.
zum glück gab es immer nette leute hier im Forum die geholfen haben.
Ich finde es auch übertrieben einem Anwender (kein Programmierer) zu empfehlen Perl zu lernen, nur damit er (eine) Datenbank erstellen kann die dann vieleicht nie mehr zu ändern braucht.
gruss herbert
Antworten
Beitrag von richard (1187 Beiträge) am Montag, 20.März.2006, 11:33.
Re: Warenausgang
Wie soll das denn anders gehen, wenn er spezifische Anforderungen hat und ein fertiges, relativ komplexes Skript ändern will?
Wobei man sagen muß, daß niemand perl vollständig beherschen muß, um mit bp umgehen zu können. Es reicht die Funktionalität für den Umgang mit dynamischen Web-Seiten zu lernen, alles andere wird einem von bp weitgehend abgenommen.
Antworten
Beitrag von Frank (474 Beiträge) am Montag, 20.März.2006, 12:21.
Re: Warenausgang
Na das ist doch mal ein Hinweis "Umgang mit dynamischen Web-Seiten" und vielen Dank Herbert für deinen Zuspruch, auch letztens hattest du mir ja gemailt, aber ich hatte das gar nicht gesehen und das Problem dann selbst lösen können. Keine Frage hempelr ist versiert, denn ich benutze ja auch eine Anwendung von ihm. Auch ich werde ständig angegraben irgendetwas für irgendjemand zu machen, keiner sieht die Zeit, die man mit Büchern verbringt und vor der Kiste sitzt, am Ende ein schlichtes danke-schön, da kommt man sich irgendwann blöd vor und sagt sich: sollen die das doch auch mal lernen, - aber - jeder sucht sich sein eigenes Päckchen. Vielleicht sollte ich dich hempelr mal in die Eifel einladen, damit du mal an die frische Luft kommst.
Antworten
Beitrag von hempelr (1976 Beiträge) am Montag, 20.März.2006, 13:14.
Re: Warenausgang
sorry - das war etwas überspitzt und ein falscher Wort reingekommen - "bestraft" sollte "schiefgehen" heissen...
Egal - das was du möchtest ist eben nicht trivial und ohne ein paar Grundlagen von Perl zu kennen, wirst du es kaum hinbekommen, immerhin ist die Shopanwendung doch recht komplex. Und dann kann man das auch so nicht einfach erklären (immer im Bezug auf die Ergänzungen zur Shopanwendung) - da spielen perlspezifische Systemvariablen ne Rolle, ein paar Grundkenntnisse zu Subroutinen etc.
Alles erlernbar, alles kein Hexenwerk - und alles nicht so extrem kompliziert und zeitaufwändig.
Frische Luft hab ich als Dorfbewohner übrigens genug - trotzdem danke für den Hinweis ;-)
Für ne einfache Datenbank braucht niemand auch nur eine Zeile Perl zu können - das ist ja die erste Genialität von BasePortal!
Wo findest du noch so etwas im Web?
Und die Shopanwendung anpassen/ergänzen ist nich einfach mal ne Datenbank ersetellen - das geht eben nicht in 5 Minuten und wird auch nirgendwo versprochen.
Und damit es nicht zu Missverständnissen kommt, in vielen Dingen hat mich die Hilfe der Forumsteilnehmer weitergebracht und dafür bin ich allen sehr dankbar - ausserdem habe ich auch immer versucht das wieder zurückzugeben. Nur hab ich ganz konsequent als Nichtprogrammierer ohne Abitur eben doch versucht, ein paar Grundkenntnisse von Perl zu erlangen.
Ich kann aber nicht verstehen, wie jemand erwarten kann, der ein komplexes Perl-Script selbst an seine Berdürfnisse anpassen will, ohne auch nur die geringste Bereitschaft zu zeigen (aus welchen Gründen auch immer) zu verstehen, was da abläuft.
Ein Engländer, der keine Deutschkenntnisse hat, kann auch keine deutschsprachige Ablaufbeschreibung einer Tätigkeit in deutscher Sprache verfassen bzw. ergänzen oder ändern. Und um ein Perlscript (Programmablaufbeschreibung) anpassen zu können muss man halt wenigstens etwas Perl verstehen und schreiben können...
Antworten
Beitrag von Claus (4645 Beiträge) am Montag, 20.März.2006, 13:26.
Re: Warenausgang
Antworten