Merge branch 'xmlrechnung'

This commit is contained in:
OpenXE 2024-12-04 20:48:42 +01:00
commit bd32931b13
7 changed files with 43 additions and 22 deletions

View File

@ -6758,11 +6758,11 @@ r.land as land, p.abkuerzung as projekt, r.zahlungsweise as zahlungsweise,
$menu .= "<img src=\"themes/{$this->app->Conf->WFconf['defaulttheme']}/images/copy.svg\" border=\"0\">";
$menu .= "</a>";
$menu .= "</td>";
$menu .= "<td>";
/* $menu .= "<td>";
$menu .= "<a href=\"index.php?module=rechnung&action=pdf&id=%value%\">";
$menu .= "<img src=\"themes/{$this->app->Conf->WFconf['defaulttheme']}/images/pdf.svg\" border=\"0\">";
$menu .= "</a>";
$menu .= "</td>";
$menu .= "</td>";*/
$menu .= "<td>";
$menu .= '<a href="#" class="label-manager" data-label-column-number="6" data-label-reference-id="%value%" data-label-reference-table="rechnung">';
$menu .= '<span class="label-manager-icon"></span>';
@ -6809,6 +6809,10 @@ r.land as land, p.abkuerzung as projekt, r.zahlungsweise as zahlungsweise,
}
}
$width[] = '1%';
$findcols[] = 'r.id';
$heading[] = '';
$width[] = '1%';
$findcols[] = 'r.id';
$heading[] = 'Men&uuml;';
@ -6838,8 +6842,12 @@ r.land as land, p.abkuerzung as projekt, r.zahlungsweise as zahlungsweise,
if(r.soll-r.ist!=0 AND r.ist > 0,FORMAT(r.ist-r.soll,2{$extended_mysql55}),FORMAT((r.soll-r.ist)*-1,2{$extended_mysql55})),
'')
as fehlt,
if(r.status = 'storniert' AND r.teilstorno = 1,'TEILSTORNO',UPPER(r.status)) as status,
".(!empty($zusatzcols)?implode(', ',$zusatzcols).',':'')."
if(r.status = 'storniert' AND r.teilstorno = 1,'TEILSTORNO',UPPER(r.status)) as status
".(!empty($zusatzcols)?','.implode(', ',$zusatzcols):'').",
IF(r.erechnung,
CONCAT('<a href=\"index.php?module=rechnung&action=xml&id=',r.id,'\"><img src=\"themes/".$this->app->Conf->WFconf['defaulttheme']."/images/xml.svg\" border=\"0\">'),
CONCAT('<a href=\"index.php?module=rechnung&action=pdf&id=',r.id,'\"><img src=\"themes/".$this->app->Conf->WFconf['defaulttheme']."/images/pdf.svg\" border=\"0\">')
),
r.id
FROM rechnung r LEFT JOIN projekt p ON p.id=r.projekt LEFT JOIN adresse adr ON r.adresse=adr.id LEFT JOIN auftrag au ON au.id = r.auftragid ";
if(isset($parameter['artikel']) && !empty($parameter['artikel'])) {

View File

@ -84178,7 +84178,7 @@
"Comment": ""
},
{
"Field": "erechnung",
"Field": "xmlrechnung",
"Type": "int(1)",
"Collation": null,
"Null": "YES",

View File

@ -78,9 +78,15 @@ class RechnungPDF extends BriefpapierCustom {
DATE_FORMAT(DATE_ADD(r.datum, INTERVAL r.zahlungszieltageskonto DAY),'%d.%m.%Y') AS zahlungszielskontodatum,
r.abweichendebezeichnung AS rechnungersatz,
r.kundennummer, r.sprache, r.schreibschutz, r.soll AS gesamtsumme,
DATE_FORMAT(r.datum,'%Y%m%d') as datum2, r.telefon, r.email
DATE_FORMAT(r.datum,'%Y%m%d') as datum2, r.telefon, r.email, r.erechnung
FROM rechnung r LEFT JOIN auftrag a ON a.id=r.auftragid WHERE r.id='$id' LIMIT 1"
);
if ($data['erechnung']) {
exit();
}
extract($data,EXTR_OVERWRITE);
$adresse = $data['adresse'];
$auftrag = $data['auftrag'];

View File

@ -151,7 +151,7 @@ class ObjGenRechnung
private $teilstorno;
private $bundesstaat;
private $kundennummer_buchhaltung;
private $erechnung;
private $xmlrechnung;
public $app; //application object
@ -303,13 +303,13 @@ $result = $result[0];
$this->teilstorno=$result['teilstorno'];
$this->bundesstaat=$result['bundesstaat'];
$this->kundennummer_buchhaltung=$result['kundennummer_buchhaltung'];
$this->erechnung=$result['erechnung'];
$this->xmlrechnung=$result['xmlrechnung'];
}
public function Create()
{
$sql = "INSERT INTO `rechnung` (`id`,`datum`,`aborechnung`,`projekt`,`anlegeart`,`belegnr`,`auftrag`,`auftragid`,`bearbeiter`,`freitext`,`internebemerkung`,`status`,`adresse`,`name`,`abteilung`,`unterabteilung`,`strasse`,`adresszusatz`,`ansprechpartner`,`plz`,`ort`,`land`,`ustid`,`ust_befreit`,`ustbrief`,`ustbrief_eingang`,`ustbrief_eingang_am`,`email`,`telefon`,`telefax`,`betreff`,`kundennummer`,`lieferschein`,`versandart`,`lieferdatum`,`buchhaltung`,`zahlungsweise`,`zahlungsstatus`,`ist`,`soll`,`skonto_gegeben`,`zahlungszieltage`,`zahlungszieltageskonto`,`zahlungszielskonto`,`firma`,`versendet`,`versendet_am`,`versendet_per`,`versendet_durch`,`versendet_mahnwesen`,`mahnwesen`,`mahnwesen_datum`,`mahnwesen_gesperrt`,`mahnwesen_internebemerkung`,`inbearbeitung`,`datev_abgeschlossen`,`logdatei`,`doppel`,`autodruck_rz`,`autodruck_periode`,`autodruck_done`,`autodruck_anzahlverband`,`autodruck_anzahlkunde`,`autodruck_mailverband`,`autodruck_mailkunde`,`dta_datei_verband`,`dta_datei`,`deckungsbeitragcalc`,`deckungsbeitrag`,`umsatz_netto`,`erloes_netto`,`mahnwesenfestsetzen`,`vertriebid`,`aktion`,`vertrieb`,`provision`,`provision_summe`,`gruppe`,`punkte`,`bonuspunkte`,`provdatum`,`ihrebestellnummer`,`anschreiben`,`usereditid`,`useredittimestamp`,`realrabatt`,`rabatt`,`einzugsdatum`,`rabatt1`,`rabatt2`,`rabatt3`,`rabatt4`,`rabatt5`,`forderungsverlust_datum`,`forderungsverlust_betrag`,`steuersatz_normal`,`steuersatz_zwischen`,`steuersatz_ermaessigt`,`steuersatz_starkermaessigt`,`steuersatz_dienstleistung`,`waehrung`,`keinsteuersatz`,`schreibschutz`,`pdfarchiviert`,`pdfarchiviertversion`,`typ`,`ohne_briefpapier`,`lieferid`,`ansprechpartnerid`,`systemfreitext`,`projektfiliale`,`zuarchivieren`,`internebezeichnung`,`angelegtam`,`abweichendebezeichnung`,`bezahlt_am`,`sprache`,`bundesland`,`gln`,`deliverythresholdvatid`,`bearbeiterid`,`kurs`,`ohne_artikeltext`,`anzeigesteuer`,`kostenstelle`,`bodyzusatz`,`lieferbedingung`,`titel`,`skontobetrag`,`skontoberechnet`,`extsoll`,`teilstorno`,`bundesstaat`,`kundennummer_buchhaltung`,`erechnung`)
VALUES(NULL,'{$this->datum}','{$this->aborechnung}','{$this->projekt}','{$this->anlegeart}','{$this->belegnr}','{$this->auftrag}','{$this->auftragid}','{$this->bearbeiter}','{$this->freitext}','{$this->internebemerkung}','{$this->status}','{$this->adresse}','{$this->name}','{$this->abteilung}','{$this->unterabteilung}','{$this->strasse}','{$this->adresszusatz}','{$this->ansprechpartner}','{$this->plz}','{$this->ort}','{$this->land}','{$this->ustid}','{$this->ust_befreit}','{$this->ustbrief}','{$this->ustbrief_eingang}','{$this->ustbrief_eingang_am}','{$this->email}','{$this->telefon}','{$this->telefax}','{$this->betreff}','{$this->kundennummer}','{$this->lieferschein}','{$this->versandart}','{$this->lieferdatum}','{$this->buchhaltung}','{$this->zahlungsweise}','{$this->zahlungsstatus}','{$this->ist}','{$this->soll}','{$this->skonto_gegeben}','{$this->zahlungszieltage}','{$this->zahlungszieltageskonto}','{$this->zahlungszielskonto}','{$this->firma}','{$this->versendet}','{$this->versendet_am}','{$this->versendet_per}','{$this->versendet_durch}','{$this->versendet_mahnwesen}','{$this->mahnwesen}','{$this->mahnwesen_datum}','{$this->mahnwesen_gesperrt}','{$this->mahnwesen_internebemerkung}','{$this->inbearbeitung}','{$this->datev_abgeschlossen}','{$this->logdatei}','{$this->doppel}','{$this->autodruck_rz}','{$this->autodruck_periode}','{$this->autodruck_done}','{$this->autodruck_anzahlverband}','{$this->autodruck_anzahlkunde}','{$this->autodruck_mailverband}','{$this->autodruck_mailkunde}','{$this->dta_datei_verband}','{$this->dta_datei}','{$this->deckungsbeitragcalc}','{$this->deckungsbeitrag}','{$this->umsatz_netto}','{$this->erloes_netto}','{$this->mahnwesenfestsetzen}','{$this->vertriebid}','{$this->aktion}','{$this->vertrieb}','{$this->provision}','{$this->provision_summe}','{$this->gruppe}','{$this->punkte}','{$this->bonuspunkte}','{$this->provdatum}','{$this->ihrebestellnummer}','{$this->anschreiben}','{$this->usereditid}','{$this->useredittimestamp}','{$this->realrabatt}','{$this->rabatt}','{$this->einzugsdatum}','{$this->rabatt1}','{$this->rabatt2}','{$this->rabatt3}','{$this->rabatt4}','{$this->rabatt5}','{$this->forderungsverlust_datum}','{$this->forderungsverlust_betrag}','{$this->steuersatz_normal}','{$this->steuersatz_zwischen}','{$this->steuersatz_ermaessigt}','{$this->steuersatz_starkermaessigt}','{$this->steuersatz_dienstleistung}','{$this->waehrung}','{$this->keinsteuersatz}','{$this->schreibschutz}','{$this->pdfarchiviert}','{$this->pdfarchiviertversion}','{$this->typ}','{$this->ohne_briefpapier}','{$this->lieferid}','{$this->ansprechpartnerid}','{$this->systemfreitext}','{$this->projektfiliale}','{$this->zuarchivieren}','{$this->internebezeichnung}','{$this->angelegtam}','{$this->abweichendebezeichnung}','{$this->bezahlt_am}','{$this->sprache}','{$this->bundesland}','{$this->gln}','{$this->deliverythresholdvatid}','{$this->bearbeiterid}','{$this->kurs}','{$this->ohne_artikeltext}','{$this->anzeigesteuer}','{$this->kostenstelle}','{$this->bodyzusatz}','{$this->lieferbedingung}','{$this->titel}','{$this->skontobetrag}','{$this->skontoberechnet}','{$this->extsoll}','{$this->teilstorno}','{$this->bundesstaat}','{$this->kundennummer_buchhaltung}','{$this->erechnung}')";
$sql = "INSERT INTO `rechnung` (`id`,`datum`,`aborechnung`,`projekt`,`anlegeart`,`belegnr`,`auftrag`,`auftragid`,`bearbeiter`,`freitext`,`internebemerkung`,`status`,`adresse`,`name`,`abteilung`,`unterabteilung`,`strasse`,`adresszusatz`,`ansprechpartner`,`plz`,`ort`,`land`,`ustid`,`ust_befreit`,`ustbrief`,`ustbrief_eingang`,`ustbrief_eingang_am`,`email`,`telefon`,`telefax`,`betreff`,`kundennummer`,`lieferschein`,`versandart`,`lieferdatum`,`buchhaltung`,`zahlungsweise`,`zahlungsstatus`,`ist`,`soll`,`skonto_gegeben`,`zahlungszieltage`,`zahlungszieltageskonto`,`zahlungszielskonto`,`firma`,`versendet`,`versendet_am`,`versendet_per`,`versendet_durch`,`versendet_mahnwesen`,`mahnwesen`,`mahnwesen_datum`,`mahnwesen_gesperrt`,`mahnwesen_internebemerkung`,`inbearbeitung`,`datev_abgeschlossen`,`logdatei`,`doppel`,`autodruck_rz`,`autodruck_periode`,`autodruck_done`,`autodruck_anzahlverband`,`autodruck_anzahlkunde`,`autodruck_mailverband`,`autodruck_mailkunde`,`dta_datei_verband`,`dta_datei`,`deckungsbeitragcalc`,`deckungsbeitrag`,`umsatz_netto`,`erloes_netto`,`mahnwesenfestsetzen`,`vertriebid`,`aktion`,`vertrieb`,`provision`,`provision_summe`,`gruppe`,`punkte`,`bonuspunkte`,`provdatum`,`ihrebestellnummer`,`anschreiben`,`usereditid`,`useredittimestamp`,`realrabatt`,`rabatt`,`einzugsdatum`,`rabatt1`,`rabatt2`,`rabatt3`,`rabatt4`,`rabatt5`,`forderungsverlust_datum`,`forderungsverlust_betrag`,`steuersatz_normal`,`steuersatz_zwischen`,`steuersatz_ermaessigt`,`steuersatz_starkermaessigt`,`steuersatz_dienstleistung`,`waehrung`,`keinsteuersatz`,`schreibschutz`,`pdfarchiviert`,`pdfarchiviertversion`,`typ`,`ohne_briefpapier`,`lieferid`,`ansprechpartnerid`,`systemfreitext`,`projektfiliale`,`zuarchivieren`,`internebezeichnung`,`angelegtam`,`abweichendebezeichnung`,`bezahlt_am`,`sprache`,`bundesland`,`gln`,`deliverythresholdvatid`,`bearbeiterid`,`kurs`,`ohne_artikeltext`,`anzeigesteuer`,`kostenstelle`,`bodyzusatz`,`lieferbedingung`,`titel`,`skontobetrag`,`skontoberechnet`,`extsoll`,`teilstorno`,`bundesstaat`,`kundennummer_buchhaltung`,`xmlrechnung`)
VALUES(NULL,'{$this->datum}','{$this->aborechnung}','{$this->projekt}','{$this->anlegeart}','{$this->belegnr}','{$this->auftrag}','{$this->auftragid}','{$this->bearbeiter}','{$this->freitext}','{$this->internebemerkung}','{$this->status}','{$this->adresse}','{$this->name}','{$this->abteilung}','{$this->unterabteilung}','{$this->strasse}','{$this->adresszusatz}','{$this->ansprechpartner}','{$this->plz}','{$this->ort}','{$this->land}','{$this->ustid}','{$this->ust_befreit}','{$this->ustbrief}','{$this->ustbrief_eingang}','{$this->ustbrief_eingang_am}','{$this->email}','{$this->telefon}','{$this->telefax}','{$this->betreff}','{$this->kundennummer}','{$this->lieferschein}','{$this->versandart}','{$this->lieferdatum}','{$this->buchhaltung}','{$this->zahlungsweise}','{$this->zahlungsstatus}','{$this->ist}','{$this->soll}','{$this->skonto_gegeben}','{$this->zahlungszieltage}','{$this->zahlungszieltageskonto}','{$this->zahlungszielskonto}','{$this->firma}','{$this->versendet}','{$this->versendet_am}','{$this->versendet_per}','{$this->versendet_durch}','{$this->versendet_mahnwesen}','{$this->mahnwesen}','{$this->mahnwesen_datum}','{$this->mahnwesen_gesperrt}','{$this->mahnwesen_internebemerkung}','{$this->inbearbeitung}','{$this->datev_abgeschlossen}','{$this->logdatei}','{$this->doppel}','{$this->autodruck_rz}','{$this->autodruck_periode}','{$this->autodruck_done}','{$this->autodruck_anzahlverband}','{$this->autodruck_anzahlkunde}','{$this->autodruck_mailverband}','{$this->autodruck_mailkunde}','{$this->dta_datei_verband}','{$this->dta_datei}','{$this->deckungsbeitragcalc}','{$this->deckungsbeitrag}','{$this->umsatz_netto}','{$this->erloes_netto}','{$this->mahnwesenfestsetzen}','{$this->vertriebid}','{$this->aktion}','{$this->vertrieb}','{$this->provision}','{$this->provision_summe}','{$this->gruppe}','{$this->punkte}','{$this->bonuspunkte}','{$this->provdatum}','{$this->ihrebestellnummer}','{$this->anschreiben}','{$this->usereditid}','{$this->useredittimestamp}','{$this->realrabatt}','{$this->rabatt}','{$this->einzugsdatum}','{$this->rabatt1}','{$this->rabatt2}','{$this->rabatt3}','{$this->rabatt4}','{$this->rabatt5}','{$this->forderungsverlust_datum}','{$this->forderungsverlust_betrag}','{$this->steuersatz_normal}','{$this->steuersatz_zwischen}','{$this->steuersatz_ermaessigt}','{$this->steuersatz_starkermaessigt}','{$this->steuersatz_dienstleistung}','{$this->waehrung}','{$this->keinsteuersatz}','{$this->schreibschutz}','{$this->pdfarchiviert}','{$this->pdfarchiviertversion}','{$this->typ}','{$this->ohne_briefpapier}','{$this->lieferid}','{$this->ansprechpartnerid}','{$this->systemfreitext}','{$this->projektfiliale}','{$this->zuarchivieren}','{$this->internebezeichnung}','{$this->angelegtam}','{$this->abweichendebezeichnung}','{$this->bezahlt_am}','{$this->sprache}','{$this->bundesland}','{$this->gln}','{$this->deliverythresholdvatid}','{$this->bearbeiterid}','{$this->kurs}','{$this->ohne_artikeltext}','{$this->anzeigesteuer}','{$this->kostenstelle}','{$this->bodyzusatz}','{$this->lieferbedingung}','{$this->titel}','{$this->skontobetrag}','{$this->skontoberechnet}','{$this->extsoll}','{$this->teilstorno}','{$this->bundesstaat}','{$this->kundennummer_buchhaltung}','{$this->xmlrechnung}')";
$this->app->DB->Insert($sql);
$this->id = $this->app->DB->GetInsertID();
@ -455,7 +455,7 @@ $result = $result[0];
`teilstorno`='{$this->teilstorno}',
`bundesstaat`='{$this->bundesstaat}',
`kundennummer_buchhaltung`='{$this->kundennummer_buchhaltung}',
`erechnung`='{$this->erechnung}'
`xmlrechnung`='{$this->xmlrechnung}'
WHERE (`id`='{$this->id}')";
$this->app->DB->Update($sql);
@ -607,7 +607,7 @@ $result = $result[0];
$this->teilstorno='';
$this->bundesstaat='';
$this->kundennummer_buchhaltung='';
$this->erechnung='';
$this->xmlrechnung='';
}
public function Copy()
@ -916,6 +916,6 @@ $result = $result[0];
public function GetBundesstaat() { return $this->bundesstaat; }
public function SetKundennummer_Buchhaltung($value) { $this->kundennummer_buchhaltung=$value; }
public function GetKundennummer_Buchhaltung() { return $this->kundennummer_buchhaltung; }
public function SetErechnung($value) { $this->erechnung=$value; }
public function GetErechnung() { return $this->erechnung; }
public function SetXmlrechnung($value) { $this->xmlrechnung=$value; }
public function GetXmlrechnung() { return $this->xmlrechnung; }
}

View File

@ -417,7 +417,7 @@ class Rechnung extends GenRechnung
{
if($id > 0){
$rechnungarr = $this->app->DB->SelectRow(
"SELECT status,zahlungsstatus,erechnung,belegnr FROM rechnung WHERE id='$id' LIMIT 1"
"SELECT status,zahlungsstatus,xmlrechnung,belegnr FROM rechnung WHERE id='$id' LIMIT 1"
);
}
$status = '';
@ -549,7 +549,7 @@ class Rechnung extends GenRechnung
";
if (!empty($rechnungarr['belegnr'])) {
if ($rechnungarr['erechnung']) {
if ($rechnungarr['xmlrechnung']) {
$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>";
@ -1784,6 +1784,8 @@ class Rechnung extends GenRechnung
$projekt = $rechnungarr['projekt'];
$skontosoll = $this->app->DB->Select("SELECT TRUNCATE(soll*(1-(zahlungszielskonto/100)),2) as skontosoll FROM rechnung where id = '".$id."' LIMIT 1");
$xmlrechnung = $rechnungarr['xmlrechnung'];
}
$this->app->Tpl->Set('PUNKTE',"<input type=\"text\" name=\"punkte\" value=\"$punkte\" size=\"10\" readonly>");
@ -1815,6 +1817,11 @@ class Rechnung extends GenRechnung
$this->app->Tpl->Set('KUNDE', "&nbsp;&nbsp;&nbsp;Kd-Nr. " . $kundennummer);
}
}
if ($xmlrechnung) {
$this->app->Tpl->Set('PDFVORSCHAUHIDDEN', "hidden");
}
$lieferdatum = '';
$rechnungsdatum = '';
$lieferscheinid = 0;
@ -2581,7 +2588,7 @@ class Rechnung extends GenRechnung
if (!empty($adresse)) {
// Check XML Smarty template
if (!empty($this->GetXMLSmartyTemplate($id))) {
$this->app->DB->Update("UPDATE rechnung SET erechnung = 1 WHERE id = '".$id."' AND schreibschutz <> 1");
$this->app->DB->Update("UPDATE rechnung SET xmlrechnung = 1 WHERE id = '".$id."' AND schreibschutz <> 1");
}
}
}
@ -2634,7 +2641,7 @@ class Rechnung extends GenRechnung
angelegtam,
usereditid,
abweichendebezeichnung,
erechnung
xmlrechnung
)
VALUES (
'',
@ -2655,7 +2662,7 @@ class Rechnung extends GenRechnung
NOW(),
'$usereditid',
'$abweichendebezeichnung',
'$erechnung'
'$xmlrechnung'
)"
);

View File

@ -112,7 +112,7 @@ class WidgetGenrechnung
$field = new HTMLCheckbox("abweichendebezeichnung","","","1","0","0");
$this->form->NewField($field);
$field = new HTMLCheckbox("erechnung","","","1","0","0");
$field = new HTMLCheckbox("xmlrechnung","","","1","0","0");
$this->form->NewField($field);
$field = new HTMLCheckbox("mahnwesenfestsetzen","","","1","0","0");

View File

@ -4,7 +4,7 @@
<ul>
<li><a href="#tabs-1">Rechnung</a></li>
<li><a href="#tabs-2" onclick="callCursor();">Positionen</a></li>
<li><a href="index.php?module=rechnung&action=inlinepdf&id=[ID]&frame=true#tabs-3">Vorschau</a></li>
<li [PDFVORSCHAUHIDDEN]><a href="index.php?module=rechnung&action=inlinepdf&id=[ID]&frame=true#tabs-3">Vorschau</a></li>
[FURTHERTABS]
</ul>
<div id="tabs-1">
@ -101,7 +101,7 @@
</tr>
<tr>
<td>{|XML-Rechnung|}:</td>
<td>[ERECHNUNG][MSGERECHNUNG]&nbsp;</td>
<td>[XMLRECHNUNG][MSGXMLRECHNUNG]&nbsp;</td>
</tr>
</table>
</fieldset>