403 lines
17 KiB
Plaintext
403 lines
17 KiB
Plaintext
<%@language = "javascript" %>
|
||
<% /*
|
||
$Revision$
|
||
$Id$
|
||
|
||
File: fin_search.asp
|
||
Description: Filterscherm voor overzicht facturen
|
||
Parameters: finnum Factuurnummer
|
||
fin_bron_key Factuur bron
|
||
fin_type Factuurtype
|
||
opdr_key Opdracht key
|
||
status Status
|
||
debtor Eigen debiteurnummer
|
||
Globals:
|
||
Context:
|
||
Note: TODO We zouden de status listbox nog als checkboxen kunnen maken..
|
||
|
||
*/ %>
|
||
<!-- #include file="../Shared/common.inc" -->
|
||
<!-- #include file="../Shared/iface.inc" -->
|
||
<!-- #include file="../Shared/selector.inc" -->
|
||
<!-- #include file="../Shared/bedrijfselector.inc" -->
|
||
<!-- #include file="../Shared/persoonselector.inc" -->
|
||
<!-- #include file="../Shared/plaatsselector.inc" -->
|
||
<!-- #include file="../Shared/calendar.inc" -->
|
||
<!-- #include file="../Shared/resultset_table_v2.inc" -->
|
||
<!-- #include file="../Shared/xd.inc" -->
|
||
<!-- #include file="fin.inc" -->
|
||
<%
|
||
FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"],
|
||
js: ["num2curr.js"]
|
||
});
|
||
|
||
|
||
/***** Get webform parameters *****/
|
||
// Je komt bij FIN niet binnen met een bepaalde rol (urole).
|
||
|
||
var date_from = getQParamDate("date_from", null);
|
||
var date_to = getQParamDate("date_to", null);
|
||
var today = new Date ();
|
||
//var date_from = (date_from == ""? today : new Date(parseInt(date_from, 10)));
|
||
//var date_to = (date_to == ""? today : new Date(parseInt(date_to, 10)));
|
||
var dateFromInitEmpty = true;
|
||
var dateToInitEmpty = true;
|
||
if (date_from)
|
||
{
|
||
dateFromInitEmpty = false;
|
||
}
|
||
if (date_to)
|
||
{
|
||
dateToInitEmpty = false;
|
||
}
|
||
|
||
var finnum = getQParam("finnum", ""); // Factuurnummer
|
||
var fin_bron_key = getQParamInt("fin_bron_key", -1); // Factuurbron Handmatig/Excel/Mail
|
||
var fin_type = getQParam("fin_type", -1); // Factuurtype "O", "B" of "C"
|
||
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
|
||
var loc_key = getQParamInt("locatie_key", -1); // Locatie
|
||
var bld_key = getQParamInt("gebouw_key", -1); // Gebouw
|
||
var verantw_key = getQParamInt("verantw", -1); // Gebouw verantwoordelijke
|
||
|
||
var fin_actual = getQParamInt("fin_actual", 1) == 1; // Standaard aangevinkt indien niet meegegeven
|
||
var fin_deleted = getQParamInt("fin_deleted", 0) == 1; // Standaard niet aangevinkt indien niet meegegeven
|
||
// minimaal <20><>n van beiden moet aangekruist zijn
|
||
if (!fin_actual && !fin_deleted)
|
||
fin_actual = true;
|
||
|
||
if (finstatus == -1 && finnum == "" && opdrnr == -1)
|
||
{
|
||
finstatus = 2; // Ingevoerd;
|
||
}
|
||
/***** End get webform parameters *****/
|
||
|
||
// Alleen PRSreadlevel en PRSwritelevel van belang want fac_functie_min_level = 7 (lezen en schrijven organisatie)
|
||
var authparamsFINUSE = user.checkAutorisation("WEB_FINUSE", true);
|
||
var authparamsFINFOF = user.checkAutorisation("WEB_FINFOF", true);
|
||
var authparamsFINBOF = user.checkAutorisation("WEB_FINBOF", true);
|
||
|
||
user.auth_required_or_abort(authparamsFINUSE || authparamsFINFOF || authparamsFINBOF || user.isBudgethouder());
|
||
|
||
// ik ken 2 varianten: allemaal of alleen de mijne
|
||
var alleenmijnkostenplaatsen = (!authparamsFINUSE && !authparamsFINFOF && !authparamsFINBOF); // geen FINUSE, FINFOF of FINBOF -> budgethouder
|
||
|
||
var isContactpersoon = user.isContactpersoon();
|
||
%>
|
||
|
||
<html>
|
||
<head>
|
||
<% FCLTHeader.Generate(); %>
|
||
|
||
<script language=JavaScript>
|
||
function checkboxStatus()
|
||
{
|
||
if (!document.getElementById("fin_actual").checked && !document.getElementById("fin_deleted").checked )
|
||
document.getElementById("fin_actual").checked = true;
|
||
}
|
||
|
||
<% if (xd.enabled()) { %>
|
||
function xdclicked()
|
||
{
|
||
var doxd = document.getElementById("xd").checked;
|
||
$(".noxd").toggle(!doxd);
|
||
$(".onlyxd").toggle(doxd);
|
||
}
|
||
|
||
<% } %>
|
||
// Altijd kenmerken. Niet afhankelijk van backoffice rol
|
||
function doSubmit()
|
||
{
|
||
<% if (xd.enabled()) { %>
|
||
if ($("#xd").is(":checked"))
|
||
{
|
||
$("form[name=u2]").attr("action", "fin_search_list_xd.asp");
|
||
} else {
|
||
$("form[name=u2]").attr("action", "fin_search_list.asp");
|
||
}
|
||
<% } %>
|
||
// Submitten met kenmerken
|
||
doSubmitWithKenmerken(); // kenmerken niet afhankelijk van een discipline of factuurtype of zo.
|
||
}
|
||
|
||
function myModal()
|
||
{
|
||
// kenmerken niet afhankelijk van een discipline of factuurtype of zo.
|
||
var key = 0;
|
||
var url = "load_kenmerk.asp?advanced=1&kenmerk_niveau=F";
|
||
var titel = "<%=L("lcl_fin_kenmerken")%>";
|
||
showKenmerkModal(url, titel)
|
||
}
|
||
|
||
<% if (autosearch)
|
||
{ %>
|
||
$(document).ready(function()
|
||
{
|
||
// Direct lijst tonen
|
||
doSubmit();
|
||
});
|
||
<% } %>
|
||
|
||
// Controleer invoer "Factuurbedrag boven". Is het een number?
|
||
function checksumover()
|
||
{
|
||
var sumover = parseFloat($("#sumover").val().replace(',', '.'));
|
||
if (isNaN(sumover))
|
||
sumover = 0;
|
||
if ($("#sumover").val() != '' && !isNaN(sumover))
|
||
$("#sumover").val(num2currEditable(sumover));
|
||
}
|
||
|
||
// Controleer invoer "Factuurbedrag onder". Is het een number?
|
||
function checksumbelow()
|
||
{
|
||
var sumbelow = parseFloat($("#sumbelow").val().replace(',', '.'));
|
||
if (isNaN(sumbelow))
|
||
sumbelow = 0;
|
||
if ($("#sumbelow").val() != '' && !isNaN(sumbelow))
|
||
$("#sumbelow").val(num2currEditable(sumbelow));
|
||
}
|
||
</script>
|
||
</head>
|
||
|
||
<body id="searchbody">
|
||
<div id="search">
|
||
<form name="u2" target="workFrame" action="fin_search_list.asp" method="get">
|
||
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
|
||
<tr>
|
||
<td class="searchkolom1"><!-- start column 1 -->
|
||
<table><!-- x rijen, 2 kolommen: label + veld -->
|
||
<%
|
||
if (xd.enabled())
|
||
RWCHECKBOXTR("xd", "fldxd", L("lcl_xd_crossdomain"), false, {html: "onclick='xdclicked()'"});
|
||
%>
|
||
<!-- Factuurnummer -->
|
||
<tr class="primsearch">
|
||
<td class="label"><label for="finnum"><%=L("lcl_fin_number")%>:</label></td>
|
||
<td>
|
||
<input type="text" class="fldfinnum" name="finnum" <%=(finnum != -1) ? "value='" + safe.htmlattr(finnum) + "'" : ""%>>
|
||
</td>
|
||
</tr>
|
||
|
||
<% <!-- Datum van -->
|
||
FCLTcalendar( "findate_from",
|
||
{ label: L("lcl_period_from"),
|
||
initEmpty: dateFromInitEmpty,
|
||
trclass: "primseach",
|
||
datum: date_from,
|
||
volgnr: 1
|
||
});
|
||
<!-- Datum tot -->
|
||
FCLTcalendar( "findate_to",
|
||
{ label: L("lcl_period_to"),
|
||
initEmpty: dateToInitEmpty,
|
||
trclass:"primsearch",
|
||
datum: date_to,
|
||
volgnr: 2
|
||
});
|
||
|
||
//<!-- Uitvoerende -->
|
||
FCLTbedrijfselector("handler","handler",
|
||
{ companyKey: handler_key,
|
||
label: L("lcl_handler"),
|
||
filtercode: (isContactpersoon && authparamsFINUSE && !authparamsFINFOF && !authparamsFINBOF? "CP" : "X"),
|
||
trclass:"primsearch noxd",
|
||
emptyOption: "",
|
||
whenEmpty: L("lcl_search_generic")
|
||
});
|
||
if (S("fin_enable_goedkeuren") != 0)
|
||
{
|
||
%> <!-- 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 hoeft niet meegegeven te worden omdat FIN geen PRS rechten heeft. FCLTpersoonselector neemt dan -1 voor autlevel.
|
||
emptyOption: "",
|
||
whenEmpty: L("lcl_search_generic")
|
||
});
|
||
}
|
||
%>
|
||
|
||
<!-- Eigen debiteurennummer -->
|
||
<tr class="primsearch">
|
||
<td class="label"><nobr><label for="debtor"><%=L("lcl_fin_debtor_nr")%>:</label></nobr></td>
|
||
<td>
|
||
<input type="text" class="flddebtor" name="debtor" <%=(debtor != -1) ? "value='" + safe.htmlattr(debtor) + "'" : ""%>>
|
||
</td>
|
||
</tr>
|
||
|
||
<!-- Actuele en verwijderde facturen -->
|
||
<%
|
||
sql = "SELECT 0, " + safe.quoted_sql(fin.getfinbrontext(0)) + " FROM DUAL"
|
||
+ " UNION SELECT 1, " + safe.quoted_sql(fin.getfinbrontext(1)) + " FROM DUAL"
|
||
+ " UNION SELECT 2, " + safe.quoted_sql(fin.getfinbrontext(2)) + " FROM DUAL";
|
||
FCLTselector("finbron",
|
||
sql,
|
||
{ initKey: fin_bron_key,
|
||
label: L("lcl_fin_invoice_source"),
|
||
trclass: "primsearch",
|
||
emptyOption: ""
|
||
});
|
||
|
||
<!-- status -->
|
||
sql = "SELECT 1, " + safe.quoted_sql(fin.getfinstatustext(1)) + " FROM DUAL"
|
||
+ " UNION SELECT 2, " + safe.quoted_sql(fin.getfinstatustext(2)) + " FROM DUAL"
|
||
+ " UNION SELECT 3, " + safe.quoted_sql(fin.getfinstatustext(3)) + " FROM DUAL"
|
||
+ " UNION SELECT 5, " + safe.quoted_sql(fin.getfinstatustext(5)) + " FROM DUAL"
|
||
+ " UNION SELECT 6, " + safe.quoted_sql(fin.getfinstatustext(6)) + " FROM DUAL"
|
||
+ " UNION SELECT 7, " + safe.quoted_sql(fin.getfinstatustext(7)) + " FROM DUAL"
|
||
+ " ORDER BY 1";
|
||
FCLTselector("finstatus",
|
||
sql,
|
||
{ initKey: finstatus,
|
||
label: L("lcl_fin_fin_status"),
|
||
trclass: "primsearch",
|
||
emptyOption: ""
|
||
});
|
||
%>
|
||
<tr class="primsearch">
|
||
<td class="label"><label><%=L("lcl_show")%>:</label></td>
|
||
<td>
|
||
<input type="checkbox" class="fldfinactual" name="fin_actual" id="fin_actual" onClick="checkboxStatus()" value="1" <%=fin_actual? "checked" : ""%>>
|
||
<label for=fin_actual><%=L("lcl_fin_show_actual")%></label>
|
||
<input type="checkbox" class="fldfindeleted" name="fin_deleted" id="fin_deleted" onClick="checkboxStatus()" value="1" <%=fin_deleted? "checked" : ""%>>
|
||
<label for=fin_deleted><%=L("lcl_fin_show_deleted")%></label>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</td><!-- end column 1 -->
|
||
|
||
<!-- Second column -->
|
||
<td class="searchkolom2">
|
||
<table><!-- x rijen, 2 kolommen: label + veld -->
|
||
<!-- Factuurtype -->
|
||
<% sql = "SELECT 'O'"
|
||
+ ", " + safe.quoted_sql(L("lcl_fin_opdrachten")) + " FROM DUAL"
|
||
+ " UNION"
|
||
+ " SELECT 'C'"
|
||
+ ", " + safe.quoted_sql(L("lcl_fin_contracten"))
|
||
+ " FROM DUAL"
|
||
+ " UNION"
|
||
+ " SELECT 'B'"
|
||
+ ", " + safe.quoted_sql(L("lcl_fin_bestellingen"))
|
||
+ " FROM DUAL"
|
||
+ " ORDER BY 2"
|
||
FCLTselector("fintype",
|
||
sql,
|
||
{ initKey: fin_type,
|
||
label: L("lcl_fin_factuur_type"),
|
||
trclass: "primsearch",
|
||
emptyOption: ""
|
||
})
|
||
|
||
if (authparamsFINFOF || authparamsFINBOF)
|
||
{
|
||
// Locatie/gebouw
|
||
FCLTplaatsselector(authparamsFINBOF? authparamsFINBOF.ALGreadlevel : 9,
|
||
{ districtkey: dis_key,
|
||
locatiekey: loc_key,
|
||
gebouwkey: bld_key,
|
||
startlevel: 1,
|
||
eindlevel: 3, // gebouw
|
||
terrein: true,
|
||
trclass: "noxd",
|
||
whenEmpty: L("lcl_search_generic"), // want filter
|
||
filtercode: "FAC"
|
||
});
|
||
}
|
||
%>
|
||
<!-- Gebouw verantwoordelijke -->
|
||
<% // Dit veld is alleen zichtbaar indien er minimaal <20><>n gebouwverantwoordelijke geconfigureerd is (suppressNoValues).
|
||
FCLTpersoonselector("verantw",
|
||
"sgVerantw",
|
||
{ perslidKey: verantw_key,
|
||
label: L("lcl_alg_bld_verantw"),
|
||
filtercode: "GV", // Gebouw Verantwoordelijke
|
||
trclass: "primsearch noxd",
|
||
suppressNoValues: true,
|
||
whenEmpty: L("lcl_search_generic") // want filter
|
||
});
|
||
%>
|
||
|
||
<!-- Opdrachtnummer -->
|
||
<tr class="primsearch noxd">
|
||
<td class="label"><label for="opdrnr"><%=L("lcl_fin_opdrachtnr")%>:</label></td>
|
||
<td>
|
||
<input type="text" class="fldopdrnr" name="opdrnr" <%=(opdrnr != -1) ? "value='" + opdrnr + "'" : ""%>>
|
||
</td>
|
||
</tr>
|
||
<%
|
||
// Persoon
|
||
FCLTpersoonselector("budh_key", // budgethouders
|
||
"sgPerson",
|
||
{ perslidKey: alleenmijnkostenplaatsen? user_key : budh_key,
|
||
label: L("lcl_prs_budgethouder"),
|
||
filtercode: "BUD",
|
||
readonly: alleenmijnkostenplaatsen,
|
||
trclass: "primsearch noxd",
|
||
whenEmpty: L("lcl_search_generic") // want filter
|
||
});
|
||
|
||
// Factuurbedrag boven
|
||
RWFIELDTR("sumover",
|
||
"fldfinsumover",
|
||
L("lcl_fin_bedrag_boven") + " " + S("currency_pref"),
|
||
"",
|
||
{ datatype: "currency",
|
||
trclass: "primsearch",
|
||
maxlength: 9,
|
||
html: 'onBlur="checksumover()"'
|
||
});
|
||
|
||
// Factuurbedrag onder
|
||
RWFIELDTR("sumbelow",
|
||
"fldfinsumbelow",
|
||
L("lcl_fin_bedrag_onder") + " " + S("currency_pref"),
|
||
"",
|
||
{ datatype: "currency",
|
||
trclass: "primsearch",
|
||
maxlength: 9,
|
||
html: 'onBlur="checksumbelow()"'
|
||
});
|
||
%>
|
||
</table>
|
||
</td><!-- end column 2 -->
|
||
</tr>
|
||
<% BLOCK_END();
|
||
|
||
var buttons = [];
|
||
buttons.push ( {title: L("lcl_overview_list"), action: "doSubmit()" } ); // Overzicht
|
||
// er is geen secsearch veld meer: buttons.push ( {title: L("lcl_shared_more"), action:"iface_toggleSecondarySearchblock()", id : "btnMoreLess" } );
|
||
// Altijd kenmerken. Niet afhankelijk van backoffice rol
|
||
buttons.push ( {title: L("lcl_obj_advanced"), action: "myModal()", xclass: "noxd" } );
|
||
CreateButtons(buttons, { entersubmit: true} );
|
||
%>
|
||
</form>
|
||
</div> <!-- search -->
|
||
|
||
<div id="result">
|
||
<iframe width="100%" src="../Shared/empty.asp" name="workFrame" id="workFrame" frameborder="0"
|
||
onload='FcltMgr.iframeLoaded(this)'
|
||
scrolling="no" framespacing='0'>
|
||
</iframe>
|
||
</div>
|
||
|
||
</body>
|
||
</html>
|