SetXMLRechnung

This commit is contained in:
OpenXE 2024-12-02 21:17:25 +01:00
parent fc4503a26c
commit 3301f78016
2 changed files with 40 additions and 22 deletions

View File

@ -29217,6 +29217,16 @@ function Firmendaten($field,$projekt="")
} }
} }
function SetXMLRechnung($id)
{
/** @var Preisanfrage $obj */
$obj = $this->app->erp->LoadModul('rechnung');
if(!empty($obj) && method_exists($obj,'SetXMLRechnung')) {
return $obj->SetXMLRechnung($id);
}
return 0;
}
function BelegFreigabe($beleg,$id) function BelegFreigabe($beleg,$id)
{ {
if($id <= 0 || empty($beleg)) { if($id <= 0 || empty($beleg)) {
@ -29272,6 +29282,9 @@ function Firmendaten($field,$projekt="")
) )
); );
} }
if ($beleg === 'rechnung') {
$this->SetXMLRechnung($id);
}
} }
function CreateWiedervorlage($adresse,$bezeichnung,$beschreibung,$intagen=30,$adresse_mitarbeiter=0,$bearbeiter=0,$typ="",$typid=0) function CreateWiedervorlage($adresse,$bezeichnung,$beschreibung,$intagen=30,$adresse_mitarbeiter=0,$bearbeiter=0,$typ="",$typid=0)

View File

@ -2558,6 +2558,32 @@ class Rechnung extends GenRechnung
$this->app->Tpl->Parse('PAGE','rechnunguebersicht.tpl'); $this->app->Tpl->Parse('PAGE','rechnunguebersicht.tpl');
} }
// Decide if XML Smarty invoice according to address
public function SetXMLRechnung($id) {
$adresse = $this->app->DB->Select("SELECT adresse FROM rechnung WHERE id = '".$id."' LIMIT 1");
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 ($erechnung) {
$this->app->DB->Update("UPDATE rechnung SET erechnung = 1 WHERE id = '".$id."' AND schreibschutz <> 1");
}
}
}
/** /**
* @param string|int $adresse * @param string|int $adresse
@ -2575,27 +2601,6 @@ class Rechnung extends GenRechnung
$usereditid = 0; $usereditid = 0;
if(isset($this->app->User) && $this->app->User && method_exists($this->app->User,'GetID')){ if(isset($this->app->User) && $this->app->User && method_exists($this->app->User,'GetID')){
$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')
@ -2606,7 +2611,7 @@ class Rechnung extends GenRechnung
} else { } else {
$zahlungszieltage = 0; $zahlungszieltage = 0;
$zahlungszieltageskonto = 0; $zahlungszieltageskonto = 0;
$zahlungszielskonto = 0; $zahlungszielskonto = 0;
} }
$this->app->DB->Insert("INSERT INTO rechnung ( $this->app->DB->Insert("INSERT INTO rechnung (