Die Datei sollte nur vom User angelegt werden, und verhindert Artikel Importe
solange sie so im Repo drin ist.
Im Gegensatz zu meinem Gespräch mit Holger habe ich sie nicht in eine .default
oder ähnlich umbenannt, weil es keinerlei Dokumentation dafür gegeben hätte.
Ich habe in der Hilfe wenigstens einen Satz eingefügt der erwähnt, dass es die
Möglichkeit gibt, aber auch nicht mehr.
Wenn jemand die Doku komplett machen möchte, dann kann da auch wieder eine
Beispieldatei mit dazugepackt werden.
//DB und LxO müssen ja nicht auf der gleichen Maschine sein.
if($tmpcode<>$db->getClientCode()) {
$rc = $db->setClientCode($tmpcode);
//DB und LxO müssen ja nicht auf der gleichen Maschine sein.
if($tmpcode<>$db->getClientCode()) {
$rc = $db->setClientCode($tmpcode);
// Zeichenkodierung File
if ($_POST["encoding"] == "auto") {
// Zeichenkodierung File
if ($_POST["encoding"] == "auto") {
echo $header;
echo "<br><br>Die erste Zeile enthält die Feldnamen der Daten in ihrer richtigen Reihenfolge<br>";
echo "Geben Sie das Trennzeichen der Datenspalten ein. Steuerzeichen können mit ihrem Dezimalwert ";
echo $header;
echo "<br><br>Die erste Zeile enthält die Feldnamen der Daten in ihrer richtigen Reihenfolge<br>";
echo "Geben Sie das Trennzeichen der Datenspalten ein. Steuerzeichen können mit ihrem Dezimalwert ";
- echo "geführt von einem "#" eingegebn werden (#11).<br><br>";
+ echo "geführt von einem "#" eingegebn werden (#11).<br><br>";
echo "Wird bei "Art" in der Maske "gemischt" gewählt, muss die Spalte "art" vor der Einheit stehen.<br><br>";
echo "Der "sellprice" kann um den eingegeben Wert geändert werden.<br><br>";
echo "Bei vorhandenen Artikelnummern (in der db), kann entweder ein Update auf den Preis (und Text) durchgeführt werden oder ";
echo "Wird bei "Art" in der Maske "gemischt" gewählt, muss die Spalte "art" vor der Einheit stehen.<br><br>";
echo "Der "sellprice" kann um den eingegeben Wert geändert werden.<br><br>";
echo "Bei vorhandenen Artikelnummern (in der db), kann entweder ein Update auf den Preis (und Text) durchgeführt werden oder ";
echo "Dazu muß entweder in der Maske eine Standardbuchungsgruppe gewählt werden <br>";
echo "oder es wird ein gültiges Konto in 'income_accno_id' und 'expense_accno_id' eingegeben. ";
echo "Das Programm versucht dann eine passende Buchungsgruppe zu finden.<br>";
echo "Dazu muß entweder in der Maske eine Standardbuchungsgruppe gewählt werden <br>";
echo "oder es wird ein gültiges Konto in 'income_accno_id' und 'expense_accno_id' eingegeben. ";
echo "Das Programm versucht dann eine passende Buchungsgruppe zu finden.<br>";
- echo "Preisgruppen müssen zunächst angelegt werden. Die Spalten für die Preisgruppen beginnen mit 'pg_' gefolgt vom Preisgruppenname.";
+ echo "Preisgruppen müssen zunächst angelegt werden. Die Spalten für die Preisgruppen beginnen mit 'pg_' gefolgt vom Preisgruppenname.<br>";
+ echo "Wenn eine Datei <code>partshead.csv</code> existiert, wird die erste Zeile aus dieser benutzt um das Format zu bestimmen. Die erste Zeile aus der eigentlichen Importdatei wird dann ignoriert.<br>";
$_POST["ware"] = "W"; // Ist ein Artikel
$_POST["encoding"] = "";
} else {
$_POST["ware"] = "W"; // Ist ein Artikel
$_POST["encoding"] = "";
} else {
/* no data? */
if (empty($_FILES["Datei"]["name"]))
ende ("Kein Datenfile angegeben");
/* no data? */
if (empty($_FILES["Datei"]["name"]))
ende ("Kein Datenfile angegeben");
};
} else if (!move_uploaded_file($_FILES["Datei"]["tmp_name"],$dir.$file.".csv")) {
ende ("Upload von Datei fehlerhaft.".$_FILES["Datei"]["error"]);
};
} else if (!move_uploaded_file($_FILES["Datei"]["tmp_name"],$dir.$file.".csv")) {
ende ("Upload von Datei fehlerhaft.".$_FILES["Datei"]["error"]);
}
/* check if file is really there */
}
/* check if file is really there */
- if (!file_exists($dir.$file.'.csv') or filesize($dir.$file.'.csv')==0)
+ if (!file_exists($dir.$file.'.csv') or filesize($dir.$file.'.csv')==0)
ende("Datenfile ($file.csv) nicht im Ordner gefunden oder leer");
/* Zu diesem Zeitpunkt wurde der Artikel Importiert */
ende("Datenfile ($file.csv) nicht im Ordner gefunden oder leer");
/* Zu diesem Zeitpunkt wurde der Artikel Importiert */
- if (!$db->chkcol($file))
+ if (!$db->chkcol($file))
ende("Importspalte konnte nicht angelegt werden");
/* just print data or insert it, if test is false */
ende("Importspalte konnte nicht angelegt werden");
/* just print data or insert it, if test is false */
<table>
<tr><td><input type="submit" name="ok" value="Hilfe"></td><td></td></tr>
<tr><td>Trennzeichen</td><td>
<table>
<tr><td><input type="submit" name="ok" value="Hilfe"></td><td></td></tr>
<tr><td>Trennzeichen</td><td>
- <input type="radio" name="trenner" value=";" checked>Semikolon
- <input type="radio" name="trenner" value=",">Komma
+ <input type="radio" name="trenner" value=";" checked>Semikolon
+ <input type="radio" name="trenner" value=",">Komma
<input type="radio" name="trenner" value="#9" checked>Tabulator
<input type="radio" name="trenner" value=" ">Leerzeichen
<input type="radio" name="trenner" value="#9" checked>Tabulator
<input type="radio" name="trenner" value=" ">Leerzeichen
- <input type="radio" name="trenner" value="other">
- <input type="text" size="2" name="trennzeichen" value="">
+ <input type="radio" name="trenner" value="other">
+ <input type="text" size="2" name="trennzeichen" value="">
-<tr><td>VK-Preis<br>Nachkomma:</td><td><input type="Radio" name="precision" value="0">0
- <input type="Radio" name="precision" value="1">1
- <input type="Radio" name="precision" value="2" checked>2
- <input type="Radio" name="precision" value="3">3
- <input type="Radio" name="precision" value="4">4
- <input type="Radio" name="precision" value="5">5
+<tr><td>VK-Preis<br>Nachkomma:</td><td><input type="Radio" name="precision" value="0">0
+ <input type="Radio" name="precision" value="1">1
+ <input type="Radio" name="precision" value="2" checked>2
+ <input type="Radio" name="precision" value="3">3
+ <input type="Radio" name="precision" value="4">4
+ <input type="Radio" name="precision" value="5">5
-<tr><td>VK-Preis<br>Aufschlag:</td><td><input type="text" name="quotation" size="5" value="0">
- <input type="radio" name="quottype" value="P" checked>%
+<tr><td>VK-Preis<br>Aufschlag:</td><td><input type="text" name="quotation" size="5" value="0">
+ <input type="radio" name="quottype" value="P" checked>%
<input type="radio" name="quottype" value="A">Absolut</td></tr>
<tr><td>Vorhandene<br>Artikelnummer:</td><td><input type="radio" name="update" value="U" checked>Preis update durchführen<br>
<input type="radio" name="update" value="I">mit neuer Nummer einfügen</td></tr>
<input type="radio" name="quottype" value="A">Absolut</td></tr>
<tr><td>Vorhandene<br>Artikelnummer:</td><td><input type="radio" name="update" value="U" checked>Preis update durchführen<br>
<input type="radio" name="update" value="I">mit neuer Nummer einfügen</td></tr>
<tr><td>Textupdate</td><td><input type="checkbox" name="TextUpd" value="1">ja</td></tr>
<tr><td>Warengruppen<br>verbinder</td><td><input type="text" name="wgtrenner" value="!" size="3"></td></tr>
<tr><td>Shopartikel<br />falls nicht übergeben</td><td><input type="radio" name="shop" value="t">ja <input type="radio" name="shop" value="f" checked>nein</td></tr>
<tr><td>Textupdate</td><td><input type="checkbox" name="TextUpd" value="1">ja</td></tr>
<tr><td>Warengruppen<br>verbinder</td><td><input type="text" name="wgtrenner" value="!" size="3"></td></tr>
<tr><td>Shopartikel<br />falls nicht übergeben</td><td><input type="radio" name="shop" value="t">ja <input type="radio" name="shop" value="f" checked>nein</td></tr>
-<tr><td>Art</td><td><input type="Radio" name="ware" value="W" checked>Ware
+<tr><td>Art</td><td><input type="Radio" name="ware" value="W" checked>Ware
<input type="Radio" name="ware" value="D">Dienstleistung
<input type="Radio" name="ware" value="G">gemischt (Spalte 'art' vorhanden)</td></tr>
<tr><td>Default Einheiten<br></td><td><select name="dimensionunit">
<input type="Radio" name="ware" value="D">Dienstleistung
<input type="Radio" name="ware" value="G">gemischt (Spalte 'art' vorhanden)</td></tr>
<tr><td>Default Einheiten<br></td><td><select name="dimensionunit">
+++ /dev/null
-partnumber fvId wgr partsgroup ean model ErsatzArt makemodel MarkeText description cat01 cat01Text cat02 cat02Text cat03 cat03Text cat04 cat04Text KzStueck KzAL KzAktion KzSperre pg_1 pg_2 listprice lastcost InfLagME InfLagWE\r