function rechnung_speichern($clean_arr) { // echo '<pre>'; // print_r($clean_arr); $rechnungs_aussteller_typ = $clean_arr[aussteller_typ]; $rechnungs_aussteller_id = $clean_arr[aussteller_id]; $rechnungs_empfaenger_typ = $clean_arr[empfaenger_typ]; $rechnungs_empfaenger_id = $clean_arr[empfaenger_id]; if ($rechnungs_empfaenger_id == $rechnungs_aussteller_id && $rechnungs_empfaenger_typ == $rechnungs_aussteller_typ) { $rechnungs_typ_druck = 'Buchungsbeleg'; } else { $rechnungs_typ_druck = 'Rechnung'; } $datum_arr = explode('.', $clean_arr[rechnungsdatum]); $jahr = $datum_arr[2]; if (empty($clean_arr['rechnungsnummer'])) { $letzte_aussteller_rnr = $this->letzte_aussteller_ausgangs_nr($rechnungs_aussteller_id, $rechnungs_aussteller_typ, $jahr, $rechnungs_typ_druck); $letzte_aussteller_rnr = $letzte_aussteller_rnr + 1; $letzte_aussteller_rnr = sprintf('%03d', $letzte_aussteller_rnr); $this->rechnungs_kuerzel = $this->rechnungs_kuerzel_ermitteln($rechnungs_aussteller_typ, $rechnungs_aussteller_id, $clean_arr[rechnungsdatum]); $rechnungsnummer = $this->rechnungs_kuerzel . ' ' . $letzte_aussteller_rnr . '-' . $jahr; } else { $letzte_aussteller_rnr = $this->letzte_aussteller_ausgangs_nr($rechnungs_aussteller_id, $rechnungs_aussteller_typ, $jahr, $rechnungs_typ_druck); $letzte_aussteller_rnr = $letzte_aussteller_rnr + 1; $rechnungsnummer = $clean_arr['rechnungsnummer']; } /* Prüfen ob Rechnung vorhanden */ $rechnungsdatum = date_german2mysql($clean_arr[rechnungsdatum]); $result_3 = mysql_query("SELECT * FROM RECHNUNGEN WHERE RECHNUNGSNUMMER = '{$clean_arr['rechnungsnummer']}' && RECHNUNGSDATUM = '{$rechnungsdatum}' && AUSSTELLER_TYP='{$rechnungs_aussteller_typ}' && AUSSTELLER_ID='{$rechnungs_aussteller_id}' && EMPFAENGER_TYP='{$rechnungs_empfaenger_typ}' && EMPFAENGER_ID='{$rechnungs_empfaenger_id}' && AKTUELL = '1'"); $numrows_3 = mysql_numrows($result_3); if ($numrows_3 > 0) { $partner_info = new partner(); $von = $partner_info->get_partner_name($rechnungs_aussteller_id); fehlermeldung_ausgeben("Rechnung von {$von} mit der Rechnungsnummer {$clean_arr['rechnungsnummer']} vom {$clean_arr['rechnungsdatum']} existiert bereits."); die; } else { /* Letzte Belegnummer holen */ $letzte_belegnr = $this->letzte_beleg_nr(); $letzte_belegnr = $letzte_belegnr + 1; /* Letzte Rechnungsid holen */ /* Rechnungsdaten speichern */ $rechnungsdatum = date_german2mysql($clean_arr[rechnungsdatum]); $eingangsdatum = date_german2mysql($clean_arr[eingangsdatum]); $faellig_am = date_german2mysql($clean_arr[faellig_am]); $kurzbeschreibung = $clean_arr[kurzbeschreibung]; $netto_betrag = nummer_komma2punkt($clean_arr[nettobetrag]); $brutto_betrag = $clean_arr[bruttobetrag]; $brutto_betrag = nummer_komma2punkt($brutto_betrag); $rechnungs_typ = $rechnungs_typ_druck; $letzte_empfaenger_rnr = $this->letzte_empfaenger_eingangs_nr($rechnungs_empfaenger_id, $rechnungs_empfaenger_typ, $jahr, $rechnungs_typ_druck); $letzte_empfaenger_rnr = $letzte_empfaenger_rnr + 1; if ($rechnungs_empfaenger_typ == 'Kasse') { $status_bezahlt = '1'; $bezahlt_am = $eingangsdatum; } else { $status_bezahlt = '0'; $bezahlt_am = '0000-00-00'; } $db_abfrage = "INSERT INTO RECHNUNGEN VALUES (NULL, '{$letzte_belegnr}', '{$rechnungsnummer}', '{$letzte_aussteller_rnr}', '{$letzte_empfaenger_rnr}', '{$rechnungs_typ}', '{$rechnungsdatum}','{$eingangsdatum}', '{$netto_betrag}','{$brutto_betrag}','0.00', '{$rechnungs_aussteller_typ}', '{$rechnungs_aussteller_id}','{$rechnungs_empfaenger_typ}', '{$rechnungs_empfaenger_id}','1', '1', '0', '0', '1', '{$status_bezahlt}', '0', '{$faellig_am}', '{$bezahlt_am}', '{$kurzbeschreibung}', '{$clean_arr['geld_konto']}')"; $resultat = mysql_query($db_abfrage) or die(mysql_error()); /* Protokollieren */ $last_dat = mysql_insert_id(); protokollieren('RECHNUNGEN', $last_dat, '0'); /* Ausgabe weil speichern erfolgreich */ echo "Rechnung/Beleg {$letzte_belegnr} wurde erfasst."; if ($rechnungs_empfaenger_typ == 'Kasse') { $kasse = new kasse(); $kassen_id = $rechnungs_empfaenger_id; $datum = date_mysql2german($eingangsdatum); $kasse->rechnung_in_kassenbuch($kassen_id, $brutto_betrag, $datum, 'Ausgaben', $kurzbeschreibung, 'Rechnung', $letzte_belegnr); } /* Weiterleiten auf die Rechnungserfassung */ // weiterleiten_in_sec("?daten=rechnungen&option=rechnung_erfassen", 2); // Rechnungsliste weiterleiten_in_sec("?daten=rechnungen&option=positionen_erfassen&belegnr=" . $letzte_belegnr . "", 2); // Positionseingabe // weiterleiten_in_sec("?daten=rechnungen&option=lieferschein_erfassen&beleg_nr=".$letzte_belegnr."", 2);//Positionseingabe } }