2 /***************************************************************
 
   3 * $Id: erpexport.php,v 1.1 2006/02/06 08:50:30 hli Exp $
 
   4 *Author: Holger Lindemann
 
   5 *Copyright: (c) 2004 Lx-System
 
   7 *eMail: info@lx-system.de
 
  10 ***************************************************************/
 
  13         <head><title>Lx-ERP Export der Shopartikel</title>
 
  14         <link type="text/css" REL="stylesheet" HREF="css/main.css"></link>
 
  15         <script language="JavaScript">
 
  18                         document.fld.PN.value="products_model"; document.fld.partnumber.checked=true;
 
  19                         document.fld.BEZ.value="products_name"; document.fld.desctiption.checked=true;
 
  20                         document.fld.GEWICHT.value="products_weight"; document.fld.weight.checked=true;
 
  21                         document.fld.MWST.value="products_tax"; document.fld.rate.checked=true;
 
  22                         document.fld.VK.value="products_price"; document.fld.sellprice.checked=true;
 
  23                         document.fld.PG.value="categories_name"; document.fld.partsgroup.checked=true;
 
  24                         document.fld.BESCHR.value="products_description"; document.fld.notes.checked=true;
 
  25                         document.fld.LAGER.value="products_quantity"; document.fld.onhand.checked=true;
 
  26                         document.fld.encl.value="";
 
  27                         document.fld.deli.value=";";
 
  28                         document.fld.crln.value="\\n";
 
  29                         document.fld.head.checked=true;
 
  30                         document.fld.shop.value="oscomm";
 
  37 $login=$_GET["login"];
 
  38 require_once "DB.php";
 
  39 require_once "conf$login.php";
 
  40 $db=DB::connect($ERPdns);
 
  41 if (!$db) dbFehler("",$db->getDebugInfo());
 
  42 if (DB::isError($db)) {
 
  43         dbFehler("",$db->getDebugInfo());
 
  44         die ($db->getDebugInfo());
 
  46 /****************************************************
 
  48 * in: sql,err = string
 
  50 * Fehlermeldungen ausgeben
 
  51 *****************************************************/
 
  52 function dbFehler($sql,$err) {
 
  55                 echo "</td></tr></table><font color='red'>$sql : $err</font><br>";
 
  58 function shopartikel_() {
 
  60         $sql ="SELECT P.partnumber,P.description,P.unit,P.weight,t.rate,P.sellprice,P.listprice,P.priceupdate,PG.partsgroup,P.notes,P.image,P.onhand FROM ";
 
  61         $sql.="parts P left join partsgroup PG on  PG.id=P.partsgroup_id ";
 
  62         $sql.="left join chart c on c.id = P.income_accno_id ";
 
  63         $sql.="left join tax T on T.taxkey=C.taxkey_id ";
 
  64         $sql.="where shop = 't'";
 
  65         $rs=$db->getAll($sql,DB_FETCHMODE_ASSOC);
 
  68 function shopartikel() {
 
  69 global $db,$pricegroup;
 
  71                 $sql="SELECT P.partnumber,P.description,G.price as sellprice,P.sellprice as stdprice, ";
 
  72                 $sql.="PG.partsgroup,P.notes,P.image,P.onhand,G.pricegroup_id,P.buchungsgruppen_id as bugru FROM ";
 
  73                 $sql.="parts P left join partsgroup PG on ";
 
  74                 $sql.="PG.id=P.partsgroup_id left join prices G on G.parts_id=P.id ";
 
  75                 $sql.="where P.shop='t' and ";
 
  76                 $sql.="(G.pricegroup_id=$pricegroup or G.pricegroup_id is null) ";
 
  77                 $sql.="order by P.partnumber";
 
  79                 $sql="SELECT P.partnumber,P.description,P.weight,P.sellprice,PG.partsgroup,";
 
  80                 $sql.="P.notes,P.image,P.onhand,P.buchungsgruppen_id as bugru ";
 
  81                 $sql.="FROM parts P left join partsgroup PG on PG.id=P.partsgroup_id ";
 
  82                 $sql.="left join buchungsgruppen B on P.buchungsgruppen_id = B.id ";
 
  83                 $sql.="WHERE P.shop='t'";
 
  85         $rs=$db->getAll($sql,DB_FETCHMODE_ASSOC);
 
  88 if ($_POST["export"]) {
 
  90         $delim=($_POST["deli"])?$_POST["deli"]:",";
 
  91         if (get_magic_quotes_gpc()) {
 
  92                 $crln = stripslashes($_POST["crln"]);
 
  95         $sql ="select  BG.id as bugru,T.rate,TK.startdate from buchungsgruppen BG left join chart C ";
 
  96         $sql.="on BG.income_accno_id_0=C.id left join taxkeys TK on TK.chart_id=C.id left join tax T ";
 
  97         $sql.="on T.id=TK.tax_id where TK.startdate <= now()";
 
  98         $rs=$db->getAll($sql,DB_FETCHMODE_ASSOC);
 
 100         foreach ($rs as $row) {
 
 101         if ($erptax[$row["bugru"]]["startdate"]<$row["startdate"]) {
 
 102                 $erptax[$row["bugru"]]["startdate"]=$row["startdate"];
 
 103                 $erptax[$row["bugru"]]["rate"]=$row["rate"]*100;
 
 106         $crln = str_replace('\\r', "\015", $crln);
 
 107         $crln = str_replace('\\n', "\012", $crln);
 
 108         $crln = str_replace('\\t', "\011", $crln);
 
 109         $encl=$_POST["encl"];
 
 111         $f=fopen($ERPdir,"w");
 
 112         if ($_POST["partnumber"])       {$header.=$_POST["PN"].$delim; };
 
 113         if ($_POST["desctiption"])      {$header.=$_POST["BEZ"].$delim; };
 
 114         if ($_POST["unit"])                     {$header.=$_POST["EINHEIT"].$delim; };
 
 115         if ($_POST["weight"])           {$header.=$_POST["GEWICHT"].$delim; };
 
 116         if ($_POST["onhand"])           {$header.=$_POST["LAGER"].$delim; };
 
 117         if ($_POST["rate"])                     {$header.=$_POST["MWST"].$delim; };
 
 118         if ($_POST["sellprice"])        {$header.=$_POST["VK"].$delim; };
 
 119         if ($_POST["listprice"])        {$header.=$_POST["EK"].$delim; };
 
 120         if ($_POST["priceupdate"])      {$header.=$_POST["PDATE"].$delim; };
 
 121         if ($_POST["partsgroup"])       {$header.=$_POST["PG"].$delim; };
 
 122         if ($_POST["notes"])            {$header.=$_POST["BESCHR"].$delim; };
 
 123         if ($_POST["image"])            {$header.=$_POST["IMAGE"].$delim; };
 
 124         $header=substr($header,0,-1);
 
 126 <table class="liste">
 
 127 <!-- BEGIN Artikel -->
 
 129         $f=fopen($ERPdir,"w");
 
 130         if ($_POST["head"]) fputs($f,$header.$crln);
 
 131         foreach($data as $zeile) {
 
 133                 $PG=$zeile["partsgroup"];
 
 134                 $mwst=sprintf("%01.4f",$erptax[$zeile["bugru"]]["rate"]);
 
 135                 $LineCol = $bgcol[$i%2+1];
 
 136                 if ($_POST["partnumber"])       {$file.=$encl.$zeile["partnumber"].$encl.$delim; $html.="<td>".$zeile["partnumber"]."</td>";};
 
 137                 if ($_POST["desctiption"])      {$file.=$encl.strtr($zeile["description"],chr(13).chr(10),"  ").$encl.$delim; $html.="<td>".$zeile["description"]."</td>";};
 
 138                 if ($_POST["unit"])                     {$file.=$encl.$zeile["unit"].$encl.$delim; $html.="<td>".$zeile["unit"]."</td>";};
 
 139                 if ($_POST["weight"])           {$file.=$encl.$zeile["weight"].$encl.$delim; $html.="<td>".$zeile["weight"]."</td>";};
 
 140                 if ($_POST["onhand"])           {$file.=$encl.$zeile["onhand"].$encl.$delim; $html.="<td>".$zeile["onhand"]."</td>";};
 
 141                 if ($_POST["rate"])                     {$file.=$encl.$mwst.$encl.$delim; $html.="<td>".$mwst."</td>";};
 
 142                 if ($_POST["sellprice"])        {$file.=$encl.(sprintf("%02.2f",$zeile["sellprice"])).$encl.$delim; $html.="<td>".(sprintf("%02.2f",$zeile["sellprice"]))."</td>";};
 
 143                 if ($_POST["listprice"])        {$file.=$encl.(sprintf("%02.2f",$zeile["listprice"])).$encl.$delim; $html.="<td>".(sprintf("%02.2f",$zeile["listprice"]))."</td>";};
 
 144                 if ($_POST["priceupdate"])      {$file.=$encl.$zeile["priceupdate"].$encl.$delim; $html.="<td>".$zeile["priceupdate"]."</td>";};
 
 145                 if ($_POST["partsgroup"])       {$file.=$encl.$PG.$encl.$delim; $html.="<td>".$zeile["partsgroup"]."</td>";};
 
 146                 if ($_POST["notes"])            {$file.=$encl.strtr($zeile["notes"],chr(13).chr(10),"  ").$encl.$delim; $html.="<td>".$zeile["notes"]."</td>";};
 
 147                 if ($_POST["image"])            {$file.=$encl.$zeile["image"].$encl.$delim; $html.="<td>".$zeile["image"]."</td>";};
 
 149                 fputs($f,substr($file,0,-1).$crln);
 
 150                 if ($_POST["show"]) {
 
 152         <tr  class="smal" onMouseover="this.bgColor='#FF0000';" onMouseout="this.bgColor='<?= $LineCol ?>';" bgcolor="<?= $LineCol ?>">
 
 160 Anzahl der Artikel: <?= $i ?><br>
 
 161 Export am : <?= date("d.m.Y : H:i") ?><br>
 
 162 download <a href="tmp/shopartikel.csv">Exportfile</a><br><hr>
 
 167 Export der Shopartikel aus Lx-ERP <br>
 
 169 <form name="fld" action="erpexport.php" method="post">
 
 170 <input type="hidden" name="shop" value="">
 
 173                 <td><input type="checkbox" name="partnumber" value="1">Artikelnummer</td>
 
 174                 <td><input type="checkbox" name="desctiption" value="1">Bezeichnung</td>
 
 175                 <td><input type="checkbox" name="unit" value="1">Einheit</td>
 
 176                 <td><input type="checkbox" name="weight" value="1">Gewicht</td>
 
 179                 <td><input type="text" name="PN" size="23"></td>
 
 180                 <td><input type="text" name="BEZ" size="23"></td>
 
 181                 <td><input type="text" name="EINHEIT" size="23"></td>
 
 182                 <td><input type="text" name="GEWICHT" size="23"></td>
 
 184         <tr><td colspan=5></td></tr>
 
 186                 <td><input type="checkbox" name="sellprice" value="1">Verkaufspreis</td>
 
 187                 <td><input type="checkbox" name="listprice" value="1">Listenpreis</td>
 
 188                 <td><input type="checkbox" name="onhand" value="1">Lagerbestand</td>
 
 189                 <td><input type="checkbox" name="rate" value="1">MwSt</td>
 
 192                 <td><input type="text" name="VK" size="23"></td>
 
 193                 <td><input type="text" name="EK" size="23"></td>
 
 194                 <td><input type="text" name="LAGER" size="23"></td>
 
 195                 <td><input type="text" name="MWST" size="23"></td>
 
 197         <tr><td colspan=5></td></tr>
 
 199                 <td><input type="checkbox" name="partsgroup" value="1">Gruppe</td>
 
 200                 <td><input type="checkbox" name="notes" value="1">Beschreibung</td>
 
 201                 <td><input type="checkbox" name="image" value="1">Bild</td>
 
 202                 <td><input type="checkbox" name="show" value="1" checked>HTML-Anzeige</td>
 
 205                 <td><input type="text" name="PG" size="23"></td>
 
 206                 <td><input type="text" name="BESCHR" size="23"></td>
 
 207                 <td><input type="text" name="IMAGE" size="23"></td>
 
 211                 <td>Feldtrenner <input type="text" name="deli" size="2" value=","></td>
 
 212                 <td>Feldumrahmung <input type="text" name="encl" size="2" value="""></td>
 
 213                 <td>Zeilenende <input type="text" name="crln" size="2" value="\n"></td>
 
 214                 <td><input type="checkbox" name="head" value="1" checked>Headline</td>
 
 217                 <td colspan=5><input type="submit" name="export" value="Export"> <input type="button" name="osc" value="osCommerce" onClick="oscomm()"></td>
 
 220 <a href="trans.php">zurück</a>