Re: Warenausgang - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    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.

      if(&berech(1,1)==-1)
      
      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

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Frank (474 Beiträge) am Samstag, 18.März.2006, 00:19.
    Warenausgang

      Im Silbershop gibt es die Möglichkeit, eine Anzahl eines Artikels anzugeben, den man kaufen möchte, der Preis und alles andere wird automatisch verarbeitet. Wenn es aber nur eine bestimmte Anzahl eines Artikels gibt, z.B. Radierungen mit einer Auflage von 20 Stück, kann man das einfach Programmieren auf der Seite "detail"

      statt
       for my $i (1 .. 9)
       for my $i (1 .. $Menge)
      

      wobei Menge ein Feld in der Datenbank "artikel" ist, in der man einfach die Auflage einträgt.

      Nun müsste sich aber bei einer Bestellung, (genau dann, wenn sie abgeschickt wird?, oder bereits wenn die Anzahl gewählt wird?) automatisch die "Menge" verringern. Wird der Vorgang abgebrochen, müsste die Menge sich auch wieder zurückstellen. Ich hätte gerne eine Anregung, wo ich hineinscripte und mit welchen Befehlen.

     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

       get "Id==$r", "artikel";
      

      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

       &berech(1);
      

      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

      kurzer Denkanstoss:
      Zeile if(&berech(1,1)==-1) { ...fehler-behandlung... };
      kannst du so doch nicht übernehmen! Du musst deine Fehler-Behandlung da einbauen!
      Zweimal if bedeutet halt auch doppelte Abfrage, also bspw.
      if ($autofarbe eq "rot"){
      if ($sitzbezug eq "leder"){
       alles rein für rote Autos mit sitbezug aus leder
      }
      
      weiteres ren für rote Autos aber egal was sonst noch los ist
      }
      Ansonsten hier sind ein paar deiner Freunde aufgeführt:
      http://baseportal.de/baseportal/doku/baseportal.pl?htx=/doku/wiki&kennung=295

     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.

      if(&berech(1,1)==-1)
      
      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 (56 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 ;-)

      @herbert
      
      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.

      @ all
      
      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

      >heisst auch so schön : in 5 minuten zur eigenen Datenbank.
      

      Stimmt doch, oder nicht?;-))

      Du kannst auch in 5 Minuten ein Auto beim Händler erwerben.

      Für das Tuning danach (Fahrspurverbreiterung, Tieferlegen usw.) zahlt man dann allerdings extra, oder macht es selbst;-))

      >zum glück gab es immer nette leute hier im Forum die geholfen haben.
      

      Stimmt auch!! Habe ich selbst lange genug gemacht, aber alles sollte sich in einem gewissen Rahmen bewegen und wer selbst nicht bereit ist, Zeit zu investieren, kann das dann wohl kaum von anderen erwarten;-))

      Dazu kommt noch, daß man sich dann auch noch oft genug von Leuten, die selbst nicht helfen können/wollen, kritisieren lassen darf.;-))

      Wie heißt es in den Forums-FAQ:

      ..Helfen macht Spaß, aber jeder Spaß geht mal vorüber;-))


      just my 2 cents

      Claus

     Antworten


     
 Liste der Einträge von 19350 bis 19500:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.10s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!