$typ_bez = $typ_arr[$a]; $menge = $mengen_arr[$a]; $g_sum += nummer_komma2punkt($brutto_bet) * $menge; $g_netto = $netto_betrag * $menge; /* Positionen erfassen */ $art_nr = "{$o->objekt_kurzname}-{$typ_bez}"; $r->artikel_leistung_mit_artikelnr_speichern($_SESSION['partner_id'], "Verwaltergebühr {$typ_bez}", $brutto_bet, "{$art_nr}", '0', 'Stk', '19', '0'); $letzte_rech_pos_id = $r->get_last_rechnung_pos_id() + 1; $p_id = $_SESSION['partner_id']; $db_abfrage = "INSERT INTO RECHNUNGEN_POSITIONEN VALUES (NULL, '{$letzte_rech_pos_id}', '{$pos}', '{$letzte_belegnr}', '{$letzte_belegnr}','{$p_id}', '{$art_nr}', {$menge},'{$netto_betrag}','19', '0','0', '{$g_netto}','1')"; $resultat = mysql_query($db_abfrage) or die(mysql_error()); /* Protokollieren */ $last_dat = mysql_insert_id(); protokollieren('RECHNUNGEN_POSITIONEN', $last_dat, '0'); /* Kontieren */ $kontierung_id = $r->get_last_kontierung_id() + 1; $db_abfrage = "INSERT INTO KONTIERUNG_POSITIONEN VALUES (NULL, '{$kontierung_id}','{$letzte_belegnr}', '{$pos}','{$menge}', '{$netto_betrag}', '{$g_netto}', '19', '0', '0', '{$kostenkonto}', 'Objekt', '{$_SESSION['objekt_id']}', '{$datum}', '{$jahr}', '0', '1')"; $resultat = mysql_query($db_abfrage) or die(mysql_error()); /* Protokollieren */ $last_dat = mysql_insert_id(); protokollieren('KONTIERUNG_POSITIONEN', $last_dat, '0'); } /* In SEPA ÜBERWEISUNGEN bei Häckchen */ if (isset($_POST['sepa'])) { $r->rechnung_grunddaten_holen($letzte_belegnr); $vzweck = "{$r->rechnungs_aussteller_name}, Rg. {$r->rechnungsnummer} " . bereinige_string($kurztext_neu); $sep = new sepa(); if ($sep->sepa_ueberweisung_speichern($_SESSION['geldkonto_id'], $gk->geldkonto_id, $vzweck, 'Verwaltergebuehr', $empf_typ, $empf_id, $kostenkonto, $g_sum) == false) { fehlermeldung_ausgeben("ÜBERWEISUNG KONNTE NICHT GESPEICHERT WERDEN!"); } } else {
function rechnung_aus_beleg($p_id, $beleg_nr, $empf_p_id) { $r = new rechnung(); $r_org = new rechnung(); $r_org->rechnung_grunddaten_holen($beleg_nr); $letzte_belegnr = $r->letzte_beleg_nr() + 1; $jahr = date("Y"); $datum = date("Y-m-d"); $letzte_aussteller_rnr = $r->letzte_aussteller_ausgangs_nr($p_id, 'Partner', $jahr, 'Rechnung') + 1; $letzte_aussteller_rnr = sprintf('%03d', $letzte_aussteller_rnr); $r->rechnungs_kuerzel = $r->rechnungs_kuerzel_ermitteln('Partner', $p_id, $datum); $rechnungsnummer = $r->rechnungs_kuerzel . ' ' . $letzte_aussteller_rnr . '-' . $jahr; $letzte_empfaenger_rnr = $r->letzte_empfaenger_eingangs_nr($empf_p_id, 'Partner', $jahr, 'Rechnung') + 1; $gk = new geldkonto_info(); $gk->geld_konto_ermitteln('Partner', $p_id); $faellig_am = tage_plus($datum, 10); $db_abfrage = "INSERT INTO RECHNUNGEN VALUES (NULL, '{$letzte_belegnr}', '{$rechnungsnummer}', '{$letzte_aussteller_rnr}', '{$letzte_empfaenger_rnr}', 'Rechnung', '{$datum}','{$datum}', '0','0.00','0.00', 'Partner', '{$p_id}','Partner', '{$empf_p_id}','1', '1', '0', '0', '1', '0', '0', '{$faellig_am}', '0000-00-00', '{$r_org->kurzbeschreibung}', '{$gk->geldkonto_id}')"; $resultat = mysql_query($db_abfrage) or die(mysql_error()); /* Protokollieren */ $last_dat = mysql_insert_id(); protokollieren('RECHNUNGEN', $last_dat, '0'); /* Posititonen */ $arr = $r->rechnungs_positionen_arr($beleg_nr); // echo '<pre>'; // print_r($arr); $anz_p = count($arr); for ($a = 0; $a < $anz_p; $a++) { $pos = $arr[$a]['POSITION']; $art_lieferant = $arr[$a]['ART_LIEFERANT']; $art_nr = $arr[$a]['ARTIKEL_NR']; $menge = $arr[$a]['MENGE']; $preis = $arr[$a]['PREIS']; $mwst = $arr[$a]['MWST_SATZ']; $rab = $arr[$a]['RABATT_SATZ']; $skonto = $arr[$a]['SKONTO']; $preis_g = $arr[$a]['GESAMT_NETTO']; $letzte_rech_pos_id = $r->get_last_rechnung_pos_id() + 1; $db_abfrage = "INSERT INTO RECHNUNGEN_POSITIONEN VALUES (NULL, '{$letzte_rech_pos_id}', '{$pos}', '{$letzte_belegnr}', '{$beleg_nr}','{$p_id}', '{$art_nr}', {$menge},'{$preis}','{$mwst}', '{$rab}','{$skonto}', '{$preis_g}','1')"; $resultat = mysql_query($db_abfrage) or die(mysql_error()); /* Protokollieren */ $last_dat = mysql_insert_id(); protokollieren('RECHNUNGEN_POSITIONEN', $last_dat, '0'); $r2 = new rechnungen(); $kont_arr = $r2->get_kontierung_arr($beleg_nr, $pos); $anz_k = count($kont_arr); if ($anz_k < 1) { fehlermeldung_ausgeben("Position {$pos} ist nicht kontiert"); } else { for ($p = 0; $p < $anz_k; $p++) { $k_menge = $kont_arr[$p]['MENGE']; $k_preis = $kont_arr[$p]['EINZEL_PREIS']; $k_preis_g = $kont_arr[$p]['GESAMT_SUMME']; $k_mwst = $kont_arr[$p]['MWST_SATZ']; $k_skonto = $kont_arr[$p]['SKONTO']; $k_rabatt = $kont_arr[$p]['RABATT_SATZ']; $k_konto = $kont_arr[$p]['KONTENRAHMEN_KONTO']; $k_kos_typ = $kont_arr[$p]['KOSTENTRAEGER_TYP']; $k_kos_id = $kont_arr[$p]['KOSTENTRAEGER_ID']; /* Kontieren */ $kontierung_id = $r->get_last_kontierung_id() + 1; $db_abfrage = "INSERT INTO KONTIERUNG_POSITIONEN VALUES (NULL, '{$kontierung_id}','{$letzte_belegnr}', '{$pos}','{$k_menge}', '{$k_preis}', '{$k_preis_g}', '{$k_mwst}', '{$k_skonto}', '{$k_rabatt}', '{$k_konto}', '{$k_kos_typ}', '{$k_kos_id}', '{$datum}', '{$jahr}', '0', '1')"; $resultat = mysql_query($db_abfrage) or die(mysql_error()); /* Protokollieren */ $last_dat = mysql_insert_id(); protokollieren('KONTIERUNG_POSITIONEN', $last_dat, '0'); } // end for2 } // end if } // end for weiterleiten("?daten=rechnungen&option=erfasste_rechnungen"); }