PCHD#33856: Bij facturen overzicht scherm kunnen filteren op goedkeurder.

svn path=/Website/trunk/; revision=27027
This commit is contained in:
Maykel Geerdink
2015-11-17 09:37:35 +00:00
parent b209c5b7bb
commit 22b36dc5bf
6 changed files with 82 additions and 27 deletions

View File

@@ -49,11 +49,12 @@ function model_invoices(fin_key, params)
"purchaseorder" : { dbs: "bes_bestelopdr_key", typ: "key", foreign: "bes_bestelopdr", filter: "exact"},
"total" : { dbs: "fin_factuur_totaal", typ: "float", track: true, label: L("lcl_fin_totaal_bedrag"), filter: "range" },
"vat" : { dbs: "fin_factuur_totaal_btw", typ: "float", track: true, label: L("lcl_fin_totaal_bedrag_btw"), filter: "range" },
"status" : { dbs: "fin_factuur_statuses_key", typ: "key", foreign: fin.getfinstatustext, track: true, label: L("lcl_fin_fin_status"), filter: "exact" },
"finstatus" : { dbs: "fin_factuur_statuses_key", typ: "key", foreign: fin.getfinstatustext, track: true, label: L("lcl_fin_fin_status"), filter: "exact" },
"accountingperiod": { dbs: "fin_factuur_boekmaand", typ: "varchar", track: true, label: L("lcl_fin_divide_period"), filter: "exact" },
"reference" : { dbs: "fin_factuur_debiteur_nr", typ: "varchar", track: true, label: L("lcl_fin_debtor_nr"), filter: "like" },
"debiteur_nr" : { dbs: "fin_factuur_debiteur_nr", typ: "varchar", track: true, label: L("lcl_fin_debtor_nr"), filter: "like" },
"costtype" : { dbs: "prs_kostensoort_key", typ: "key", foreign: "prs_kostensoort", track: true, label: L("lcl_shared_charge_type"), filter: "exact" },
"contact" : { dbs: "prs_perslid_key_user", typ: "key", foreign: "prs_perslid", track: true, label: L("lcl_mld_name"), filter: "exact" },
"goedkeur" : { dbs: "prs_perslid_key_goedkeur", typ: "key", foreign: "prs_perslid", track: true, label: L("lcl_fin_goedkeurder"), filter: "exact" },
"remark" : { dbs: "fin_factuur_opmerking", typ: "varchar", track: true, label: L("lcl_fin_remark"), filter: "like" }
};
this.includes =

View File

@@ -15,6 +15,7 @@
finstatus search for invoices with the given fin status
debtor search for invoices with the given debtor
handler_key search for invoices with the given handler key
goedkeur_key search for invoices with the given goedkeurder key
embedded list is used embedded, do not give add opportunity
sumover search for invoices with a invoice sum over and above the sumover
sumbelow search for invoices with a invoice sum below the sumover
@@ -49,6 +50,7 @@ function fin_list (params)
// params.finstatus : key
// params.debtor : wildcard string
// params.handler_key : key
// params.goedkeur_key : key
// params.budh_key : key
// params.sumover : wildcard currency
// params.sumbelow : wildcard currency
@@ -89,6 +91,7 @@ function fin_list (params)
var finstatus = params.finstatus;
var debtor = params.debtor;
var handler_key = params.handler_key;
var goedkeur_key = params.goedkeur_key;
var embedded = params.embedded == 1;
var sumover = params.sumover;
var sumbelow = params.sumbelow;
@@ -540,6 +543,9 @@ function fin_list (params)
if (handler_key)
sql += " AND COALESCE (o.mld_uitvoerende_keys, c.cnt_prs_bedrijf_key, bo.prs_bedrijf_key) = " + handler_key;
if (goedkeur_key)
sql += " AND f.prs_perslid_key_goedkeur = " + goedkeur_key;
if (finstatus)
sql += " AND f.fin_factuur_statuses_key = " + finstatus;

View File

@@ -56,6 +56,7 @@ var opdrnr = getQParam("opdrnr", -1); // Opdrachtnummer
var finstatus = getQParamInt("finstatus", -1); // Factuurstatus
var debtor = getQParam("debtor", -1); // Eigen debiteurnummer
var handler_key = getQParamInt("handler_key", -1); // Uitvoerende
var goedkeurder_key = getQParamInt("goedkeurder_key", -1); // Goedkeurderd
var budh_key = getQParamInt("budh_key", -1); // Default budgethouder (dummy als ik alleen mijn kps mag zien)
var autosearch = getQParamInt("autosearch", 0) == 1; // Direct lijst tonen
var dis_key = getQParamInt("district_key", -1); // District
@@ -79,6 +80,7 @@ if (finstatus == -1 && finnum == "" && opdrnr == -1)
var authparamsFINUSE = user.checkAutorisation("WEB_FINUSE", true);
var authparamsFINFOF = user.checkAutorisation("WEB_FINFOF", true);
var authparamsFINBOF = user.checkAutorisation("WEB_FINBOF", true);
var authparams = user.checkAutorisation(["WEB_FINUSE", "WEB_FINFOF", "WEB_FINBOF"], true); // Autorisatie is afhankelijk van drie fin functies
user.auth_required_or_abort(authparamsFINUSE || authparamsFINFOF || authparamsFINBOF || user.isBudgethouder());
@@ -102,7 +104,9 @@ var isContactpersoon = user.isContactpersoon();
<% if (xd.enabled()) { %>
function xdclicked()
{
$(".noxd").toggle(!document.getElementById("xd").checked);
var doxd = document.getElementById("xd").checked;
$(".noxd").toggle(!doxd);
$(".onlyxd").toggle(doxd);
}
<% } %>
@@ -197,8 +201,7 @@ var isContactpersoon = user.isContactpersoon();
volgnr: 2
});
//<!-- Uitvoerende -->
//<!-- Uitvoerende -->
FCLTbedrijfselector("handler","handler",
{ companyKey: handler_key,
label: L("lcl_handler"),
@@ -208,6 +211,25 @@ var isContactpersoon = user.isContactpersoon();
whenEmpty: L("lcl_search_generic")
});
%>
<!-- Goedkeurder -->
<tr class="primsearch onlyxd hidden">
<td class="label"><label for="goedkeurdertekst"><%=L("lcl_fin_goedkeurder")%>:</label></td>
<td>
<input type="text" class="fldsrch wildcard" name="goedkeurdertekst" value="">
</td>
</tr>
<% // Alleen de goedkeurders.
FCLTpersoonselector("goedkeurder",
"sgGoedkeurder",
{ perslidKey: goedkeurder_key,
label: L("lcl_fin_goedkeurder"),
filtercode: "FING", // Goedkeurder.
trclass: "primsearch noxd",
autlevel: authparams.PRSreadlevel,
emptyOption: "",
whenEmpty: L("lcl_search_generic")
});
%>
<!-- Eigen debiteurennummer -->
<tr class="primsearch">

View File

@@ -47,6 +47,7 @@ else
var finstatus = getQParamInt("finstatus", -1); // Factuurstatus
var debtor = getQParam("debtor", ""); // Eigen debiteurnummer
var handler_key = getQParamInt("handler", -1); // Uitvoerende key
var goedkeur_key = getQParamInt("goedkeurder", -1); // Goedkeurder key
var budh_key = getQParamInt("budh_key", -1); // Budgethouder key (fiatteur zeg maar)
var sumover = getQParamFloat("sumover", ""); // Factuurbedrag boven
var sumbelow = getQParamFloat("sumbelow", ""); // Factuurbedrag boven
@@ -60,23 +61,24 @@ else
var fin_deleted = (getQParam("fin_deleted", "off") == "on"); // Verwijderde facturen
/***** End get webform parameters *****/
params.datefrom = findate_from;
params.dateto = findate_to;
params.finnum = (finnum != -1 ? finnum : null);
params.fin_type = (fin_type != -1? fin_type : null);
params.opdrnr = (opdrnr != ""? opdrnr : null);
params.finstatus = (finstatus != -1? finstatus : null);
params.debtor = (debtor != ""? debtor : null);
params.budh_key = (budh_key != -1? budh_key : null);
params.handler_key = (handler_key != -1? handler_key : null);
params.sumover = (sumover != ""? sumover : null);
params.sumbelow = (sumbelow != ""? sumbelow : null);
params.fin_actual = fin_actual;
params.fin_deleted = fin_deleted;
params.dis_key = (districtkey != -1 ? districtkey : null);
params.loc_key = (locatiekey != -1 ? locatiekey : null);
params.bld_key = (gebouwkey != -1 ? gebouwkey : null);
params.verantw_key = (verantw_key != -1? verantw_key: null);
params.datefrom = findate_from;
params.dateto = findate_to;
params.finnum = (finnum != -1 ? finnum : null);
params.fin_type = (fin_type != -1? fin_type : null);
params.opdrnr = (opdrnr != ""? opdrnr : null);
params.finstatus = (finstatus != -1? finstatus : null);
params.debtor = (debtor != ""? debtor : null);
params.budh_key = (budh_key != -1? budh_key : null);
params.handler_key = (handler_key != -1? handler_key : null);
params.goedkeur_key = (goedkeur_key != -1? goedkeur_key : null);
params.sumover = (sumover != ""? sumover : null);
params.sumbelow = (sumbelow != ""? sumbelow : null);
params.fin_actual = fin_actual;
params.fin_deleted = fin_deleted;
params.dis_key = (districtkey != -1 ? districtkey : null);
params.loc_key = (locatiekey != -1 ? locatiekey : null);
params.bld_key = (gebouwkey != -1 ? gebouwkey : null);
params.verantw_key = (verantw_key != -1? verantw_key: null);
}
fin_list(params);

View File

@@ -21,6 +21,7 @@
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<!-- #include file="../Shared/calendar.inc" -->
<!-- #include file="../Shared/xd.inc" -->
<!-- #include file="../fin/fin.inc" -->
<%
var outputmode = getQParamInt("outputmode", 0); // 0 = screen, 1 = print, 2 = excel etc
var showall = getQParamInt("showall", 0) == 1;
@@ -39,7 +40,19 @@ var sumover = getQParamFloat("sumover", ""); // Factuurbedrag boven
var sumbelow = getQParamFloat("sumbelow", ""); // Factuurbedrag boven
var fin_actual = (getQParam("fin_actual", "off") == "on"); // Actuele facturen
var fin_deleted = (getQParam("fin_deleted", "off") == "on"); // Verwijderde facturen
var goedkeurdertekst = getQParam("goedkeurdertekst", "");
var params = {name: finnum,
start_invoicedate: findate_from,
end_invoicedate: findate_to,
referencetype: fin_type,
finstatus: finstatus,
debiteur_nr: debtor,
start_total: sumover,
end_total: sumbelow,
fin_actual: fin_actual,
fin_deleted: fin_deleted,
goedkeur: goedkeurdertekst}
FCLTHeader.Requires({ plugins: ["jQuery"], js: ["jquery-ui.js"]});
FCLTHeader.Title(L("lcl_xd_invoices"));
@@ -77,11 +90,12 @@ for (var cid in xd.SecundaryDomains) {
// Datumfilter werkt op fin_factuur_datum
if (findate_from) url += "&start_invoicedate="+findate_from.toISOString();
if (findate_to) url += "&end_invoicedate="+findate_to.toISOString();
if (finstatus>-1) url += "&status="+ safe.url(finstatus);
if (debtor) url += "&reference="+ safe.url(debtor);
if (finstatus>-1) url += "&finstatus="+ safe.url(finstatus);
if (debtor) url += "&debiteur_nr="+ safe.url(debtor);
if (sumover) url += "&start_total="+safe.url(sumover);
if (sumbelow) url += "&end_total="+safe.url(sumbelow);
if (fin_type!=-1) url += "&referencetype="+safe.url(fin_type);
if (goedkeurdertekst) url += "&goedkeur=~" + safe.url(goedkeurdertekst);
// if (fin_actual) url += ??
// if (fin_deleted) url += ??
@@ -127,7 +141,7 @@ for(var cid in gottenitems){ // per omgeving
vat: thisdata.vat,
bedrag_incl_BTW: thisdata.total+thisdata.vat,
fin_factuur_opmerking: thisdata.remark,
status: thisdata.status.name
finstatus: thisdata.finstatus.name
});
}
}
@@ -136,7 +150,7 @@ dataset.sort(function (a, b) { return (a.factuur_datum <= b.factuur_datum? -1: 1
function fnrowClass(oRs)
{
var resclass ="";
if (oRs.Fields("status").Value == 3)
if (oRs.Fields("finstatus").Value == 3)
resclass += ' outsidemargin'; // niet echt
return resclass;
}
@@ -147,6 +161,7 @@ var rst = new ResultsetTable({ dataset: dataset,
rowData: xd.fnRowData,
ID: "multi-invoices-table",
title: L("lcl_xd_invoices"),
filterParams: params,
outputmode: outputmode,
showAll: showall
});
@@ -159,7 +174,7 @@ var rst = new ResultsetTable({ dataset: dataset,
rst.addColumn(new Column({caption: L("lcl_fin_opdrachtnr"), content: "opdrachtnr"}));
rst.addColumn(new Column({caption: L("lcl_fin_total_sum_exBTW"), content: "bedrag_excl_BTW", datatype: "currency"}));
rst.addColumn(new Column({caption: L("lcl_fin_total_sum"), content: "bedrag_incl_BTW", datatype: "currency", combine:true}));
rst.addColumn(new Column({caption: L("lcl_fin_fin_status"), content: "status"}));
rst.addColumn(new Column({caption: L("lcl_fin_fin_status"), content: "finstatus"}));
rst.addColumn(new Column({caption: L("lcl_fin_remark"), content: "fin_factuur_opmerking"}));
rst.addColumn(new Column({caption: L("lcl_xd_custid"), content:"custid", purpose: PRINTING_ONLY }));

View File

@@ -1545,6 +1545,15 @@ function getRSFilterColumns(lparams)
case "finnum": { lfilterValue = getRSFilterValueByValue(lparams[lparam], L("lcl_fin_number"));
break;
}
case "goedkeur_key": { lfilterValue = getRSFilterValueByKey("PRS_PERSLID", lparams[lparam], L("lcl_fin_goedkeurder"));
break;
}
case "goedkeur": { lfilterValue = getRSFilterValueByValue(lparams[lparam], L("lcl_fin_goedkeurder"));
break;
}
case "debiteur_nr": { lfilterValue = getRSFilterValueByValue(lparams[lparam], L("lcl_fin_debtor_nr"));
break;
}
// FAC gegevens
case "getopen":
case "getclosed":