mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-12-27 15:10:28 +01:00
622 lines
25 KiB
PHP
622 lines
25 KiB
PHP
<?php
|
|
/*
|
|
**** COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
|
|
*
|
|
* Xentral (c) Xentral ERP Sorftware GmbH, Fuggerstrasse 11, D-86150 Augsburg, * Germany 2019
|
|
*
|
|
* This file is licensed under the Embedded Projects General Public License *Version 3.1.
|
|
*
|
|
* You should have received a copy of this license from your vendor and/or *along with this file; If not, please visit www.wawision.de/Lizenzhinweis
|
|
* to obtain the text of the corresponding license version.
|
|
*
|
|
**** END OF COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
|
|
*/
|
|
?>
|
|
<?php
|
|
class MahnwesenPDF extends Briefpapier {
|
|
public $doctype;
|
|
public $doctypeid;
|
|
|
|
/**
|
|
* MahnwesenPDF constructor.
|
|
*
|
|
* @param Application $app
|
|
* @param string|int $projekt
|
|
*/
|
|
public function __construct($app,$projekt='')
|
|
{
|
|
$this->app=$app;
|
|
//parent::Briefpapier();
|
|
$this->doctype='rechnung';
|
|
$this->doctypeOrig='Rechnung';
|
|
parent::__construct($this->app,$projekt);
|
|
}
|
|
|
|
/**
|
|
* @param int $id
|
|
* @param string $als
|
|
* @param int $doppeltmp
|
|
* @param null|string $_datum
|
|
*/
|
|
public function GetRechnung($id,$als='',$doppeltmp=0, $_datum = null)
|
|
{
|
|
$this->parameter = $als;
|
|
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');
|
|
$briefpapier_vertrieb_ausblenden = $this->app->erp->Firmendaten('briefpapier_vertrieb_ausblenden');
|
|
$this->doctypeid=$id;
|
|
// $this->setRecipientDB($adresse);
|
|
$this->setRecipientLieferadresse($id,'rechnung');
|
|
|
|
$data = $this->app->DB->SelectRow(
|
|
"SELECT adresse, sprache, auftrag, buchhaltung, bearbeiter, vertrieb, lieferschein AS lieferscheinid, projekt,
|
|
DATE_FORMAT(datum,'%d.%m.%Y') AS datum, DATE_FORMAT(mahnwesen_datum,'%d.%m.%Y') AS mahnwesen_datum,
|
|
DATE_FORMAT(lieferdatum,'%d.%m.%Y') AS lieferdatum,
|
|
belegnr, doppel, freitext, systemfreitext, ustid, typ, keinsteuersatz, soll, ist, land, zahlungsweise,
|
|
zahlungsstatus, zahlungszieltage, zahlungszieltageskonto, zahlungszielskonto, ohne_briefpapier,
|
|
ihrebestellnummer, ust_befreit, waehrung,
|
|
DATE_FORMAT(DATE_ADD(datum, INTERVAL zahlungszieltage DAY),'%d.%m.%Y') AS zahlungdatum,
|
|
DATE_FORMAT(DATE_ADD(datum, INTERVAL zahlungszieltageskonto DAY),'%d.%m.%Y') AS zahlungszielskontodatum,
|
|
abweichendebezeichnung AS rechnungersatz
|
|
FROM rechnung WHERE id='$id'
|
|
LIMIT 1"
|
|
);
|
|
extract($data,EXTR_OVERWRITE);
|
|
$adresse = $data['adresse'];
|
|
$sprache = $data['sprache'];
|
|
$auftrag = $data['auftrag'];
|
|
$buchhaltung = $data['buchhaltung'];
|
|
$bearbeiter = $data['bearbeiter'];
|
|
$vertrieb = $data['vertrieb'];
|
|
$lieferscheinid = $data['lieferscheinid'];
|
|
$projekt = $data['projekt'];
|
|
|
|
$datum = $data['datum'];
|
|
$mahnwesen_datum = $data['mahnwesen_datum'];
|
|
$lieferdatum = $data['lieferdatum'];
|
|
|
|
$belegnr = $data['belegnr'];
|
|
$doppel = $data['doppel'];
|
|
$freitext = $data['freitext'];
|
|
$systemfreitext = $data['systemfreitext'];
|
|
$ustid = $data['ustid'];
|
|
$typ = $data['typ'];
|
|
$keinsteuersatz = $data['keinsteuersatz'];
|
|
$soll = $data['soll'];
|
|
$ist = $data['ist'];
|
|
$land = $data['land'];
|
|
$zahlungsweise = $data['zahlungsweise'];
|
|
|
|
$zahlungsstatus = $data['zahlungsstatus'];
|
|
$zahlungszieltage = $data['zahlungszieltage'];
|
|
$zahlungszieltageskonto = $data['zahlungszieltageskonto'];
|
|
$zahlungszielskonto = $data['zahlungszielskonto'];
|
|
$ohne_briefpapier = $data['ohne_briefpapier'];
|
|
|
|
$ihrebestellnummer = $data['ihrebestellnummer'];
|
|
$ust_befreit = $data['ust_befreit'];
|
|
$waehrung = $data['waehrung'];
|
|
|
|
$zahlungdatum = $data['zahlungdatum'];
|
|
$zahlungszielskontodatum = $data['zahlungszielskontodatum'];
|
|
|
|
$rechnungersatz = $data['rechnungersatz'];
|
|
|
|
if(empty($sprache)) {
|
|
$sprache = $this->app->DB->Select("SELECT sprache FROM adresse WHERE id='$adresse' LIMIT 1");
|
|
}
|
|
$lieferschein = $this->app->DB->Select("SELECT belegnr FROM lieferschein WHERE id='$lieferscheinid' LIMIT 1");
|
|
$kundennummer = $this->app->DB->Select("SELECT kundennummer FROM adresse WHERE id='$adresse' LIMIT 1");
|
|
|
|
$this->app->erp->BeschriftungSprache($sprache);
|
|
if($waehrung) {
|
|
$this->waehrung = $waehrung;
|
|
}
|
|
if($doppeltmp==1) {
|
|
$doppel = $doppeltmp;
|
|
}
|
|
$this->projekt = $projekt;
|
|
$this->anrede = $typ;
|
|
|
|
$ihrebestellnummer = $this->app->erp->ReadyForPDF($ihrebestellnummer);
|
|
$bearbeiter = $this->app->erp->ReadyForPDF($bearbeiter);
|
|
$vertrieb = $this->app->erp->ReadyForPDF($vertrieb);
|
|
|
|
if($ohne_briefpapier=='1')
|
|
{
|
|
$this->logofile = '';
|
|
$this->briefpapier='';
|
|
$this->briefpapier2='';
|
|
}
|
|
|
|
if($zahlungszieltageskonto <=0)
|
|
$zahlungszielskontodatum = $zahlungdatum;
|
|
|
|
if(!$this->app->erp->RechnungMitUmsatzeuer($id)){
|
|
$this->ust_befreit=true;
|
|
}
|
|
|
|
|
|
$zahlungsweise = strtolower($zahlungsweise);
|
|
//if($zahlungsweise=="rechnung"&&$zahlungsstatus!="bezahlt")
|
|
if($zahlungsweise==='rechnung' || $zahlungsweise==='einzugsermaechtigung' || $zahlungsweise==='lastschrift') {
|
|
if($zahlungsweise==='rechnung') {
|
|
if($zahlungszieltage==0){
|
|
$zahlungsweisetext = $this->app->erp->Beschriftung('zahlung_rechnung_sofort_de');
|
|
if($zahlungsweisetext=='') {
|
|
$zahlungsweisetext ='Rechnung zahlbar sofort. ';
|
|
}
|
|
}
|
|
else {
|
|
$zahlungsweisetext = $this->app->erp->Beschriftung('zahlung_rechnung_de');
|
|
if($zahlungsweisetext=='') {
|
|
$zahlungsweisetext = 'Rechnung zahlbar innerhalb von {ZAHLUNGSZIELTAGE} Tagen bis zum {ZAHLUNGBISDATUM}. ';
|
|
}
|
|
$zahlungsweisetext = str_replace('{ZAHLUNGSZIELTAGE}',$zahlungszieltage,$zahlungsweisetext);
|
|
$zahlungsweisetext = str_replace('{ZAHLUNGBISDATUM}',$zahlungdatum,$zahlungsweisetext);
|
|
}
|
|
|
|
if($zahlungszielskonto!=0) {
|
|
$zahlungsweisetext .="\n".$this->app->erp->Beschriftung('dokument_skonto')." $zahlungszielskonto % ".$this->app->erp->Beschriftung('dokument_innerhalb')." $zahlungszieltageskonto ".$this->app->erp->Beschriftung('dokument_tagebiszum').' '.$zahlungszielskontodatum;
|
|
}
|
|
} else {
|
|
//lastschrift
|
|
$zahlungsweisetext = $this->app->erp->Beschriftung('zahlung_'.$zahlungsweise.'_de');
|
|
if($zahlungsweisetext=='') {
|
|
$zahlungsweisetext ='Der Betrag wird von Ihrem Konto abgebucht.';
|
|
}
|
|
if($zahlungszielskonto!=0){
|
|
$zahlungsweisetext .= "\r\n" . $this->app->erp->Beschriftung('dokument_skonto') . " $zahlungszielskonto % aus Zahlungskonditionen";
|
|
}
|
|
}
|
|
|
|
}
|
|
else {
|
|
$zahlungsweisetext = $this->app->erp->Beschriftung('zahlung_'.$zahlungsweise.'_de');
|
|
if($zahlungsweisetext=='' || $zahlungsweise==='vorkasse'){
|
|
$zahlungsweisetext = $this->app->erp->Beschriftung('dokument_zahlung_per') . ' ' . ucfirst($zahlungsweise);
|
|
}
|
|
}
|
|
|
|
if($zahlungszielskonto!=0)
|
|
{
|
|
$zahlungsweisetext = str_replace('{ZAHLUNGSZIELSKONTO}',$zahlungszielskonto,$zahlungsweisetext);
|
|
$zahlungsweisetext = str_replace('{ZAHLUNGSZIELTAGESKONTO}',$zahlungszieltageskonto,$zahlungsweisetext);
|
|
$zahlungsweisetext = str_replace('{ZAHLUNGSZIELSKONTODATUM}',$zahlungszielskontodatum,$zahlungsweisetext);
|
|
}
|
|
else {
|
|
$zahlungsweisetext = str_replace('{ZAHLUNGSZIELSKONTO}','',$zahlungsweisetext);
|
|
$zahlungsweisetext = str_replace('{ZAHLUNGSZIELTAGESKONTO}','',$zahlungsweisetext);
|
|
$zahlungsweisetext = str_replace('{ZAHLUNGSZIELSKONTODATUM}','',$zahlungsweisetext);
|
|
}
|
|
|
|
if($belegnr=='' || $belegnr=='0') {
|
|
$belegnr = '- '.$this->app->erp->Beschriftung('dokument_entwurf');
|
|
}
|
|
else {
|
|
if($doppel==1 || $als==='doppel'){
|
|
$belegnr .= ' (' . $this->app->erp->Beschriftung('dokument_rechnung_kopie') . ')';
|
|
}
|
|
}
|
|
$posanzeigen = true;
|
|
if($als==='zahlungserinnerung')
|
|
{
|
|
$this->doctypeOrig=$this->app->erp->Beschriftung('dokument_zahlungserinnerung').' '.(is_null($_datum)?$mahnwesen_datum:$_datum);
|
|
if($this->app->erp->GetKonfiguration('mahnwesen_ze_pos') === '0') {
|
|
$posanzeigen = false;
|
|
}
|
|
}
|
|
else if($als==='mahnung1')
|
|
{
|
|
$this->doctypeOrig=$this->app->erp->Beschriftung('dokument_mahnung1').' '.(is_null($_datum)?$mahnwesen_datum:$_datum);
|
|
if($this->app->erp->GetKonfiguration('mahnwesen_1_pos') === '0') {
|
|
$posanzeigen = false;
|
|
}
|
|
}
|
|
else if($als==='mahnung2')
|
|
{
|
|
$this->doctypeOrig=$this->app->erp->Beschriftung('dokument_mahnung2').' '.(is_null($_datum)?$mahnwesen_datum:$_datum);
|
|
if($this->app->erp->GetKonfiguration('mahnwesen_2_pos') === '0') {
|
|
$posanzeigen = false;
|
|
}
|
|
}
|
|
else if($als==='mahnung3')
|
|
{
|
|
$this->doctypeOrig=$this->app->erp->Beschriftung('dokument_mahnung3').' '.(is_null($_datum)?$mahnwesen_datum:$_datum);
|
|
if($this->app->erp->GetKonfiguration('mahnwesen_3_pos') === '0') {
|
|
$posanzeigen = false;
|
|
}
|
|
}
|
|
else if($als==='inkasso') {
|
|
$this->doctypeOrig=$this->app->erp->Beschriftung('dokument_mahnunginkasso').' '.(is_null($_datum)?$mahnwesen_datum:$_datum);
|
|
if($this->app->erp->GetKonfiguration('mahnwesen_inkasso_pos') === '0') {
|
|
$posanzeigen = false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if($rechnungersatz){
|
|
$this->doctypeOrig = ($this->app->erp->Beschriftung('bezeichnungrechnungersatz')
|
|
? $this->app->erp->Beschriftung('bezeichnungrechnungersatz')
|
|
: $this->app->erp->Beschriftung('dokument_rechnung')) . " $belegnr";
|
|
}
|
|
else{
|
|
$this->doctypeOrig = $this->app->erp->Beschriftung('dokument_rechnung') . " $belegnr";
|
|
}
|
|
}
|
|
|
|
|
|
|
|
$this->zusatzfooter = " (RE$belegnr)";
|
|
|
|
//if($rechnung=="") $rechnung = "-";
|
|
if($kundennummer=='') {
|
|
$kundennummer= '-';
|
|
}
|
|
|
|
if(true || $auftrag=='0') {
|
|
$auftrag = $belegnr;
|
|
}
|
|
if($lieferschein=='0') {
|
|
$lieferschein= '-';
|
|
}
|
|
if($lieferschein=='') {
|
|
$lieferschein= '-';
|
|
}
|
|
|
|
$datumlieferschein = $this->app->DB->Select(
|
|
"SELECT DATE_FORMAT(datum, '%d.%m.%Y')
|
|
FROM lieferschein
|
|
WHERE id='$lieferscheinid'
|
|
LIMIT 1"
|
|
);
|
|
|
|
if($datumlieferschein==='00.00.0000') {
|
|
$datumlieferschein = $datum;
|
|
}
|
|
if($lieferdatum==='00.00.0000') {
|
|
$lieferdatum = $datum;
|
|
}
|
|
if($mahnwesen_datum==='00.00.0000') {
|
|
$mahnwesen_datum = '';
|
|
}
|
|
|
|
//* start
|
|
if($this->app->erp->GetKonfiguration('mahnwesen_bearbeiter_anzeigen') === '0') {
|
|
$briefpapier_bearbeiter_ausblenden = true;
|
|
$briefpapier_vertrieb_ausblenden = true;
|
|
}
|
|
|
|
|
|
if($briefpapier_bearbeiter_ausblenden || $briefpapier_vertrieb_ausblenden)
|
|
{
|
|
if($lieferschein!='-')
|
|
{
|
|
if($auftrag!='-')
|
|
{
|
|
$sCD = array(
|
|
$this->app->erp->Beschriftung('dokument_rechnung')=>$auftrag,
|
|
$this->app->erp->Beschriftung('dokument_rechnungsdatum')=>$datum,
|
|
$this->app->erp->Beschriftung('bezeichnungkundennummer')=>$kundennummer,
|
|
$this->app->erp->Beschriftung('auftrag_bezeichnung_bestellnummer')=>$ihrebestellnummer,
|
|
|
|
);
|
|
}
|
|
else
|
|
{
|
|
$sCD = array(
|
|
$this->app->erp->Beschriftung('dokument_rechnungsdatum')=>$datum,
|
|
$this->app->erp->Beschriftung('bezeichnungkundennummer')=>$kundennummer,
|
|
$this->app->erp->Beschriftung('auftrag_bezeichnung_bestellnummer')=>$ihrebestellnummer,
|
|
);
|
|
}
|
|
}
|
|
else {
|
|
if($auftrag!='-')
|
|
{
|
|
$sCD = array(
|
|
$this->app->erp->Beschriftung('dokument_rechnung')=>$auftrag,
|
|
$this->app->erp->Beschriftung('dokument_rechnungsdatum')=>$datum,
|
|
$this->app->erp->Beschriftung('bezeichnungkundennummer')=>$kundennummer,
|
|
$this->app->erp->Beschriftung('auftrag_bezeichnung_bestellnummer')=>$ihrebestellnummer
|
|
);
|
|
}
|
|
else
|
|
{
|
|
$sCD = array(
|
|
$this->app->erp->Beschriftung('dokument_rechnungsdatum')=>$datum,
|
|
$this->app->erp->Beschriftung('bezeichnungkundennummer')=>$kundennummer,
|
|
$this->app->erp->Beschriftung('auftrag_bezeichnung_bestellnummer')=>$ihrebestellnummer,
|
|
$this->app->erp->Beschriftung('dokument_lieferdatum')=>$lieferdatum,
|
|
$this->app->erp->Beschriftung('dokument_ansprechpartner')=>$buchhaltung
|
|
);
|
|
}
|
|
}
|
|
if(!$briefpapier_bearbeiter_ausblenden)
|
|
{
|
|
if($bearbeiter) {
|
|
$sCD[$this->app->erp->Beschriftung('auftrag_bezeichnung_bearbeiter')] = $bearbeiter;
|
|
}
|
|
}
|
|
elseif(!$briefpapier_vertrieb_ausblenden)
|
|
{
|
|
if($vertrieb) {
|
|
$sCD[$this->app->erp->Beschriftung('auftrag_bezeichnung_vertrieb')] = $vertrieb;
|
|
}
|
|
}
|
|
$this->setCorrDetails($sCD);
|
|
|
|
}else{
|
|
if($vertrieb!=$bearbeiter)
|
|
{
|
|
if($lieferschein!='-')
|
|
{
|
|
if($auftrag!="-"){
|
|
$this->setCorrDetails(array($this->app->erp->Beschriftung("dokument_rechnung") => $auftrag, $this->app->erp->Beschriftung("dokument_rechnungsdatum") => $datum, $this->app->erp->Beschriftung("bezeichnungkundennummer") => $kundennummer, $this->app->erp->Beschriftung("auftrag_bezeichnung_bestellnummer") => $ihrebestellnummer,
|
|
|
|
$this->app->erp->Beschriftung("auftrag_bezeichnung_bearbeiter") => $bearbeiter, $this->app->erp->Beschriftung("auftrag_bezeichnung_vertrieb") => $vertrieb
|
|
));
|
|
}
|
|
else{
|
|
$this->setCorrDetails(array($this->app->erp->Beschriftung("dokument_rechnungsdatum") => $datum, $this->app->erp->Beschriftung("bezeichnungkundennummer") => $kundennummer, $this->app->erp->Beschriftung("auftrag_bezeichnung_bestellnummer") => $ihrebestellnummer,
|
|
|
|
$this->app->erp->Beschriftung("auftrag_bezeichnung_bearbeiter") => $bearbeiter, $this->app->erp->Beschriftung("auftrag_bezeichnung_vertrieb") => $vertrieb
|
|
));
|
|
}
|
|
}
|
|
else {
|
|
if($auftrag!="-"){
|
|
$this->setCorrDetails(array($this->app->erp->Beschriftung("dokument_rechnung") => $auftrag, $this->app->erp->Beschriftung("dokument_rechnungsdatum") => $datum, $this->app->erp->Beschriftung("bezeichnungkundennummer") => $kundennummer, $this->app->erp->Beschriftung("auftrag_bezeichnung_bestellnummer") => $ihrebestellnummer,
|
|
|
|
$this->app->erp->Beschriftung("auftrag_bezeichnung_bearbeiter") => $bearbeiter, $this->app->erp->Beschriftung("auftrag_bezeichnung_vertrieb") => $vertrieb
|
|
));
|
|
}
|
|
else{
|
|
$this->setCorrDetails(array($this->app->erp->Beschriftung("dokument_rechnungsdatum") => $datum, $this->app->erp->Beschriftung("bezeichnungkundennummer") => $kundennummer, $this->app->erp->Beschriftung("auftrag_bezeichnung_bestellnummer") => $ihrebestellnummer,
|
|
|
|
$this->app->erp->Beschriftung("auftrag_bezeichnung_bearbeiter") => $bearbeiter, $this->app->erp->Beschriftung("auftrag_bezeichnung_vertrieb") => $vertrieb
|
|
));
|
|
}
|
|
}
|
|
//*ende hack
|
|
} else {
|
|
//start hack
|
|
if($lieferschein!='-')
|
|
{
|
|
if($auftrag!='-'){
|
|
$this->setCorrDetails(
|
|
array(
|
|
$this->app->erp->Beschriftung('dokument_rechnung') => $auftrag,
|
|
$this->app->erp->Beschriftung('dokument_rechnungsdatum') => $datum,
|
|
$this->app->erp->Beschriftung('bezeichnungkundennummer') => $kundennummer,
|
|
$this->app->erp->Beschriftung('auftrag_bezeichnung_bestellnummer') => $ihrebestellnummer,
|
|
$this->app->erp->Beschriftung('auftrag_bezeichnung_bearbeiter') => $bearbeiter
|
|
)
|
|
);
|
|
}
|
|
else{
|
|
$this->setCorrDetails(
|
|
array(
|
|
$this->app->erp->Beschriftung('dokument_rechnungsdatum') => $datum,
|
|
$this->app->erp->Beschriftung('bezeichnungkundennummer') => $kundennummer,
|
|
$this->app->erp->Beschriftung('auftrag_bezeichnung_bestellnummer') => $ihrebestellnummer,
|
|
$this->app->erp->Beschriftung('auftrag_bezeichnung_bearbeiter') => $bearbeiter
|
|
)
|
|
);
|
|
}
|
|
}
|
|
else {
|
|
if($auftrag!='-'){
|
|
$this->setCorrDetails(array($this->app->erp->Beschriftung('dokument_rechnung') => $auftrag, $this->app->erp->Beschriftung("dokument_rechnungsdatum") => $datum, $this->app->erp->Beschriftung("bezeichnungkundennummer") => $kundennummer, $this->app->erp->Beschriftung("auftrag_bezeichnung_bestellnummer") => $ihrebestellnummer,
|
|
|
|
$this->app->erp->Beschriftung('auftrag_bezeichnung_bearbeiter') => $bearbeiter
|
|
));
|
|
}
|
|
else{
|
|
$this->setCorrDetails(array($this->app->erp->Beschriftung('dokument_rechnungsdatum') => $datum, $this->app->erp->Beschriftung("bezeichnungkundennummer") => $kundennummer, $this->app->erp->Beschriftung("auftrag_bezeichnung_bestellnummer") => $ihrebestellnummer,
|
|
|
|
$this->app->erp->Beschriftung('dokument_ansprechpartner') => $buchhaltung
|
|
));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//ende hack
|
|
$isExport = $this->app->erp->Export($land);
|
|
//if(!$this->app->erp->RechnungMitUmsatzeuer($id) && $ustid!="" )
|
|
if(!$this->app->erp->RechnungMitUmsatzeuer($id) && $keinsteuersatz!='1'){
|
|
$this->ust_befreit=true;
|
|
if($keinsteuersatz!='1'){
|
|
if($isExport){
|
|
$steuer = $this->app->erp->Beschriftung('export_lieferung_vermerk');
|
|
}
|
|
else{
|
|
$steuer = $this->app->erp->Beschriftung('eu_lieferung_vermerk');
|
|
}
|
|
$steuer = str_replace('{USTID}',$ustid,$steuer);
|
|
$steuer = str_replace('{LAND}',$land,$steuer);
|
|
}
|
|
}
|
|
|
|
if($als!=''){
|
|
$body = $this->app->erp->MahnwesenBody($id,$als,$_datum,$sprache);
|
|
if($posanzeigen){
|
|
$footer = $this->app->erp->ParseUserVars('rechnung', $id, $this->app->erp->Beschriftung('rechnung_footer'));
|
|
}
|
|
}
|
|
else {
|
|
$body = $this->app->erp->Beschriftung('rechnung_header');
|
|
$body = $this->app->erp->ParseUserVars('rechnung',$id,$body);
|
|
if($systemfreitext!='') {
|
|
$systemfreitext = "\r\n\r\n".$systemfreitext;
|
|
}
|
|
$footer = "$freitext"."\r\n".$this->app->erp->ParseUserVars('rechnung',$id,$this->app->erp->Beschriftung('rechnung_footer').
|
|
"\r\n$steuer\r\n$zahlungsweisetext").$systemfreitext;
|
|
}
|
|
|
|
$this->setTextDetails(array(
|
|
'body'=>$body,
|
|
'footer'=>$footer));
|
|
|
|
$artikel = $this->app->DB->SelectArr("SELECT * FROM rechnung_position WHERE rechnung='$id' ORDER By sort");
|
|
if($this->app->erp->Firmendaten('modul_verband')=='1') {
|
|
$this->rabatt=1;
|
|
}
|
|
elseif($this->rabatt != 1) {
|
|
$summe_rabatt = $this->app->DB->Select("SELECT SUM(rabatt) FROM rechnung_position WHERE rechnung='$id'");
|
|
if($summe_rabatt > 0){
|
|
$this->rabatt = 1;
|
|
}
|
|
}
|
|
|
|
$steuersatzV = $this->app->erp->GetSteuersatzNormal(false,$id,'rechnung');
|
|
$steuersatzR = $this->app->erp->GetSteuersatzErmaessigt(false,$id,'rechnung');
|
|
$gesamtsteuern = 0;
|
|
$mitumsatzsteuer = $this->app->erp->RechnungMitUmsatzeuer($id);
|
|
$summe = 0;
|
|
|
|
foreach($artikel as $key=>$value) {
|
|
if($value['umsatzsteuer'] !== 'ermaessigt' && $value['umsatzsteuer'] !== 'befreit') {
|
|
$value['umsatzsteuer'] = 'normal';
|
|
}
|
|
$tmpsteuersatz = null;
|
|
$tmpsteuertext = null;
|
|
$this->app->erp->GetSteuerPosition('rechnung', $value['id'],$tmpsteuersatz, $tmpsteuertext);
|
|
if($value['steuersatz'] === null || $value['steuersatz'] < 0)
|
|
{
|
|
if($value['umsatzsteuer'] === 'ermaessigt')
|
|
{
|
|
$value['steuersatz'] = $steuersatzR;
|
|
}
|
|
elseif($value['umsatzsteuer'] === 'befreit')
|
|
{
|
|
$value['steuersatz'] = 0;
|
|
}
|
|
else{
|
|
$value['steuersatz'] = $steuersatzV;
|
|
}
|
|
if($tmpsteuersatz !== null) {
|
|
$value['steuersatz'] = $tmpsteuersatz;
|
|
}
|
|
}
|
|
if($tmpsteuertext && !$value['steuertext']) {
|
|
$value['steuertext'] = $tmpsteuertext;
|
|
}
|
|
if(!$mitumsatzsteuer) {
|
|
$value['steuersatz'] = 0;
|
|
}
|
|
$limit = 60;
|
|
$summary= $value['bezeichnung'];
|
|
if (strlen($summary) > $limit) {
|
|
$value['desc']= $value['bezeichnung'];
|
|
$value['bezeichnung'] = substr($summary, 0, strrpos(substr($summary, 0, $limit), ' ')) . '...';
|
|
}
|
|
|
|
$value['herstellernummer'] = $this->app->DB->Select("SELECT herstellernummer FROM artikel WHERE id='".$value['artikel']."' LIMIT 1");
|
|
$value['hersteller'] = $this->app->DB->Select("SELECT hersteller FROM artikel WHERE id='".$value['artikel']."' LIMIT 1");
|
|
|
|
/*
|
|
$value['zolltarifnummer'] = $this->app->DB->Select("SELECT zolltarifnummer FROM artikel WHERE id='".$value[artikel]."' LIMIT 1");
|
|
$value['herkunftsland'] = $this->app->DB->Select("SELECT herkunftsland FROM artikel WHERE id='".$value[artikel]."' LIMIT 1");
|
|
|
|
if($ust_befreit==2 && $value['zolltarifnummer']!="")
|
|
{
|
|
$value[beschreibung] = $value[beschreibung]."\r\nCustoms tariff number: ".$value['zolltarifnummer']." Country of origin: ".$value['herkunftsland'];
|
|
}
|
|
*/
|
|
|
|
if($value['explodiert_parent_artikel'] > 0) {
|
|
$check_ausblenden = $this->app->DB->Select(
|
|
"SELECT keineeinzelartikelanzeigen FROM artikel WHERE id='".$value['explodiert_parent_artikel']."' LIMIT 1"
|
|
);
|
|
}
|
|
else {
|
|
$check_ausblenden=0;
|
|
}
|
|
|
|
if($value['ausblenden_im_pdf']) {
|
|
$check_ausblenden=1;
|
|
}
|
|
|
|
if(!$isExport) {
|
|
$value['zolltarifnummer']='';
|
|
$value['herkunftsland']='';
|
|
}
|
|
|
|
|
|
$value['menge'] = (float)$value['menge'];
|
|
if($check_ausblenden!=1 && $posanzeigen)// && $als=="") //TODO MAHNWESEN
|
|
{
|
|
$this->addItem(array('currency'=>$value['waehrung'],
|
|
'amount'=>$value['menge'],
|
|
'price'=>$value['preis'],
|
|
'tax'=>$value['umsatzsteuer'],
|
|
'steuersatz'=>$value['steuersatz'],
|
|
'itemno'=>$value['nummer'],
|
|
'unit'=>$value['einheit'],
|
|
'desc'=>$value['beschreibung'],
|
|
'hersteller'=>$value['hersteller'],
|
|
'zolltarifnummer'=>$value['zolltarifnummer'],
|
|
'herkunftsland'=>$value['herkunftsland'],
|
|
'herstellernummer'=>trim($value['herstellernummer']),
|
|
'artikelnummerkunde'=>$value['artikelnummerkunde'],
|
|
'lieferdatum'=>$value['lieferdatum'],
|
|
'lieferdatumkw'=>$value['lieferdatumkw'],
|
|
'grundrabatt'=>$value['grundrabatt'],
|
|
'rabatt1'=>$value['rabatt1'],
|
|
'rabatt2'=>$value['rabatt2'],
|
|
'rabatt3'=>$value['rabatt3'],
|
|
'rabatt4'=>$value['rabatt4'],
|
|
'rabatt5'=>$value['rabatt5'],
|
|
'steuertext'=>$value['steuertext'],
|
|
'name'=>ltrim($value['bezeichnung']),
|
|
'rabatt'=>$value['rabatt']));
|
|
}
|
|
|
|
$netto_gesamt = $value['menge']*($value['preis']-($value['preis']/100*$value['rabatt']));
|
|
$summe = $summe + $netto_gesamt;
|
|
if(!isset($summen[$value['steuersatz']])) {
|
|
$summen[$value['steuersatz']] = 0;
|
|
}
|
|
$summen[$value['steuersatz']] += ($netto_gesamt/100)*$value['steuersatz'];
|
|
$gesamtsteuern +=($netto_gesamt/100)*$value['steuersatz'];
|
|
/*
|
|
if($value['umsatzsteuer']=="" || $value['umsatzsteuer']=="normal")
|
|
{
|
|
$summeV = $summeV + (($netto_gesamt/100)*$this->app->erp->GetSteuersatzNormal(false,$id,"rechnung"));
|
|
}
|
|
else {
|
|
$summeR = $summeR + (($netto_gesamt/100)*$this->app->erp->GetSteuersatzErmaessigt(false,$id,"rechnung"));
|
|
}
|
|
*/
|
|
|
|
}
|
|
/*
|
|
$summe = $this->app->DB->Select("SELECT SUM(menge*preis) FROM rechnung_position WHERE rechnung='$id'");
|
|
$summeV = $this->app->DB->Select("SELECT SUM(menge*preis) FROM rechnung_position WHERE rechnung='$id' AND (umsatzsteuer!='ermaessigt')")/100 * 19;
|
|
$summeR = $this->app->DB->Select("SELECT SUM(menge*preis) FROM rechnung_position WHERE rechnung='$id' AND umsatzsteuer='ermaessigt'")/100 * 7;
|
|
*/
|
|
if($this->app->erp->RechnungMitUmsatzeuer($id)) {
|
|
//$this->setTotals(array("totalArticles"=>$summe,"total"=>$summe + $gesamtsteuern,"summen"=>$summen,"totalTaxV"=>0,"totalTaxR"=>0));
|
|
//$this->setTotals(array("totalArticles"=>$summe,"total"=>$summe + $summeV + $summeR,"totalTaxV"=>$summeV,"totalTaxR"=>$summeR));
|
|
$this->setTotals(array('totalArticles'=>$summe,'total'=>$summe + $gesamtsteuern,'summen'=>$summen,'totalTaxV'=>0,'totalTaxR'=>0));
|
|
}
|
|
else {
|
|
$this->setTotals(array('totalArticles'=>$summe,'total'=>$summe));
|
|
}
|
|
|
|
/* Dateiname */
|
|
//$tmp_name = str_replace(' ','',trim($this->recipient['enterprise']));
|
|
//$tmp_name = str_replace('.','',$tmp_name);
|
|
|
|
if($als==''){
|
|
$this->filename = $datum . '_RE' . $belegnr . '.pdf';
|
|
}
|
|
else{
|
|
$this->filename = $datum . '_MA' . $belegnr . '.pdf';
|
|
}
|
|
|
|
$this->setBarcode($belegnr);
|
|
}
|
|
|
|
}
|