function angebot2beleg($belegnr) { $r = new rechnung(); $r->rechnung_grunddaten_holen($belegnr); $bp_partner_id = $r->rechnungs_aussteller_id; $clean_arr[RECHNUNG_EMPFAENGER_TYP] = 'Partner'; $clean_arr[RECHNUNG_EMPFAENGER_ID] = $bp_partner_id; $clean_arr[RECHNUNG_AUSSTELLER_TYP] = 'Partner'; $clean_arr[RECHNUNG_AUSSTELLER_ID] = $bp_partner_id; $clean_arr[RECHNUNGSDATUM] = date("d.m.Y"); $clean_arr[RECHNUNG_FAELLIG_AM] = date("d.m.Y"); $kurzbeschreibung = "Buchungsbeleg aus Angebot {$r->rechnungsnummer}\n{$r->kurzbeschreibung}"; $clean_arr[kurzbeschreibung] = $kurzbeschreibung; if ($bg = $this->check_beleg_exists($kurzbeschreibung)) { $link = "a href=\"?daten=rechnungen&option=rechnungs_uebersicht&belegnr={$bg}\">Beleg ansehen</a>"; die("Beleg {$bg} schon erstellt"); } $clean_arr[nettobetrag] = 0.0; $brutto_betrag = 0.0; $clean_arr[bruttobetrag] = 0.0; $clean_arr[skonto] = 0.0; $gk = new geldkonto_info(); $gk->geld_konto_ermitteln('Partner', $bp_partner_id); $clean_arr[EMPFANGS_GELD_KONTO] = $gk->geldkonto_id; $l_erf_nr = $r->auto_rechnung_speichern($clean_arr); $zeilen_arr = $r->rechnungs_positionen_arr($belegnr); $anz = count($zeilen_arr); for ($a = 0; $a < $anz; $a++) { $pos = $zeilen_arr[$a]['POSITION']; $art_lieferant = $zeilen_arr[$a]['ART_LIEFERANT']; $art_nr = $zeilen_arr[$a]['ARTIKEL_NR']; $menge = $zeilen_arr[$a]['MENGE']; $preis = $zeilen_arr[$a]['PREIS']; $mwst = $zeilen_arr[$a]['MWST_SATZ']; $rabatt = $zeilen_arr[$a]['RABATT_SATZ']; $skonto = $zeilen_arr[$a]['SKONTO']; $g_netto = $zeilen_arr[$a]['GESAMT_NETTO']; $aktuell = $zeilen_arr[$a]['AKTUELL']; /* Nur Aktuelle übertragen, kein Müll */ if ($aktuell == 1) { $this->position_speichern($l_erf_nr, $belegnr, $art_lieferant, $art_nr, $menge, $preis, $mwst, $skonto, $rabatt, $g_netto); } } }
$mwst_satz = $r->mwst_satz_der_position($beleg_nr, $position); $pos_mwst = $uebernahme_arr['positionen'][$b]['skonto']; echo "Bel{$beleg_nr} POS{$position} MWST{$mwst_satz} SKONTO {$skonto}<br>"; $brutto_betrag = $brutto_betrag + ($netto_pos + $netto_pos / 100 * $mwst_satz); } $clean_arr['nettobetrag'] = number_format($netto_betrag, 2, '.', ''); $clean_arr['bruttobetrag'] = number_format($brutto_betrag, 2, '.', ''); // $clean_arr[skonto]= $uebernahme_arr[RECHNUNG_SKONTO]; //prozent $rechnung = new rechnung(); /* * echo "<pre>"; * print_r($clean_arr); * echo "<hr>"; * print_r($uebernahme_arr); */ $gespeicherte_belegnr = $rechnung->auto_rechnung_speichern($clean_arr); $rechnung->auto_positionen_speichern($gespeicherte_belegnr, $uebernahme_arr['positionen']); $rechnung->rechnung_als_vollstaendig($gespeicherte_belegnr); hinweis_ausgeben("Rechnung wurde erstellt.<br>Sie werden gleich zur neuen Rechnung weitergeleitet."); $rr = new rechnungen(); $rr->update_skontobetrag($gespeicherte_belegnr); $f->fieldset_ende(); } break; case "zahlung_freigeben": $r = new rechnung(); $belegnr = $_REQUEST['belegnr']; $r->rechnung_als_freigegeben($belegnr); hinweis_ausgeben("Rechnung wurde zur Zahlung freigegeben!"); weiterleiten_in_sec("?daten=rechnungen&option=rechnungs_uebersicht&belegnr={$belegnr}", 2); break;
function zettel2beleg($zettel_id) { $this->stundenzettel_grunddaten($zettel_id); /* * $this->st_benutzer_id = $row['BENUTZER_ID']; * $this->beschreibung = $row['BESCHREIBUNG']; * $this->erf_datum_mysql = $row['ERFASSUNGSDATUM']; * $this->erf_datum = date_mysql2german($row['ERFASSUNGSDATUM']); * $this->st_benutzername = $row['benutzername']; * $this->stundensatz = $row['STUNDENSATZ']; */ $bp_partner_id = $this->get_partner_id_benutzer($this->st_benutzer_id); $r = new rechnung(); $clean_arr[RECHNUNG_EMPFAENGER_TYP] = 'Partner'; $clean_arr[RECHNUNG_EMPFAENGER_ID] = $bp_partner_id; $clean_arr[RECHNUNG_AUSSTELLER_TYP] = 'Partner'; $clean_arr[RECHNUNG_AUSSTELLER_ID] = $bp_partner_id; $clean_arr[RECHNUNGSDATUM] = date("d.m.Y"); $clean_arr[RECHNUNG_FAELLIG_AM] = date("d.m.Y"); $clean_arr[kurzbeschreibung] = "Beleg vom Stundennachweis {$zettel_id} {$this->beschreibung} {$this->st_benutzername}"; $g_zeit_zettel = $this->gzeit_zettel($zettel_id); $g_stunden = $g_zeit_zettel / 60; $netto_betrag = $this->stundensatz * $g_stunden; $clean_arr[nettobetrag] = $netto_betrag; $brutto_betrag = $netto_betrag / 100 * 119; $clean_arr[bruttobetrag] = $brutto_betrag; $clean_arr[skonto] = '0'; $gk = new geldkonto_info(); $gk->geld_konto_ermitteln('Partner', $bp_partner_id); $clean_arr[EMPFANGS_GELD_KONTO] = $gk->geldkonto_id; $l_erf_nr = $r->auto_rechnung_speichern($clean_arr); /* Beleg vom Arbeitgeber an Arbeitgebern gespeichert, nur Grunddaten */ // echo "<b>LBLG $l_erf_nr</b>"; $leistungen_arr = $this->stundenzettelleistungen_in_arr($zettel_id); $anzahl_leistungen = count($leistungen_arr); for ($a = 0; $a < $anzahl_leistungen; $a++) { $leistung_id = $leistungen_arr[$a][LEISTUNG_ID]; $dauer_min = $leistungen_arr[$a][DAUER_MIN]; $menge = $dauer_min / 60; $kostentraeger_typ = $leistungen_arr[$a][KOSTENTRAEGER_TYP]; $kostentraeger_id = $leistungen_arr[$a][KOSTENTRAEGER_ID]; $preis = $this->stundensatz; $artikel_nr = 'L-' . $this->st_benutzer_id . '-' . $leistung_id; $mwst = 19; $rabatt = '0'; $this->position_speichern($l_erf_nr, $bp_partner_id, $artikel_nr, $menge, $preis, $mwst, $rabatt); $st_dat = $leistungen_arr[$a][ST_DAT]; $this->zettel_pos_in_rg($st_dat, $l_erf_nr); } }