verbindlichkeit version 1

This commit is contained in:
OpenXE 2023-12-27 18:17:30 +01:00
parent 8f9ed4d7ae
commit afd60b382b
5 changed files with 326 additions and 210 deletions

View File

@ -2448,6 +2448,7 @@ select a.kundennummer, (SELECT name FROM adresse a2 WHERE a2.kundennummer = a.ku
$subwhere = $this->AjaxFilterWhere($termorig,$felder);
$arr = $this->app->DB->SelectArr("SELECT CONCAT(nummer,' ',beschreibung) as name FROM kostenstellen WHERE $subwhere ORDER by nummer");
$carr = !empty($arr)?count($arr):0;
for($i = 0; $i < $carr; $i++)
$newarr[] = $arr[$i]['name'];

View File

@ -1,7 +1,8 @@
<div id="tabs">
<ul>
<li><a href="#tabs-1">Details</a></li>
<li><a href="#tabs-2">Positionen</a></li>
<!-- <li><a href="#tabs-2">Positionen</a></li> -->
<li><a href="#tabs-3">Protokoll</a></li>
</ul>
<div id="tabs-1">
[MESSAGE]
@ -50,10 +51,10 @@
</tr>
<tr>
<td>
{|Rechnung|}:
{|Rechnungs-Nr.|}:
</td>
<td>
<input type="text" name="rechnung" id="rechnung" value="[RECHNUNG]" size="20" [SAVEDISABLED]>
<input type="text" name="rechnung" id="rechnung" value="[RECHNUNG]" size="20" [SAVEDISABLED] required>
</td>
</tr>
<tr>
@ -78,10 +79,10 @@
</td>
<td>
<input type="number" name="betrag" id="betrag" value="[BETRAG]" size="20" [SAVEDISABLED]>
<select name="waehrung" [SAVEDISABLED]>[WAEHRUNG]</select>
<select name="waehrung" [SAVEDISABLED]>[WAEHRUNGSELECT]</select>
</td>
</tr>
<tr>
<tr hidden>
<td>
{|Betrag Positionen brutto|}:
</td>
@ -89,7 +90,7 @@
<input type="number" name="betragbruttopos" id="betragbruttopos" value="[BETRAGBRUTTOPOS]" size="20" disabled>
</td>
</tr>
<tr>
<tr hidden>
<td>
{|Betrag Positionen netto|}:
</td>
@ -126,7 +127,9 @@
{|Waren-/Leistungsprüfung (Einkauf)|}:
</td>
<td>
<input type="checkbox" id="wareneingang" value="1" [WARENEINGANGCHECKED] size="20" disabled><i>Wird gesetzt wenn Wareneingangspositionen vollständig</i>
<input type="checkbox" id="wareneingang" value="1" [WARENEINGANGCHECKED] size="20" disabled>
<a href="index.php?module=verbindlichkeit&action=freigabeeinkauf&id=[ID]" title="freigeben" [FREIGABEEINKAUFHIDDEN]><img src="themes/new/images/forward.svg" border="0" class="textfeld_icon"></a>
<a href="index.php?module=verbindlichkeit&action=ruecksetzeneinkauf&id=[ID]" title="r&uuml;cksetzen" [RUECKSETZENEINKAUFHIDDEN]><img src="themes/new/images/delete.svg" border="0" class="textfeld_icon"></a>
</td>
</tr>
<tr>
@ -135,7 +138,8 @@
</td>
<td>
<input type="checkbox" id="rechnungsfreigabe" [RECHNUNGSFREIGABECHECKED] size="20" disabled>
<a href="index.php?module=verbindlichkeit&action=freigabebuchhaltung&id=[ID]" title="freigeben" [FREIGABEBUCHHALTUNGHIDDEN]><img src="themes/new/images/forward.svg" border="0"></a>
<a href="index.php?module=verbindlichkeit&action=freigabebuchhaltung&id=[ID]" title="freigeben" [FREIGABEBUCHHALTUNGHIDDEN]><img src="themes/new/images/forward.svg" border="0" class="textfeld_icon"></a>
<a href="index.php?module=verbindlichkeit&action=ruecksetzenbuchhaltung&id=[ID]" title="r&uuml;cksetzen" [RUECKSETZENBUCHHALTUNGHIDDEN]><img src="themes/new/images/delete.svg" border="0" class="textfeld_icon"></a>
</td>
</tr>
<tr>
@ -144,7 +148,8 @@
</td>
<td>
<input type="checkbox" id="zahlungsstatus" [BEZAHLTCHECKED] size="20" disabled>
<a href="index.php?module=verbindlichkeit&action=freigabebezahlt&id=[ID]" title="auf &apos;bezahlt&apos; setzen" [FREIGABEBEZAHLTHIDDEN]><img src="themes/new/images/forward.svg" border="0"></a>
<a href="index.php?module=verbindlichkeit&action=freigabebezahlt&id=[ID]" title="auf &apos;bezahlt&apos; setzen" [FREIGABEBEZAHLTHIDDEN]><img src="themes/new/images/forward.svg" border="0" class="textfeld_icon"></a>
<a href="index.php?module=verbindlichkeit&action=ruecksetzenbezahlt&id=[ID]" title="r&uuml;cksetzen" [RUECKSETZENBEZAHLTHIDDEN]><img src="themes/new/images/delete.svg" border="0" class="textfeld_icon"></a>
</td>
</tr>
<tr>
@ -191,8 +196,13 @@
</div>
</form>
</div>
<!--
<div id="tabs-2">
[POS]
</div>
-->
<div id="tabs-3">
[MINIDETAIL]
</div>
</div>

View File

@ -30,6 +30,14 @@
</label>
<label for="nichtbezahlt">{|Nicht bezahlt|}</label>
</li>
<li class="filter-item">
<label for="zahlbarbis">{|Zahlbar bis|}:</label>
<input type="text" name="zahlbarbis" id="zahlbarbis" size="10">
</li>
<li class="filter-item">
<label for="skontobis">{|Skonto bis|}:</label>
<input type="text" name="skontobis" id="skontobis" size="10">
</li>
</ul>
<form method="post" action="#">
<input type="submit" class="btnBlue" name="status_berechnen" value="{|Status berechnen|}" />

View File

@ -1,176 +1,76 @@
[FORMHANDLEREVENT]
[MESSAGE]
<table class="tableborder" border="0" cellpadding="3" cellspacing="0" width="100%">
<tbody>
<tr valign="top" colspan="3">
<td >
<fieldset><legend>{|Rechnungsdaten|}</legend>
<style>
.auftraginfo_cell {
color: #636363;border: 1px solid #ccc;padding: 5px;
}
.auftrag_cell {
color: #636363;border: 1px solid #fff;padding: 0px; margin:0px;
}
</style>
<div style="float:left; width:49%; padding-right:1%;">
<table width="100%" border="0">
<tr valign="top"><td width="150">Lieferant:</td><td>[ADRESSEAUTOSTART][ADRESSE][MSGADRESSE][ADRESSEAUTOEND]</td>
<td>&nbsp;</td>
<td colspan="2" rowspan="2" align="center"><b style="color:green">[MELDUNG]</b>
<br><font size="7">[VERBINDLICHKEIT]</font>
</td></tr>
<tr><td><br><br>Rechnungs Nr.:</td><td><br><br>[RECHNUNG][MSGRECHNUNG]</td>
<td>&nbsp;</td>
</tr>
<tr><td>Bestellung:</td><td width="250">[DISABLESTART]<a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID]" target="_blank">[BESTELLUNG]</a>[MSGBESTELLUNG][MULTIBESTELLUNG][DISABLEENDE]</td>
<td>&nbsp;</td>
<td width="200">Zahlweise:</td><td>[ZAHLUNGSWEISE][MSGZAHLUNGSWEISE]</td></tr>
<tr><td>Rechnungsdatum:</td><td width="250">[RECHNUNGSDATUM][MSGRECHNUNGSDATUM]</td>
<td>&nbsp;</td>
<td width="200">Zahlbar bis:</td><td>[ZAHLBARBIS][MSGZAHLBARBIS][DATUM_ZAHLBARBIS]</td></tr>
<tr><td>Betrag/Total (Brutto):</td><td>[BETRAG][MSGBETRAG]&nbsp;[WAEHRUNG][MSGWAEHRUNG]</td><td>&nbsp;</td>
<td>Skonto in %:</td><td>[SKONTO][MSGSKONTO]</td>
</tr>
<tr><td>USt. 19%:</td><td>[SUMMENORMAL][MSGSUMMENORMAL]</td><td>&nbsp;</td>
<td>Skonto bis:</td><td>[SKONTOBIS][MSGSKONTOBIS][DATUM_SKONTOBIS]</td>
</tr>
<tr>
<td>USt. 7%:</td><td>[SUMMEERMAESSIGT][MSGSUMMEERMAESSIGT]</td>
<td>&nbsp;</td>
<td>Umsatzsteuer</td><td>[UMSATZSTEUER][MSGUMSATZSTEUER]</td>
<tr valign="top">
<td width="150">Lieferant:</td>
<td colspan="3">[ADRESSEAUTOSTART][ADRESSE][MSGADRESSE][ADRESSEAUTOEND]</td>
</tr>
<tr>
<td>[STEUERSATZNAME3]</td><td>[SUMMESATZ3][MSGSUMMESATZ3]</td>
<td>&nbsp;</td>
<td>[STEUERSATZNAME4]</td><td>[SUMMESATZ4][MSGSUMMESATZ4]</td>
<td>Rechnungs-Nr.:</td>
<td>[RECHNUNG][MSGRECHNUNG]</td>
</tr>
<tr>
<td>Verwendungszweck:</td><td>[VERWENDUNGSZWECK][MSGVERWENDUNGSZWECK]</td>
<td>&nbsp;</td>
<td>Frachtkosten:</td><td>[FRACHTKOSTEN][MSGFRACHTKOSTEN]</td>
</tr>
<td>Rechnungsdatum:</td>
<td width="250">[RECHNUNGSDATUM][MSGRECHNUNGSDATUM]</td>
<tr>
<td>Projekt:</td><td>[PROJEKT][MSGKOSTENSTELLE]</td>
<td>&nbsp;</td>
<td></td><td></td>
</tr>
<tr>
<td>Kostenstelle:</td><td>[KOSTENSTELLE][MSGKOSTENSTELLE]</td>
<td>&nbsp;</td>
<td>Freigabe:</td><td>[MSGFREIGABE]&nbsp;<i>Wareneingangspr&uuml;fung:</i>&nbsp;[FREIGABE]&nbsp;[MSGRECHNUNGSFREIGABE]&nbsp;<i>Rechnungseingangspr&uuml;fung:</i>&nbsp;[RECHNUNGSFREIGABE]</td>
</tr>
<td width="200">Zahlbar bis:</td>
<td>[ZAHLBARBIS][MSGZAHLBARBIS][DATUM_ZAHLBARBIS]</td>
</tr>
<td>Betrag/Total (Brutto):</td>
<td>[BETRAG][MSGBETRAG]&nbsp;[WAEHRUNG][MSGWAEHRUNG]</td>
<tr>
<td>Sachkonto:</td><td>[SACHKONTO][MSGSACHKONTO]</td>
<td>&nbsp;</td>
<td>Aktion:</td><td>[BUTTONBEZAHLT]</td>
<td>Skonto in %:</td>
<td>[SKONTO][MSGSKONTO]</td>
</tr>
<tr>
<td>Interne Bemerkung:</td><td colspan="4">[INTERNEBEMERKUNG]</td>
<td>Skonto bis:</td>
<td>[SKONTOBIS][MSGSKONTOBIS][DATUM_SKONTOBIS]</td>
</tr>
<tr>
<td>Projekt:</td>
<td>[PROJEKT][MSGKOSTENSTELLE]</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Kostenstelle:</td>
<td>[KOSTENSTELLE][MSGKOSTENSTELLE]</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>Interne Bemerkung:</td>
<td colspan="4">[INTERNEBEMERKUNG]</td>
</tr>
</table>
</fieldset>
</td></tr>
</tbody>
</table>
<table class="tableborder" border="0" cellpadding="3" cellspacing="0" width="100%">
<tr valign="top"><td width="50%">
<table cellspacing="5" width="100%">
<!--<tr><td><b>Bestellung</b></td><td><b>Bestell-Nr.</b></td><td><b>Teilbetrag</b></td><td><b>Projekt</b></td><td><b>Kostenstelle</b></td><td><b>Bemerkung</b></td></tr>
<tr><td>Nr. 1</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID1]" target="_blank">[BESTELLUNG1]</a>[MSGBESTELLUNG1]</td><td>[BESTELLUNG1BETRAG][MSGBESTELLUNG1BETRAG]</td>
<td>[BESTELLUNG1PROJEKT]</td><td>[BESTELLUNG1KOSTENSTELLE]</td>
<td>[BESTELLUNG1BEMERKUNG][MSGBESTELLUNG1BEMERKUNG]</td></tr>
<tr><td>Nr. 2</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID2]" target="_blank">[BESTELLUNG2]</a>[MSGBESTELLUNG2]</td><td>[BESTELLUNG2BETRAG][MSGBESTELLUNG2BETRAG]</td>
<td>[BESTELLUNG2PROJEKT]</td><td>[BESTELLUNG2KOSTENSTELLE]</td>
<td>[BESTELLUNG2BEMERKUNG][MSGBESTELLUNG2BEMERKUNG]</td></tr>
<tr><td>Nr. 3</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID3]" target="_blank">[BESTELLUNG3]</a>[MSGBESTELLUNG3]</td><td>[BESTELLUNG3BETRAG][MSGBESTELLUNG3BETRAG]</td>
<td>[BESTELLUNG3PROJEKT]</td><td>[BESTELLUNG3KOSTENSTELLE]</td>
<td>[BESTELLUNG3BEMERKUNG][MSGBESTELLUNG3BEMERKUNG]</td></tr>
<tr><td>Nr. 4</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID4]" target="_blank">[BESTELLUNG4]</a>[MSGBESTELLUNG4]</td><td>[BESTELLUNG4BETRAG][MSGBESTELLUNG4BETRAG]</td>
<td>[BESTELLUNG4PROJEKT]</td><td>[BESTELLUNG4KOSTENSTELLE]</td>
<td>[BESTELLUNG4BEMERKUNG][MSGBESTELLUNG4BEMERKUNG]</td></tr>
<tr><td>Nr. 5</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID5]" target="_blank">[BESTELLUNG5]</a>[MSGBESTELLUNG5]</td><td>[BESTELLUNG5BETRAG][MSGBESTELLUNG5BETRAG]</td>
<td>[BESTELLUNG5PROJEKT]</td><td>[BESTELLUNG5KOSTENSTELLE]</td>
<td>[BESTELLUNG5BEMERKUNG][MSGBESTELLUNG5BEMERKUNG]</td></tr>
<tr><td>Nr. 6</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID6]" target="_blank">[BESTELLUNG6]</a>[MSGBESTELLUNG6]</td><td>[BESTELLUNG6BETRAG][MSGBESTELLUNG6BETRAG]</td>
<td>[BESTELLUNG6PROJEKT]</td><td>[BESTELLUNG6KOSTENSTELLE]</td>
<td>[BESTELLUNG6BEMERKUNG][MSGBESTELLUNG6BEMERKUNG]</td></tr>
<tr><td>Nr. 7</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID7]" target="_blank">[BESTELLUNG7]</a>[MSGBESTELLUNG7]</td><td>[BESTELLUNG7BETRAG][MSGBESTELLUNG7BETRAG]</td>
<td>[BESTELLUNG7PROJEKT]</td><td>[BESTELLUNG7KOSTENSTELLE]</td>
<td>[BESTELLUNG7BEMERKUNG][MSGBESTELLUNG7BEMERKUNG]</td></tr>
<tr><td>Nr. 8</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID8]" target="_blank">[BESTELLUNG8]</a>[MSGBESTELLUNG8]</td><td>[BESTELLUNG8BETRAG][MSGBESTELLUNG8BETRAG]</td>
<td>[BESTELLUNG8PROJEKT]</td><td>[BESTELLUNG8KOSTENSTELLE]</td>
<td>[BESTELLUNG8BEMERKUNG][MSGBESTELLUNG8BEMERKUNG]</td></tr>
<tr><td>Nr. 9</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID9]" target="_blank">[BESTELLUNG9]</a>[MSGBESTELLUNG9]</td><td>[BESTELLUNG9BETRAG][MSGBESTELLUNG9BETRAG]</td>
<td>[BESTELLUNG9PROJEKT]</td><td>[BESTELLUNG9KOSTENSTELLE]</td>
<td>[BESTELLUNG9BEMERKUNG][MSGBESTELLUNG9BEMERKUNG]</td></tr>
<tr><td>Nr. 10</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID10]" target="_blank">[BESTELLUNG10]</a>[MSGBESTELLUNG10]</td><td>[BESTELLUNG10BETRAG][MSGBESTELLUNG10BETRAG]</td>
<td>[BESTELLUNG10PROJEKT]</td><td>[BESTELLUNG10KOSTENSTELLE]</td>
<td>[BESTELLUNG10BEMERKUNG][MSGBESTELLUNG10BEMERKUNG]</td></tr>
<tr><td>Nr. 11</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID11]" target="_blank">[BESTELLUNG11]</a>[MSGBESTELLUNG11]</td><td>[BESTELLUNG11BETRAG][MSGBESTELLUNG11BETRAG]</td>
<td>[BESTELLUNG11PROJEKT]</td><td>[BESTELLUNG11KOSTENSTELLE]</td>
<td>[BESTELLUNG11BEMERKUNG][MSGBESTELLUNG11BEMERKUNG]</td></tr>
<tr><td>Nr. 12</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID12]" target="_blank">[BESTELLUNG12]</a>[MSGBESTELLUNG12]</td><td>[BESTELLUNG12BETRAG][MSGBESTELLUNG12BETRAG]</td>
<td>[BESTELLUNG12PROJEKT]</td><td>[BESTELLUNG12KOSTENSTELLE]</td>
<td>[BESTELLUNG12BEMERKUNG][MSGBESTELLUNG12BEMERKUNG]</td></tr>
<tr><td>Nr. 13</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID13]" target="_blank">[BESTELLUNG13]</a>[MSGBESTELLUNG13]</td><td>[BESTELLUNG13BETRAG][MSGBESTELLUNG13BETRAG]</td>
<td>[BESTELLUNG13PROJEKT]</td><td>[BESTELLUNG13KOSTENSTELLE]</td>
<td>[BESTELLUNG13BEMERKUNG][MSGBESTELLUNG13BEMERKUNG]</td></tr>
<tr><td>Nr. 14</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID14]" target="_blank">[BESTELLUNG14]</a>[MSGBESTELLUNG14]</td><td>[BESTELLUNG14BETRAG][MSGBESTELLUNG14BETRAG]</td>
<td>[BESTELLUNG14PROJEKT]</td><td>[BESTELLUNG14KOSTENSTELLE]</td>
<td>[BESTELLUNG14BEMERKUNG][MSGBESTELLUNG14BEMERKUNG]</td></tr>
<tr><td>Nr. 15</td><td><a href="index.php?module=bestellung&action=edit&id=[BESTELLUNGID15]" target="_blank">[BESTELLUNG15]</a>[MSGBESTELLUNG15]</td><td>[BESTELLUNG15BETRAG][MSGBESTELLUNG15BETRAG]</td>
<td>[BESTELLUNG15PROJEKT]</td><td>[BESTELLUNG15KOSTENSTELLE]</td>
<td>[BESTELLUNG15BEMERKUNG][MSGBESTELLUNG15BEMERKUNG]</td></tr>-->
[TABELLEBESTELLUNGEN]
</table>
</td>
<td>
<table width="100%>">
<tr><td>Summe Verbindlichkeit</td><td>Summe Kontierung</td></tr>
<tr>
<td class="greybox" width="25%">[SUMMEVERBINDLICHKEIT]</td>
<td class="greybox" width="25%">[SUMMEKONTIERUNG]</td>
</tr>
</table>
[MESSAGEVORKONTIERUNG]
[VORKONTIERUNG]
[ZAHLUNGEN]
<div style="background-color:white">
<h2 class="greyh2">{|Protokoll|}</h2>
<div style="padding:10px">
</div>
<div style="float:left; width:50%">
<div style="background-color:white">
<h2 class="greyh2">Artikel</h2>
<div style="padding:10px">
[ARTIKEL]
</div>
</div>
<div style="background-color:white">
<h2 class="greyh2">Buchungen</h2>
<div style="padding:10px">
[ZAHLUNGEN]
</div>
</div>
<div style="background-color:white">
<h2 class="greyh2">Protokoll</h2>
<div style="padding:10px;">
[PROTOKOLL]
</div>
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>

View File

@ -24,9 +24,14 @@ class Verbindlichkeit {
$this->app->ActionHandler("inlinepdf", "verbindlichkeit_inlinepdf");
$this->app->ActionHandler("positioneneditpopup", "verbindlichkeit_positioneneditpopup");
$this->app->ActionHandler("freigabe", "verbindlichkeit_freigabe");
$this->app->ActionHandler("schreibschutz", "verbindlichkeit_schreibschutz");
$this->app->ActionHandler("freigabeeinkauf", "verbindlichkeit_freigabeeinkauf");
$this->app->ActionHandler("freigabebuchhaltung", "verbindlichkeit_freigabebuchhaltung");
$this->app->ActionHandler("freigabebezahlt", "verbindlichkeit_freigabebezahlt");
$this->app->ActionHandler("ruecksetzeneinkauf", "verbindlichkeit_ruecksetzeneinkauf");
$this->app->ActionHandler("ruecksetzenbuchhaltung", "verbindlichkeit_ruecksetzenbuchhaltung");
$this->app->ActionHandler("ruecksetzenbezahlt", "verbindlichkeit_ruecksetzenbezahlt");
$this->app->ActionHandler("minidetail", "verbindlichkeit_minidetail");
$this->app->DefaultActionHandler("list");
$this->app->ActionHandlerListen($app);
@ -153,6 +158,22 @@ class Verbindlichkeit {
}
// END Toggle filters
$this->app->YUI->DatePicker('zahlbarbis');
$filterzahlbarbis = $this->app->YUI->TableSearchFilter($name, 4,'zahlbarbis');
if (!empty($filterzahlbarbis)) {
$filterzahlbarbis = $this->app->String->Convert($filterzahlbarbis,'%1.%2.%3','%3-%2-%1');
$where .= " AND v.zahlbarbis <= '".$filterzahlbarbis."'";
}
$this->app->YUI->DatePicker('skontobis');
$filterskontobis = $this->app->YUI->TableSearchFilter($name, 5,'skontobis');
if (!empty($filterskontobis)) {
$filterskontobis = $this->app->String->Convert($filterskontobis,'%1.%2.%3','%3-%2-%1');
$where .= " AND v.skontobis <= '".$filterskontobis."'";
}
$moreinfo = true; // Allow drop down details
$menucol = 1; // For moredata
break;
}
@ -186,13 +207,19 @@ class Verbindlichkeit {
switch ($aktion) {
case 'freigabeeinkauf':
echo("freigabeeinkauf");
foreach ($selectedIds as $id) {
$this->verbindlichkeit_freigabeeinkauf($id);
}
break;
case 'freigabebuchhaltung':
echo("freigabebuchhaltung");
foreach ($selectedIds as $id) {
$this->verbindlichkeit_freigabebuchhaltung($id);
}
break;
case 'bezahlt':
echo("bezahlt");
foreach ($selectedIds as $id) {
$this->verbindlichkeit_freigabebezahlt($id);
}
break;
}
}
@ -205,6 +232,10 @@ class Verbindlichkeit {
$this->app->YUI->TableSearch('TAB1', 'verbindlichkeit_list', "show", "", "", basename(__FILE__), __CLASS__);
/*
Prepared for later use...
if($this->app->erp->RechteVorhanden('verbindlichkeit', 'freigabeeinkauf')){
$this->app->Tpl->Set('MANUELLFREIGABEEINKAUF', '<option value="freigabeeinkauf">{|freigeben (Einkauf)|}</option>');
}
@ -216,6 +247,9 @@ class Verbindlichkeit {
if($this->app->erp->RechteVorhanden('verbindlichkeit', 'freigabebezahlt')){
$this->app->Tpl->Set('ALSBEZAHLTMARKIEREN', '<option value="bezahlt">{|als bezahlt markieren|}</option>');
}
*/
$this->app->User->SetParameter('table_verbindlichkeit_list_zahlbarbis', '');
$this->app->User->SetParameter('table_verbindlichkeit_list_skontobis', '');
$this->app->Tpl->Parse('PAGE', "verbindlichkeit_list.tpl");
}
@ -223,8 +257,8 @@ class Verbindlichkeit {
public function verbindlichkeit_delete() {
$id = (int) $this->app->Secure->GetGET('id');
$this->app->DB->Delete("DELETE FROM `verbindlichkeit` WHERE `id` = '{$id}'");
$this->app->Tpl->Set('MESSAGE', "<div class=\"error\">Der Eintrag wurde gel&ouml;scht.</div>");
$this->app->DB->Delete("UPDATE `verbindlichkeit` SET status='storniert' WHERE `id` = '{$id}'");
$this->app->Tpl->Set('MESSAGE', "<div class=\"error\">Der Eintrag wurde storniert.</div>");
$this->verbindlichkeit_list();
}
@ -263,16 +297,16 @@ class Verbindlichkeit {
// Write to database
// Add checks here
$status = $this->app->DB->Select("SELECT status FROM verbindlichkeit WHERE id =".$id);
$schreibschutz = $this->app->DB->Select("SELECT schreibschutz FROM verbindlichkeit WHERE id =".$id);
if ($status != 'angelegt' && $id != 'NULL') {
if ($schreibschutz) {
$internebemerkung = $input['internebemerkung'];
$projekt = $input['projekt'];
$kostenstelle = $input['kostenstelle'];
unset($input);
$input['internebemerkung'] = $internebemerkung;
$input['projekt'] = $this->app->erp->ReplaceProjekt(true,$projekt,true);
$input['kostenstelle'] = $this->app->erp->ReplaceKostenstelle(true,$kostenstelle,true);
$input['kostenstelle'] = $this->app->DB->Select("SELECT id FROM kostenstellen WHERE nummer = '".$kostenstelle."'");
} else {
$input['adresse'] = $this->app->erp->ReplaceLieferantennummer(true,$input['adresse'],true); // Parameters: Target db?, value, from form?
$input['rechnungsdatum'] = $this->app->erp->ReplaceDatum(true,$input['rechnungsdatum'],true); // Parameters: Target db?, value, from form?
@ -280,8 +314,7 @@ class Verbindlichkeit {
$input['skontobis'] = $this->app->erp->ReplaceDatum(true,$input['skontobis'],true); // Parameters: Target db?, value, from form?
$input['zahlbarbis'] = $this->app->erp->ReplaceDatum(true,$input['zahlbarbis'],true); // Parameters: Target db?, value, from form?
$input['projekt'] = $this->app->erp->ReplaceProjekt(true,$input['projekt'],true);
$input['kostenstelle'] = $this->app->erp->ReplaceKostenstelle(true,$input['kostenstelle'],true);
$input['kostenstelle'] = $this->app->DB->Select("SELECT id FROM kostenstellen WHERE nummer = '".$input['kostenstelle']."'");
if(empty($input['projekt']) && !empty($input['adresse'])) {
$input['projekt'] = $this->app->erp->GetCreateProjekt($input['adresse']);
}
@ -388,17 +421,33 @@ class Verbindlichkeit {
*/
if ($verbindlichkeit_from_db['status'] != 'angelegt' && $id != 'NULL') {
if ($verbindlichkeit_from_db['schreibschutz']) {
$this->app->Tpl->Set('SAVEDISABLED','disabled');
$this->app->Tpl->Set('MESSAGE',"<div class=\"warning\">Diese Verbindlichkeit ist schreibgesch&uuml;tzt und darf daher nicht mehr bearbeitet werden!&nbsp;<input type=\"button\" value=\"Schreibschutz entfernen\" onclick=\"if(!confirm('Soll der Schreibschutz f&uuml;r diese Verbindlichkeit wirklich entfernt werden?')) return false;else window.location.href='index.php?module=verbindlichkeit&action=schreibschutz&id=$id';\"></div>");
}
if ($verbindlichkeit_from_db['status'] == 'angelegt' || $verbindlichkeit_from_db['rechnungsfreigabe']) {
if (empty($verbindlichkeit_from_db['adresse'] || $verbindlichkeit_from_db['status'] == 'angelegt')) {
$this->app->Tpl->Set('FREIGABEEINKAUFHIDDEN','hidden');
$this->app->Tpl->Set('FREIGABEBUCHHALTUNGHIDDEN','hidden');
}
if ($verbindlichkeit_from_db['status'] == 'angelegt' || $verbindlichkeit_from_db['bezahlt'] == '1') {
$this->app->Tpl->Set('FREIGABEBEZAHLTHIDDEN','hidden');
}
if ($verbindlichkeit_from_db['freigabe']) {
$this->app->Tpl->Set('FREIGABEEINKAUFHIDDEN','hidden');
} else {
$this->app->Tpl->Set('RUECKSETZENEINKAUFHIDDEN','hidden');
}
if ($verbindlichkeit_from_db['rechnungsfreigabe']) {
$this->app->Tpl->Set('FREIGABEBUCHHALTUNGHIDDEN','hidden');
} else {
$this->app->Tpl->Set('RUECKSETZENBUCHHALTUNGHIDDEN','hidden');
}
if ($verbindlichkeit_from_db['bezahlt'] == '1') {
$this->app->Tpl->Set('FREIGABEBEZAHLTHIDDEN','hidden');
} else {
$this->app->Tpl->Set('RUECKSETZENBEZAHLTHIDDEN','hidden');
}
$this->app->Tpl->Set('WARENEINGANGCHECKED', $verbindlichkeit_from_db['freigabe']==1?"checked":"");
$this->app->Tpl->Set('RECHNUNGSFREIGABECHECKED', $verbindlichkeit_from_db['rechnungsfreigabe']==1?"checked":"");
$this->app->Tpl->Set('BEZAHLTCHECKED', $verbindlichkeit_from_db['bezahlt']==1?"checked":"");
@ -420,20 +469,15 @@ class Verbindlichkeit {
$this->app->YUI->AutoComplete("projekt", "projektname", 1);
$this->app->Tpl->Set('PROJEKT',$this->app->erp->ReplaceProjekt(false,$verbindlichkeit_from_db['projekt'],false));
$this->app->YUI->AutoComplete("kostenstelle", "kostenstelle", 1);
$this->app->Tpl->Set('KOSTENSTELLE',$this->app->erp->ReplaceKostenstelle(false,$verbindlichkeit_from_db['kostenstelle'],false));
$this->app->Tpl->Set('KOSTENSTELLE',$this->app->DB->SELECT("SELECT nummer FROM kostenstellen WHERE id = '".$verbindlichkeit_from_db['kostenstelle']."'"));
$waehrungenselect = $this->app->erp->GetSelect($this->app->erp->GetWaehrung(), $verbindlichkeit_from_db['waehrung']);
$this->app->Tpl->Set('WAEHRUNG', $waehrungenselect);
$this->app->Tpl->Set('WAEHRUNGSELECT', $waehrungenselect);
$this->app->Tpl->Set('ADRESSE_ID', $verbindlichkeit_from_db['adresse']);
$this->app->Tpl->Set('ADRESSE', $this->app->erp->ReplaceLieferantennummer(false,$verbindlichkeit_from_db['adresse'],false)); // Convert ID to form display
if (empty($verbindlichkeit_from_db['adresse'])) {
$this->app->Tpl->Set('FREIGABEBUCHHALTUNGHIDDEN','hidden');
$this->app->Tpl->Set('FREIGABEBEZAHLTHIDDEN','hidden');
}
$this->app->YUI->CkEditor("internebemerkung");
$anzahldateien = $this->app->erp->AnzahlDateien("verbindlichkeit",$id);
@ -445,6 +489,7 @@ class Verbindlichkeit {
$this->app->Tpl->Set('INLINEPDF', 'Keine Dateien vorhanden.');
}
$this->verbindlichkeit_minidetail('MINIDETAIL',false);
$this->app->Tpl->Parse('PAGE', "verbindlichkeit_edit.tpl");
}
@ -489,15 +534,15 @@ class Verbindlichkeit {
$this->app->erp->MenuEintrag("index.php?module=verbindlichkeit&action=dateien&id=$id", "Dateien".$anzahldateien);
}
$invoiceArr = $this->app->DB->SelectRow("SELECT v.belegnr, a.name, v.status FROM verbindlichkeit v LEFT JOIN adresse a ON v.adresse = a.id WHERE v.id='$id' LIMIT 1");
$invoiceArr = $this->app->DB->SelectRow("SELECT v.belegnr, a.name, v.status, schreibschutz FROM verbindlichkeit v LEFT JOIN adresse a ON v.adresse = a.id WHERE v.id='$id' LIMIT 1");
$belegnr = $invoiceArr['belegnr'];
$name = $invoiceArr['name'];
if($belegnr=='0' || $belegnr=='') {
$belegnr ='(Entwurf)';
}
$this->app->Tpl->Set('KURZUEBERSCHRIFT2',"$name Verbindlichkeit $belegnr");
$status = $invoiceArr['status'];
if ($status==='angelegt') {
if ($invoiceArr['status'] === 'angelegt' || $invoiceArr['schreibschutz'] != 1) {
$this->app->erp->MenuEintrag("index.php?module=verbindlichkeit&action=freigabe&id=$id",'Freigabe');
}
}
@ -620,41 +665,193 @@ class Verbindlichkeit {
{
$id = $this->app->Secure->GetGET('id');
$this->app->erp->BelegFreigabe('verbindlichkeit',$id);
$this->app->erp->BelegProtokoll("verbindlichkeit",$id,"Verbindlichkeit freigegeben");
$this->app->DB->Update("UPDATE verbindlichkeit SET schreibschutz = 1 WHERE id = ".$id);
$this->verbindlichkeit_edit();
}
function verbindlichkeit_freigabeeinkauf($id)
function verbindlichkeit_freigabeeinkauf($id = null)
{
if (empty($id)) {
$id = $this->app->Secure->GetGET('id');
$gotoedit = true;
}
$sql = "UPDATE verbindlichkeit SET freigabe = 1 WHERE id=".$id;
$this->app->DB->Update($sql);
$this->app->erp->BelegProtokoll("verbindlichkeit",$id,"Verbindlichkeit freigegeben (Einkauf)");
if ($gotoedit) {
$this->verbindlichkeit_edit();
}
}
function verbindlichkeit_freigabebuchhaltung($id)
function verbindlichkeit_freigabebuchhaltung($id = null)
{
if (empty($id)) {
$id = $this->app->Secure->GetGET('id');
$gotoedit = true;
}
$sql = "UPDATE verbindlichkeit SET rechnungsfreigabe = 1 WHERE id=".$id;
$this->app->DB->Update($sql);
$this->app->erp->BelegProtokoll("verbindlichkeit",$id,"Verbindlichkeit freigegeben (Buchhaltung)");
if ($gotoedit) {
$this->verbindlichkeit_edit();
}
}
function verbindlichkeit_freigabebezahlt($id)
function verbindlichkeit_freigabebezahlt($id = null)
{
if (empty($id)) {
$id = $this->app->Secure->GetGET('id');
$gotoedit = true;
}
$sql = "UPDATE verbindlichkeit SET bezahlt = 1 WHERE id=".$id;
$this->app->DB->Update($sql);
$this->app->erp->BelegProtokoll("verbindlichkeit",$id,"Verbindlichkeit als bezahlt markiert");
if ($gotoedit) {
$this->verbindlichkeit_edit();
}
}
function verbindlichkeit_ruecksetzeneinkauf($id = null)
{
if (empty($id)) {
$id = $this->app->Secure->GetGET('id');
$gotoedit = true;
}
$sql = "UPDATE verbindlichkeit SET freigabe = 0 WHERE id=".$id;
$this->app->DB->Update($sql);
$this->app->erp->BelegProtokoll("verbindlichkeit",$id,"Verbindlichkeit r&uuml;ckgesetzt (Einkauf)");
if ($gotoedit) {
$this->verbindlichkeit_edit();
}
}
function verbindlichkeit_ruecksetzenbuchhaltung($id = null)
{
if (empty($id)) {
$id = $this->app->Secure->GetGET('id');
$gotoedit = true;
}
$sql = "UPDATE verbindlichkeit SET rechnungsfreigabe = 0 WHERE id=".$id;
$this->app->DB->Update($sql);
$this->app->erp->BelegProtokoll("verbindlichkeit",$id,"Verbindlichkeit r&uuml;ckgesetzt (Buchhaltung)");
if ($gotoedit) {
$this->verbindlichkeit_edit();
}
}
function verbindlichkeit_ruecksetzenbezahlt($id = null)
{
if (empty($id)) {
$id = $this->app->Secure->GetGET('id');
$gotoedit = true;
}
$sql = "UPDATE verbindlichkeit SET bezahlt = 0 WHERE id=".$id;
$this->app->DB->Update($sql);
$this->app->erp->BelegProtokoll("verbindlichkeit",$id,"Verbindlichkeit bezahlt r&uuml;ckgesetzt");
if ($gotoedit) {
$this->verbindlichkeit_edit();
}
}
function verbindlichkeit_schreibschutz($id = null)
{
if (empty($id)) {
$id = $this->app->Secure->GetGET('id');
$gotoedit = true;
}
$sql = "UPDATE verbindlichkeit SET schreibschutz = 0 WHERE id=".$id;
$this->app->DB->Update($sql);
$this->app->erp->BelegProtokoll("verbindlichkeit",$id,"Verbindlichkeit Schreibschutz entfernt");
if ($gotoedit) {
$this->verbindlichkeit_edit();
}
}
public function verbindlichkeit_minidetail($parsetarget='',$menu=true) {
$id = $this->app->Secure->GetGET('id');
$result = $this->app->DB->SelectArr("SELECT SQL_CALC_FOUND_ROWS
v.id,
v.belegnr,
v.status_beleg,
v.schreibschutz,
v.rechnung,
".$this->app->erp->FormatDate('v.zahlbarbis', 'zahlbarbis').",
v.betrag,
v.umsatzsteuer,
v.ustid,
v.summenormal,
v.summeermaessigt,
v.summesatz3,
v.summesatz4,
v.steuersatzname3,
v.steuersatzname4,
v.skonto,
".$this->app->erp->FormatDate('v.skontobis', 'skontobis').",
v.skontofestsetzen,
v.freigabe,
v.freigabemitarbeiter,
v.bestellung,
p.abkuerzung AS projekt,
v.teilprojekt,
v.auftrag,
v.status,
v.bezahlt,
v.kontoauszuege,
v.firma,
v.logdatei,
v.waehrung,
v.zahlungsweise,
".$this->app->erp->FormatDate('v.eingangsdatum', 'eingangsdatum').",
".$this->app->erp->FormatDate('v.rechnungsdatum', 'rechnungsdatum').",
v.rechnungsfreigabe,
k.nummer as kostenstelle,
v.beschreibung,
v.sachkonto,
v.art,
v.verwendungszweck,
v.dta_datei,
v.frachtkosten,
v.internebemerkung,
v.ustnormal,
v.ustermaessigt,
v.uststuer3,
v.uststuer4,
v.betragbezahlt,
v.bezahltam,
v.klaerfall,
v.klaergrund,
v.skonto_erhalten,
v.kurs,
v.sprache,
v.id,
CONCAT(a.lieferantennummer,' ',a.name) AS adresse
FROM verbindlichkeit v
LEFT JOIN adresse a ON a.id = v.adresse
LEFT JOIN projekt p ON a.projekt = p.id
LEFT JOIN kostenstellen k ON v.kostenstelle = k.id
WHERE v.id='$id'");
foreach ($result[0] as $key => $value) {
$this->app->Tpl->Set(strtoupper($key), $value);
}
if (!empty($result[0])) {
$verbindlichkeit_from_db = $result[0];
}
$tmp = new EasyTable($this->app);
$tmp->Query("SELECT zeit,bearbeiter,grund FROM verbindlichkeit_protokoll WHERE verbindlichkeit='$id' ORDER by zeit DESC",0,"");
$tmp->DisplayNew('PROTOKOLL',"Protokoll","noAction");
if($parsetarget=='')
{
$this->app->Tpl->Output('verbindlichkeit_minidetail.tpl');
$this->app->ExitXentral();
}
$this->app->Tpl->Parse($parsetarget,'verbindlichkeit_minidetail.tpl');
}
}