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"); }
$pos = $_REQUEST["pos"]; $artikel_nr = $_REQUEST["artikel_nr"]; $bez = $_REQUEST["bez"]; // $artikel_nr= utf8_decode($artikel_nr); // $bez= utf8_decode($bez); $lieferant_id = $_REQUEST["lieferant_id"]; $menge = $_REQUEST["menge"]; $einheit = $_REQUEST["einheit"]; $preis = $_REQUEST["listenpreis"]; $rabatt = $_REQUEST["rabatt"]; $pos_mwst = $_REQUEST["pos_mwst"]; $g_netto = $_REQUEST["g_netto"]; $pos_skonto = $_REQUEST["pos_skonto"]; $r = new rechnung(); // $r->rechnung_grunddaten_holen($belegnr); $letzte_rech_pos_id = $r->get_last_rechnung_pos_id(); $letzte_rech_pos_id = $letzte_rech_pos_id + 1; /* Abfragen ob Artikel im Katalog "so" vorhanden */ $db_abfrage = "select * from POSITIONEN_KATALOG where ART_LIEFERANT='{$lieferant_id}' && ARTIKEL_NR='{$artikel_nr}' && AKTUELL='1' && LISTENPREIS='{$preis}' && RABATT_SATZ='{$rabatt}' && BEZEICHNUNG='{$bez}' && EINHEIT='{$einheit}' && MWST_SATZ='{$pos_mwst}' && SKONTO='{$pos_skonto}'"; echo $db_abfrage; $result = mysql_query($db_abfrage) or die(mysql_error()); $numrows = mysql_numrows($result); /* Falls nicht so vorhanden, artikel speichern */ if (!$numrows) { $r->artikel_leistung_mit_artikelnr_speichern($lieferant_id, $bez, $preis, $artikel_nr, $rabatt, $einheit, $pos_mwst, $pos_skonto); /* Falls vorhanden, deaktivieren und als neuen Datensatz speichern */ } else { /* * Deaktiviert weil falsch * $db_abfrage = "UPDATE POSITIONEN_KATALOG SET AKTUELL='0' where ART_LIEFERANT='$lieferant_id' && ARTIKEL_NR='$artikel_nr' && AKTUELL='1' && LISTENPREIS='$preis' && RABATT_SATZ='$rabatt' && BEZEICHNUNG='$bez' && EINHEIT='$einheit' && MWST_SATZ='$pos_mwst' && SKONTO='$pos_skonto'"; * $result = mysql_query($db_abfrage) or
function position_speichern($beleg_nr, $lieferant_id, $artikel_nr, $menge, $preis, $mwst, $rabatt) { $r = new rechnung(); $letzte_rech_pos_id = $r->get_last_rechnung_pos_id(); $letzte_rech_pos_id = $letzte_rech_pos_id + 1; $r2 = new rechnungen(); $last_pos = $r2->rechnung_last_position($beleg_nr); $last_pos = $last_pos + 1; $g_netto = $menge * $preis; $db_abfrage = "INSERT INTO RECHNUNGEN_POSITIONEN VALUES (NULL, '{$letzte_rech_pos_id}', '{$last_pos}', '{$beleg_nr}','{$beleg_nr}','{$lieferant_id}','{$artikel_nr}', '{$menge}','{$preis}','{$mwst}', '{$rabatt}', '0.00', '{$g_netto}','1')"; $resultat = mysql_query($db_abfrage) or die(mysql_error()); }