>Filter Gutschriften<< if($procd["rechtyp"] == 5) { $procd["rechtyp"] = 2; // 2 is gutschrift 1 is Rechnung } //>>process wahrungen!!<< if($procd["wahrung"]=="EUR" || $procd["wahrung"] == "") $procd["wahrung"] = "€"; $qry=mysqli_query($dbconn,"SELECT id FROM wahrung WHERE wahrung='".$procd["wahrung"]."'"); if(!mysqli_num_rows($qry)) { mysqli_query($dbconn,"INSERT INTO wahrung SET wahrung = '".$procd["wahrung"]."' , kurs='".$procd["wechselkurs"]."'"); $qry = mysqli_query($dbconn,"SELECT id FROM wahrung WHERE wahrung = '".$procd["wahrung"]."'"); } $row = mysqli_fetch_array($qry); $procd["wahrung"] = $row[0]; //------------------------------------- //---------insert umrechn!!!!---------- //------------------------------------- //>>process mwst!!<< $qry=mysqli_query($dbconn,"SELECT id FROM mwst WHERE mwst='".$procd["mwst"]."'"); if(!mysqli_num_rows($qry)) { mysqli_query($dbconn,"INSERT INTO mwst SET mwst = '".$procd["mwst"]."'"); $qry = mysqli_query($dbconn,"SELECT id FROM mwst WHERE mwst = '".$procd["mwst"]."'"); } $row = mysqli_fetch_array($qry); $procd["mwst"] = $row[0]; if(!$err) $ret = $procd; else $ret = 0; return $ret; } function sks_process_fposrecord($data,$dbconn,$datanr) { $err = 0; $procd["rechnr"] = mysqli_real_escape_string($dbconn,trim(iconv( "850", "UTF-8", $data["F_BELNUM"]))); $procd["pos"] = mysqli_real_escape_string($dbconn,trim(iconv("850","UTF-8",$data["F_POS"]))); $procd["menge"] = mysqli_real_escape_string($dbconn,trim(iconv("850","UTF-8",$data["F_LMENGE"]))); $procd["bez1"] = mysqli_real_escape_string($dbconn,trim(iconv("850","UTF-8",$data["F_LBEZ1"]))); $procd["bez2"] = mysqli_real_escape_string($dbconn,trim(iconv("850","UTF-8",$data["F_LBEZ2"]))); $procd["preis"] = mysqli_real_escape_string($dbconn,trim(iconv("850","UTF-8",$data["F_LPREIS"]))); $procd["rabatt"] = mysqli_real_escape_string($dbconn,trim(iconv("850","UTF-8",$data["F_LRABATT"]))); $procd["postxt"] = mysqli_real_escape_string($dbconn,trim(iconv("850","UTF-8",$data["F_POS_TXT"]))); if(!$err) $ret = $procd; else $ret = 0; return $ret; } //IMPORTSKS function importsks($dbconn) { error_reporting(E_ERROR | E_WARNING | E_PARSE); //dont show notices $err = 0; if($_FILES['adressen']['name'] == "ADRESSEN.DBF" && $_FILES['faktu']['name'] == "FAKTU.DBF" &&$_FILES['fpos']['name'] == "FPOS.DBF" ) { message("ADRESSEN.DBF wird geöffnet..."); $adressen = dbase_open ($_FILES['adressen']['tmp_name'], 0); if($adressen) { if(dbase_numfields($adressen) == 73) $err = error("Die übergebene Tabelle hat 73 Spalten 74 werden benötigt. Zum Import der KUNDEN.DBF muss diese erst von MEMO feldern bereit werden. Nutzen Sie hierzu bitte DBF Explorer!"); else if(dbase_numfields($adressen) != 74) $err = error("Für die Adressen Datenbank wird eine Tabelle mit 74 Feldern erwartet, die übergebene Tabelle hat aber ".dbase_numfields($adressen)." Felder. Das kann nicht importiert werden!"); if(!$err) { message(dbase_numrecords($adressen)." Kunden stehen bereit zum Import..
Der Import kann einige Zeit in Anspruch nehmen.
.....
......
.....
"); ob_flush(); flush(); $deleted = 0; $import = 0; $no_import = 0; $changedanrede = 0; for ($i = 1; $i <= dbase_numrecords($adressen); $i++) { ob_flush(); flush(); $err=0; $data = dbase_get_record_with_names($adressen, $i); if(!$data["deleted"]) { if($processed=sks_process_adressrecord($data,$dbconn,$i)) { $data = $processed[0]; if($processed[1]) { $changedanrede++; $sks_check = "1"; } else $sks_check = "0"; $strid = 0; $ortid = 0; $qry = mysqli_query($dbconn,"SELECT id FROM ort WHERE plz='".$data["plz"]."' AND ort='".$data["ort"]."'"); $ortid=mysqli_fetch_array($qry); $ortid = $ortid[0]; if($ortid) { $qry = mysqli_query($dbconn,"SELECT id FROM strasse WHERE str='".$data["str"]."' AND ort_id='".$ortid."'"); $strid=mysqli_fetch_array($qry); $strid = $strid[0]; if(!$strid) { $qry = mysqli_query($dbconn,"INSERT INTO strasse SET str='".$data["str"]."', ort_id=$ortid") or $err = error("Strasse für Kd. ".$data["kdnr"]." nicht eingefügt:
".formaterror(mysqli_error($dbconn))); if(!$strid=mysqli_insert_id($dbconn)) { $err = error("Kundenadresse STR ".$data["kdnr"]." nicht eingefügt:
".formaterror(mysqli_error($dbconn))); } } } else { $qry = mysqli_query($dbconn,"INSERT INTO ort SET ort='".$data["ort"]."' , plz='".$data["plz"]."', land_id='".$data["land"]."'") or $err = error("Ort für Kd. ".$data["kdnr"]." nicht eingefügt:
".formaterror(mysqli_error($dbconn))); if($ortid = mysqli_insert_id($dbconn)) { $qry = mysqli_query($dbconn,"INSERT INTO strasse SET str='".$data["str"]."' , ort_id='".$ortid."'") or $err = error("Strasse für Kd. ".$data["kdnr"]." nicht eingefügt:
".formaterror(mysqli_error($dbconn))); if(!$strid = mysqli_insert_id($dbconn)) { $err = error("Kundenadresse STR ".$data["kdnr"]." nicht eingefügt:
".formaterror(mysqli_error($dbconn))); } } else { $err = error("Kundenadresse ORT ".$data["kdnr"]." nicht eingefügt:
".formaterror(mysqli_error($dbconn))); } } if(!$err) { mysqli_query($dbconn, "INSERT INTO partner SET id='".$data["kdnr"]."', datetime_new='".$data["datetime"]."', user_id=1, sks_not_checked=1, typ_id=1, zahlziel_id=1, sks_kdnotiz='".$data["sksnotiz"]."'") or $err = error("Kunde ".$data["kdnr"]." nicht eingefügt:
".formaterror(mysqli_error($dbconn))); } if($strid && $ortid) { if($partnerid = mysqli_insert_id($dbconn)) { mysqli_query($dbconn, "INSERT INTO adresse SET partner_id='".$partnerid."', vname='".$data["vname"]."', nname='".$data["nname"]."', nname2='".$data["nname2"]."', firma='".$data["firma"]."', anrede_id='".$data["anrede"]."', titel_id='".$data["titel"]."', str_id='".$strid."', typ_id='1', zusatz='".$data["zusatz"]."', hnr='".$data["hnr"]."'") or $err = error("Kunde ".$data["kdnr"]." Adresse nicht eingefügt:
".formaterror(mysqli_error($dbconn))); $res = mysqli_query($dbconn, "SELECT id FROM teltyp WHERE id = 1"); if(!mysqli_num_rows($res)) mysqli_query($dbconn, "INSERT INTO teltyp SET id = 1, typ = 'Privat'"); $res = mysqli_query($dbconn, "SELECT id FROM teltyp WHERE id = 2"); if(!mysqli_num_rows($res)) mysqli_query($dbconn, "INSERT INTO teltyp SET id = 2, typ = 'Mobil'"); mysqli_query($dbconn, "INSERT INTO tel SET ort_id = '".$ortid."', partner_id='".$partnerid."', nr = '".$data["tel1"]."', typ_id = 1;") or $err = error("Kunde ".$data["kdnr"]." Tel1 nicht eingefügt:
".formaterror(mysqli_error($dbconn))); mysqli_query($dbconn, "INSERT INTO tel SET ort_id = '".$ortid."', partner_id='".$partnerid."', nr = '".$data["tel2"]."', typ_id = 5;") or $err = error("Kunde ".$data["kdnr"]." Tel2 nicht eingefügt:
".formaterror(mysqli_error($dbconn))); mysqli_query($dbconn, "INSERT INTO tel SET ort_id = '".$ortid."', partner_id='".$partnerid."', nr = '".$data["fax"]."', typ_id = 4;") or $err = error("Kunde ".$data["kdnr"]." Fax nicht eingefügt:
".formaterror(mysqli_error($dbconn))); } else $err = error("Kunde ".$data["kdnr"]." ID nicht gefunden:
".formaterror(mysqli_error($dbconn))); } if($data["bem1"]) { mysqli_query($dbconn, "INSERT INTO notiz SET partner_id='".$data["kdnr"]."', notiz='".$data["bem1"]."'") or $err = error("Notiz zu Kunde ".$data["kdnr"]." nicht eingefügt:
".formaterror(mysqli_error($dbconn))); } if($data["bem2"]) { mysqli_query($dbconn, "INSERT INTO notiz SET partner_id='".$data["kdnr"]."', notiz='".$data["bem2"]."'") or $err = error("Notiz zu Kunde ".$data["kdnr"]." nicht eingefügt:
".formaterror(mysqli_error($dbconn))); } if(!$err) $import ++; else $no_import ++; } else { $err = error("Datensatz Nummer $i entspricht nicht dem erwarteten Format!"); ob_flush(); flush(); $no_import ++; } } else $deleted++; } warning("Zusammenfassung des Kundenimport:
".$import." erfolgreich importierte Kunden
Davon wurde bei ".$changedanrede." die Anrede als Firmennamen interpretiert.
".$no_import." fehlgeschagene Kunden
".$deleted." bereits in SKS gelöschte un damit übersprungene Kunden."); if($no_import) $err=1; } dbase_close($adressen); if(!$err) ok("ADRESSEN.DBF Datei wurde erfolgreich importiert, der Kundenstamm entspricht nun dem SKS Kundenstamm!!"); else $err = error("ADRESSEN.DBF Datei wurde nicht oder unvollständig importiert!
(Siehe vorhergehende Felhermeldung)
"); } else { $err = error("dBase datenbank ADRESSEN.DBF konnte nicht geöffnet werden."); } $err = 0; // $_FILES['faktu']['tmp_name'] 63 Felder message("FAKTU.DBF wird geöffnet..."); $faktu = dbase_open ($_FILES['faktu']['tmp_name'], 0); if($faktu) { if(dbase_numfields($faktu) != 63) $err = error("Für die Fakturierungs Datenbank wird eine Tabelle mit 63 Feldern erwartet, die übergebene Tabelle hat aber ".dbase_numfields($adressen)." Felder. Das kann nicht importiert werden!"); if(!$err) { message(dbase_numrecords($faktu)." Rechnungen stehen bereit zum Import..
Der Import kann einige Zeit in Anspruch nehmen.
.....
......
.....
"); ob_flush(); flush(); $deleted = 0; $import = 0; $no_import = 0; for ($i = 1; $i <= dbase_numrecords($faktu); $i++) { ob_flush(); flush(); $err=0; $data = dbase_get_record_with_names($faktu, $i); if(!$data["deleted"]) { if($data=sks_process_fakturecord($data,$dbconn,$i)) { $qry=mysqli_query($dbconn, "SELECT id FROM adresse WHERE partner_id = '".$data["kdnr"]."'"); $res=mysqli_fetch_array($qry); $adresse = $res[0]; if($data["rechtyp"] == 1) { mysqli_query($dbconn, "INSERT INTO rechnung SET rechnr='".$data["rechnr"]."', partner_id='".$data["kdnr"]."', adresse_id='".$adresse."', mwst_id='".$data["mwst"]."', changetime=NOW(), user_id=1, datetime='".$data["datetime"]."', wahrung_id='".$data["wahrung"]."', zahlziel_id=1, sks=1, typ_id=1") or $err = error("Rechnung ".$data["rechnr"]." nicht eingefügt:
".formaterror(mysqli_error($dbconn))); } else if($data["rechtyp"] == 2) { mysqli_query($dbconn, "INSERT INTO rechnung SET rechnr='".$data["rechnr"]."', partner_id='".$data["kdnr"]."', adresse_id='".$adresse."', mwst_id='".$data["mwst"]."', changetime=NOW(), user_id=1, datetime='".$data["datetime"]."', wahrung_id='".$data["wahrung"]."', zahlziel_id=1, sks=1, typ_id=2") or $err = error("Rechnung ".$data["rechnr"]." nicht eingefügt:
".formaterror(mysqli_error($dbconn))); } else $err = error("Rechnungstyp des Datensatzes Nr.:".$i." (Rechnungsnummer: ".$data["rechnr"].") nicht unterstützt!"); if(!$err) $import ++; else $no_import ++; } else { $err = error("Datensatz Nummer $i entspricht nicht dem erwarteten Format!"); ob_flush(); flush(); $no_import ++; } } else $deleted++; } warning("Zusammenfassung des Rechnungsimports:
".$import." erfolgreich importierte Rechnungen
".$no_import." fehlgeschagene Rechnungen
".$deleted." bereits in SKS gelöschte un damit übersprungene Rechnungen."); if($no_import) $err=1; } dbase_close($faktu); if(!$err) ok("FAKTU.DBF Datei wurde erfolgreich importiert, der Rechnungsstamm entspricht nun dem SKS Rechnungsstamm!!"); else $err = error("FAKTU.DBF Datei wurde nicht oder unvollständig importiert!
(Siehe vorhergehende Felhermeldung)
"); } else { $err = error("dBase datenbank FAKTU.DBF konnte nicht geöffnet werden."); } $err = 0; // $_FILES['fpos']['tmp_name'] 25 Felder message("FPOS.DBF wird geöffnet..."); $fpos = dbase_open ($_FILES['fpos']['tmp_name'], 0); if($fpos) { if(dbase_numfields($fpos) != 25) $err = error("Für die Artikel Datenbank wird eine Tabelle mit 25 Feldern erwartet, die übergebene Tabelle hat aber ".dbase_numfields($adressen)." Felder. Das kann nicht importiert werden!"); if(!$err) { message(dbase_numrecords($fpos)." Artikel stehen bereit zum Import..
Der Import kann einige Zeit in Anspruch nehmen.
.....
......
.....
"); ob_flush(); flush(); $deleted = 0; $kicked = 0; $import = 0; $no_import = 0; for ($i = 1; $i <= dbase_numrecords($fpos); $i++) { ob_flush(); flush(); $err=0; $data = dbase_get_record_with_names($fpos, $i); if(!$data["deleted"]) { if($data=sks_process_fposrecord($data,$dbconn,$i)) { if($data["menge"] != 0 && !(!$data["bez1"] && !$data["bez2"] && !$data["postxt"])) { mysqli_query($dbconn, "INSERT INTO artikelsks SET rechnr='".$data["rechnr"]."', pos='".$data["pos"]."', menge='".$data["menge"]."', bezeichn1='".$data["bez1"]."', bezeichn2='".$data["bez2"]."', rabatt='".$data["rabatt"]."', beschr='".$data["postxt"]."', preis='".$data["preis"]."'") or $err = error("Artikel ".$data["bez1"]." nicht eingefügt:
".formaterror(mysqli_error($dbconn))); } else { $kicked++; } if(!$err) $import ++; else $no_import ++; } else { $err = error("Datensatz Nummer $i entspricht nicht dem erwarteten Format!"); ob_flush(); flush(); $no_import ++; } } else $deleted++; } warning("Zusammenfassung des Artikelimports:
".$import." erfolgreich importierte Artikel
".$no_import." fehlgeschagene Artikel
".$kicked." Aussortierte Artikel (Menge=0 oder keinerlei Bezeichnung)
".$deleted." bereits in SKS gelöschte un damit übersprungene Artikel."); if($no_import) $err=1; } dbase_close($fpos); if(!$err) ok("FPOS.DBF Datei wurde erfolgreich importiert, der Artikelstamm entspricht nun dem SKS Artikelstamm!!"); else $err = error("FPOS.DBF Datei wurde nicht oder unvollständig importiert!
(Siehe vorhergehende Felhermeldung)
"); } else { $err = error("dBase datenbank FPOS.DBF konnte nicht geöffnet werden."); } $err = 0; } else { $err = error("Es werden nur exakt die drei Dateien von SKS akzeptiert, bitte stellen Sie sicher, dass der Dateiname übereinstimmt."); } if(!$err) { ok("SKS Daten erfolgreich importiert!!"); $ret = 0; } else { $err = error("SKS daten konnten nicht importiert werden!!"); $ret = -1; } return $ret; } ?>