예제 #1
0
 function rechnung_schreiben_positionen_wahl($kostentraeger_typ, $kostentraeger_id, $positionen, $aussteller_typ, $aussteller_id)
 {
     if (isset($_REQUEST['csv'])) {
         $this->pool_csv($kos_typ, $kos_id, $positionen, $aussteller_typ, $aussteller_id);
         die;
     }
     // echo "<pre>";
     // print_r($positionen);
     // echo "</pre>";
     // die();
     $f = new formular();
     $f->erstelle_formular("Rechnung aus Pool zusammenstellen", NULL);
     $f->hidden_feld('option', 'AUTO_RECHNUNG_VORSCHAU');
     // $js_action = 'onblur="javascript:rechnung_pool_neuberechnen(this.form)" onchange="javascript:rechnung_pool_neuberechnen(this.form)" onfocus="javascript:rechnung_pool_neuberechnen(this.form)" onmouseover="javascript:rechnung_pool_neuberechnen(this.form)"';
     $js_action = 'onmouseover="javascript:pool_berechnung(this.form)" onkeyup="javascript:pool_berechnung(this.form)" onmousedown="javascript:pool_berechnung(this.form)" onmouseup="javascript:pool_berechnung(this.form)" onmousemove="javascript:pool_berechnung(this.form)"';
     $objekt_info = new objekt();
     if ($kostentraeger_typ == 'Objekt') {
         $objekt_info->get_objekt_eigentuemer_partner($kostentraeger_id);
         $rechnungs_empfaenger_id = $objekt_info->objekt_eigentuemer_partner_id;
     }
     if ($kostentraeger_typ == 'Einheit') {
         $this->get_empfaenger_infos($kostentraeger_typ, $kostentraeger_id);
         $rechnungs_empfaenger_typ = $this->rechnungs_empfaenger_typ;
         $rechnungs_empfaenger_id = $this->rechnungs_empfaenger_id;
     }
     if ($kostentraeger_typ == 'Lager') {
         $rechnungs_empfaenger_id = $kostentraeger_id;
         /*
          * $l = new lager;
          * $l->lager_name_partner($kostentraeger_id);
          * $rechnungs_empfaenger_typ = 'Partner';
          * $rechnungs_empfaenger_id = $l->lager_partner_id;
          */
     }
     if ($kostentraeger_typ == 'Partner') {
         $rechnungs_empfaenger_id = $kostentraeger_id;
     }
     // $positionen = array_sortByIndex($positionen,'BELEG_NR');
     // $positionen = array_sortByIndex($positionen,'POSITION');
     // $positionen = array_orderby($positionen, 'BELEG_NR', SORT_DESC, 'POSITION', SORT_DESC);
     $positionen = array_msort($positionen, array('BELEG_NR' => array(SORT_ASC), 'POSITION' => SORT_STRING));
     $this->rechnungs_kopf_zusammenstellung($kostentraeger_typ, $kostentraeger_id, $aussteller_typ, $aussteller_id);
     // echo '<pre>';
     // print_r($positionen1);
     // die();
     $self = $_SERVER['QUERY_STRING'];
     echo "<a href=\"?{$self}&csv\">Als Excel</a>";
     echo "<table id=\"pos_tabelle\" class=rechnungen>";
     echo "<tr><td colspan=3>";
     $faellig_am = date("Y-m-t");
     $faellig_am = date_mysql2german($faellig_am);
     $d_heute = date("d.m.Y");
     $f->datum_feld('Rechnungsdatum', 'rechnungsdatum', "{$d_heute}", 'rechnungsdatum');
     $f->datum_feld('Faellig am', 'faellig_am', "{$faellig_am}", 'faellig_am');
     // $f->text_feld("Skonto in %:", "skonto", "0", "5", "skonto_feld", $js_action);
     echo "</td><td colspan=6>";
     echo "</td></tr>";
     echo "<tr><td colspan=\"6\">";
     // if($aussteller_typ == 'Partner'){
     $geld_konto_info = new geldkonto_info();
     $geld_konto_info->dropdown_geldkonten($aussteller_typ, $aussteller_id);
     // }else{
     // $form->hidden_feld('geld_konto', '0');
     // }
     echo "</td></tr>";
     // onMouseover=\"BoxenAktivieren(this);
     echo "<div id=\"pool_tabelle\" {$js_action}>";
     // echo "<tr class=feldernamen><td width=\"30px\"><input type=\"checkbox\" onClick=\"this.value=check(this.form.positionen_list)\" $js_action>Alle</td><td>Rechnung</td><td>Position</td><td>Menge</td><td>Bezeichnung</td><td>Einzelpreis</td><td>Netto</td><td>Rabatt %</td><td>Skonto</td><td>MWSt</td><td>Kostentraeger</td></tr>";
     echo "<tr ><th>POOL</th><th><input type=\"checkbox\" onClick=\"this.value=check(this.form.positionen_list)\" {$js_action}>Alle</th><th>Rechnung</th><th>UPos</th><th>Pos</th><th>Menge</th><th>Bezeichnung</th><th>Einzelpreis</th><th>Netto</th><th>Rabatt %</th><th>Skonto</th><th>MWSt</th><th>Kostentraeger</th></tr>";
     $f->hidden_feld('RECHNUNG_EMPFAENGER_TYP', "{$kostentraeger_typ}");
     $f->hidden_feld('RECHNUNG_EMPFAENGER_ID', "{$rechnungs_empfaenger_id}");
     $f->hidden_feld('RECHNUNG_AUSSTELLER_TYP', "{$aussteller_typ}");
     $f->hidden_feld('RECHNUNG_AUSSTELLER_ID', "{$aussteller_id}");
     $f->hidden_feld('RECHNUNG_KOSTENTRAEGER_ID', "{$kostentraeger_id}");
     $f->hidden_feld('RECHNUNG_KOSTENTRAEGER_TYP', "{$kostentraeger_typ}");
     $rechnungs_summe = 0;
     $start = 3;
     // nummer of <tr>
     for ($a = 0; $a < count($positionen); $a++) {
         $start++;
         $zeile = $a + 1;
         $belegnr = $positionen[$a]['BELEG_NR'];
         $this->rechnung_grunddaten_holen($belegnr);
         $f->hidden_feld("positionen[{$a}][beleg_nr]", "{$belegnr}");
         $position = $positionen[$a]['POSITION'];
         $f->hidden_feld("positionen[{$a}][position]", "{$position}");
         $artikel_bezeichnung = $this->kontierungsartikel_holen($belegnr, $position);
         $pos_kostentraeger_typ = $positionen[$a]['KOSTENTRAEGER_TYP'];
         $pos_kostentraeger_id = $positionen[$a]['KOSTENTRAEGER_ID'];
         $kostentraeger = $this->kostentraeger_ermitteln($pos_kostentraeger_typ, $pos_kostentraeger_id);
         $menge = nummer_punkt2komma($positionen[$a]['MENGE']);
         $epreis = nummer_punkt2komma($positionen[$a]['EINZEL_PREIS']);
         $gpreis = nummer_punkt2komma($positionen[$a]['GESAMT_SUMME']);
         $rabatt_satz = nummer_punkt2komma($positionen[$a]['RABATT_SATZ']);
         $skonto = nummer_punkt2komma($positionen[$a]['SKONTO']);
         $rechnungs_summe = $rechnungs_summe + nummer_komma2punkt($menge) * nummer_komma2punkt($epreis);
         $mwst_satz_in_prozent = nummer_punkt2komma($this->mwst_satz_der_position($belegnr, $position));
         // aus Beleg infos holen //
         $kontierung_id = $positionen[$a]['KONTIERUNG_ID'];
         $kontierung_dat = $positionen[$a]['KONTIERUNG_DAT'];
         $f->hidden_feld("positionen[{$a}][kontierung_dat]", "{$kontierung_dat}");
         $link_rechnung_ansehen = "<a href=\"index.php?daten=rechnungen&option=rechnungs_uebersicht&belegnr={$belegnr}\">{$this->rechnungsnummer}</a>";
         echo "<tr id=\"tr_zeile.{$start}\"><td>";
         $rrr = new rechnungen();
         /*
          * $pool_bez = substr($rrr->get_pool_bez($_SESSION['pool_id'],0,5));
          * $pool_bez = $rrr->get_pool_bez($_SESSION['pool_id']);
          */
         // $js_weiter = "onclick=\"pool_wahl('Rechnung aus Pool zusammenstellen', '$kontierung_dat', '$kostentraeger_typ', '$kostentraeger_id')\"";
         // $js_weiter = "onclick=\"pool_wahl('Rechnung aus Pool zusammenstellen', 'this.form.positionen', '$kostentraeger_typ', '$kostentraeger_id')\"";
         // $idid = "tr_zeile".$start;
         // $js_weiter = "onclick=\"deleteCurrentRow(this)\"";
         // $js_weiter = "onclick=\"zeile_entfernen(this, 'dat', 'kos_typ', 'kos_id', 'pool_id')\"";
         // $f->button_js('ip', "$pool_bez", $js_weiter);
         /*
          * $f->button_js('ip', "$pool_bez", $js_weiter);
          * $f->button_js('ip', "$pool_bez", $js_weiter);
          */
         // echo $pool_bez;
         $rrr->btn_pool($kostentraeger_typ, $kostentraeger_id, $kontierung_dat, 'this');
         echo "</td><td>{$zeile}<input type=\"checkbox\" name=uebernehmen[] id=\"positionen_list\" value=\"{$a}\" {$js_action}></td><td>{$link_rechnung_ansehen}</td><td>{$position}</td><td>{$zeile}.</td><td>";
         $f->text_feld("Menge:", "positionen[{$a}][menge]", "{$menge}", "5", "mengen_feld", $js_action);
         // $f->hidden_feld("positionen[$a][bezeichnung]", "$artikel_bezeichnung");
         echo "</td><td>{$artikel_bezeichnung}</td><td>";
         $f->text_feld("Einzelpreis:", "positionen[{$a}][preis]", "{$epreis}", "8", "epreis_feld", $js_action);
         echo "</td><td>";
         $f->text_feld_inaktiv("Netto:", "", "{$gpreis}", "8", "netto_feld", $js_action);
         echo "</td><td>";
         // $gpreis_brutto = ($gpreis / 100) * (100 + $rechnung->rechnungs_mwst_satz);
         $gpreis_brutto = $gpreis / 100 * (100 + $mwst_satz_in_prozent);
         $gpreis_brutto = $gpreis_brutto * 100 / 100;
         $gpreis_brutto = nummer_punkt2komma($gpreis_brutto);
         // $form->text_feld("Brutto:", "positionen[$a][gpreis_brutto]", "$gpreis_brutto", "5");
         $f->text_feld("Rabatt:", "positionen[{$a}][rabatt_satz]", "{$rabatt_satz}", "5", "rabatt_feld", $js_action);
         // $f->hidden_feld("positionen[$a][pos_mwst]", "$mwst_satz_in_prozent");
         echo "</td><td>";
         $f->text_feld("Skonto:", "positionen[{$a}][skonto]", "{$skonto}", "5", "skonto_feld", $js_action);
         // $f->hidden_feld("positionen[$a][pos_mwst]", "$mwst_satz_in_prozent");
         echo "</td><td>";
         $f->text_feld("Mwst:", "mwst_satz", "{$mwst_satz_in_prozent}", "3", "mwst_feld", $js_action);
         echo "</td><td valign=bottom>{$kostentraeger}</td></tr>";
         // $f->hidden_feld("positionen[$a][kontierung_id]", "$kontierung_id");
     }
     echo "<tr><td colspan=10><hr></td></tr></table>";
     echo "<table>";
     // echo "<tr><td><input type=\"checkbox\" name=\"in_rechung_stellen\" id=\"in_rechung_stellen\" onclick=\"check_ob_pos_gewaehlt(this, this.form.positionen_list)\"><b>Eingabe beenden</b></td>\n</tr>";
     echo "<tr><td>";
     $f->text_bereich('Kurzbeschreibung', 'kurzbeschreibung', '', 30, 30, 'kurzbeschreibung');
     echo "<br>";
     $f->send_button_disabled("senden_pos", "Speichern deaktiviert", "speichern_button2");
     echo "</td></tr>";
     echo "<tr><td colspan=9><hr></td></tr>";
     echo "<tr><td colspan=8 align=right>Netto ausgewählte Positionen</td><td id=\"g_netto_ausgewaehlt\"></td></tr>";
     echo "<tr><td colspan=8 align=right>Brutto ausgewählte Positionen</td><td id=\"g_brutto_ausgewaehlt\"></td></tr>";
     echo "<tr><td colspan=8 align=right>Skontonachlass</td><td id=\"g_skonto_nachlass\"></td></tr>";
     echo "<tr><td colspan=8 align=right>Skontobetrag</td><td id=\"g_skonto_betrag\"></td></tr>";
     echo "<tr><td colspan=9><hr></td></tr>";
     /*
      * echo "<tr><td colspan=8 align=right>Gesamt Netto errechnet</td><td id=\"g_netto_errechnet\"></td></tr>";
      * echo "<tr><td colspan=8 align=right>Gesamt Brutto errechnet</td><td id=\"g_brutto_errechnet\"></td></tr>";
      * echo "<tr><td colspan=8 align=right>Durchschnittsrabatt im Pool</td><td id=\"durchschnitt_rabatt\"></td></tr>";
      */
     echo "</table>";
     echo "</div>";
     $f->ende_formular();
 }