bugfix bestellung ohne preise PDF

This commit is contained in:
OpenXE 2024-01-02 19:18:27 +01:00
parent 0cde94e672
commit 580aef2bf6

View File

@ -1,406 +1,406 @@
<?php <?php
/* /*
**** COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE **** **** COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
* *
* Xentral (c) Xentral ERP Sorftware GmbH, Fuggerstrasse 11, D-86150 Augsburg, * Germany 2019 * 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. * 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 * 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. * to obtain the text of the corresponding license version.
* *
**** END OF COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE **** **** END OF COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
*/ */
?> ?>
<?php <?php
if(!class_exists('BriefpapierCustom')) if(!class_exists('BriefpapierCustom'))
{ {
class BriefpapierCustom extends Briefpapier class BriefpapierCustom extends Briefpapier
{ {
} }
} }
class BestellungPDF extends BriefpapierCustom { class BestellungPDF extends BriefpapierCustom {
public $doctype; public $doctype;
function __construct($app,$projekt="") function __construct($app,$projekt="")
{ {
$this->app=$app; $this->app=$app;
//parent::Briefpapier(); //parent::Briefpapier();
$this->doctype="bestellung"; $this->doctype="bestellung";
$this->doctypeOrig="Bestellung"; $this->doctypeOrig="Bestellung";
$this->bestellungohnepreis=0; $this->bestellungohnepreis=0;
parent::__construct($this->app,$projekt); parent::__construct($this->app,$projekt);
} }
function GetBestellung($id) function GetBestellung($id)
{ {
$this->doctypeid = $id; $this->doctypeid = $id;
$briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden'); $briefpapier_bearbeiter_ausblenden = $this->app->erp->Firmendaten('briefpapier_bearbeiter_ausblenden');
$this->setRecipientLieferadresse($id,"bestellung"); $this->setRecipientLieferadresse($id,"bestellung");
$data = $this->app->DB->SelectRow( $data = $this->app->DB->SelectRow(
"SELECT adresse,projekt, sprache, angebot, ustid, keineartikelnummern, bestellbestaetigung, artikelnummerninfotext, "SELECT adresse,projekt, sprache, angebot, ustid, keineartikelnummern, bestellbestaetigung, artikelnummerninfotext,
einkaeufer, belegnr, freitext, bodyzusatz, ohne_briefpapier, abweichendebezeichnung, bestellungohnepreis, einkaeufer, belegnr, freitext, bodyzusatz, ohne_briefpapier, abweichendebezeichnung, bestellungohnepreis,
kundennummerlieferant AS kundennummer, DATE_FORMAT(datum,'%d.%m.%Y') AS datum, DATE_FORMAT(datum,'%Y%m%d') as datum2, kundennummerlieferant AS kundennummer, DATE_FORMAT(datum,'%d.%m.%Y') AS datum, DATE_FORMAT(datum,'%Y%m%d') as datum2,
lieferantennummer lieferantennummer
FROM bestellung FROM bestellung
WHERE id='$id' WHERE id='$id'
LIMIT 1" LIMIT 1"
); );
extract($data,EXTR_OVERWRITE); extract($data,EXTR_OVERWRITE);
$adresse = $data['adresse']; $adresse = $data['adresse'];
$sprache = $data['sprache']; $sprache = $data['sprache'];
$angebot = $data['angebot']; $angebot = $data['angebot'];
$ustid = $data['ustid']; $ustid = $data['ustid'];
$projekt = $data['projekt']; $projekt = $data['projekt'];
$keineartikelnummern = $data['keineartikelnummern']; $keineartikelnummern = $data['keineartikelnummern'];
$bestellbestaetigung = $data['bestellbestaetigung']; $bestellbestaetigung = $data['bestellbestaetigung'];
$artikelnummerninfotext = $data['artikelnummerninfotext']; $artikelnummerninfotext = $data['artikelnummerninfotext'];
$einkaeufer = $data['einkaeufer']; $einkaeufer = $data['einkaeufer'];
$belegnr = $data['belegnr']; $belegnr = $data['belegnr'];
$freitext = $data['freitext']; $freitext = $data['freitext'];
$bodyzusatz = $data['bodyzusatz']; $bodyzusatz = $data['bodyzusatz'];
$ohne_briefpapier = $data['ohne_briefpapier']; $ohne_briefpapier = $data['ohne_briefpapier'];
$abweichendebezeichnung = $data['abweichendebezeichnung']; $abweichendebezeichnung = $data['abweichendebezeichnung'];
$bestellungohnepreis = $data['bestellungohnepreis']; $bestellungohnepreis = $data['bestellungohnepreis'];
$kundennummer = $data['kundennummer']; $kundennummer = $data['kundennummer'];
$datum = $data['datum']; $datum = $data['datum'];
$datum2 = $data['datum2']; $datum2 = $data['datum2'];
$lieferantennummer = $data['lieferantennummer']; $lieferantennummer = $data['lieferantennummer'];
$this->bestellungohnepreis=$data['bestellungohnepreis']; $this->bestellungohnepreis=$data['bestellungohnepreis'];
if(empty($kundennummer)) { if(empty($kundennummer)) {
$kundennummer = $this->app->DB->Select("SELECT kundennummerlieferant FROM adresse WHERE id='$adresse' LIMIT 1"); $kundennummer = $this->app->DB->Select("SELECT kundennummerlieferant FROM adresse WHERE id='$adresse' LIMIT 1");
} }
if($einkaeufer=='') { if($einkaeufer=='') {
$einkaeufer = $this->app->DB->Select("SELECT bearbeiter FROM bestellung WHERE id='$id' LIMIT 1"); $einkaeufer = $this->app->DB->Select("SELECT bearbeiter FROM bestellung WHERE id='$id' LIMIT 1");
} }
if(empty($sprache)) { if(empty($sprache)) {
$sprache = $this->app->DB->Select("SELECT sprache FROM adresse WHERE id='$adresse' LIMIT 1"); $sprache = $this->app->DB->Select("SELECT sprache FROM adresse WHERE id='$adresse' LIMIT 1");
} }
$kundennummer = $this->app->erp->ReadyForPDF($kundennummer); $kundennummer = $this->app->erp->ReadyForPDF($kundennummer);
$einkaeufer = $this->app->erp->ReadyForPDF($einkaeufer); $einkaeufer = $this->app->erp->ReadyForPDF($einkaeufer);
$angebot = $this->app->erp->ReadyForPDF($angebot); $angebot = $this->app->erp->ReadyForPDF($angebot);
$this->app->erp->BeschriftungSprache($sprache); $this->app->erp->BeschriftungSprache($sprache);
$this->sprache = $sprache; $this->sprache = $sprache;
$projektabkuerzung = $this->app->DB->Select(sprintf('SELECT abkuerzung FROM projekt WHERE id = %d', $projekt)); $projektabkuerzung = $this->app->DB->Select(sprintf('SELECT abkuerzung FROM projekt WHERE id = %d', $projekt));
if($this->bestellungohnepreis) { if($this->bestellungohnepreis) {
$this->nichtsichtbar_summe = 1; $this->nichtsichtbar_summe = 1;
} }
if($ohne_briefpapier=='1') { if($ohne_briefpapier=='1') {
$this->logofile = ''; $this->logofile = '';
$this->briefpapier=''; $this->briefpapier='';
$this->briefpapier2=''; $this->briefpapier2='';
} }
if($belegnr=='' || $belegnr=='0') { if($belegnr=='' || $belegnr=='0') {
$belegnr = '- '.$this->app->erp->Beschriftung('dokument_entwurf'); $belegnr = '- '.$this->app->erp->Beschriftung('dokument_entwurf');
} }
$this->doctypeOrig=$this->app->erp->Beschriftung('dokument_bestellung')." $belegnr"; $this->doctypeOrig=$this->app->erp->Beschriftung('dokument_bestellung')." $belegnr";
if($abweichendebezeichnung) if($abweichendebezeichnung)
{ {
$this->doctypeOrig=($this->app->erp->Beschriftung('bezeichnungbestellungersatz')?$this->app->erp->Beschriftung('bezeichnungbestellungersatz'):$this->app->erp->Beschriftung('dokument_bestellung'))." $belegnr"; $this->doctypeOrig=($this->app->erp->Beschriftung('bezeichnungbestellungersatz')?$this->app->erp->Beschriftung('bezeichnungbestellungersatz'):$this->app->erp->Beschriftung('dokument_bestellung'))." $belegnr";
} }
else { else {
$this->doctypeOrig=$this->app->erp->Beschriftung('dokument_bestellung')." $belegnr"; $this->doctypeOrig=$this->app->erp->Beschriftung('dokument_bestellung')." $belegnr";
} }
if($angebot=='') { if($angebot=='') {
$angebot = '-'; $angebot = '-';
} }
if($kundennummer=='') { if($kundennummer=='') {
$kundennummer= '-'; $kundennummer= '-';
} }
if(!$this->app->erp->BestellungMitUmsatzeuer($id)) { if(!$this->app->erp->BestellungMitUmsatzeuer($id)) {
$this->ust_befreit=true; $this->ust_befreit=true;
} }
/** @var \Xentral\Modules\Company\Service\DocumentCustomizationService $service */ /** @var \Xentral\Modules\Company\Service\DocumentCustomizationService $service */
$service = $this->app->Container->get('DocumentCustomizationService'); $service = $this->app->Container->get('DocumentCustomizationService');
if($block = $service->findActiveBlock('corr', 'suppliers_order', $projekt)) { if($block = $service->findActiveBlock('corr', 'suppliers_order', $projekt)) {
$sCD = $service->parseBlockAsArray($this->getLanguageCodeFrom($this->sprache),'corr', 'suppliers_order',[ $sCD = $service->parseBlockAsArray($this->getLanguageCodeFrom($this->sprache),'corr', 'suppliers_order',[
'BESTELLNUMMER' => $belegnr, 'BESTELLNUMMER' => $belegnr,
'DATUM' => $datum, 'DATUM' => $datum,
'KUNDENNUMMER' => $kundennummer, 'KUNDENNUMMER' => $kundennummer,
'EINKAEUFER' => $einkaeufer, 'EINKAEUFER' => $einkaeufer,
'LIEFERANTENNUMMER' => $lieferantennummer, 'LIEFERANTENNUMMER' => $lieferantennummer,
'PROJEKT' => $projektabkuerzung, 'PROJEKT' => $projektabkuerzung,
'EMAIL' => '', 'EMAIL' => '',
'TELEFON' => '', 'TELEFON' => '',
'BEARBEITER' => '', 'BEARBEITER' => '',
'VERTRIEB' => '', 'VERTRIEB' => '',
], $projekt); ], $projekt);
if(!empty($sCD)) { if(!empty($sCD)) {
switch($block['fontstyle']) { switch($block['fontstyle']) {
case 'f': case 'f':
$this->setBoldCorrDetails($sCD); $this->setBoldCorrDetails($sCD);
break; break;
case 'i': case 'i':
$this->setItalicCorrDetails($sCD); $this->setItalicCorrDetails($sCD);
break; break;
case 'fi': case 'fi':
$this->setItalicBoldCorrDetails($sCD); $this->setItalicBoldCorrDetails($sCD);
break; break;
default: default:
$this->setCorrDetails($sCD, true); $this->setCorrDetails($sCD, true);
break; break;
} }
} }
} }
else{ else{
if($briefpapier_bearbeiter_ausblenden){ if($briefpapier_bearbeiter_ausblenden){
$this->setCorrDetails(array($this->app->erp->Beschriftung("dokument_bestellung_angebotnummer") => $angebot, $this->setCorrDetails(array($this->app->erp->Beschriftung("dokument_bestellung_angebotnummer") => $angebot,
$this->app->erp->Beschriftung("dokument_bestellung_unserekundennummer") => $kundennummer, $this->app->erp->Beschriftung("dokument_bestellung_unserekundennummer") => $kundennummer,
$this->app->erp->Beschriftung("dokument_bestelldatum") => $datum)); $this->app->erp->Beschriftung("dokument_bestelldatum") => $datum));
}else{ }else{
$this->setCorrDetails(array($this->app->erp->Beschriftung("dokument_bestellung_angebotnummer") => $angebot, $this->setCorrDetails(array($this->app->erp->Beschriftung("dokument_bestellung_angebotnummer") => $angebot,
$this->app->erp->Beschriftung("dokument_bestellung_unserekundennummer") => $kundennummer, $this->app->erp->Beschriftung("dokument_bestellung_unserekundennummer") => $kundennummer,
$this->app->erp->Beschriftung("dokument_bestelldatum") => $datum, $this->app->erp->Beschriftung("dokument_bestelldatum") => $datum,
$this->app->erp->Beschriftung("dokument_bestellung_einkauf") => $einkaeufer)); $this->app->erp->Beschriftung("dokument_bestellung_einkauf") => $einkaeufer));
} }
} }
if(!$this->app->erp->BestellungMitUmsatzeuer($id) && $ustid!='' ) { if(!$this->app->erp->BestellungMitUmsatzeuer($id) && $ustid!='' ) {
//$steuer = "\nSteuerfreie innergemeinschaftliche Lieferung. Ihre USt-IdNr. $ustid Land: $land"; //$steuer = "\nSteuerfreie innergemeinschaftliche Lieferung. Ihre USt-IdNr. $ustid Land: $land";
$this->ust_befreit=true; $this->ust_befreit=true;
if($keinsteuersatz!='1') { if($keinsteuersatz!='1') {
$steuer = $this->app->erp->Beschriftung('eu_lieferung_vermerk'); $steuer = $this->app->erp->Beschriftung('eu_lieferung_vermerk');
} }
$steuer = str_replace('{USTID}',$ustid,$steuer); $steuer = str_replace('{USTID}',$ustid,$steuer);
$steuer = str_replace('{LAND}',$land,$steuer); $steuer = str_replace('{LAND}',$land,$steuer);
} }
$body=$this->app->erp->Beschriftung('bestellung_header'); $body=$this->app->erp->Beschriftung('bestellung_header');
if($bodyzusatz!='') { if($bodyzusatz!='') {
$body=$body."\r\n".$bodyzusatz; $body=$body."\r\n".$bodyzusatz;
} }
$body = $this->app->erp->ParseUserVars('bestellung',$id,$body); $body = $this->app->erp->ParseUserVars('bestellung',$id,$body);
if($this->app->erp->Firmendaten('footer_reihenfolge_bestellung_aktivieren')=='1') if($this->app->erp->Firmendaten('footer_reihenfolge_bestellung_aktivieren')=='1')
{ {
$footervorlage = $this->app->erp->Firmendaten('footer_reihenfolge_bestellung'); $footervorlage = $this->app->erp->Firmendaten('footer_reihenfolge_bestellung');
if($footervorlage==''){ if($footervorlage==''){
$footervorlage = "{FOOTERFREITEXT}\r\n{FOOTERTEXTVORLAGEBESTELLUNG}"; $footervorlage = "{FOOTERFREITEXT}\r\n{FOOTERTEXTVORLAGEBESTELLUNG}";
} }
$footervorlage = str_replace('{FOOTERFREITEXT}',$freitext,$footervorlage); $footervorlage = str_replace('{FOOTERFREITEXT}',$freitext,$footervorlage);
$footervorlage = str_replace('{FOOTERTEXTVORLAGEBESTELLUNG}',$this->app->erp->Beschriftung("bestellung_footer"),$footervorlage); $footervorlage = str_replace('{FOOTERTEXTVORLAGEBESTELLUNG}',$this->app->erp->Beschriftung("bestellung_footer"),$footervorlage);
$footervorlage = $this->app->erp->ParseUserVars("bestellung",$id,$footervorlage); $footervorlage = $this->app->erp->ParseUserVars("bestellung",$id,$footervorlage);
$footer = $footervorlage; $footer = $footervorlage;
} else { } else {
$footer = $freitext."\r\n".$this->app->erp->ParseUserVars('bestellung',$id,$this->app->erp->Beschriftung("bestellung_footer")); $footer = $freitext."\r\n".$this->app->erp->ParseUserVars('bestellung',$id,$this->app->erp->Beschriftung("bestellung_footer"));
} }
if($bestellbestaetigung) { if($bestellbestaetigung) {
$this->setTextDetails(array( $this->setTextDetails(array(
"body"=>$body, "body"=>$body,
"footer"=>$footer."\r\n".$this->app->erp->Beschriftung('dokument_bestellung_bestaetigung'))); "footer"=>$footer."\r\n".$this->app->erp->Beschriftung('dokument_bestellung_bestaetigung')));
} else } else
{ {
$this->setTextDetails(array( $this->setTextDetails(array(
"body"=>$body, "body"=>$body,
"footer"=>$footer)); "footer"=>$footer));
} }
$artikel = $this->app->DB->SelectArr( $artikel = $this->app->DB->SelectArr(
"SELECT bp.*, art.ean AS artean, art.nummer AS artnummer, art.herstellernummer AS artherstellernummer, "SELECT bp.*, art.ean AS artean, art.nummer AS artnummer, art.herstellernummer AS artherstellernummer,
art.einheit as arteinheit, art.hersteller AS arthersteller art.einheit as arteinheit, art.hersteller AS arthersteller
FROM bestellung_position AS bp FROM bestellung_position AS bp
LEFT JOIN artikel AS art ON bp.artikel = art.id LEFT JOIN artikel AS art ON bp.artikel = art.id
WHERE bp.bestellung='$id' WHERE bp.bestellung='$id'
ORDER By bp.sort" ORDER By bp.sort"
); );
if(empty($artikel)) { if(empty($artikel)) {
$artikel = []; $artikel = [];
} }
$steuersatzV = $this->app->erp->GetSteuersatzNormal(false,$id,'bestellung'); $steuersatzV = $this->app->erp->GetSteuersatzNormal(false,$id,'bestellung');
$steuersatzR = $this->app->erp->GetSteuersatzErmaessigt(false,$id,'bestellung'); $steuersatzR = $this->app->erp->GetSteuersatzErmaessigt(false,$id,'bestellung');
$gesamtsteuern = 0; $gesamtsteuern = 0;
$mitumsatzsteuer = $this->app->erp->BestellungMitUmsatzeuer($id); $mitumsatzsteuer = $this->app->erp->BestellungMitUmsatzeuer($id);
//$waehrung = $this->app->DB->Select("SELECT waehrung FROM bestellung_position WHERE bestellung='$id' LIMIT 1"); //$waehrung = $this->app->DB->Select("SELECT waehrung FROM bestellung_position WHERE bestellung='$id' LIMIT 1");
$summe = 0; $summe = 0;
foreach($artikel as $key=>$value) { foreach($artikel as $key=>$value) {
$lieferdatum = $this->app->String->Convert($value['lieferdatum'],'%1-%2-%3','%3.%2.%1'); $lieferdatum = $this->app->String->Convert($value['lieferdatum'],'%1-%2-%3','%3.%2.%1');
if($lieferdatum==='00.00.0000') { if($lieferdatum==='00.00.0000') {
$lieferdatum =''; $lieferdatum ='';
}//$this->app->erp->Beschriftung("dokument_lieferdatum_sofort"); }//$this->app->erp->Beschriftung("dokument_lieferdatum_sofort");
if($value['umsatzsteuer'] !== 'ermaessigt' && $value['umsatzsteuer'] !== 'befreit') { if($value['umsatzsteuer'] !== 'ermaessigt' && $value['umsatzsteuer'] !== 'befreit') {
$value['umsatzsteuer'] = 'normal'; $value['umsatzsteuer'] = 'normal';
} }
$tmpsteuersatz = null; $tmpsteuersatz = null;
$tmpsteuertext = null; $tmpsteuertext = null;
$this->app->erp->GetSteuerPosition('bestellung', $value['id'],$tmpsteuersatz, $tmpsteuertext); $this->app->erp->GetSteuerPosition('bestellung', $value['id'],$tmpsteuersatz, $tmpsteuertext);
if($value['steuersatz'] === null || $value['steuersatz'] < 0) { if($value['steuersatz'] === null || $value['steuersatz'] < 0) {
if($value['umsatzsteuer'] === 'ermaessigt') { if($value['umsatzsteuer'] === 'ermaessigt') {
$value['steuersatz'] = $steuersatzR; $value['steuersatz'] = $steuersatzR;
} }
elseif($value['umsatzsteuer'] === 'befreit') { elseif($value['umsatzsteuer'] === 'befreit') {
$value['steuersatz'] = 0; $value['steuersatz'] = 0;
}else{ }else{
$value['steuersatz'] = $steuersatzV; $value['steuersatz'] = $steuersatzV;
} }
if($tmpsteuersatz !== null) { if($tmpsteuersatz !== null) {
$value['steuersatz'] = $tmpsteuersatz; $value['steuersatz'] = $tmpsteuersatz;
} }
} }
if($tmpsteuertext && !$value['steuertext']) { if($tmpsteuertext && !$value['steuertext']) {
$value['steuertext'] = $tmpsteuertext; $value['steuertext'] = $tmpsteuertext;
} }
if(!$mitumsatzsteuer) { if(!$mitumsatzsteuer) {
$value['steuersatz'] = 0; $value['steuersatz'] = 0;
} }
// if(!$this->app->erp->BestellungMitUmsatzeuer($id)) $value[umsatzsteuer] = ""; // if(!$this->app->erp->BestellungMitUmsatzeuer($id)) $value[umsatzsteuer] = "";
if($keineartikelnummern==1) { if($keineartikelnummern==1) {
$value['bestellnummer'] = $this->app->erp->Beschriftung('dokument_bestellung_keineartikelnummer'); $value['bestellnummer'] = $this->app->erp->Beschriftung('dokument_bestellung_keineartikelnummer');
} }
$ohne_artikeltext = $this->app->DB->Select("SELECT ohne_artikeltext FROM ".$this->table." WHERE id='".$this->id."' LIMIT 1"); $ohne_artikeltext = $this->app->DB->Select("SELECT ohne_artikeltext FROM ".$this->table." WHERE id='".$this->id."' LIMIT 1");
if($ohne_artikeltext=='1') { if($ohne_artikeltext=='1') {
$value['beschreibung']=''; $value['beschreibung']='';
} }
$value['artikelnummer']= $value['artnummer'];// $this->app->DB->Select("SELECT nummer FROM artikel WHERE id='".$value['artikel']."' LIMIT 1"); $value['artikelnummer']= $value['artnummer'];// $this->app->DB->Select("SELECT nummer FROM artikel WHERE id='".$value['artikel']."' LIMIT 1");
if($artikelnummerninfotext) { if($artikelnummerninfotext) {
if($value['bestellnummer']!=''){ if($value['bestellnummer']!=''){
$value['beschreibung'] = $value['beschreibung'] . "\n" . $this->app->erp->Beschriftung('dokument_bestellung_bestellnummer') . ': ' . $value['bestellnummer']; $value['beschreibung'] = $value['beschreibung'] . "\n" . $this->app->erp->Beschriftung('dokument_bestellung_bestellnummer') . ': ' . $value['bestellnummer'];
} }
$value['bestellnummer']=$value['artikelnummer']; $value['bestellnummer']=$value['artikelnummer'];
} else { } else {
if($value['artikelnummer']!=''){ if($value['artikelnummer']!=''){
$value['beschreibung'] = $value['beschreibung'] . "\n" . $this->app->erp->Beschriftung('dokument_bestellung_unsereartikelnummer') . ': ' . $value['artikelnummer']; $value['beschreibung'] = $value['beschreibung'] . "\n" . $this->app->erp->Beschriftung('dokument_bestellung_unsereartikelnummer') . ': ' . $value['artikelnummer'];
} }
} }
if($value['vpe'] > 1 && is_numeric($value['vpe'])) { if($value['vpe'] > 1 && is_numeric($value['vpe'])) {
$value['beschreibung'] = $value['beschreibung']."\n".$this->app->erp->Beschriftung('dokument_bestellung_mengeinvpe').': '.$value['vpe']; $value['beschreibung'] = $value['beschreibung']."\n".$this->app->erp->Beschriftung('dokument_bestellung_mengeinvpe').': '.$value['vpe'];
//umschalbar in der Zukunft //umschalbar in der Zukunft
$value['preis'] = $value['preis']*$value['menge']/($value['menge'] / $value['vpe']); $value['preis'] = $value['preis']*$value['menge']/($value['menge'] / $value['vpe']);
$value['menge'] = round($value['menge'] / $value['vpe'],2); $value['menge'] = round($value['menge'] / $value['vpe'],2);
$value['einheit'] = "VPE"; $value['einheit'] = "VPE";
} }
elseif((String)$value['einheit'] === '') { elseif((String)$value['einheit'] === '') {
$value['einheit'] = $value['arteinheit'];// $this->app->DB->Select("SELECT einheit FROM artikel WHERE id = '".$value['artikel']."' LIMIT 1"); $value['einheit'] = $value['arteinheit'];// $this->app->DB->Select("SELECT einheit FROM artikel WHERE id = '".$value['artikel']."' LIMIT 1");
if((String)$value['einheit'] === '') { if((String)$value['einheit'] === '') {
$value['einheit'] = $this->app->erp->Firmendaten('artikeleinheit_standard'); $value['einheit'] = $this->app->erp->Firmendaten('artikeleinheit_standard');
} }
} }
if($value['beschreibung']!='') { if($value['beschreibung']!='') {
$newline="\n"; $newline="\n";
} }
if($this->bestellungohnepreis) { if($this->bestellungohnepreis) {
$value['preis'] = '-'; $value['preis'] = null;
} }
if($value['waehrung']!='' && $value['waehrung']!=$this->waehrung){ if($value['waehrung']!='' && $value['waehrung']!=$this->waehrung){
$this->waehrung = $value['waehrung']; $this->waehrung = $value['waehrung'];
} }
$value['menge'] = (float)$value['menge']; $value['menge'] = (float)$value['menge'];
$value['herstellernummer'] = $value['artherstellernummer'];// $this->app->DB->Select("SELECT herstellernummer FROM artikel WHERE id='".$value['artikel']."' LIMIT 1"); $value['herstellernummer'] = $value['artherstellernummer'];// $this->app->DB->Select("SELECT herstellernummer FROM artikel WHERE id='".$value['artikel']."' LIMIT 1");
$value['hersteller'] = $value['arthersteller'];//$this->app->DB->Select("SELECT hersteller FROM artikel WHERE id='".$value['artikel']."' LIMIT 1"); $value['hersteller'] = $value['arthersteller'];//$this->app->DB->Select("SELECT hersteller FROM artikel WHERE id='".$value['artikel']."' LIMIT 1");
$this->addItem( $this->addItem(
array( array(
'belegposition'=>$value['id'], 'belegposition'=>$value['id'],
'artikel'=>$value['artikel'], 'artikel'=>$value['artikel'],
'currency'=>$value['waehrung'], 'currency'=>$value['waehrung'],
'amount'=>$value['menge'], 'amount'=>$value['menge'],
'price'=>$value['preis'], 'price'=>$value['preis'],
'tax'=>$value['umsatzsteuer'],'steuersatz'=>$value['steuersatz'], 'tax'=>$value['umsatzsteuer'],'steuersatz'=>$value['steuersatz'],
'steuertext'=>$value['steuertext'], 'steuertext'=>$value['steuertext'],
'vpe'=>$value['vpe'], 'vpe'=>$value['vpe'],
'unit'=>$value['einheit'], 'unit'=>$value['einheit'],
'itemno'=>$value['bestellnummer'], 'itemno'=>$value['bestellnummer'],
'desc'=>$value['beschreibung'].($lieferdatum!=''?$newline.$this->app->erp->Beschriftung('dokument_lieferdatum').': '.$lieferdatum:''), 'desc'=>$value['beschreibung'].($lieferdatum!=''?$newline.$this->app->erp->Beschriftung('dokument_lieferdatum').': '.$lieferdatum:''),
'hersteller'=>$value['hersteller'], 'hersteller'=>$value['hersteller'],
'herstellernummer'=>$value['herstellernummer'], 'herstellernummer'=>$value['herstellernummer'],
'freifeld1'=>$value['freifeld1'], 'freifeld1'=>$value['freifeld1'],
'freifeld2'=>$value['freifeld2'], 'freifeld2'=>$value['freifeld2'],
'freifeld3'=>$value['freifeld3'], 'freifeld3'=>$value['freifeld3'],
'freifeld4'=>$value['freifeld4'], 'freifeld4'=>$value['freifeld4'],
'freifeld5'=>$value['freifeld5'], 'freifeld5'=>$value['freifeld5'],
'freifeld6'=>$value['freifeld6'], 'freifeld6'=>$value['freifeld6'],
'freifeld7'=>$value['freifeld7'], 'freifeld7'=>$value['freifeld7'],
'freifeld8'=>$value['freifeld8'], 'freifeld8'=>$value['freifeld8'],
'freifeld9'=>$value['freifeld9'], 'freifeld9'=>$value['freifeld9'],
'freifeld10'=>$value['freifeld10'], 'freifeld10'=>$value['freifeld10'],
'freifeld11'=>$value['freifeld11'], 'freifeld11'=>$value['freifeld11'],
'freifeld12'=>$value['freifeld12'], 'freifeld12'=>$value['freifeld12'],
'freifeld13'=>$value['freifeld13'], 'freifeld13'=>$value['freifeld13'],
'freifeld14'=>$value['freifeld14'], 'freifeld14'=>$value['freifeld14'],
'freifeld15'=>$value['freifeld15'], 'freifeld15'=>$value['freifeld15'],
'freifeld16'=>$value['freifeld16'], 'freifeld16'=>$value['freifeld16'],
'freifeld17'=>$value['freifeld17'], 'freifeld17'=>$value['freifeld17'],
'freifeld18'=>$value['freifeld18'], 'freifeld18'=>$value['freifeld18'],
'freifeld19'=>$value['freifeld19'], 'freifeld19'=>$value['freifeld19'],
'freifeld20'=>$value['freifeld20'], 'freifeld20'=>$value['freifeld20'],
'freifeld21'=>$value['freifeld21'], 'freifeld21'=>$value['freifeld21'],
'freifeld22'=>$value['freifeld22'], 'freifeld22'=>$value['freifeld22'],
'freifeld23'=>$value['freifeld23'], 'freifeld23'=>$value['freifeld23'],
'freifeld24'=>$value['freifeld24'], 'freifeld24'=>$value['freifeld24'],
'freifeld25'=>$value['freifeld25'], 'freifeld25'=>$value['freifeld25'],
'freifeld26'=>$value['freifeld26'], 'freifeld26'=>$value['freifeld26'],
'freifeld27'=>$value['freifeld27'], 'freifeld27'=>$value['freifeld27'],
'freifeld28'=>$value['freifeld28'], 'freifeld28'=>$value['freifeld28'],
'freifeld29'=>$value['freifeld29'], 'freifeld29'=>$value['freifeld29'],
'freifeld30'=>$value['freifeld30'], 'freifeld30'=>$value['freifeld30'],
'freifeld31'=>$value['freifeld31'], 'freifeld31'=>$value['freifeld31'],
'freifeld32'=>$value['freifeld32'], 'freifeld32'=>$value['freifeld32'],
'freifeld33'=>$value['freifeld33'], 'freifeld33'=>$value['freifeld33'],
'freifeld34'=>$value['freifeld34'], 'freifeld34'=>$value['freifeld34'],
'freifeld35'=>$value['freifeld35'], 'freifeld35'=>$value['freifeld35'],
'freifeld36'=>$value['freifeld36'], 'freifeld36'=>$value['freifeld36'],
'freifeld37'=>$value['freifeld37'], 'freifeld37'=>$value['freifeld37'],
'freifeld38'=>$value['freifeld38'], 'freifeld38'=>$value['freifeld38'],
'freifeld39'=>$value['freifeld39'], 'freifeld39'=>$value['freifeld39'],
'freifeld40'=>$value['freifeld40'], 'freifeld40'=>$value['freifeld40'],
"name"=>$value['bezeichnunglieferant'] "name"=>$value['bezeichnunglieferant']
) )
); );
$netto_gesamt = $value['menge']*$value['preis']; $netto_gesamt = $value['menge']*$value['preis'];
$summe += $netto_gesamt; $summe += $netto_gesamt;
if(!isset($summen[$value['steuersatz']])) { if(!isset($summen[$value['steuersatz']])) {
$summen[$value['steuersatz']] = 0; $summen[$value['steuersatz']] = 0;
} }
$summen[$value['steuersatz']] += ($netto_gesamt/100)*$value['steuersatz']; $summen[$value['steuersatz']] += ($netto_gesamt/100)*$value['steuersatz'];
$gesamtsteuern +=($netto_gesamt/100)*$value['steuersatz']; $gesamtsteuern +=($netto_gesamt/100)*$value['steuersatz'];
} }
/* /*
$summe = $this->app->DB->Select("SELECT SUM(menge*preis) FROM bestellung_position WHERE bestellung='$id'"); $summe = $this->app->DB->Select("SELECT SUM(menge*preis) FROM bestellung_position WHERE bestellung='$id'");
$summeV = $this->app->DB->Select("SELECT SUM(menge*preis) FROM bestellung_position WHERE bestellung='$id' AND (umsatzsteuer='normal' || umsatzsteuer='') ")/100 * $this->app->erp->GetSteuersatzNormal(false,$id,"bestellung"); $summeV = $this->app->DB->Select("SELECT SUM(menge*preis) FROM bestellung_position WHERE bestellung='$id' AND (umsatzsteuer='normal' || umsatzsteuer='') ")/100 * $this->app->erp->GetSteuersatzNormal(false,$id,"bestellung");
$summeR = $this->app->DB->Select("SELECT SUM(menge*preis) FROM bestellung_position WHERE bestellung='$id' AND umsatzsteuer='ermaessigt'")/100 * $this->app->erp->GetSteuersatzErmaessigt(false,$id,"bestellung"); $summeR = $this->app->DB->Select("SELECT SUM(menge*preis) FROM bestellung_position WHERE bestellung='$id' AND umsatzsteuer='ermaessigt'")/100 * $this->app->erp->GetSteuersatzErmaessigt(false,$id,"bestellung");
*/ */
if($this->bestellungohnepreis!=1) if($this->bestellungohnepreis!=1)
{ {
if($this->app->erp->BestellungMitUmsatzeuer($id)) if($this->app->erp->BestellungMitUmsatzeuer($id))
{ {
$this->setTotals( $this->setTotals(
array('totalArticles'=>$summe,'total'=>$summe + $gesamtsteuern,'summen'=>$summen,'totalTaxV'=>0,'totalTaxR'=>0) 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 + $summeV + $summeR,"totalTaxV"=>$summeV,"totalTaxR"=>$summeR));
} else{ } else{
$this->setTotals(array('totalArticles' => $summe, 'total' => $summe)); $this->setTotals(array('totalArticles' => $summe, 'total' => $summe));
} }
} }
/* Dateiname */ /* Dateiname */
//$tmp_name = str_replace([' ','.'],'', trim($this->recipient['enterprise'])); //$tmp_name = str_replace([' ','.'],'', trim($this->recipient['enterprise']));
$this->filename = $datum2.'_BE'.$belegnr.'.pdf'; $this->filename = $datum2.'_BE'.$belegnr.'.pdf';
$this->setBarcode($belegnr); $this->setBarcode($belegnr);
} }
} }