fibu_buchungen einzelzuordnen multifilter

This commit is contained in:
OpenXE 2023-04-15 18:45:09 +02:00
parent 64d6b90312
commit 4720cc8e94
2 changed files with 79 additions and 33 deletions

View File

@ -1,3 +1,4 @@
<form action="" method="post" id="buchungenform">
<div id="tabs"> <div id="tabs">
<ul> <ul>
<li><a href="#tabs-1"><!--[TABTEXT]--></a></li> <li><a href="#tabs-1"><!--[TABTEXT]--></a></li>
@ -5,28 +6,55 @@
<div id="tabs-1"> <div id="tabs-1">
[MESSAGE] [MESSAGE]
[FORMHANDLEREVENT] [FORMHANDLEREVENT]
<legend>{|Einzelsaldo zuordnen und auf mehrere Gegenbelege oder Sachkonto verbuchen.|}</legend>
<div class="row">
<div class="row-height">
<div class="col-xs-12 col-md-6 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<table>
<tr>
<td>
"[DOC_ZUORDNUNG]"
</td>
</tr>
<tr>
<td>
Saldo: <u>[DOC_SALDO]</u>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
<div class="col-xs-12 col-md-6 col-md-height">
<div class="inside inside-full-height">
<fieldset>
<table>
<tr>
<td>
Multifilter f&uuml;r "Info" (Trennzeichen ',; ')
</td>
</tr>
<tr>
<td>
<textarea type="text" name="multifilter" id="multifilter" style="width:100%;">[MULTIFILTER]</textarea>
</td>
<td>
<button name="submit" value="multifilter" class="ui-button-icon">{|Filtern|}</button>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
</div>
</div>
<div class="row"> <div class="row">
<div class="row-height"> <div class="row-height">
<div class="col-xs-12 col-md-12 col-md-height"> <div class="col-xs-12 col-md-12 col-md-height">
<div class="inside inside-full-height"> <div class="inside inside-full-height">
<form action="" method="post" id="buchungenform"> [TAB1]
<fieldset>
<legend>{|Einzelsaldo zuordnen und auf mehrere Gegenbelege oder Sachkonto verbuchen.|}</legend>
<table>
<tr>
<td>
"[DOC_ZUORDNUNG]"
</td>
</tr>
<tr>
<td>
Saldo: <u>[DOC_SALDO]</u>
</td>
</tr>
</table>
</fieldset>
[TAB1]
</form>
<fieldset> <fieldset>
<table> <table>
<legend>Stapelverarbeitung</legend> <legend>Stapelverarbeitung</legend>
@ -35,27 +63,25 @@
</tr> </tr>
<tr> <tr>
<td><input type="checkbox" value="1" id="autoalle" />&nbsp;alle markieren&nbsp; <td><input type="checkbox" value="1" id="autoalle" />&nbsp;alle markieren&nbsp;
<select form="buchungenform" id="sel_aktion" name="sel_aktion"> <select id="sel_aktion" name="sel_aktion">
<option value="buchen">{|auf Ausgew&auml;hlte buchen|}</option> <option value="buchen">{|auf Ausgew&auml;hlte buchen|}</option>
<option value="buchen_diff_sachkonto">{|auf Ausgew&auml;hlte buchen, Gegenbeleg auf Sachkonto ausgleichen|}</option> <option value="buchen_diff_sachkonto">{|auf Ausgew&auml;hlte buchen, Gegenbeleg auf Sachkonto ausgleichen|}</option>
</select>&nbsp;Sachkonto: </select>&nbsp;Sachkonto:
<input type="text" form="buchungenform" id="sachkonto" name="sachkonto" value=""> <input type="text" id="sachkonto" name="sachkonto" value="">
<button name="submit" form="buchungenform" value="BUCHEN" class="ui-button-icon">{|BUCHEN|}</button> <button name="submit" value="BUCHEN" class="ui-button-icon">{|BUCHEN|}</button>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<input type="number" name="abschlag" id="abschlag" form="neuberechnen" value=[ABSCHLAG] />% Abschlag auf Buchungsbetrag</td> <input type="number" name="abschlag" id="abschlag" value=[ABSCHLAG] />% Abschlag auf Buchungsbetrag</td>
</td> </td>
</tr> </tr>
<tr> <tr>
<form action="" method="post" id="neuberechnen"> <td>
<td> <button name="submit" value="neuberechnen" class="ui-button-icon" style="width:100%;">
<button name="submit" value="neuberechnen" class="ui-button-icon" style="width:100%;"> {|Buchungen neu berechnen|}
{|Buchungen neu berechnen|} </button>
</button> </td>
</td>
</form>
</tr> </tr>
</table> </table>
</fieldset> </fieldset>
@ -66,6 +92,8 @@
</div> </div>
</div> </div>
</form>
<script> <script>
$('#autoalle').on('change',function(){ $('#autoalle').on('change',function(){

View File

@ -197,7 +197,7 @@ class Fibu_buchungen {
$linkend = '"><img src="./themes/'.$app->Conf->WFconf['defaulttheme'].'/images/forward.svg" border=0></a></td></tr></table>'; $linkend = '"><img src="./themes/'.$app->Conf->WFconf['defaulttheme'].'/images/forward.svg" border=0></a></td></tr></table>';
$typ = $this->app->User->GetParameter('fibu_buchungen_doc_typ'); $typ = $this->app->User->GetParameter('fibu_buchungen_doc_typ');
$objektlink = array ( $objektlink = array (
'<a href=\"index.php?action=edit&module=', '<a href=\"index.php?action=edit&module=',
['sql' => 'fb.typ'], ['sql' => 'fb.typ'],
@ -429,11 +429,21 @@ class Fibu_buchungen {
$doc_typ = $this->app->User->GetParameter('fibu_buchungen_doc_typ'); $doc_typ = $this->app->User->GetParameter('fibu_buchungen_doc_typ');
$doc_id = $this->app->User->GetParameter('fibu_buchungen_doc_id'); $doc_id = $this->app->User->GetParameter('fibu_buchungen_doc_id');
$abschlag = $this->app->User->GetParameter('fibu_buchungen_abschlag'); $abschlag = $this->app->User->GetParameter('fibu_buchungen_abschlag');
if (!is_numeric($abschlag)) { if (!is_numeric($abschlag)) {
$abschlag = 0; $abschlag = 0;
} }
$multifilter = $this->app->User->GetParameter('fibu_buchungen_multifilter');
if (!empty($multifilter)) {
$multifilter = $this->app->DB->real_escape_string($multifilter);
$multifilter = str_replace(',',' ',$multifilter);
$multifilter = str_replace(';',' ',$multifilter);
$multifilter = str_replace('\r',' ',$multifilter);
$multifilter = str_replace('\n',' ',$multifilter);
$multifilter_array = explode(' ',$multifilter." ");
}
$auswahl = array ( $auswahl = array (
'<input type=\"text\" name=\"ids[]\" value=\"', '<input type=\"text\" name=\"ids[]\" value=\"',
@ -500,7 +510,11 @@ class Fibu_buchungen {
fba.typ = fo.typ AND fba.id = fo.id fba.typ = fo.typ AND fba.id = fo.id
"; ";
$where = "fo.typ <> '".$doc_typ."'"; $where = "fo.typ <> '".$doc_typ."'";
if (!empty($multifilter_array)) {
$where .= " AND fo.info IN ('".implode("','",$multifilter_array)."')";
}
// $count = "SELECT count(DISTINCT id) FROM fibu_buchungen_alle WHERE $where"; // $count = "SELECT count(DISTINCT id) FROM fibu_buchungen_alle WHERE $where";
@ -918,6 +932,8 @@ class Fibu_buchungen {
$sachkonto = $this->app->Secure->GetPOST('sachkonto'); $sachkonto = $this->app->Secure->GetPOST('sachkonto');
$abschlag = $this->app->Secure->GetPOST('abschlag'); $abschlag = $this->app->Secure->GetPOST('abschlag');
$this->app->User->SetParameter('fibu_buchungen_abschlag', $abschlag); $this->app->User->SetParameter('fibu_buchungen_abschlag', $abschlag);
$multifilter = $this->app->Secure->GetPOST('multifilter');
$this->app->User->SetParameter('fibu_buchungen_multifilter', $multifilter);
$account_id = null; $account_id = null;
if (!empty($sachkonto)) { if (!empty($sachkonto)) {
@ -1031,6 +1047,8 @@ class Fibu_buchungen {
$this->app->Tpl->Set('DOC_SALDO',$saldo." ".$waehrung); $this->app->Tpl->Set('DOC_SALDO',$saldo." ".$waehrung);
$this->app->Tpl->Set('ABSCHLAG',$abschlag); $this->app->Tpl->Set('ABSCHLAG',$abschlag);
$this->app->Tpl->Set('MULTIFILTER',str_replace(array('\r\n', '\r', '\n'), ", ", $multifilter));
$this->app->erp->Headlines('Buchhaltung','Einzelzuordnung '.strtoupper($von_typ)); $this->app->erp->Headlines('Buchhaltung','Einzelzuordnung '.strtoupper($von_typ));
$this->app->YUI->TableSearch('TAB1', 'fibu_buchungen_einzelzuordnen', "show", "", "", basename(__FILE__), __CLASS__); $this->app->YUI->TableSearch('TAB1', 'fibu_buchungen_einzelzuordnen', "show", "", "", basename(__FILE__), __CLASS__);