Bugfixes lieferschein

This commit is contained in:
Xenomporio 2022-05-24 21:50:35 +02:00
parent ebc8f31781
commit c1a56db38d
7 changed files with 12334 additions and 12274 deletions

View File

@ -1870,13 +1870,21 @@ class YUI {
if($waehrung=="")
{
// schaue ob es gebuchte positionen gibt dann diese waehrung
$waehrung = $this->app->DB->Select("SELECT waehrung FROM $table WHERE $module='$id' LIMIT 1");
$waehrung = "";
if (!is_null($table)) {
if ($this->app->DB->Select("SHOW COLUMNS FROM `$table` LIKE 'waehrung'")) {
$waehrung = $this->app->DB->Select("SELECT waehrung FROM $table WHERE $module='$id' LIMIT 1");
}
}
if($waehrung==""){
$waehrung = $this->app->erp->GetStandardWaehrung($projekt);
}
if($waehrung!="") $this->app->DB->Update("UPDATE $module SET waehrung='$waehrung' WHERE id='$id' AND waehrung='' LIMIT 1");
if ($this->app->DB->Select("SHOW COLUMNS FROM `$module` LIKE 'waehrung'")) {
if($waehrung!="") $this->app->DB->Update("UPDATE $module SET waehrung='$waehrung' WHERE id='$id' AND waehrung='' LIMIT 1");
}
}
$umsatzsteuer = $articleArr['umsatzsteuer'];//$this->app->DB->Select("SELECT umsatzsteuer FROM artikel WHERE id='$artikel_id' LIMIT 1");
@ -14504,7 +14512,8 @@ source: "index.php?module=ajax&action=filter&filtername=' . $filter . $extendurl
if ($module == "lieferschein" || $module == "retoure") {
$table->headings[6] = 'ausgeliefert';
$zwischensumme = $this->app->DB->Select("SELECT sum(menge*preis) FROM $module"."_position WHERE $module = '$id'");
// $zwischensumme = $this->app->DB->Select("SELECT sum(menge*preis) FROM $module"."_position WHERE $module = '$id'");
// lieferschein has no preis
} else
if($module == "anfrage" || $module == "preisanfrage" ) {
$table->headings[6] = 'Aktion';

View File

@ -33069,7 +33069,9 @@ function MailSendFinal($from,$from_name,$to,$to_name,$betreff,$text,$files="",$p
$this->app->DB->Update("UPDATE firmendaten_werte SET wert = '".$this->app->DB->real_escape_string($value)."' WHERE id = '".$check['id']."'");
}
}
$this->app->DB->Update("UPDATE firmendaten SET " . $field . "='$value' WHERE id='" . $firmendatenid . "'");
else {
$this->app->DB->Update("UPDATE firmendaten SET " . $field . "='$value' WHERE id='" . $firmendatenid . "'");
}
$db = $this->app->Conf->WFdbname;
if(!empty($this->firmendaten[$db])) {
$this->firmendaten[$db][$field] = $value;
@ -33087,11 +33089,14 @@ function MailSendFinal($from,$from_name,$to,$to_name,$betreff,$text,$files="",$p
if(strpos($field,'next') !== false)
{
$firmendatenid = (int)$this->app->DB->Select('SELECT MAX(id) FROM firmendaten LIMIT 1');
$firmendaten_value = $this->app->DB->Select(
sprintf(
'SELECT `%s` FROM firmendaten WHERE id = %d LIMIT 1',
$field, $firmendatenid)
);
if ($this->app->DB->Select("SHOW COLUMNS FROM firmendaten LIKE '$field'")) {
$firmendaten_value = $this->app->DB->Select(
sprintf(
'SELECT `%s` FROM firmendaten WHERE id = %d LIMIT 1',
$field, $firmendatenid)
);
}
if(!$this->app->DB->error()) {
return $firmendaten_value;
}
@ -44997,6 +45002,10 @@ function Firmendaten($field,$projekt="")
}
}
if(is_null($rabatt)) {
$rabatt = 0;
}
if(!$guenstigste_vk)
{
$vkarr = $this->app->DB->SelectArr("SELECT v.*,if((v.adresse > 0 OR v.gruppe > 0),v.preis,(v.preis*(100-$rabatt))/100.0) as rabattpreis FROM verkaufspreise v WHERE

View File

@ -2493,12 +2493,25 @@ class Briefpapier extends SuperFPDF {
$belege_stuecklisteneinrueckenmm = $this->getStyleElement('belege_stuecklisteneinrueckenmm');
$doctype = $this->table?$this->table:$this->doctype;
$doctypeId = $this->id;
$docArr = $this->app->DB->SelectRow(
sprintf(
'SELECT projekt,adresse,steuersatz_normal,steuersatz_ermaessigt FROM `%s` WHERE id = %d',
$doctype, $doctypeId
)
);
$has_steuer = $this->app->DB->Select("SHOW COLUMNS FROM `$doctype` LIKE 'steuersatz_normal'");
if ($has_steuer) {
$docArr = $this->app->DB->SelectRow(
sprintf(
'SELECT projekt,adresse,steuersatz_normal,steuersatz_ermaessigt FROM `%s` WHERE id = %d',
$doctype, $doctypeId
)
);
} else {
$docArr = $this->app->DB->SelectRow(
sprintf(
'SELECT projekt,adresse, 0 AS steuersatz_normal, 0 AS steuersatz_ermaessigt FROM `%s` WHERE id = %d',
$doctype, $doctypeId
)
);
}
$query = sprintf("SELECT `sprache` FROM `%s`
WHERE `id` = %d
LIMIT 1",
@ -2514,15 +2527,25 @@ class Briefpapier extends SuperFPDF {
}
$inventurohnepreis = null;
if(!in_array($this->table ? $this->table : $this->doctype, ['rechnung','auftrag','angebot','bestellung'])) {
$inventurohnepreis = $this->app->DB->Select(
sprintf(
'SELECT noprice
FROM `%s`
WHERE id = %d
LIMIT 1',
$this->table ? $this->table : $this->doctype, $this->id
)
);
$from = $this->table ? $this->table : $this->doctype;
if ($this->app->DB->Select("SHOW COLUMNS FROM `$from` LIKE 'noprice'")) {
$inventurohnepreis = $this->app->DB->Select(
sprintf(
'SELECT noprice
FROM `%s`
WHERE id = %d
LIMIT 1',
$from,
$this->id
)
);
}
else {
$inventurohnepreis = false;
}
}
if($inventurohnepreis){
$descWidth += 40;

View File

@ -3073,8 +3073,11 @@ select a.kundennummer, (SELECT name FROM adresse a2 WHERE a2.kundennummer = a.ku
".$artikelnummer_suche_where."
AND ($subwhere) $tmp_where LIMIT 20");
$rabatt = $this->app->DB->Select("SELECT realrabatt FROM $smodule WHERE id='$sid' LIMIT 1");
if ($module != "") {
if ($this->app->DB->Select("SHOW COLUMNS FROM `$module` LIKE 'realrabatt'")) {
$rabatt = $this->app->DB->Select("SELECT realrabatt FROM $smodule WHERE id='$sid' LIMIT 1");
}
}
$sql_erweiterung = '';
$carr = !empty($arr)?count($arr):0;
for($i=0;$i<$carr;$i++) {

View File

@ -3678,7 +3678,14 @@ class Artikel extends GenArtikel {
$id = $this->app->DB->Select("SELECT id FROM artikel WHERE nummer='$id' AND intern_gesperrt!=1 LIMIT 1");
$warnung = 1-(int)$this->app->DB->Select("SELECT if(rabatt=1,1,vkmeldungunterdruecken) FROM artikel WHERE id = '$id' LIMIT 1");
$adresse = $this->app->DB->Select("SELECT adresse FROM $smodule WHERE id='$sid' LIMIT 1");
$waehrung = $this->app->DB->Select("SELECT waehrung FROM $smodule WHERE id='$sid' LIMIT 1");
if (!is_null($module)) {
if ($this->app->DB->Select("SHOW COLUMNS FROM `$module` LIKE 'waehrung'")) {
$waehrung = $this->app->DB->Select("SELECT waehrung FROM $smodule WHERE id='$sid' LIMIT 1");
}
}
$posanz = (int)$this->app->DB->Select("SELECT count(id) FROM $smodule"."_position WHERE $smodule = '$sid'");
//if($posanz == 0){
// $waehrung = '';

View File

@ -319,7 +319,7 @@ class Lieferschein extends GenLieferschein
$id = (int)$this->app->Secure->GetGET('id');
$table = new EasyTable($this->app);
$table->Query("SELECT date_format(datum,'%d.%m.%Y') as Datum,belegnr as Lieferschein FROM lieferschein WHERE kommissionierung = '$id' ORDER BY id");
$table->Query("SELECT date_format(datum,'%d.%m.%Y') as Datum,belegnr as Lieferschein FROM lieferschein WHERE kommissionierung = '$id' ORDER BY id",0,"");
echo $table->DisplayNew('return', 'Lieferschein', 'noAction');
exit;
}
@ -510,11 +510,11 @@ class Lieferschein extends GenLieferschein
if(a.porto,'-',if((SELECT SUM(l.menge) FROM lager_platz_inhalt l WHERE l.artikel=ap.artikel) > ap.menge,(SELECT SUM(l.menge) FROM lager_platz_inhalt l WHERE l.artikel=ap.artikel),
if((SELECT SUM(l.menge) FROM lager_platz_inhalt l WHERE l.artikel=ap.artikel)>0,CONCAT('<font color=red><b>',(SELECT SUM(l.menge) FROM lager_platz_inhalt l WHERE l.artikel=ap.artikel),'</b></font>'),
if(a.lagerartikel=1,'<font color=red><b>aus</b></font>','kein Lagerartikel' ))) as L
FROM lieferschein_position ap, artikel a WHERE ap.lieferschein='$id' AND a.id=ap.artikel");
FROM lieferschein_position ap, artikel a WHERE ap.lieferschein='$id' AND a.id=ap.artikel",0,"");
$artikel = $table->DisplayNew("return","A","noAction");
} else {
$table->Query("SELECT SUBSTRING(ap.bezeichnung,1,20) as artikel, ap.nummer as Nummer, ap.menge as M
FROM lieferschein_position ap, artikel a WHERE ap.lieferschein='$id' AND a.id=ap.artikel");
FROM lieferschein_position ap, artikel a WHERE ap.lieferschein='$id' AND a.id=ap.artikel",0,"");
$artikel = $table->DisplayNew("return","Menge","noAction");
}
echo $artikel;
@ -931,7 +931,7 @@ class Lieferschein extends GenLieferschein
WHERE ap.id IN (".$positionIdsImplode.") AND ap.lieferschein='$id'
ORDER BY ap.sort, ap.id";
$table->Query($sql);
$table->Query($sql,0,"");
$gewichtanzeigen = false;
if($table->datasets) {
foreach($table->datasets as $k => $row) {
@ -1019,7 +1019,9 @@ class Lieferschein extends GenLieferschein
}
}
$this->app->Tpl->Set('TRACKING',implode(', ',$tmp));
if (!is_null($tmp)) {
$this->app->Tpl->Set('TRACKING',implode(', ',$tmp));
}
$returnOrders = (array)$this->app->DB->SelectArr(
@ -1057,7 +1059,7 @@ class Lieferschein extends GenLieferschein
$this->app->Tpl->Set('LIEFERADRESSE',$this->Lieferadresse($auftragArr[0]['id']));
$tmp = new EasyTable($this->app);
$tmp->Query("SELECT zeit,bearbeiter,grund FROM lieferschein_protokoll WHERE lieferschein='$id' ORDER by zeit DESC");
$tmp->Query("SELECT zeit,bearbeiter,grund FROM lieferschein_protokoll WHERE lieferschein='$id' ORDER by zeit DESC",0,"");
$tmp->DisplayNew('PROTOKOLL',"Protokoll","noAction");
if(class_exists('LieferscheinPDFCustom'))
@ -1145,11 +1147,13 @@ class Lieferschein extends GenLieferschein
}
$name = $this->app->DB->Select("SELECT a.name FROM lieferschein b LEFT JOIN adresse a ON a.id=b.adresse WHERE b.id='$id' LIMIT 1");
/*
$summe = $this->app->DB->Select("SELECT FORMAT(SUM(menge*preis),2) FROM lieferschein_position
WHERE lieferschein='$id'");
$waehrung = $this->app->DB->Select("SELECT waehrung FROM lieferschein_position
WHERE lieferschein='$id' LIMIT 1");
*/
$extra = $this->app->erp->CheckboxEntwurfsmodus("lieferschein",$id);
@ -1494,7 +1498,7 @@ class Lieferschein extends GenLieferschein
$this->app->Tpl->Set('TABTEXT',"Protokoll");
$tmp = new EasyTable($this->app);
$tmp->Query("SELECT zeit,bearbeiter,grund FROM lieferschein_protokoll WHERE lieferschein='$id' ORDER by zeit DESC");
$tmp->Query("SELECT zeit,bearbeiter,grund FROM lieferschein_protokoll WHERE lieferschein='$id' ORDER by zeit DESC",0,"");
$tmp->DisplayNew('TAB1',"Protokoll","noAction");
$this->app->Tpl->Parse('PAGE',"tabview.tpl");
@ -1910,7 +1914,7 @@ class Lieferschein extends GenLieferschein
$table = new EasyTable($this->app);
$table->Query("SELECT nummer as Nummer, bezeichnung, menge,vpe as VPE
FROM lieferschein_position
WHERE lieferschein='$id'");
WHERE lieferschein='$id'",0,"");
$table->DisplayNew('POSITIONEN',"VPE","noAction");
$status= $this->app->DB->Select("SELECT status FROM lieferschein WHERE id='$id' LIMIT 1");

View File

@ -301,7 +301,8 @@ function fillArtikelProduktion(id,menge)
strSource = "./index.php";
id = $.base64Encode( id);
id = $.base64Encode( id);
strData = "module=artikel&action=ajaxwerte&id="+id+"&smodule=[MODULE]&sid=[KID]&menge="+menge;
intType= 0; //GET
intID = 0;
@ -320,7 +321,11 @@ function fillArtikelLieferschein(id,menge)
if(menge < 1)
menge=1;
strSource = "./index.php";
id = $.base64Encode( id);
// Force string type
id = ""+id;
id = $.base64Encode(id);
strData = "module=artikel&action=ajaxwerte&id="+id+"&smodule=[MODULE]&sid=[KID]&menge="+menge;
intType= 0; //GET
intID = 0;