Welche XX?Zitat von renchen2000
Dein Programm liest aus der Datei "rechnungsnr.txt" die aktuelle Nummer, erhöht sie um 1 und schreibt sie zurück. Existiert diese Datei und hat der Browser Lese/Schreiberechte darauf?
Servus,
ich habe ein riesen Problem, welches ich nicht in Griff bekomme. Ich habe ein Perl Script welches mir eine Dynamische Rechnung erzeugt. Im Problem geht es um die fortlaufende Rechnungsnummer, die mir das Sciprt erzeuen soll. Ich gehe auf die Bestellung und dann auf " Rechnung erstellen" dann kommt die Rechnung welche alle Daten richtig und korrekt darstellt, nur die Rechnungsnummer nicht. wenn ich das erstemal in die Rechnung reingehe, dann zeigt er mir keine Nummer an, ich gehe dann zurück und wieder rein. Dann macht er mir eine " 1 " in die nummer. Leider sollte die nächste nummer aber die XX sein.
Anbei das komplette Script...
Bitte helft mir, das Finanzamt tanzt mir schon vor den füßen![]()
Welche XX?Zitat von renchen2000
Dein Programm liest aus der Datei "rechnungsnr.txt" die aktuelle Nummer, erhöht sie um 1 und schreibt sie zurück. Existiert diese Datei und hat der Browser Lese/Schreiberechte darauf?
Gruß, der Michl
* * * if you want them to RTFM, make a better FM! * * *
Ich bearbeite eine Bestellung die nagenomen nummer eins wäre. Dann wäre XX bei der nächsten Rechnung oder eingabe ( das heißt, dass es auch 5 sein könnte. Muss halt nur fortlaufend sein).
Ja, beides richtig. Das lustige ist ja, er schreibt die zahl dann rein. Ich kann z.b. immer im browser zurück und wieder auf das Rechnungsformular zappen, dann erhöht sich die nummer so wie ichs will. gehe ich jetzt aus dem script raus und schaue auf dem server nach, was in der datei steht, stimmt alles. gehe ich aber wieder ins script löscht er die und fängt wieder bei 1 an...Existiert diese Datei und hat der Browser Lese/Schreiberechte darauf?
Gruß
EDIT: Er löscht nicht die Datei ( rechnungsnr.txt) , sondern überschreibt diese / löscht derren Inhalt...
Hmm - dann hat das Programm offensichtlich Probleme, die Datei zum Lesen zu öffnen - zum Schreiben langts dann aber...
Vorschlag: öffne die Datei mal mit absolutem Pfadnamen ( http://deinedomain/rechnungsnr.txt ), ob der Fehler dann immer noch auftritt...
Gruß, der Michl
* * * if you want them to RTFM, make a better FM! * * *
Ich weiß nicht was dies bezwecken sollte. Da steht dann eine Zahl drin, das ist klar, ogar die richtige , aber dann beim starten des scriptes wird diese wie ich sagte refreshed und es steht ne wieder 1 da...
EDIT: Er schreibt ja... Aber er löscht die Zahl beim neustart und setzt dafür ne 1 wieder an, also er fängt beio 0 an...
Wie ich ja schon oben schrieb: aus mir im Moment rätselhaften Gründen schafft das Programm es nicht, beim ersten Seitenaufruf die aktuelle RNummer aus der Datei auszulesen - die Variable $rechnungsnr bleibt leer ( "...wenn ich das erstemal in die Rechnung reingehe, dann zeigt er mir keine Nummer an..." ). Erst wenn Du die Seite erneut aufrufst, gibts da nen Wert.
Deswegen mein Vorschlag, dem kompletten Pfad beim Öffnen der Datei anzugeben.
Gruß, der Michl
* * * if you want them to RTFM, make a better FM! * * *
ich habe das Skript bei mir getestet und es funktioniert einwandfrei.
Es gibt einige Meldungen wegen undefinierten Variabeln, das ist nicht ganz sauber.
Aber mit der Rechnungsnummer funktionierts.
Wenn es bei Dir nicht geht, stell folgendes sicher:
rechnungsnr.txt exisitiert
rechnungsnr.txt hat chmod 777
rechnungsnr.txt hat einen Inhalt (z.B. 1)
TYPO3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
Das passt ja bei mir alles, aber nur wenn ich in dem System, wo ich rechnungen ausdrucken kann bleibe. sobald ich dann raus gehe und die .txt aufrufe, stimmt die nächste zahl auch, wenn ich nun wieder in mein AdminSystem gehe, schreibt er erst gar nichts bei der nummer und nach wiederholtem aufrufen der rechnung.pl steht dann nicht die nummer drin die er beim letztenmal reingeschrieben hat, sondern fängt bei 0 an.
Habt ihr echt keine LÖsung? Ich vertweifel hier noch langsam...![]()
HI,
kann es sein, dass in der Zeile
$rechnungsnr = <INFO>;
eine 1 rauskommt? Aber eine logische 1 - also WAHR?
Hast Du vielleicht noch Zeilenumbrüche in Deiner Datei drin?
Dann evtl.
Du hast übrigens zweimalCode:chomp ($rechnungsnr);
Füge doch einfach ein paar Ausgaben in den Programmlauf ein um den Fehler zu lokalisieren. Und verwende vorallemCode:close (INFO);
cuCode:use strict;
Martin
danke für deine Antwort, aber leider muss ich sagen, dass ich von programmieren keine Ahnung habe, bzw nicht programmieren kann. Das Script hat jemand geschrieben, der vom Erdboden verschluckt ist, so dass ich niemand mehr erreiche. Die jetzigen Programmierer hatten und wollen auch nie was mit Perl zu tun haben...![]()
Ich verzweifel noch...![]()
kannst mal das formular mit anhängen, mit dem du das perl-script aufrufst ?
achja, ich glaube da liegt der fehler und zwar in zeile 66
gibt es folgende anweisung:
mach mal dort die anführungszeichen bei der variablen rechnungsnr_neu weg.PHP-Code:print WRITE "$rechnungsnr_neu";
in der darauffolgenden zeile mußt du auch was ändern.PHP-Code:print WRITE $rechnungsnr_neu;
und zwar steht dort
müßte aber heißen,PHP-Code:close (INFO);
und zwar hast du einige zeilen zuvor schon die datei geschlossen die mit dem handle INFO (datei wurde nur zum lesezugriff geöffnet) geöffnet wurde, anschließend wird die gleiche datei mit dem handle WRITE geöffnet (die erneute öffnung der datei dient dazu, das du dort deine neue rechnungsnummer reinschreiben kannst). deswegen mußt du diesen handle auch mit WRITE wieder schließen.PHP-Code:close (WRITE);
habe es nochmal ein wenig intensiver angesehen, hat das ding schon einmal funtkioniert ? ..weil irgendwie paßt was nicht wenn html-code an den browser zurückgegeben werden soll. bin mir jetzt aber auch nicht sicher
habe was gefunden zeile 107 schaut so aus:
ist eine anweisung das einen HERE-Text einläutet, schaut aber meines wissens normalerweise so aus:PHP-Code:print << "HTML";
´PHP-Code:print <<HTML;
Geändert von MatthiasG (29.03.2005 um 18:26 Uhr)
Diese funktion hat noch nie geklappt. Hab es jetzt mal gemacht wie du es geschrieben hast, aber leider hats damit auch nicht funktioniert... Verzweiflung naht![]()
habe ich schon fast vermutet.
schick mir mal das zugehörige formular was der auslöser des ganzen ist.
Das ist dieses PerlScript. Wenn das nicht geht, öffnet sich die rechnung nicht...Oder was meinst du jetzt genau?
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)