X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=lxo-import%2FpartsB.php;h=cb9de67635ab33f180076b2ec7a4afa786159dc1;hb=5547891f42ef3b13d477eba65bb0537ece1d703c;hp=8a7563df6a534ae22868e1d3f60faee95996a49e;hpb=596cce1fb449f9400899105d5fc3f793b18cb142;p=kivitendo-erp.git diff --git a/lxo-import/partsB.php b/lxo-import/partsB.php index 8a7563df6..cb9de6763 100644 --- a/lxo-import/partsB.php +++ b/lxo-import/partsB.php @@ -1,3 +1,4 @@ + @@ -25,13 +26,18 @@ if (!$_SESSION["db"]) { } require ("import_lib.php"); -if (!anmelden()) ende("Anmeldung fehlgeschlagen."); +if ($_GET["login"]) { + $db = anmelden($_GET["login"],$_GET["passwd"]); +} else { + $db = anmelden(); +} +//if (!$_SESSION["db"]) ende("Anmeldung fehlgeschlagen."); +if (!$db) ende("Anmeldung fehlgeschlagen."); /* get DB instance */ $db=$_SESSION["db"]; //new myDB($login); - /* just display page or do real import? */ -if ($_POST["ok"]) { +if ($_POST["ok"] || $_GET["cron"]=="1") { require ("parts_import.php"); //Zeichencodierung des Servers @@ -50,7 +56,7 @@ if ($_POST["ok"]) { //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") { @@ -77,7 +83,7 @@ if ($_POST["ok"]) { echo $header; echo "

Die erste Zeile enthält die Feldnamen der Daten in ihrer richtigen Reihenfolge
"; echo "Geben Sie das Trennzeichen der Datenspalten ein. Steuerzeichen können mit ihrem Dezimalwert "; - echo "geführt von einem "#" eingegebn werden (#11).

"; + echo "geführt von einem "#" eingegebn werden (#11).

"; echo "Wird bei "Art" in der Maske "gemischt" gewählt, muss die Spalte "art" vor der Einheit stehen.

"; echo "Der "sellprice" kann um den eingegeben Wert geändert werden.

"; echo "Bei vorhandenen Artikelnummern (in der db), kann entweder ein Update auf den Preis (und Text) durchgeführt werden oder "; @@ -86,61 +92,78 @@ if ($_POST["ok"]) { echo "Dazu muß entweder in der Maske eine Standardbuchungsgruppe gewählt werden
"; 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.
"; - 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.
"; + echo "Wenn eine Datei users/partshead.csv existiert, wird die erste Zeile aus dieser benutzt um das Format zu bestimmen. Die erste Zeile aus der eigentlichen Importdatei wird dann ignoriert.
"; exit(0); }; clearstatcache (); - $test = $_POST["test"]; - $lager = $_POST["lager"]; - $TextUpd = $_POST["TextUpd"]; - $trenner = ($_POST["trenner"])?$_POST["trenner"]:","; - $trennzeichen = ($_POST["trennzeichen"])?$_POST["trennzeichen"]:""; - $precision = $_POST["precision"]; - $quotation = $_POST["quotation"]; - $quottype = $_POST["quottype"]; $file = "parts"; - /* no data? */ - if (empty($_FILES["Datei"]["name"])) - ende ("Kein Datenfile angegeben"); - - /* copy file */ - if (substr($_FILES["Datei"]["name"],-2)=="gz") { - if (move_uploaded_file($_FILES["Datei"]["tmp_name"],$dir.$file.".csv.gz")) { - echo $gz_bin.$dir.$file.".csv.gz"; + if ($_GET["cron"]==1) { + $Cron = True; + if (file_exists($dir.$file.".zip")) { + exec ($zip_bin.$dir.$file.".zip"); + } else if (file_exists($dir.$file.".gz")) { exec ($gz_bin.$dir.$file.".csv.gz"); - } else { - ende ("Upload von Datei fehlerhaft.".$_FILES["Datei"]["error"]); - }; - } else if (substr($_FILES["Datei"]["name"],-3)=="zip") { - if (move_uploaded_file($_FILES["Datei"]["tmp_name"],$dir.$file.".zip")) { - exec ($zip_bin.$dir.$file.".zip"); - } else { + } else if (!file_exists($dir.$file.".csv")) { + ende($dir.$file.".csv nicht gefunden"); + } + $_POST["trenner"] = "#9"; // Tabulator + $_POST["trennzeichen"] = ";"; // Anderes Trennzeichen + $_POST["dimensionunit"] = "Stck"; // Artikeleinheit + $_POST["serviceunit"] = "Std"; // Dienstleistungseinheit + $_POST["bugru"] = "1600"; // Std-Bugru + $_POST["bugrufix"] = "2"; // Nur wenn keine Passende angegeben + $_POST["shop"] = "f"; // Shopartikel + $_POST["show"] = ""; // Kontrollausgabe + $_POST["test"] = ""; // Testlauf == 1 + $_POST["lager"] = ""; // Nicht gebraucht + $_POST["lagerplatz"] = ""; + $_POST["precision"] = "2"; // Runden auf nn Stellen + $_POST["quotation"] = ""; // Preisaufschlag + $_POST["quottype"] = "P"; // Prozent? + $_POST["wgtrenner"] = "!"; // Trennzeichen der Warengruppen + $_POST["TextUpd"] = "1"; // Textupdate durchführen + $_POST["update"] = "U"; // Bei vorhandenen Nummer updaten + $_POST["ware"] = "W"; // Ist ein Artikel + $_POST["encoding"] = ""; + } else { + + /* no data? */ + if (empty($_FILES["Datei"]["name"])) + ende ("Kein Datenfile angegeben"); + + /* copy file */ + if (substr($_FILES["Datei"]["name"],-2)=="gz") { + if (move_uploaded_file($_FILES["Datei"]["tmp_name"],$dir.$file.".csv.gz")) { + echo $gz_bin.$dir.$file.".csv.gz"; + exec ($gz_bin.$dir.$file.".csv.gz"); + } else { + ende ("Upload von Datei fehlerhaft.".$_FILES["Datei"]["error"]); + }; + } else if (substr($_FILES["Datei"]["name"],-3)=="zip") { + if (move_uploaded_file($_FILES["Datei"]["tmp_name"],$dir.$file.".zip")) { + exec ($zip_bin.$dir.$file.".zip"); + } else { + 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"]); }; - } 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 */ - 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 */ - if (!$db->chkcol($file)) + if (!$db->chkcol($file)) ende("Importspalte konnte nicht angelegt werden"); - /* first check all elements */ - $_test=$_POST; - $_test["precision"]=-1; - $_test["quotation"]=0; - $_test["lager"]=$_POST["lager"]; - $_test["lagerplatz"]=$_POST["lagerplatz"]; - /* just print data or insert it, if test is false */ - import_parts($db, $dir.$file, $trenner, $trennzeichen, $parts, FALSE, !$test, $_POST["show"],$_POST); + import_parts($_SESSION["db"], $dir.$file, $parts, FALSE, $_POST); } else { $bugrus=getAllBG($db); @@ -156,22 +179,22 @@ if ($_POST["ok"]) { - - @@ -180,6 +203,8 @@ if ($_POST["ok"]) { + +
Trennzeichen - Semikolon - Komma + Semikolon + Komma Tabulator Leerzeichen - - + +
VK-Preis
Nachkomma:
0 - 1 - 2 - 3 - 4 - 5 +
VK-Preis
Nachkomma:
0 + 1 + 2 + 3 + 4 + 5
VK-Preis
Aufschlag:
- % +
VK-Preis
Aufschlag:
+ % Absolut
Vorhandene
Artikelnummer:
Preis update durchführen
mit neuer Nummer einfügen
Textupdateja
Warengruppen
verbinder
Shopartikel
falls nicht übergeben
ja nein
Eintrag in
Makemodel ist
Lieferantennummer Lieferantenname
auch ohne
Model-Nr.
ja nein
ArtWare   Dienstleistung gemischt (Spalte 'art' vorhanden)