rechnung erechnung flag

This commit is contained in:
OpenXE 2024-12-01 19:46:25 +01:00
parent b941ada563
commit fc4503a26c
2 changed files with 106 additions and 43 deletions

View File

@ -84176,6 +84176,17 @@
"Extra": "", "Extra": "",
"Privileges": "select,insert,update,references", "Privileges": "select,insert,update,references",
"Comment": "" "Comment": ""
},
{
"Field": "erechnung",
"Type": "int(1)",
"Collation": null,
"Null": "YES",
"Key": "",
"Default": "0",
"Extra": "",
"Privileges": "select,insert,update,references",
"Comment": ""
} }
], ],
"keys": [ "keys": [
@ -86206,17 +86217,6 @@
"Extra": "", "Extra": "",
"Privileges": "select,insert,update,references", "Privileges": "select,insert,update,references",
"Comment": "" "Comment": ""
},
{
"Field": "erechnung",
"Type": "int(1)",
"Collation": null,
"Null": "YES",
"Key": "",
"Default": "0",
"Extra": "",
"Privileges": "select,insert,update,references",
"Comment": ""
} }
], ],
"keys": [ "keys": [

View File

@ -417,7 +417,7 @@ class Rechnung extends GenRechnung
{ {
if($id > 0){ if($id > 0){
$rechnungarr = $this->app->DB->SelectRow( $rechnungarr = $this->app->DB->SelectRow(
"SELECT status,zahlungsstatus FROM rechnung WHERE id='$id' LIMIT 1" "SELECT status,zahlungsstatus,erechnung,belegnr FROM rechnung WHERE id='$id' LIMIT 1"
); );
} }
$status = ''; $status = '';
@ -548,11 +548,20 @@ class Rechnung extends GenRechnung
</select>&nbsp; </select>&nbsp;
"; ";
$menu .= " if (!empty($rechnungarr['belegnr'])) {
if ($rechnungarr['erechnung']) {
$downloadicon = "<a href=\"index.php?module=rechnung&action=xml&id=%value%\"><img border=\"0\" src=\"./themes/new/images/xml.svg\" title=\"XML\"></a>";
} else {
$downloadicon = "<a href=\"index.php?module=rechnung&action=pdf&id=%value%\"><img border=\"0\" src=\"./themes/new/images/pdf.svg\" title=\"PDF\"></a>";
}
} else {
$downloadicon = '';
}
<a href=\"index.php?module=rechnung&action=pdf&id=%value%\"><img border=\"0\" src=\"./themes/new/images/pdf.svg\" title=\"PDF\"></a> $menu .= $downloadicon;
<a href=\"index.php?module=rechnung&action=xml&id=%value%\"><img border=\"0\" src=\"./themes/new/images/xml.svg\" title=\"XML\"></a>
<!-- <a href=\"index.php?module=rechnung&action=edit&id=%value%\" title=\"Bearbeiten\"><img border=\"0\" src=\"./themes/new/images/edit.svg\"></a> $menu .=
"<!-- <a href=\"index.php?module=rechnung&action=edit&id=%value%\" title=\"Bearbeiten\"><img border=\"0\" src=\"./themes/new/images/edit.svg\"></a>
<a onclick=\"if(!confirm('Wirklich stornieren?')) return false; else window.location.href='index.php?module=rechnung&action=delete&id=%value%';\" title=\"Stornieren\"> <a onclick=\"if(!confirm('Wirklich stornieren?')) return false; else window.location.href='index.php?module=rechnung&action=delete&id=%value%';\" title=\"Stornieren\">
<img src=\"./themes/new/images/delete.svg\" border=\"0\"></a> <img src=\"./themes/new/images/delete.svg\" border=\"0\"></a>
<a onclick=\"if(!confirm('Wirklich kopieren?')) return false; else window.location.href='index.php?module=rechnung&action=copy&id=%value%';\" title=\"Kopieren\"> <a onclick=\"if(!confirm('Wirklich kopieren?')) return false; else window.location.href='index.php?module=rechnung&action=copy&id=%value%';\" title=\"Kopieren\">
@ -1300,6 +1309,11 @@ class Rechnung extends GenRechnung
$positionen = $this->app->DB->SelectArr(" $positionen = $this->app->DB->SelectArr("
SELECT * FROM rechnung_position WHERE rechnung = $id ORDER BY sort ASC SELECT * FROM rechnung_position WHERE rechnung = $id ORDER BY sort ASC
"); ");
if (empty($positionen)) {
throw new exception("Rechnung enthält keine Positionen!");
}
$steuern = Array(); $steuern = Array();
foreach ($positionen as $key => $position) { foreach ($positionen as $key => $position) {
$this->app->erp->GetSteuerPosition('rechnung', $position['id'], $steuersatz, $steuertext, $erloes); $this->app->erp->GetSteuerPosition('rechnung', $position['id'], $steuersatz, $steuertext, $erloes);
@ -2563,32 +2577,81 @@ class Rechnung extends GenRechnung
$usereditid = $this->app->User->GetID(); $usereditid = $this->app->User->GetID();
} }
if (!empty($adresse)) {
// Check XML Smarty template
$erechnung = false;
$sql = "SELECT rechnung_smarty_template FROM adresse WHERE id = '".$adresse."'";
$rechnung_smarty_template = $this->app->DB->Select($sql);
if (!empty($rechnung_smarty_template)) {
$erechnung = true;
} else {
$sql = "SELECT id FROM gruppen WHERE rechnung_smarty_template <> '' and aktiv";
$gruppen = $this->app->DB->SelectArr($sql);
foreach ($gruppen as $gruppe) {
if ($this->app->erp->IsAdresseInGruppe($adresse,$gruppe['id'])) {
$erechnung = true;
}
}
}
}
if($this->app->erp->StandardZahlungsweise($projekt)==='rechnung') if($this->app->erp->StandardZahlungsweise($projekt)==='rechnung')
{ {
$this->app->DB->Insert("INSERT INTO rechnung (id,datum,bearbeiter,firma,belegnr,zahlungsweise, $zahlungszieltage = $this->app->erp->ZahlungsZielTage($projekt);
zahlungszieltage, $zahlungszieltageskonto = $this->app->erp->ZahlungsZielTageSkonto($projekt);
zahlungszieltageskonto, $zahlungszielskonto = $this->app->erp->ZahlungsZielSkonto($projekt);
zahlungszielskonto,
lieferdatum,
status,projekt,adresse,auftragid,ohne_briefpapier,angelegtam,usereditid,abweichendebezeichnung)
VALUES ('',NOW(),'','".$this->app->User->GetFirma()."','$belegmax','".$this->app->erp->StandardZahlungsweise($projekt)."',
'".$this->app->erp->ZahlungsZielTage($projekt)."',
'".$this->app->erp->ZahlungsZielTageSkonto($projekt)."',
'".$this->app->erp->ZahlungsZielSkonto($projekt)."',NOW(),
'angelegt','$projekt','$adresse',0,'".$ohnebriefpapier."',NOW(),'$usereditid','$abweichendebezeichnung')");
} else { } else {
$this->app->DB->Insert("INSERT INTO rechnung (id,datum,bearbeiter,firma,belegnr,zahlungsweise, $zahlungszieltage = 0;
$zahlungszieltageskonto = 0;
$zahlungszielskonto = 0;
}
$this->app->DB->Insert("INSERT INTO rechnung (
id,
datum,
bearbeiter,
firma,
belegnr,
zahlungsweise,
zahlungszieltage, zahlungszieltage,
zahlungszieltageskonto, zahlungszieltageskonto,
zahlungszielskonto, zahlungszielskonto,
lieferdatum, lieferdatum,
status,projekt,adresse,auftragid,ohne_briefpapier,angelegtam,usereditid,abweichendebezeichnung) status,
VALUES ('',NOW(),'','".$this->app->User->GetFirma()."','$belegmax','".$this->app->erp->StandardZahlungsweise($projekt)."', projekt,
'0', adresse,
'0', auftragid,
'0',NOW(), ohne_briefpapier,
'angelegt','$projekt','$adresse',0,'".$ohnebriefpapier."',NOW(),'$usereditid','$abweichendebezeichnung')"); angelegtam,
} usereditid,
abweichendebezeichnung,
erechnung
)
VALUES (
'',
NOW(),
'',
'".$this->app->User->GetFirma()."',
'$belegmax',
'".$this->app->erp->StandardZahlungsweise($projekt)."',
'".$zahlungszieltage."',
'".$zahlungszieltageskonto."',
'".$zahlungszielskonto."',
NOW(),
'angelegt',
'$projekt',
'$adresse',
0,
'".$ohnebriefpapier."',
NOW(),
'$usereditid',
'$abweichendebezeichnung',
'$erechnung'
)"
);
$id = $this->app->DB->GetInsertID(); $id = $this->app->DB->GetInsertID();
$this->app->erp->CheckVertrieb($id,'rechnung'); $this->app->erp->CheckVertrieb($id,'rechnung');