echo "</pre>"; $form->ende_formular(); break; case "rechnung_suchen": $clean_arr = post_array_bereinigen(); $form = new mietkonto(); $form->erstelle_formular("Rechnung suchen", NULL); $form->array_anzeigen($clean_arr); $rechnung = new rechnung(); $rechnung->suche_rechnung_form(); $form->ende_formular(); break; case "rechnung_suchen1": $rechnung = new rechnung(); $rechnung->suche_rechnung_form(); $clean_arr = post_array_bereinigen(); $form = new mietkonto(); $form->erstelle_formular("Ergebnis", NULL); $suchart = $clean_arr['suchart']; if ($suchart == 'beleg_nr') { $ergebnis = $rechnung->rechnung_finden_nach_beleg($clean_arr['beleg_nr_txt']); if (count($ergebnis) > 0) { $rechnung->rechnungen_aus_arr_anzeigen($ergebnis); } else { echo "Keine Rechnung mit dieser Belegnummer ({$clean_arr['beleg_nr_txt']})"; } } if ($suchart == 'lieferschein') { $ergebnis = $rechnung->rechnung_finden_nach_lieferschein($clean_arr['lieferschein_nr_txt']); if (is_array($ergebnis)) { $anzahl_rechnungen = count($ergebnis);
function positionen_speichern($belegnr) { $this->rechnung_grunddaten_holen($belegnr); $clean_arr = post_array_bereinigen(); $this->rechnung_grunddaten_holen($_REQUEST[rechnung_id]); if ($this->rechnungs_empfaenger_typ != 'Kasse') { $empfangs_geld_konto = $_POST[geld_konto]; } else { $empfangs_geld_konto = '0'; // NULL BEI KASSE } if (!isset($empfangs_geld_konto)) { echo "Kein Geldkonto ausgewählt"; } else { /* Update der erfassten Rechung um die ausgewählte Kontonummer des rechnungaustellers mitzuteilen */ if ($this->rechnungs_empfaenger_typ != 'Kasse') { $db_abfrage = "UPDATE RECHNUNGEN SET EMPFANGS_GELD_KONTO='{$empfangs_geld_konto}' WHERE BELEG_NR='{$belegnr}' && AKTUELL='1' "; } else { $zahlungs_datum = date_german2mysql($this->bezahlt_am); $db_abfrage = "UPDATE RECHNUNGEN SET EMPFANGS_GELD_KONTO='{$empfangs_geld_konto}', STATUS_ZAHLUNG_FREIGEGEBEN='1', STATUS_BEZAHLT='1', BEZAHLT_AM='{$zahlungs_datum}' WHERE BELEG_NR='{$belegnr}' && AKTUELL='1' "; } $resultat = mysql_query($db_abfrage) or die(mysql_error()); /* Protokollieren von update */ $last_dat = mysql_insert_id(); protokollieren('RECHNUNGEN', $last_dat, $last_dat); echo "Dem Beleg {$belegnr} wurde die Kontonummer des Rechnungsausteller hinzugefügt<br>\n"; /* Durchlauf von positionen */ for ($a = 1; $a <= count($_POST['positionen']); $a++) { $letzte_rech_pos_id = $this->get_last_rechnung_pos_id(); $letzte_rech_pos_id = $letzte_rech_pos_id + 1; /* Wenn Artikelnr eingegeben */ if (!empty($_POST['positionen'][$a]['artikel_nr'])) { $pos_preis = nummer_komma2punkt($_POST['positionen'][$a]['preis']); $pos_menge = nummer_komma2punkt($_POST['positionen'][$a]['menge']); $pos_mwst_satz = nummer_komma2punkt($_POST['positionen'][$a]['pos_mwst_satz']); // $pos_rabatt = nummer_komma2punkt($_POST['positionen'][$a]['pos_rabatt']); $pos_rabatt = $_POST['positionen'][$a]['pos_rabatt']; $pos_gesamt_netto = nummer_komma2punkt($_POST['positionen'][$a]['gpreis']); $db_abfrage = "INSERT INTO RECHNUNGEN_POSITIONEN VALUES (NULL, '{$letzte_rech_pos_id}', '{$a}', '{$belegnr}','{$this->rechnungs_aussteller_id}','" . $_POST['positionen'][$a]['artikel_nr'] . "', '{$pos_menge}','{$pos_preis}','{$pos_mwst_satz}', '{$pos_rabatt}', '{$pos_gesamt_netto}','1')"; $resultat = mysql_query($db_abfrage) or die(mysql_error()); /* Protokollieren */ $last_dat = mysql_insert_id(); protokollieren('RECHNUNGEN_POSITIONEN', $last_dat, '0'); echo "Position {$a} wurde gespeichert <br>\n"; } else { $pos_rabatt = nummer_komma2punkt($_POST['positionen'][$a]['pos_rabatt']); $this->artikel_leistung_speichern("" . $this->rechnungs_aussteller_id . "", "" . $_POST['positionen'][$a]['bezeichnung'] . "", "" . $_POST['positionen'][$a]['preis'] . ", {$pos_rabatt}"); $neue_artikel_nr = $this->get_last_artikelnr_nach_bezeichnung("" . $this->rechnungs_aussteller_id . "", "" . $_POST['positionen'][$a]['bezeichnung'] . ""); $pos_preis = nummer_komma2punkt($_POST['positionen'][$a]['preis']); $pos_mwst_satz = nummer_komma2punkt($_POST['positionen'][$a]['pos_mwst_satz']); // $pos_rabatt = nummer_komma2punkt($_POST['positionen'][$a]['pos_rabatt']); $pos_rabatt = $_POST['positionen'][$a]['pos_rabatt']; $pos_gesamt_netto = nummer_komma2punkt($_POST['positionen'][$a]['gpreis']); $db_abfrage = "INSERT INTO RECHNUNGEN_POSITIONEN VALUES (NULL, '{$letzte_rech_pos_id}', '{$a}', '{$belegnr}','{$neue_artikel_nr}', '" . $_POST['positionen'][$a]['menge'] . "','{$pos_preis}','{$pos_mwst_satz}', '{$pos_rabatt}', '{$pos_gesamt_netto}','1')"; $resultat = mysql_query($db_abfrage) or die(mysql_error()); /* Protokollieren */ $last_dat = mysql_insert_id(); protokollieren('RECHNUNGEN_POSITIONEN', $last_dat, '0'); echo "Position {$a} ({$neue_artikel_nr}) " . $_POST['positionen'][$a]['bezeichnung'] . " wurde gespeichert<br>\n"; } } // end for /* Rechnung als vollständig markieren */ $this->rechnung_als_vollstaendig($belegnr); weiterleiten_in_sec("?daten=rechnungen&option=rechnungs_uebersicht&belegnr={$belegnr}", 2); } // end else kein konto }