Example #1
0
     die(fehlermeldung_ausgeben("Kostenkonto wählen"));
 }
 $empf_typ = $_POST['empf_typ'];
 $empf_id = $_POST['empf_id'];
 $kurztext = $_POST['kurztext'];
 $typ_arr = $_POST['typ'];
 $brutto_arr = $_POST['brutto'];
 $mengen_arr = $_POST['mengen'];
 $o = new objekt();
 $o->get_objekt_infos($_SESSION['objekt_id']);
 $kurztext_neu = "{$kurztext}\n<b>Objektname: {$o->objekt_kurzname}</b>";
 $r = new rechnung();
 $letzte_belegnr = $r->letzte_beleg_nr() + 1;
 $jahr = date("Y");
 $datum = date("Y-m-d");
 $letzte_aussteller_rnr = $r->letzte_aussteller_ausgangs_nr($_SESSION['partner_id'], 'Partner', $jahr, 'Rechnung') + 1;
 $letzte_aussteller_rnr = sprintf('%03d', $letzte_aussteller_rnr);
 $r->rechnungs_kuerzel = $r->rechnungs_kuerzel_ermitteln('Partner', $_SESSION['partner_id'], $datum);
 $rechnungsnummer = $r->rechnungs_kuerzel . ' ' . $letzte_aussteller_rnr . '-' . $jahr;
 $letzte_empfaenger_rnr = $r->letzte_empfaenger_eingangs_nr($empf_id, $empf_typ, $jahr, 'Rechnung') + 1;
 $netto_betrag = 0.0;
 $gk = new geldkonto_info();
 $gk->geld_konto_ermitteln('Partner', $_SESSION['partner_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}', '{$netto_betrag}','0.00','0.00', 'Partner', '{$_SESSION['partner_id']}','{$empf_typ}', '{$empf_id}','1', '1', '0', '0', '0', '0', '0', '{$faellig_am}', '0000-00-00', '{$kurztext_neu}', '{$gk->geldkonto_id}')";
 $resultat = mysql_query($db_abfrage) or die(mysql_error());
 /* Protokollieren */
 $last_dat = mysql_insert_id();
 protokollieren('RECHNUNGEN', $last_dat, '0');
 $pos = 0;
 $g_sum = 0;
 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");
 }