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);
         }
     }
 }
示例#2
0
             $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);
     }
 }