mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-12-26 14:40:29 +01:00
xml rechnung sendmail add file version
This commit is contained in:
parent
bbe92dce2a
commit
dc53b0462c
@ -15246,7 +15246,7 @@ function Gegenkonto($ust_befreit,$ustid='', $doctype = '', $doctypeId = 0)
|
|||||||
}
|
}
|
||||||
|
|
||||||
$rechnungarr = $this->app->DB->SelectRow(
|
$rechnungarr = $this->app->DB->SelectRow(
|
||||||
"SELECT adresse, email, name,belegnr,projekt,sprache,schreibschutz,zuarchivieren
|
"SELECT adresse, email, name,belegnr,projekt,sprache,schreibschutz,zuarchivieren,xmlrechnung
|
||||||
FROM rechnung WHERE id='$id' LIMIT 1"
|
FROM rechnung WHERE id='$id' LIMIT 1"
|
||||||
);
|
);
|
||||||
if(empty($rechnungarr)) {
|
if(empty($rechnungarr)) {
|
||||||
@ -15260,6 +15260,7 @@ function Gegenkonto($ust_befreit,$ustid='', $doctype = '', $doctypeId = 0)
|
|||||||
$to_name = $rechnungarr['name'];
|
$to_name = $rechnungarr['name'];
|
||||||
$belegnr = $rechnungarr['belegnr'];
|
$belegnr = $rechnungarr['belegnr'];
|
||||||
$projekt = $rechnungarr['projekt'];
|
$projekt = $rechnungarr['projekt'];
|
||||||
|
$xmlrechnung = $rechnungarr['xmlrechnung'];
|
||||||
|
|
||||||
$sprache = $rechnungarr['sprache'];
|
$sprache = $rechnungarr['sprache'];
|
||||||
if($sprache=='' && $adresse > 0) {
|
if($sprache=='' && $adresse > 0) {
|
||||||
@ -15284,6 +15285,8 @@ function Gegenkonto($ust_befreit,$ustid='', $doctype = '', $doctypeId = 0)
|
|||||||
$betreff = $this->ParseUserVars('rechnung',$id,$betreff); // 19.01.2018 eingefuegt BW
|
$betreff = $this->ParseUserVars('rechnung',$id,$betreff); // 19.01.2018 eingefuegt BW
|
||||||
if($id > 0)
|
if($id > 0)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if (!$xmlrechnung) {
|
||||||
$this->app->erp->BriefpapierHintergrunddisable = false;
|
$this->app->erp->BriefpapierHintergrunddisable = false;
|
||||||
if(class_exists('RechnungPDFCustom'))
|
if(class_exists('RechnungPDFCustom'))
|
||||||
{
|
{
|
||||||
@ -15297,8 +15300,12 @@ function Gegenkonto($ust_befreit,$ustid='', $doctype = '', $doctypeId = 0)
|
|||||||
if(!$Brief->DocumentArchiviert()) {
|
if(!$Brief->DocumentArchiviert()) {
|
||||||
$Brief->ArchiviereDocument(true, true);
|
$Brief->ArchiviereDocument(true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
$md5arr[] = @md5_file($arrtmpfile[(!empty($arrtmpfile)?count($arrtmpfile):0)-1]);
|
$md5arr[] = @md5_file($arrtmpfile[(!empty($arrtmpfile)?count($arrtmpfile):0)-1]);
|
||||||
|
} else {
|
||||||
|
$arrtmpfile = Array();
|
||||||
|
$md5arr = Array();
|
||||||
|
}
|
||||||
|
|
||||||
// anhaenge automatisch mitversenden
|
// anhaenge automatisch mitversenden
|
||||||
$resultdateien = $this->app->DB->SelectArr("SELECT datei FROM datei_stichwoerter WHERE objekt LIKE 'Rechnung' AND parameter='$id'");
|
$resultdateien = $this->app->DB->SelectArr("SELECT datei FROM datei_stichwoerter WHERE objekt LIKE 'Rechnung' AND parameter='$id'");
|
||||||
$cResultdateien = !empty($resultdateien)?count($resultdateien):0;
|
$cResultdateien = !empty($resultdateien)?count($resultdateien):0;
|
||||||
@ -23489,6 +23496,15 @@ function ChargenMHDAuslagern($artikel, $menge, $lagerplatztyp, $lpid,$typ,$wert,
|
|||||||
if($typ=="rechnung")
|
if($typ=="rechnung")
|
||||||
{
|
{
|
||||||
// sende
|
// sende
|
||||||
|
$xmlrechnug = $this->app->DB->Select("SELECT xmlrechnung FROM rechnung WHERE id ='".$id."' LIMIT 1");
|
||||||
|
if ($xmlrechnung) {
|
||||||
|
$xmlrechnungresult = $this->app->erp->GetXMLRechnung($id);
|
||||||
|
if ($xmlrechnungresult['success']) {
|
||||||
|
$tmpfile = $xmlrechnungresult['xml'];
|
||||||
|
} else {
|
||||||
|
throw new exception("XML Rechnung fehlgeschlagen!");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
$this->app->erp->BriefpapierHintergrunddisable = !$this->app->erp->BriefpapierHintergrunddisable;
|
$this->app->erp->BriefpapierHintergrunddisable = !$this->app->erp->BriefpapierHintergrunddisable;
|
||||||
if(class_exists('RechnungPDFCustom'))
|
if(class_exists('RechnungPDFCustom'))
|
||||||
{
|
{
|
||||||
@ -23536,7 +23552,7 @@ function ChargenMHDAuslagern($artikel, $menge, $lagerplatztyp, $lpid,$typ,$wert,
|
|||||||
}
|
}
|
||||||
$tmpfile = $Brief->displayTMP();
|
$tmpfile = $Brief->displayTMP();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
//$Brief->ArchiviereDocument();
|
//$Brief->ArchiviereDocument();
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -29231,7 +29247,6 @@ function Firmendaten($field,$projekt="")
|
|||||||
|
|
||||||
function SetXMLRechnung($id)
|
function SetXMLRechnung($id)
|
||||||
{
|
{
|
||||||
/** @var Preisanfrage $obj */
|
|
||||||
$obj = $this->app->erp->LoadModul('rechnung');
|
$obj = $this->app->erp->LoadModul('rechnung');
|
||||||
if(!empty($obj) && method_exists($obj,'SetXMLRechnung')) {
|
if(!empty($obj) && method_exists($obj,'SetXMLRechnung')) {
|
||||||
return $obj->SetXMLRechnung($id);
|
return $obj->SetXMLRechnung($id);
|
||||||
@ -29239,6 +29254,15 @@ function Firmendaten($field,$projekt="")
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function GetXMLRechnung($id)
|
||||||
|
{
|
||||||
|
$obj = $this->app->erp->LoadModul('rechnung');
|
||||||
|
if(!empty($obj) && method_exists($obj,'RechnungSmarty')) {
|
||||||
|
return $obj->RechnungSmarty(id: $id, returnvalue: true);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
function BelegFreigabe($beleg,$id)
|
function BelegFreigabe($beleg,$id)
|
||||||
{
|
{
|
||||||
if($id <= 0 || empty($beleg)) {
|
if($id <= 0 || empty($beleg)) {
|
||||||
@ -33055,7 +33079,6 @@ function Firmendaten($field,$projekt="")
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function DeleteBestellung($id)
|
function DeleteBestellung($id)
|
||||||
{
|
{
|
||||||
/** @var Bestellung $obj */
|
/** @var Bestellung $obj */
|
||||||
@ -33066,7 +33089,6 @@ function Firmendaten($field,$projekt="")
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function CreateRechnung($adresse="")
|
function CreateRechnung($adresse="")
|
||||||
{
|
{
|
||||||
/** @var Rechnung $obj */
|
/** @var Rechnung $obj */
|
||||||
@ -33076,7 +33098,6 @@ function Firmendaten($field,$projekt="")
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function GetStandardWaehrung($projekt=0)
|
public function GetStandardWaehrung($projekt=0)
|
||||||
{
|
{
|
||||||
if(is_array($projekt) && isset($projekt['eigenesteuer']) && isset($projekt['waehrung'])) {
|
if(is_array($projekt) && isset($projekt['eigenesteuer']) && isset($projekt['waehrung'])) {
|
||||||
|
@ -5717,7 +5717,7 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
|
|||||||
|
|
||||||
$this->app->erp->ANABREGSNeuberechnen($rechnung,"rechnung");
|
$this->app->erp->ANABREGSNeuberechnen($rechnung,"rechnung");
|
||||||
$this->app->erp->rechnung_zahlstatus_berechnen($id);
|
$this->app->erp->rechnung_zahlstatus_berechnen($id);
|
||||||
$this->app->erp->PDFArchivieren("rechnung",$rechnung);
|
$this->app->erp->RechnungArchivieren($rechnung);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// auftrag_position geliefert_menge und geliefert anpassen
|
// auftrag_position geliefert_menge und geliefert anpassen
|
||||||
@ -6129,15 +6129,12 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
|
|||||||
}
|
}
|
||||||
unlink($tmpfile);
|
unlink($tmpfile);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Send the invoice as last step
|
// Send the invoice as last step
|
||||||
if($autodruckrechnungstufe1mail && $rechnung > 0)
|
if($autodruckrechnungstufe1mail && $rechnung > 0)
|
||||||
{
|
{
|
||||||
$this->app->erp->Rechnungsmail($rechnung);
|
$this->app->erp->Rechnungsmail($rechnung);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->app->erp->RunHook('auftrag_versand_ende', 1, $id);
|
$this->app->erp->RunHook('auftrag_versand_ende', 1, $id);
|
||||||
|
|
||||||
// wenn per URL aufgerufen
|
// wenn per URL aufgerufen
|
||||||
if($internmodus!='1')
|
if($internmodus!='1')
|
||||||
{
|
{
|
||||||
|
@ -205,10 +205,32 @@ class Rechnung extends GenRechnung
|
|||||||
function RechnungArchiviereXML($id = null) {
|
function RechnungArchiviereXML($id = null) {
|
||||||
if ($id === null) {
|
if ($id === null) {
|
||||||
$id = (int)$this->app->Secure->GetGET('id');
|
$id = (int)$this->app->Secure->GetGET('id');
|
||||||
|
$redirect = true;
|
||||||
}
|
}
|
||||||
$result = $this->RechnungSmarty(id: $id, json: false, returnvalue: true);
|
$result = $this->RechnungSmarty(id: $id, json: false, returnvalue: true);
|
||||||
|
|
||||||
if ($result['success']) {
|
if ($result['success']) {
|
||||||
|
|
||||||
|
// Check for old files
|
||||||
|
$existing = false;
|
||||||
|
$existing_ids = $this->app->erp->GetDateiSubjektObjekt('rechnung','rechnung',$id);
|
||||||
|
foreach ($existing_ids as $existing_id) {
|
||||||
|
if($this->app->erp->GetDateiEndung($existing_id) == 'xml') {
|
||||||
|
$existing = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($existing) {
|
||||||
|
$this->app->erp->AddDateiVersion(
|
||||||
|
id: $existing_id,
|
||||||
|
ersteller: $this->app->User->GetName(),
|
||||||
|
dateiname: $result['filename'].'.xml',
|
||||||
|
bemerkung: '',
|
||||||
|
datei: $result['xml'],
|
||||||
|
path: ""
|
||||||
|
);
|
||||||
|
} else {
|
||||||
$this->app->erp->CreateDateiWithStichwort(
|
$this->app->erp->CreateDateiWithStichwort(
|
||||||
name: $result['filename'].'.xml',
|
name: $result['filename'].'.xml',
|
||||||
titel: $result['title'],
|
titel: $result['title'],
|
||||||
@ -220,13 +242,16 @@ class Rechnung extends GenRechnung
|
|||||||
objekt: 'rechnung',
|
objekt: 'rechnung',
|
||||||
parameter: $id
|
parameter: $id
|
||||||
);
|
);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new exception("XML Rechnung fehlgeschlagen!");
|
throw new exception("XML Rechnung fehlgeschlagen!");
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->app->DB->Update("UPDATE rechnung SET schreibschutz='1', zuarchivieren = '0' WHERE id='$id'");
|
$this->app->DB->Update("UPDATE rechnung SET schreibschutz='1', zuarchivieren = '0' WHERE id='$id'");
|
||||||
|
if ($redirect) {
|
||||||
$this->app->Location->execute('index.php?module=rechnung&action=edit&id='.$id);
|
$this->app->Location->execute('index.php?module=rechnung&action=edit&id='.$id);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function RechnungArchivierePDF()
|
function RechnungArchivierePDF()
|
||||||
{
|
{
|
||||||
@ -2271,17 +2296,6 @@ class Rechnung extends GenRechnung
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
$this->app->erp->RechnungArchivieren($invoiceId);
|
$this->app->erp->RechnungArchivieren($invoiceId);
|
||||||
if(class_exists('RechnungPDFCustom')) {
|
|
||||||
$Brief = new RechnungPDFCustom($this->app,$projekt);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$Brief = new RechnungPDF($this->app,$projekt);
|
|
||||||
}
|
|
||||||
$Brief->GetRechnung($invoiceId);
|
|
||||||
$tmpfile = $Brief->displayTMP();
|
|
||||||
$Brief->ArchiviereDocument();
|
|
||||||
@unlink($tmpfile);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2322,6 +2336,7 @@ class Rechnung extends GenRechnung
|
|||||||
implode(', ', $auswahl)
|
implode(', ', $auswahl)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
foreach($auswahl as $v) {
|
foreach($auswahl as $v) {
|
||||||
if(!$v) {
|
if(!$v) {
|
||||||
continue;
|
continue;
|
||||||
@ -2662,8 +2677,7 @@ class Rechnung extends GenRechnung
|
|||||||
ohne_briefpapier,
|
ohne_briefpapier,
|
||||||
angelegtam,
|
angelegtam,
|
||||||
usereditid,
|
usereditid,
|
||||||
abweichendebezeichnung,
|
abweichendebezeichnung
|
||||||
xmlrechnung
|
|
||||||
)
|
)
|
||||||
VALUES (
|
VALUES (
|
||||||
'',
|
'',
|
||||||
@ -2683,8 +2697,7 @@ class Rechnung extends GenRechnung
|
|||||||
'".$ohnebriefpapier."',
|
'".$ohnebriefpapier."',
|
||||||
NOW(),
|
NOW(),
|
||||||
'$usereditid',
|
'$usereditid',
|
||||||
'$abweichendebezeichnung',
|
'$abweichendebezeichnung'
|
||||||
'$xmlrechnung'
|
|
||||||
)"
|
)"
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -2701,8 +2714,8 @@ class Rechnung extends GenRechnung
|
|||||||
$deliverythresholdvatid = $this->app->DB->real_escape_string($deliverythresholdvatid);
|
$deliverythresholdvatid = $this->app->DB->real_escape_string($deliverythresholdvatid);
|
||||||
$this->app->DB->Update("UPDATE rechnung SET deliverythresholdvatid = '$deliverythresholdvatid' WHERE id = $id LIMIT 1");
|
$this->app->DB->Update("UPDATE rechnung SET deliverythresholdvatid = '$deliverythresholdvatid' WHERE id = $id LIMIT 1");
|
||||||
}
|
}
|
||||||
|
$this->SetXMLRechnung($id);
|
||||||
$this->app->erp->SchnellFreigabe('rechnung',$id);
|
$this->app->erp->SchnellFreigabe('rechnung',$id);
|
||||||
|
|
||||||
$this->app->erp->LoadSteuersaetzeWaehrung($id,'rechnung',$projekt);
|
$this->app->erp->LoadSteuersaetzeWaehrung($id,'rechnung',$projekt);
|
||||||
$this->app->erp->EventAPIAdd('EventRechnungCreate',$id,'rechnung','create');
|
$this->app->erp->EventAPIAdd('EventRechnungCreate',$id,'rechnung','create');
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user