예제 #1
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");
 }
예제 #2
0
 $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
예제 #3
0
 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());
 }