Revision 1 | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed
<?php// $Id: rechnung.php 4255 2012-03-29 09:59:11Z erling $session_start();require_once "connect2.php";require_once "includes/bestellungen/system/mysql_query_logged.php";require_once "Weban_Smarty.class.php";require_once "module/functions.common.php";require_once "includes/rechnung/rechnungsbuch.function.php";require_once "includes/bestellungen/system/artikelDatabase.php";/*** Funktionen der Lagerwirtschaft.*/require_once '../includes/system/functions.lagerwirtschaft.php';require_once "fpdf/fpdf.php";$GLOBALS["ui"] = new Weban_Smarty();$GLOBALS["ui"]->compile_dir = $_SERVER["DOCUMENT_ROOT"] . "/templates_c/";$GLOBALS["ui"]->compile_id = "Warenwirtschaft|rechnungen";$GLOBALS["ui"]->use_sub_dirs = true;$errorIds = array();$show_prepage = 0;// ME: bei Einzelrechnung die b_id speichernif ( $_GET['b_id'] ){$b_id = $_GET['b_id'];}elseif ( $_POST["b_id"] ){$b_id = $_POST["b_id"];}else // bei Massendruck die erste übergebene b_id speichern{$b_id = $_POST['chk_bestellung'][0];}// ME: Soll der Kunde das Rechnungsdatum auf der Vorschaltseite ändern können?if ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["abw_rechnungsdatum"] ) ){$GLOBALS["ui"]->assign( "rechnungsdatum_aendern", true );}// ME: Soll der Kunde das Leistungsdatum auf der Vorschaltseite ändern können?if ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["abw_lieferdatum"] ) ){$GLOBALS["ui"]->assign( "leistungsdatum_aendern", true );}// ME: Webrecht und Userrecht für Gutschriften gesetzt?$GLOBALS["ui"]->assign( "gutschriftoption", 0 );if ( ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["gutschriftoption"] ) ) and( isset( $user_rechte["Warenwirtschaft"]["bestellung"]["gutschriftoption"] ) ) ){$GLOBALS["ui"]->assign( "gutschriftoption", 1 );}// ME: Bestandsminderung? Muss in Kombination mit Rechnungsbausteinen eingebaut werden, damit dasselbe Template genutzt werden kann!if ( isset( $web_rechte['Warenwirtschaft']['lagerwirtschaft']['minderungsunterdrueckung'] ) ){$GLOBALS["ui"]->assign( "minderungsunterdrueckung", true );}$sql = "SELECTbestellart_id,shops_IDFROMBestellungWHEREID = " . $b_id . "";if ( $q = mysql_query( $sql ) ){if ( $r = mysql_fetch_assoc( $q ) ){}}// wenn der filter bestellart gesetzt ist.if ( isset( $_SESSION['filter']['bestellart_id'] ) ){// bestellart_id gesetzt?if ( $_SESSION['filter']['bestellart_id'] ){// wenn ja, bestellart_id nehmen und weiter..$bestellart_id = $_SESSION['filter']['bestellart_id'];}else{// wenn nein, dann die bestellart_id über die erste Bestellung ermitteln$bestellart_id = $r['bestellart_id'];}}// wenn der filter shopID gesetzt ist.if ( isset( $_SESSION['filter']['shopID'] ) ){// shopID gesetzt?if ( $_SESSION['filter']['shopID'] ){// wenn ja, shopID nehmen und weiter..$GLOBALS["shops_ID"] = $_SESSION['filter']['shopID'];}else{// wenn nein, dann die shopID über die erste Bestellung ermitteln$GLOBALS["shops_ID"] = $r['shops_ID'];}}unset( $r );// Rechnungsbausteine?if ( ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["rechnungsbausteine"] ) and( !$_POST['action'] ) ) or ( isset( $web_rechte['Warenwirtschaft']['lagerwirtschaft']['minderungsunterdrueckung'] ) and( !$_POST['action'] ) ) ){$bausteinIDs = explode( ";", $web_rechte["Warenwirtschaft"]["bestellung"]["rechnungsbausteine"] );$bausteine_ids = implode( " OR ID=", $bausteinIDs );// gibt es das Feld bestellart_id?$wcl = "";$result = mysql_query( "SHOW COLUMNS FROM web_settings" );if ( !$result ){echo 'Abfrage konnte nicht ausgeführt werden: ' . mysql_error();//exit;}if ( mysql_num_rows( $result ) > 0 ){while ( $row = mysql_fetch_assoc( $result ) ){if ( is_array( $row ) ){foreach ( $row as $key => $value ){if ( $value == "bestellart_id" ){$wcl .= " AND bestellart_id = " . $bestellart_id ." ";}if ( $value == "shops_ID" ){$wcl .= " AND shops_ID = " . $GLOBALS["shops_ID"] ." ";}}}}}// die Texte zu den Bausteinen ermitteln, wenn es bausteine gibt..$bausteine = array();if ( $bausteine_ids ){$sql_b = "SELECT * FROM Bestellung WHERE ID=$b_id";$res_b = mysql_query_logged( $sql_b );$row_b = mysql_fetch_assoc( $res_b );$sql = "SELECT*FROMweb_settingsWHEREID=" . $bausteine_ids . "" . $wcl . "ORDER BYRang";if ( $q = mysql_query( $sql ) ){$row_b["kk_info"] = unserialize( $row_b["kk_info"] );while ( $r = mysql_fetch_assoc( $q ) ){$billsafesumme = $row_b["gesamtsumme_buffer"];$billsafetxn = $row_b["kk_info"]["code"];$billsafedate = date( "d.m.Y", strtotime( "14 days" ) );@eval( "\$rbaustein_int=\"" . addslashes( $r['Inhalt'] ) . "\";" );$bausteine[$r['ID']] = $rbaustein_int;}}}$GLOBALS["ui"]->assign( "b_id", $b_id );$GLOBALS["ui"]->assign( "bausteine", $bausteine );$show_prepage++;$GLOBALS["ui"]->assign( "rechnungsbausteine", true );}// ME: START Soll 'Rechnung bezahlt' auf der Vorschaltseite angezeigt werden?if ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnung_bezahlt"] ) ){if ( isset( $user_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnung_bezahlt"] ) ){$show_prepage++;$GLOBALS["ui"]->assign( "show_rechnung_bezahlt", 1 );if ( strstr( $user_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnung_bezahlt"],";" ) ){$bezahlt_values = explode( ";", $user_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnung_bezahlt"] );}else{$bezahlt_values = trim( $user_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnung_bezahlt"] );}// den bezahlstatus der Bestellung holen$sql = "select bezahlt from Bestellung where ID=$b_id";$q = mysql_query( $sql );if ( $r = mysql_fetch_assoc( $q ) ){$GLOBALS["ui"]->assign( "bezahlt", $r['bezahlt'] );$GLOBALS["ui"]->assign( "bestellung_bezahlt", $r['bezahlt'] );}// die aktuelle Versandart zur Bestellung holen$sql = "SELECTa.*,ab.*,z.interner_nameFROMartikel_to_Bestellung ab,artikel a,zahlungsarten zWHEREab.Bestellung=$b_idANDab.`status` != 'storniert'ANDa.Father=-3ANDa.ID = ab.artikelANDa.short_line_1 = z.interner_name";if ( $q = mysql_query( $sql ) ){while ( $r = mysql_fetch_assoc( $q ) ){// Prüfen, ob für die Versandart der interne Name (zahlungsarten) übereinstimmtif ( is_array( $bezahlt_values ) ){foreach ( $bezahlt_values as $key => $val ){if ( stristr( $r['interner_name'], $val ) ){$GLOBALS["ui"]->assign( "bezahlt", 1 );$GLOBALS["ui"]->assign( "rechnung_bezahlt","Rechnung bezahlt (" . $val . ")" );}}}else{if ( stristr( $bezahlt_values, $r['interner_name'] ) ){$GLOBALS["ui"]->assign( "bezahlt", 1 );$GLOBALS["ui"]->assign( "rechnung_bezahlt","Rechnung bezahlt (" . $bezahlt_values . ")" );}}}}$GLOBALS["ui"]->assign( "bezahlt_values", $bezahlt_values );}}// ME: ENDE Soll 'Rechnung bezahlt' auf der Vorschaltseite angezeigt werden?// die FPDF Class erweitern (PDF)class PDF extends FPDF{function generate_LN( $bestell_id, $art, $Nummernkreis ){global $web_rechte;if ( $Nummernkreis ){if ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnungsnrtrennung"] ) ){$sql_re = "SELECTre_shortFROMshopsWHEREID=" . $GLOBALS["shops_ID"] . "";$res_re = mysql_query( $sql_re );$row_re = mysql_fetch_assoc( $res_re );$re_short = $row_re["re_short"];}$sql = "SELECTl_nr AS lnFROMnummernkreis_rechnungWHEREjahr=" . date( "Y" );if ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnungsnrtrennung"] ) ){$sql .= "ANDre_short='$re_short'";}$res = mysql_query_logged( $sql );if ( $res ){if ( mysql_num_rows( $res ) ){$row = mysql_fetch_assoc( $res );$ln = $row["ln"];$ln++;}else{$ln = 1;$sql = "INSERT INTOnummernkreis_rechnung(l_nr,";if ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnungsnrtrennung"] ) ){$sql .= "re_short,";}$sql .= "jahr)VALUES($ln,";if ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnungsnrtrennung"] ) ){$sql .= "'" . $re_short . "',";}$sql .= "" . date( "Y" ) . ")";mysql_query_logged( $sql );}}else{$ln = 1;}$sql = "UPDATEnummernkreis_rechnungSETl_nr=" . $ln . "WHEREjahr=" . date( "Y" ) . "";if ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnungsnrtrennung"] ) ){$sql .= "ANDre_short='$re_short'";}mysql_query_logged( $sql );}else{$date = date( "Y-m-d" );$f_name = $art . "_" . $bestell_id . "_" . $date;$sql = "SELECTMAX(document) AS dokumentFROMdokumenteWHEREdocumentLIKE'$f_name%'";$res = mysql_query( $sql );if ( $res ){if ( mysql_num_rows( $res ) ){$row = mysql_fetch_assoc( $res );$dokument = substr( $row["dokument"], 0, strlen( $row["dokument"] ) -4 );$dokument = explode( "_", $dokument );$ln = $dokument[count( $dokument ) - 1];$ln++;}else{$ln = 1;}}else{$ln = 1;die( mysql_error() );}}return $ln;}//Page headerfunction Header(){global $site, $r_nr, $Einzug;$h_file = "includes/rechnung/header_" . $site . "_" . $GLOBALS["shops_ID"] .".inc.php";if ( file_exists( $h_file ) ){require ( $h_file );}else{require ( "includes/rechnung/header_" . $site . ".inc.php" );}}//Page footerfunction Footer(){global $site, $Einzug;if ( file_exists( "includes/rechnung/footer_" . $site . "_" . $GLOBALS["shops_ID"] .".inc.php" ) ){require ( "includes/rechnung/footer_" . $site . "_" . $GLOBALS["shops_ID"] .".inc.php" );}else{require ( "includes/rechnung/footer_" . $site . ".inc.php" );}}function NbLines( $w, $txt ){//Computes the number of lines a MultiCell of width w will take$cw = &$this->CurrentFont['cw'];if ( $w == 0 )$w = $this->w - $this->rMargin - $this->x;$wmax = ( $w - 2 * $this->cMargin ) * 1000 / $this->FontSize;$s = str_replace( "\r", '', $txt );$nb = strlen( $s );if ( $nb > 0 and $s[$nb - 1] == "\n" )$nb--;$sep = -1;$i = 0;$j = 0;$l = 0;$nl = 1;while ( $i < $nb ){$c = $s[$i];if ( $c == "\n" ){$i++;$sep = -1;$j = $i;$l = 0;$nl++;continue;}if ( $c == ' ' )$sep = $i;$l += $cw[$c];if ( $l > $wmax ){if ( $sep == -1 ){if ( $i == $j )$i++;}else$i = $sep + 1;$sep = -1;$j = $i;$l = 0;$nl++;}else$i++;}return $nl;}}// ME: wurde die Seite über Massenrechnungsdruck aufgerufen?if ( is_array( $_POST['chk_bestellung'] ) && $_POST['action'] !="genMultiPDF" ){unset( $_POST['b_id'] );// dann erstmal die Vorschaltseite anzeigen und die action entsprechend ändern$GLOBALS["ui"]->assign( "chk_bestellung", $_POST['chk_bestellung'] );$GLOBALS["ui"]->assign( "action", "genMultiPDF" );$GLOBALS["ui"]->display( "rechnung_prepage.tpl" );}else{// Wenn nein, wird die Funktion normal aufgerufen$GLOBALS["ui"]->assign( "action", "genPDF" );print_Rechnung( $b_id );}// Massendruck: nach der Vorschaltseite gehts hier weiter durch alle Bestellungenif ( $_POST['action'] == "genMultiPDF" ){unset( $_POST['b_id'] );$_POST['action'] = "genPDF";foreach ( $_POST['chk_bestellung'] as $key => $b_id ){$f_name = print_Rechnung( $b_id );if ( !file_exists( $webs['verzeichnis'] ."/images/dokumente/combine" ) ){mkdir( $webs['verzeichnis'] . "/images/dokumente/combine" );}copy( $webs['verzeichnis'] . "/images/dokumente/" . $f_name, $webs['verzeichnis'] ."/images/dokumente/combine/$f_name" );}$tmp_name = "combined_" . Text_Password::create( 32, "unpronouncable" ) .".pdf";$cmd = "cd " . $webs['verzeichnis'] ."/images/dokumente/combine/; mbtPdfAsm -MR*.pdf -d" . $tmp_name .";rm R*.pdf";exec( $cmd, $out );$loc = "http://www." . $site_full . "/images/dokumente/combine/$tmp_name";//echo $loc;header( "Location: $loc" );if ( count( $errorIds ) ){$ids = implode( ", ", $errorIds );echo "Fehler beim Erstellen der Rechnung in Bestellungen: " . $ids;}}////////////////////////////////////////////// Beginn der Hauptfunktion print_Rechnung////////////////////////////////////////////function print_Rechnung( $b_id ){global $errorIds;global $web_rechte;global $user_rechte;global $site;global $webs;global $show_prepage;global $localhost_dbh;if ( $b_id ){$GLOBALS["ui"]->assign( "b_id", $b_id );}$zz_text = null;$mass_print = 0;// ME: wurde die Seite über Massenrechnungsdruck aufgerufen?if ( is_array( $_POST['chk_bestellung'] ) ){$mass_print = 1;}// ME: START Vorbereitung der Ausgabe des Zahlungsziels auf der Rechnungif ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["zahlungsziel"] ) ){if ( $_POST['action'] == "genPDF" ){if ( $_POST['zahlungsziel'] ){$sql = "select * from zahlungsziele where id=" . $_POST['zahlungsziel'] ."";if ( $q = mysql_query( $sql ) ){if ( $r = mysql_fetch_assoc( $q ) ){$zieltage = date( 'd.m.Y', strtotime( '+' . $r['zieltage'] .' days' ) );$serArr['ziel'] = strtotime( '+' . $r['zieltage'] .' days' );if ( $r['skonto1'] > 0 ){$skonto1 = $r['skonto1'];$serArr['skonto1'] = $skonto1;}if ( $r['zieltageskonto1'] > 0 ){$zieltageskonto1 = date( 'd.m.Y', strtotime( '+' .$r['zieltageskonto1'] . ' days' ) );$serArr['zielskonto1'] = strtotime( '+' . $r['zieltageskonto1'] .' days' );}if ( $r['skonto2'] > 0 ){$skonto2 = $r['skonto2'];$serArr['skonto2'] = $skonto2;}if ( $r['zieltageskonto2'] > 0 ){$zieltageskonto2 = date( 'd.m.Y', strtotime( '+' .$r['zieltageskonto2'] . ' days' ) );$serArr['zielskonto2'] = strtotime( '+' . $r['zieltageskonto2'] .' days' );}@eval( "\$rechnungsbaustein_int=\"" . addslashes( $r["rechnungsbaustein"] ) ."\";" );$zz_text = $rechnungsbaustein_int;}}}}}if ( $_POST['rechnung_bezahlt'] ){$zz_text = "Betrag lt. Kassenbeleg dankend erhalten.";}// ME: ENDE Vorbereitung der Ausgabe des Zahlungsziels auf der Rechnung// ME: soll die Rechnung als Gutschrift ausgegeben werden?$gutschrift = 0;if ( isset( $_POST['gutschrift'] ) ){$gutschrift = 1;}// START PRÜFUNG ARTIKEL FÜR RECHNUNGSDRUCK!// ME: hier muss geprüft werden, ob mind. ein Artikel für den Rechnungsdruck ausgewählt wurde.// Wenn nicht, gibts ne Fehlermeldung!$sql = "SELECTab.*FROMartikel_to_Bestellung abLEFT OUTER JOINartikel aONa.ID=ab.artikelWHEREBestellung=$b_idANDab.`status` != 'storniert'";if ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["artikel_sortieren"] ) ){$sql .= "ORDER BYab.Rang,Father desc,a.kennung";}else{$sql .= "ORDER BYFather desc,a.kennung";}$r_schreiben = 0;if ( $q = mysql_query( $sql ) ){while ( $r = mysql_fetch_assoc( $q ) ){if ( $r['rechnungStatus'] == 'schreiben' ){$r_schreiben++;}}}else{echo mysql_error();}if ( $r_schreiben == 0 ){if ( $mass_print == 1 ){$errorIds[] = $b_id;return true;}else{die( "<div style=\"font-size:0.8em;padding:10px;width:300px;border:1px solid #ccc;font-family:arial,helvetica,sans-serif;\"><h1 style=\"font-size:1em;\">Fehler!</h1><p>Sie müssen den Rechnungsstatus für mind. einen Artikel auf 'schreiben' setzen!</p><p><a href=\"javascript:window.close();\">Fenster schliessen</a></p></div>" );}}// ENDE PRÜFUNG ARTIKEL FÜR RECHNUNGSDRUCK!// Rechnungsbausteine?$sql_b = "SELECT * FROM Bestellung WHERE ID=$b_id";$res_b = mysql_query_logged( $sql_b );$row_b = mysql_fetch_assoc( $res_b );$bestellart_id = $row_b['bestellart_id'];$shops_ID = $row_b['shops_ID'];$b_name = $row_b["letzte_Aenderung_von"];$b_name = substr( $b_name, 0, strpos( $b_name, "@" ) );$dat = datetime2human( $row_b["letzte_Aenderung_am"] );$sql_l = "SELECT * FROM Logins WHERE ID=" . $row_b["Login"];$res_l = mysql_query_logged( $sql_l );$row_l = mysql_fetch_assoc( $res_l );$name = ( $row_l["Vorname"] ) ? $row_l["Vorname"] . " " . $row_l['Name1'] :$row_l["Name1"];/*** Wenn Nettoberechnung nicht gesetzt ist (bei Logins),* und beim Kunden das Recht gesetzt ist,* oder das Webrecht garnicht existiert,* werden Bruttopreise angezeigt*/$showBruttoPreis = 1;if ( ( isset( $web_rechte['logins']['admin']['nettoberechnung'] ) == 1 &&$row_l['nettoberechnung'] == "on" ) || ( isset( $web_rechte['logins']['admin']['nettoberechnung'] ) !=1 ) ){$showBruttoPreis = 0;}if ( isset( $web_rechte['Warenwirtschaft']['bestellung']['abw_lieferdatum'] ) ){define( 'LEISTUNGS_DATUM', true );}if ( file_exists( "includes/rechnung/body_" . $site . "_" . $shops_ID .".inc.php" ) ){require ( "includes/rechnung/body_" . $site . "_" . $shops_ID .".inc.php" );}else{require "includes/rechnung/body_" . $site . ".inc.php";}if ( $Einzug_rechts ){$Einzug = $Einzug_rechts;}else{$Einzug = 10;}if ( !defined( "BEMERKUNG2_DRUCKEN" ) ){define( "BEMERKUNG2_DRUCKEN", true );}if ( !defined( "LEISTUNGS_DATUM" ) ){define( "LEISTUNGS_DATUM", false );}// ME: Anrede in der richtigen Sprache$anrede = $row_l["Anrede"];if ( $row_l['Land'] == "Nederland" ){switch ( $row_l['Anrede'] ){case "Herr":$anrede = "Heer";break;case "Frau":$anrede = "Mevrouw";break;default:$anrede = "Heer";break;}}$plz = $row_l["PLZ"];$ort = $row_l["ORT"];$str = $row_l["Strasse"];$str .= ( isset( $row_l["Hausnummer"] ) ) ? " " . $row_l["Hausnummer"] :"";$iso_land = getIsoCode( $row_l['Land'], 2 );$firma = ( isset( $row_l["Name2"] ) ) ? $row_l["Name2"] : "";$mwst_befreiung = $row_l["mwst_befreiung"];$ustid_nr = $row_l["ustid_nr"];if ( !$b_id ){if ( $_GET["b_id"] ){$b_id = ( int )$_GET["b_id"];}elseif ( $_POST["b_id"] ){$b_id = ( int )$_POST["b_id"];}else{die( "Keine Bestellung angegeben!" );}}// Standard-Zahlungsziel? STARTif ( isset( $web_rechte["logins"]["admin"]["zahlungsziel"] ) ){// alle Zahlungsziele holen$sql = "select*fromzahlungszieleorder byname";if ( $q = mysql_query( $sql ) ){while ( $r = mysql_fetch_assoc( $q ) ){$zieltage = date( 'd.m.Y', strtotime( '+' . $r['zieltage'] .' days' ) );$skonto1 = $r['skonto1'];$zieltageskonto1 = date( 'd.m.Y', strtotime( '+' . $r['zieltageskonto1'] .' days' ) );if ( $skonto1 > 0 ){$skontobetrag1 = money_format( $summe_b['total'] - ( $summe_b['total'] *( $skonto1 / 100 ) ), 2 );}$skonto2 = $r['skonto2'];$zieltageskonto2 = date( 'd.m.Y', strtotime( '+' . $r['zieltageskonto2'] .' days' ) );if ( $skonto2 > 0 ){$skontobetrag2 = money_format( $summe_b['total'] - ( $summe_b['total'] *( $skonto2 / 100 ) ), 2 );}@eval( "\$rechnungsbaustein_int=\"" . addslashes( $r["rechnungsbaustein"] ) ."\";" );$r["rechnungsbaustein_int"] = $rechnungsbaustein_int;$zziele[] = $r;}}$GLOBALS["ui"]->assign( "zziele", $zziele );// gibt es für den User ein Zahlungsziel?$sql = "selectl.zahlungsziele_idfromBestellung b,Logins lwhereb.Login = l.IDandb.ID = " . $b_id . "";if ( $q = mysql_query( $sql ) ){if ( $r = mysql_fetch_assoc( $q ) ){$GLOBALS["ui"]->assign( "zID", $r['zahlungsziele_id'] );}}$GLOBALS["ui"]->assign( "zahlungsziel", "true" );$show_prepage++;}// Standard-Zahlungsziel? ENDE// ggf. wird die Vorschaltseite ausgegebenif ( $show_prepage > 0 and !$_POST['action'] ){$GLOBALS["ui"]->display( "rechnung_prepage.tpl" );}if ( ( $show_prepage == 0 ) or ( $_POST['action'] == "genPDF" ) ){//Instanciation of inherited class$showLieferadresse = 0;$pdf = new PDF();if ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["rechnung"] ) ){$Status = false;$Nummernkreis = false;$Speichern = false;$daten = explode( ";", $web_rechte["Warenwirtschaft"]["bestellung"]["rechnung"] );$id = array_search( "Status", $daten );if ( $id !== false ){$Status = true;}$id = array_search( "Nummernkreis", $daten );if ( $id !== false ){$Nummernkreis = true;if ( !isset( $anz_stellen ) ){$anz_stellen = 5;}$r_nr = sprintf( "%0" . $anz_stellen . "d", $pdf->generate_LN( $b_id, "R", true ) );if ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnungsnrtrennung"] ) ){$sql = "SELECTre_shortFROMshopsWHEREid=$shops_ID";$res = mysql_query( $sql );$row = mysql_fetch_assoc( $res );$r_nr = $row["re_short"] . $r_nr;}$r_nr = date( "y" ) . $r_nr;$fName = "R" . $r_nr . ".pdf";if ( $gutschrift == 1 ){$fName = "G" . $r_nr . ".pdf";}}else{$date = date( "Y-m-d" );$ln = $pdf->generate_LN( $b_id, "L", false );if ( !isset( $anz_stellen ) ){$anz_stellen = 5;}$r_nr = sprintf( "%0" . $anz_stellen . "d", $ln );$fName = "R_" . $b_id . "_" . $date . "_" . $r_nr . ".pdf";if ( $gutschrift == 1 ){$fName = "G_" . $b_id . "_" . $date . "_" . $r_nr .".pdf";}}$id = array_search( "Speichern", $daten );if ( $id !== false ){$Speichern = true;}}$pdf->setSubject( "Rechnung" );$pdf->setAuthor( $haendler_name );$pdf->setCreator( "fpdf PHP Library" );$pdf->AliasNbPages();$pdf->AddPage();$pdf->setY( 45 );$pdf->setFont( 'Arial', '', 8 );$pdf->SetX( $Einzug );$pdf->cell( 80, 4, $umschlag, "B", 1, "L" );$pdf->setFont( 'Arial', '', 10 );$pdf->ln( 5 );$pdf->setX( 20 );$pdf->SetX( $Einzug );if ( !$firma ){$pdf->setX( 20 );$pdf->cell( 80, 4, $anrede, 0, 1, "L" );$pdf->setX( 20 );$pdf->cell( 80, 4, $name, 0, 1, "L" );}else{$pdf->setX( 20 );$pdf->cell( 80, 4, $firma, 0, 1, "L" );$pdf->setX( 20 );$pdf->cell( 80, 4, $anrede . " " . $name, 0, 1, "L" );}$pdf->setX( 20 );$pdf->cell( 80, 4, $str, 0, 1, "L" );$pdf->setX( 20 );if ( $iso_land == "DE" or $iso_land == "DEU" ){$pdf->cell( 80, 4, "$plz $ort", 0, 1, "L" );}else{if ( strlen( $iso_land ) > 0 ){$pdf->cell( 80, 4, "$iso_land - $plz $ort", 0, 1, "L" );}else{$pdf->cell( 80, 4, "$plz $ort", 0, 1, "L" );}}if ( $Infozeile != 'on' ){$pdf->setY( 80 );if ( $bestellnummer_drucken === true ){$nr_text = "Best.Nr.";$nr = $row_b["ID"];}else{$nr_text = "Kunden Nr.:";$nr = $row_l["ID"];}$pdf->cell( 150, 4, $nr_text, 0, 0, "R" );$pdf->cell( 0, 4, $nr, 0, 1, "R" );$pdf->cell( 150, 4, "Bearbeiter:", 0, 0, "R" );$pdf->cell( 0, 4, $b_name, 0, 1, "R" );$pdf->cell( 150, 4, "USt-IdNr.:", 0, 0, "R" );$pdf->cell( 0, 4, $haendler_ust_id, 0, 1, "R" );// Ausgabe Leistungsdatumif ( LEISTUNGS_DATUM == true ){if ( $_POST['leistungsdatum'] ){$pdf->cell( 150, 4, "Leistungsdatum:", 0, 0, "R" );$pdf->cell( 0, 4, $_POST['leistungsdatum'], 0, 1, "R" );}else{$pdf->cell( 150, 4, "Leistungsdatum:", 0, 0, "R" );$pdf->cell( 0, 4, $dat["Datum"], 0, 1, "R" );}}else{$pdf->cell( 150, 4, "Datum:", 0, 0, "R" );$pdf->cell( 0, 4, date( "d.m.Y" ), 0, 1, "R" );}// Ausgabe Rechnungsdatumif ( $_POST['rechnungsdatum'] ){$pdf->cell( 150, 4, "Rechnungsdatum:", 0, 0, "R" );$pdf->cell( 0, 4, $_POST['rechnungsdatum'], 0, 1, "R" );}else{$pdf->cell( 150, 4, "Rechnungsdatum:", 0, 0, "R" );$pdf->cell( 0, 4, date( "d.m.Y" ), 0, 1, "R" );}}// Lieferadresse auf Rechnung ausdrucken?if ( ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["rechnung"] ) and( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["lieferadresse_auf_rechnung"] ) and( $row_b['liefer_Strasse'] ) ) ) ){$pdf->setY( 50 );$pdf->setX( 135 );$pdf->setFont( 'Arial', 'B', 8 );$pdf->cell( 145, 4, "Lieferadresse:", 0, 2, "L" );$pdf->setFont( 'Arial', '', 8 );if ( $row_b['liefer_Firma'] )$pdf->cell( 145, 4, $row_b['liefer_Firma'], 0, 2, "L" );if ( $row_b['liefer_Name'] )$pdf->cell( 145, 4, $row_b['liefer_Name'], 0, 2, "L" );if ( $row_b['liefer_Strasse'] )$pdf->cell( 145, 4, $row_b['liefer_Strasse'] . " " . $row_b['liefer_Str_Nr'],0, 2, "L" );if ( $row_b['liefer_Ort'] )$pdf->cell( 145, 4, $row_b['liefer_PLZ'] . " " . $row_b['liefer_Ort'],0, 2, "L" );if ( $row_b['liefer_Land'] )$pdf->cell( 145, 4, $row_b['liefer_Land'], 0, 2, "L" );}$pdf->ln( 10 );$pdf->SetFont( 'Arial', 'B', 14 );if ( !$Rechungsueberschrift ){$pdf->cell( 0, 4, $REName, 0, 1, "C" );}else{$fill = "cell( 0, 4, \'Rechnung\' , 0, 1, \'L\' )";$pdf->$fill;}$pdf->ln( 5 );$pdf->SetFont( 'Arial', 'B', 9 );$sql = "SELECTab.*FROMartikel_to_Bestellung abLEFT OUTER JOINartikel aONa.ID=ab.artikelWHEREBestellung=$b_idANDab. `status` != 'storniert'";if ( $Status ){$sql .= " AND rechnungStatus = 'schreiben'";}//$sql .= " ORDER BY Rang, Bezeichnung ";if ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["artikel_sortieren"] ) ){$sql .= "ORDER BYab.Rang,Father desc,a.kennung";}else{$sql .= "ORDER BYFather desc,a.kennung";}$res = mysql_query_logged( $sql );$summe_n = array();$summe_b = array();$preis_n = 0;$g_preis = 0;$g_preis_n = 0;$pos = 1;$mwst_arr = array(0 => 19,1 => 7,null => 19 );// Lieferadresse ausgebenif ( $Lieferadresse == "on" ){if ( $row_b['liefer_Strasse'] ){$x_tmp = $pdf->GetX();$y_tmp = $pdf->GetY();$lanr = "";if ( $row_b['liefer_Anrede'] ){$lanr = $row_b['liefer_Anrede'] . " ";}$pdf->SetFont( 'Arial', '', 9 );$pdf->SetY( 10 );$pdf->SetX( $Einzug + 5 );$pdf->cell( 0, 3, 'Lieferanschrift:', 0, 2, 'L' );$pdf->Cell( 0, 3, $row_b['liefer_Firma'], 0, 2, 'L' );$pdf->cell( 0, 3, $lanr . $row_b['liefer_Name'], 0, 2, 'L' );$pdf->cell( 0, 3, $row_b['liefer_Strasse'] . " " . $row_b['liefer_Str_Nr'],0, 2, 'L' );$pdf->cell( 0, 3, $row_b['liefer_PLZ'] . " " . $row_b['liefer_Ort'],0, 2, 'L' );$pdf->cell( 0, 3, $row_b['liefer_Land'], 0, 2, 'L' );$pdf->SetFont( 'Arial', '', 10 );$pdf->SetX( $x_tmp );$pdf->SetY( $y_tmp );}}//Zusatzkopfif ( $Infozeile == 'on' ){if ( $bestellnummer_drucken === true ){$nr_text = "Best.Nr.";$nr = $row_b["ID"];}else{$nr_text = "Kunden Nr.:";$nr = $row_l["ID"];}$pdf->Ln( 15 );$pdf->SetX( $Einzug );$pdf->setFillColor( 204 );if ( $gutschrift == 1 ){$pdf->cell( 25, 4, "Gutschrift Nr.", "LTR", 0, "C", 1 );}else{$pdf->cell( 25, 4, "Rechnungs Nr.", "LTR", 0, "C", 1 );}$pdf->cell( 20, 4, $nr_text, "LTR", 0, "C", 1 );$pdf->cell( 65, 4, "Bearbeiter", "LTR", 0, "C", 1 );if ( LEISTUNGS_DATUM == true ){$pdf->cell( 35, 4, "Leistungsdatum", "LTR", 0, "C", 1 );}else{$pdf->cell( 35, 4, "Datum", "LTR", 0, "C", 1 );}$pdf->cell( 0, 4, "Seite", "LTR", 1, "C", 1 );$pdf->setFillColor( 255 );$pdf->SetX( $Einzug );$pdf->cell( 25, 4, "$r_nr", "LBR", 0, "C", 1 );$pdf->cell( 20, 4, $nr, "LBR", 0, "C", 1 );$pdf->cell( 65, 4, "$b_name", "LBR", 0, "C", 1 );if ( LEISTUNGS_DATUM == true ){$pdf->cell( 35, 4, $dat["Datum"], "LBR", 0, "C", 1 );}else{$pdf->cell( 35, 4, date( 'd.m.Y' ), "LBR", 0, "C", 1 );}$pdf->cell( 0, 4, $pdf->PageNo(), "LBR", 1, "C", 1 );}$pdf->setFillColor( 204 );$pdf->SetX( $Einzug );$pdf->cell( 10, 4, "$Pos_text", "LTR", 0, "C", 1 );$pdf->cell( 15, 4, "$Menge_text", "LTR", 0, "C", 1 );$pdf->cell( 20, 4, "$Kennung_text", "LTR", 0, "C", 1 );$pdf->cell( 100, 4, "$Text_text", "LTR", 0, "C", 1 );$pdf->cell( 20, 4, "$Einzelpreis_text", "LTR", 0, "C", 1 );$pdf->cell( 0, 4, "$Gesamtpreis_text", "LTR", 1, "C", 1 );$pdf->SetX( $Einzug );$pdf->cell( 10, 4, "", "LBR", 0, "C", 1 );$pdf->cell( 15, 4, "", "LBR", 0, "C", 1 );$pdf->cell( 20, 4, "", "LBR", 0, "C", 1 );$pdf->cell( 100, 4, "", "LBR", 0, "C", 1 );$pdf->cell( 20, 4, "€", "LBR", 0, "C", 1 );$pdf->cell( 0, 4, "€", "LBR", 1, "C", 1 );$pdf->setFillColor( 255 );$pdf->SetFont( 'Arial', '', 9 );while ( $row = mysql_fetch_assoc( $res ) ){$pdf->SetX( $Einzug );$menge = $row["Menge"];$zahlart = $row['zahlart'];$e_preis = $row["Preis_pro_Stueck"];$a_name = $row["Bezeichnung"];if ( $row["artikel"] != "0" ){$sql_a = "SELECT*FROM" . artikelDatabase( $row_b["shops_ID"] ) . "WHEREID=" . $row["artikel"] . "";$res_a = mysql_query( $sql_a );$row_a = mysql_fetch_assoc( $res_a );if ( !$a_name ){$a_name = html_entity_decode( $row_a["kurzbezeichnung"] );}$kennung = $row_a["kennung"];$mwst = ( $row["mwst"] != "0.00" && !empty( $row["mwst"] ) ) ?$row["mwst"] : $mwst_arr[$row_a["tax1"]];$preis_n = $e_preis - ( $e_preis * $mwst / ( 100 + $mwst ) );// ME: Wenn in der Bestellung ein Rang angegeben ist,// wird dieser statt der laufenden Nummer als Pos ausgegeben/*if ( $row['Rang'] > 0 ){$pos = $row['Rang'];}*/if ( $showBruttoPreis == 1 ){$preis_n = $e_preis;}if ( $row_a["Father"] == -3 ){continue;/* $versandname = $row["Bezeichnung"];$pos = "";$menge = "";$g_preis = $e_preis;$g_preis_n = $preis_n;*/}else{// ME: Bestandsmehrung oder auch nicht bei Gutschriftenif ( ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["gutschriftoption"] ) ) and( isset( $user_rechte["Warenwirtschaft"]["bestellung"]["gutschriftoption"] ) ) ){if ( isset( $_POST['gutschrift'] ) ){if ( !isset( $_POST['keine_bestandsaenderung'] ) ){$buchungstext ='Buchung durchgeführt durch Gutschrift ' .$r_nr . ' am ' . date( 'd.m.Y', time() );setBuchungFromBestellung( $_GET['b_id'], $buchungstext,$row_a['ID'], $menge );}}}/*** Bestandsminderung:** Ist das Webrecht: $web_rechte['Warenwirtschaft']['lagerwirtschaft']['bestandsminderung'] gleich "Rechnung",* so wird in der Rechnungserstellung (rechnung.php) die Bestandsminderung durchgeführt.** Folgende Punkte werden hierfür durchgeführt:* 1. Eine neue Buchung wird in der Tabelle "buchungen" erzeugt.* 2. Die zur Buchung gehörenden Lagerbewegungen, werden in die Tabelle "lagerbewegungen" eingetragen.**/if ( ( $row_a['Father'] > 0 ) and ( $web_rechte['Warenwirtschaft']['lagerwirtschaft']['bestandsminderung'] =='Rechnung' ) ){if ( ( isset( $web_rechte['Warenwirtschaft']['lagerwirtschaft']['minderungsunterdrueckung'] ) ) ){$minderung = 1;if ( is_array( $_POST["baustein"] ) ){foreach ( $_POST['baustein'] as $key => $val ){if ( stristr( $val,"keine Bestandsminderung" ) ){$minderung = 0;}}}if ( isset( $_POST['keine_bestandsaenderung'] ) orisset( $_POST['gutschrift'] ) ){$minderung = 0;}if ( $minderung == 1 ){$buchungstext ='Buchung durchgeführt durch Rechnung ' .$r_nr . ' am ' . date( 'd.m.Y', time() );setBuchungFromBestellung( $_GET['b_id'], $buchungstext,$row_a['ID'], $menge * -1 );}}}$g_preis = $e_preis * $menge;$g_preis_n = $preis_n * $menge;}}else{$mwst = 19;$preis_n = $e_preis - ( $e_preis * $mwst / ( 100 + $mwst ) );$g_preis = $e_preis * $menge;$g_preis_n = $preis_n * $menge;$kennung = "";$a_name = $row["Bezeichnung"];}$summe_b[$mwst] += $g_preis;$summe_n[$mwst] += $g_preis_n;$h = $pdf->NbLines( 100, $a_name );$h = 5 * $h;$x = $pdf->GetX();$y = $pdf->GetY();$pdf->Multicell( 10, $h, $pos . ".", 1, "C" );$pdf->SetXY( $x + 10, $y );$x = $pdf->GetX();$y = $pdf->GetY();$pdf->Multicell( 15, $h, ( ( is_numeric( $pos ) ) ? str_replace( ",00", "", number_format( $menge, 2, ',', '.' ) ) : "" ) ." x", 1, "C" );$pdf->SetXY( $x + 15, $y );$x = $pdf->GetX();$y = $pdf->GetY();$pdf->Multicell( 20, $h, $kennung, 1, "C" );$pdf->SetXY( $x + 20, $y );$x = $pdf->GetX();$y = $pdf->GetY();$pdf->Multicell( 100, 5, $a_name, 1, "L" );$pdf->SetXY( $x + 100, $y );$x = $pdf->GetX();$y = $pdf->GetY();if ( $showBruttoPreis == 1 ){$pdf->Multicell( 20, $h, number_format( $preis_n, 2, ',','.' ), 1, "R" );}else{$pdf->Multicell( 20, $h, number_format( $preis_n, 3, ',','.' ), 1, "R" );}$pdf->SetXY( $x + 20, $y );$pdf->Multicell( 0, $h, number_format( $g_preis_n, 2, ',', '.' ),1, "R" );//$pdf->ln( 4 );if ( $Status ){$sql_s ="UPDATE artikel_to_Bestellung SET rechnungStatus='geschrieben' WHERE ID=" .$row["ID"];mysql_query_logged( $sql_s ) or die( mysql_errno() . ": " .mysql_error() );}$pos++;}// ME: Prüfen, ob die Tabelle zahlungsarten existiert$select_z = "";$from_z = "";$where_z = "";if ( table_exists( 'zahlungsarten', $webs["datenbank"], $localhost_dbh ) == "true" ){$zahlungsarten = 1;$select_z = ",z.id as zahlungsarten_id";$from_z = ", zahlungsarten z";$where_z = " and z.interner_name = a.short_line_1";}$sql = "SELECTab.*,a.short_line_1 as zahlart" . $select_z . "FROMartikel_to_Bestellung ab," . artikelDatabase( $row_b["shops_ID"] ) . " a" . $from_z . "WHEREBestellung=$b_idANDab.status!='storniert'ANDa.ID=ab.artikelANDa.Father=-3" . $where_z . "ORDER BYRang,ab.Bezeichnung";$res = mysql_query_logged( $sql ) or mail( "niewerth@weban.de","Fehler in createMailOrderText.php", mysql_errno() . ": " .mysql_error() . "<hr>$query<hr>","from: cms_Warenwirtschaft_rechung.php select artikel_to_Bestellung" );if ( mysql_num_rows( $res ) ){$row = mysql_fetch_assoc( $res );$menge = $row["Menge"];$e_preis = $row["Preis_pro_Stueck"];if ( $zahlungsarten == 1 ){$zahlungsarten_id = $row['zahlungsarten_id'];}if ( $row["artikel"] != 999999 ){$sql_a = "SELECT*FROM" . artikelDatabase( $row_b["shops_ID"] ) . "WHEREID=" . $row["artikel"] . "";$res_a = mysql_query( $sql_a ) or die( mysql_errno() . ": " .mysql_error() );if ( !$res_a ){echo mysql_error() . "<br>$sql_a";var_dump( $row );}$row_a = mysql_fetch_assoc( $res_a );$kennung = $row_a["kennung"];$mwst = ( $row["mwst"] != "0.00" && !empty( $row["mwst"] ) ) ?$row["mwst"] : $mwst_arr[$row_a["tax1"]];$preis_n = $e_preis - ( $e_preis * $mwst / ( 100 + $mwst ) );if ( $showBruttoPreis == 1 ){$preis_n = $e_preis;}if ( $row_a["Father"] == -3 ){$versandname = $row["Bezeichnung"];$pos = "";$menge = "";$g_preis = $e_preis;$g_preis_n = $preis_n;}else{$g_preis = $e_preis * $menge;$g_preis_n = $preis_n * $menge;}}else{$mwst = 19;$preis_n = $e_preis - ( $e_preis * $mwst / ( 100 + $mwst ) );$g_preis = $e_preis * $menge;$g_preis_n = $preis_n * $menge;$kennung = "";}$summe_b[$mwst] += $g_preis;$summe_n[$mwst] += $g_preis_n;$a_name = $row["Bezeichnung"];$pdf->SetX( $Einzug );$pdf->cell( 10, 4, $pos, 1, 0, "C" );$pdf->cell( 15, 4, ( is_numeric( $pos ) ) ? number_format( $menge,2, ',', '.' ) : "", 1, 0, "R" );$pdf->cell( 20, 4, $kennung, 1, 0, "C" );$pdf->cell( 100, 4, $a_name, 1, 0, "L", 0, "", 0, 0 );if ( $showBruttoPreis == 1 ){$pdf->cell( 20, 4, number_format( $preis_n, 2, ',', '.' ), 1,0, "R" );}else{$pdf->cell( 20, 4, number_format( $preis_n, 3, ',', '.' ), 1,0, "R" );}$pdf->cell( 0, 4, number_format( $g_preis_n, 2, ',', '.' ), 1, 0,"R" );$pdf->ln( 4 );$pos++;}foreach ( $summe_n as $mwst => $betrag ){$summe_n["total"] += $betrag;}foreach ( $summe_b as $mwst => $betrag ){$summe_b["total"] += $betrag;}$pdf->SetX( $Einzug );if ( $showBruttoPreis == 1 ){$pdf->cell( 165, 4, "Gesamt Brutto", 1, 0, "L" );$pdf->cell( 0, 4, number_format( $summe_b["total"], 2, ',', '.' ),1, 1, "R" );}else{$pdf->cell( 165, 4, "Gesamt Netto", 1, 0, "L" );$pdf->cell( 0, 4, number_format( $summe_n["total"], 2, ',', '.' ),1, 1, "R" );}$pdf->SetX( $Einzug );// Mehrwertsteuer Ausgabe bei Bruttoberechnungif ( $showBruttoPreis == 1 ){foreach ( $summe_b as $mwst => $betrag ){if ( $mwst != "total" ){if ( $mwst_befreiung == 'on' ){$mwst = 0.00;}if ( $showBruttoPreis == 1 ){$pdf->cell( 165, 4, "inkl. $mwst % MwSt. auf " .number_format( $betrag / 1.19, 2, ',', '.' ) ." € ( = Nettorechnungsbetrag)", "LBT", 0, "L" );}$pdf->cell( 0, 4, number_format( $betrag * $mwst / ( 100 +$mwst ), 2, ',', '.' ), 1, 1, "R" );define( 'MWST', $mwst );}}}else{// Mehrwertsteuer Ausgabe bei Nettoberechnungforeach ( $summe_n as $mwst => $betrag ){if ( $mwst != "total" ){if ( $mwst_befreiung == 'on' ){$mwst = 0.00;}$pdf->cell( 165, 4, "zzgl. $mwst % MwSt. auf " .number_format( $betrag, 2, ',', '.' ) . " €", "LBT",0, "L" );$pdf->cell( 0, 4, number_format( $betrag * $mwst / 100,2, ',', '.' ), 1, 1, "R" );define( 'MWST', $mwst );}}}$pdf->setFont( 'Arial', 'B', 12 );$pdf->SetX( $Einzug );// Ist Summe-Brutto kleiner als 0, wird der 'Gesamtbetrag' umbenannt in 'Gutschriftsbetrag'if ( $summe_b["total"] < 0 ){$pdf->cell( 165, 8, "Gutschriftsbetrag", "LBR", 0, "L" );}else{$pdf->cell( 165, 8, "Gesamtbetrag", "LBR", 0, "L" );}// Wenn die MwSt-Befreiung gesetzt ist, gebe als Gesamtbetrag die Summe als Netto aus, ansonsten mit Brutto$pdf->SetX( $Einzug );if ( $mwst_befreiung == 'on' ){$pdf->cell( 0, 8, number_format( $summe_n["total"], 2, ',', '.' ),"LBR", 1, "R" );}else{$pdf->cell( 0, 8, number_format( $summe_b["total"], 2, ',', '.' ),"LBR", 1, "R" );}$pdf->SetX( $Einzug );$pdf->cell( 0, 8, "", "T", 1 );$pdf->setFont( 'Arial', '', 9.5 );if ( $row_b["Bemerkung_extern"] && BEMERKUNG2_DRUCKEN ){// externe Bemerkung$pdf->SetX( $Einzug );$pdf->multiCell( 35, 4, "", 0, 0, "L" );$pdf->setFont( 'Arial', 'B', 9.5 );$pdf->SetX( $Einzug );$pdf->multiCell( 0, 4, $row_b["Bemerkung_extern"], 0, 1, "L" );$pdf->SetX( $Einzug );$pdf->multiCell( 0, 4, " ", 0, 1, "L" );$pdf->setFont( 'Arial', '', 9.5 );}// MwSt.-Befreiung Zusatztext$pdf->SetX( $Einzug );if ( $mwst_befreiung == 'on' ){$pdf->setFont( 'Arial', 'B', 10 );// Wenn das Land 'Deutschland' oder Leer ist, dann gebe speziellen Text ausif ( $row_l['Land'] == 'Deutschland' || empty( $row_l['Land'] ) ){$pdf->multiCell( 0, 4, "Deutschland nach §4", "", 1 );}else{// Wenn UST.IdNr. gesetzt ist => EU-Inland// Wenn nicht gesetzt ist => EU-Auslandif ( $ustid_nr ){$pdf->multiCell( 0, 4,"Der Rechnungsempfänger ist Steuerschuldner gem. § 13b UStG.\nUSt. ID Nr. vom Leistungsempfänger ist: $ustid_nr\nUSt. ID Nr. vom Leistungserbringer ist: $haendler_ust_id","", 1 );}else{$pdf->multiCell( 0, 4, "ACHTUNG:\n\nES HANDELT SICH UM EINE STEUERFREIE AUSLIEFERUNG IN EIN DRITTLAND GEM:.§4Nr. 1A USTG","", 1 );}}}$pdf->setFont( 'Arial', '', 9.5 );$pdf->SetX( $Einzug );if ( VERSAND_ANZEIGEN ){if ( $gutschrift == 1 ){$pdf->multiCell( 0, 4, "\r\nGutschrift", 0, 1, "L" );}else{$pdf->multiCell( 0, 4, "\r\nZahlung: $versandname\n$zahlungs_hinweis",0, 1, "L" );}}else{$pdf->multiCell( 0, 4, "\r\n$zahlungs_hinweis", 0, 1, "L" );}// START die Anzeige der ausgewählten Rechnungsbausteine$pdf->SetX( $Einzug );if ( ( $web_rechte["Warenwirtschaft"]["bestellung"]["rechnungsbausteine"] ) and( $_POST['action'] == "genPDF" ) ){//$pdf->multiCell( 0, 4, "Bemerkung:", 0, 1, "L" );//$pdf->setFont( 'Arial', '', 9.5 );if ( is_array( $_POST['baustein'] ) ){foreach ( $_POST['baustein'] as $kk => $vv ){if ( $vv != "keine Bestandsminderung" ){$pdf->multiCell( 0, 4, $vv, 0, 1, "L" );$pdf->setFont( 'Arial', '', 9.5 );}}}}// ENDE die Anzeige der ausgewählten Rechnungsbausteine// ME: START Vorbereitung der Ausgabe des Zahlungsziels auf der Rechnungif ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["zahlungsziel"] ) ){if ( $_POST['action'] == "genPDF" ){if ( $_POST['zahlungsziel'] ){$sql = "select * from zahlungsziele where id=" . $_POST['zahlungsziel'] ."";if ( $q = mysql_query( $sql ) ){if ( $r = mysql_fetch_assoc( $q ) ){$zieltage = date( 'd.m.Y', strtotime( '+' . $r['zieltage'] .' days' ) );$serArr['ziel'] = strtotime( '+' . $r['zieltage'] .' days' );// SKONTO 1if ( $r['skonto1'] > 0 ){$skonto1 = $r['skonto1'];$serArr['skonto1'] = $skonto1;$sk1 = $summe_b['total'] * ( $skonto1 / 100 );$skontobetrag1 = number_format( $sk1, 2, ",","." );$serArr['skontobetrag1'] = $sk1;}if ( $r['zieltageskonto1'] > 0 ){$zieltageskonto1 = date( 'd.m.Y', strtotime( '+' . $r['zieltageskonto1'] . ' days' ) );$serArr['zielskonto1'] = strtotime( '+' . $r['zieltageskonto1'] .' days' );}// SKONTO 2if ( $r['skonto2'] > 0 ){$skonto2 = $r['skonto2'];$serArr['skonto2'] = $skonto2;$sk2 = $summe_b['total'] * ( $skonto2 / 100 );$skontobetrag2 = number_format( $sk2, 2, ",","." );$serArr['skontobetrag2'] = $sk2;}if ( $r['zieltageskonto2'] > 0 ){$zieltageskonto2 = date( 'd.m.Y', strtotime( '+' . $r['zieltageskonto2'] . ' days' ) );$serArr['zielskonto2'] = strtotime( '+' . $r['zieltageskonto2'] .' days' );}$serArr['bruttobetrag'] = $summe_b['total'];@eval( "\$rechnungsbaustein_int=\"" . addslashes( $r["rechnungsbaustein"] ) . "\";" );$zz_text = $rechnungsbaustein_int;}}}}}// ME: ENDE Vorbereitung der Ausgabe des Zahlungsziels auf der Rechnung// Start Anzeige des Zahlungszielsif ( $zz_text ){$pdf->multiCell( 0, 6, $zz_text, 0, 1, "L" );$pdf->setFont( 'Arial', '', 9.5 );}// Ende Anzeige des Zahlungszielsif ( $Speichern ){$add_flds = "";$rechnung_key = "";if ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["rechnungslink"] ) ){$add_flds = ", rechnung_key";$rechnung_key = uniqid( hash( "sha512", $fName, true ) );}$pdf->Output( $webs['verzeichnis'] . "/images/dokumente/" . $fName,"F" );$sql = "INSERT INTOdokumente(table_foreign,row_foreign,data_foreign,document,letzte_Aenderung_am,letzte_Aenderung_von)VALUES('Bestellung','ID',$b_id,'$fName',NOW(),'" . $_SERVER["PHP_AUTH_USER"] . "')";mysql_query_logged( $sql ) or mail( "niewerth@weban.de","Fehler in createMailOrderText.php", mysql_errno() . ": " .mysql_error() . "<hr>$query<hr>","from: cms_Warenwirtschaft_rechung.php into documente" );}// Eintrag der Rechnung in das Rechnungsbuchif ( isset( $web_rechte['Warenwirtschaft']['rechnungsbuch']['rechnungsbuch'] ) ){$rechnungsdaten = array();// Rechnungsnummer$rechnungsdaten['rechnungsnummer'] = $r_nr;// Bestellnummer$rechnungsdaten['bestellung'] = $b_id;// shop$rechnungsdaten['shop'] = $shops_ID;// kundennr$rechnungsdaten['kundennr'] = $row_l["ID"];// kunde$rechnungsdaten['kunde'] = $name;// kunde$rechnungsdaten['firma'] = $firma;// erstellt_von$rechnungsdaten['erstellt_von'] = $_SERVER['PHP_AUTH_USER'];// mwst_19 und mwst_7switch ( MWST ){case '19.00':$rechnungsdaten['mwst_19'] = $betrag * ( MWST / 100 );$rechnungsdaten['mwst_7'] = 0.00;break;case '7.00':$rechnungsdaten['mwst_7'] = $betrag * ( MWST / 100 );$rechnungsdaten['mwst_19'] = 0.00;break;case '0.00':$rechnungsdaten['mwst_7'] = 0.00;$rechnungsdaten['mwst_19'] = 0.00;break;}// nettobetrag$rechnungsdaten['nettobetrag'] = $summe_n["total"];// bruttobetrag$rechnungsdaten['bruttobetrag'] = $rechnungsdaten['nettobetrag'] +$rechnungsdaten['mwst_7'] + $rechnungsdaten['mwst_19'];// ME: Bei Gutschriften müssen die Beträge negativ sein.if ( $gutschrift == 1 ){if ( $rechnungsdaten['mwst_7'] > 0 ){$rechnungsdaten['mwst_7'] = $rechnungsdaten['mwst_7'] *-1;}if ( $rechnungsdaten['mwst_19'] > 0 ){$rechnungsdaten['mwst_19'] = $rechnungsdaten['mwst_19'] *-1;}if ( $rechnungsdaten['nettobetrag'] > 0 ){$rechnungsdaten['nettobetrag'] = $rechnungsdaten['nettobetrag'] *-1;}if ( $rechnungsdaten['bruttobetrag'] > 0 ){$rechnungsdaten['bruttobetrag'] = $rechnungsdaten['bruttobetrag'] *-1;}}// zahlart$rechnungsdaten['zahlart'] = $versandname;// Ort$rechnungsdaten['ort'] = $ort;// mwst_befreiung$rechnungsdaten['mwst_befreiung'] = $mwst_befreiung;// mwst_befreiung$rechnungsdaten['ustid_nr'] = $ustid_nr;// ME: Abweichendes Rechnungsdatum?if ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["abw_rechnungsdatum"] ) ){if ( $_POST['rechnungsdatum'] ){$rechnungsdaten['rechnungsdatum'] = human2date( $_POST['rechnungsdatum'] );}}// ME: Abweichendes Lieferdatum?if ( isset( $web_rechte["Warenwirtschaft"]["bestellung"]["abw_lieferdatum"] ) ){if ( $_POST['leistungsdatum'] ){$rechnungsdaten['leistungsdatum'] = human2date( $_POST['leistungsdatum'] );}}if ( setRechnungsbuch( $rechnungsdaten ) ){}}// Zahlungsziel in Rechnung speichern STARTif ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["zahlungsziel"] ) ){if ( isset( $serArr ) ){if ( $serArr = serialize( $serArr ) ){if(!$zahlungsarten_id) {$zahlungsarten_id = 12; // Zahlungsart: Sonstige . wenn nichts anderes verfügbar.}updateRechnung( $serArr, $rechnungsdaten['rechnungsnummer'],$zahlungsarten_id );}}}// Zahlungsziel in Rechnung speichern ENDE// rechnung_bezahlt speichern STARTif ( isset( $web_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnung_bezahlt"] ) ){if ( isset( $user_rechte["Warenwirtschaft"]["rechnungsbuch"]["rechnung_bezahlt"] ) ){if ( isset( $_POST['rechnung_bezahlt'] ) ){upd_bezahlt( $rechnungsdaten['rechnungsnummer'], $rechnungsdaten['bestellung'] );}}}// rechnung_bezahlt speichern ENDEif ( $mass_print == 0 ){$pdf->Output();}}unset( $pdf );return $fName;} // end Function print_Rechnung()////////////////////////////////////////////// Ende der Hauptfunktion print_Rechnung////////////////////////////////////////////?>