FSN#30011: FIN: autorisatie(s) voor leverancier (WEB_FINUSE).

svn path=/Website/trunk/; revision=22326
This commit is contained in:
Maykel Geerdink
2014-08-14 08:42:29 +00:00
parent 3b3739d80e
commit 8e851ea7c5
8 changed files with 237 additions and 197 deletions

View File

@@ -42,8 +42,8 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
+ " FROM fin_factuur f" + " FROM fin_factuur f"
+ " WHERE fin_factuur_key = " + pfin_key + " WHERE fin_factuur_key = " + pfin_key
var foRs = Oracle.Execute(fsql); var foRs = Oracle.Execute(fsql);
fin_status = foRs("fin_factuur_statuses_key").value; fin_status = foRs("fin_factuur_statuses_key").Value;
kpverantwoordelijke = foRs("kpverantwoordelijke").value; kpverantwoordelijke = foRs("kpverantwoordelijke").Value;
foRs.Close(); foRs.Close();
} }
@@ -70,11 +70,17 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
} }
// WEB_RELMAN is onderdeel van de PRS module // WEB_RELMAN is onderdeel van de PRS module
var presult = user.func_enabled2("PRS", { prs_key: user_key, isOptional: true }); var presult = user.func_enabled2("PRS", { prs_key: user_key, isOptional: true });
var isContactpersoon = user.isContactpersoon();
fresult.canFEwrite = fresult.canWrite("WEB_FINUSE") && isContactpersoon;
fresult.canFOwrite = fresult.canWrite("WEB_FINFOF"); fresult.canFOwrite = fresult.canWrite("WEB_FINFOF");
fresult.canBOwrite = fresult.canWrite("WEB_FINBOF"); fresult.canBOwrite = fresult.canWrite("WEB_FINBOF");
fresult.canWriteAny = fresult.canWrite("WEB_FINFOF") || fresult.canWrite("WEB_FINBOF"); fresult.canWriteAny = fresult.canWrite("WEB_FINUSE") && isContactpersoon || fresult.canWrite("WEB_FINFOF") || fresult.canWrite("WEB_FINBOF");
fresult.canReadAny = fresult.canRead("WEB_FINFOF") || fresult.canRead("WEB_FINBOF") || kpverantwoordelijke == user_key; fresult.canReadAny = (fresult.canRead("WEB_FINUSE") && isContactpersoon) ||
fresult.canRead("WEB_FINFOF") ||
fresult.canRead("WEB_FINBOF") ||
kpverantwoordelijke == user_key;
fresult.canFEread = fresult.canRead("WEB_FINUSE") && isContactpersoon;
fresult.canFOread = fresult.canRead("WEB_FINFOF"); fresult.canFOread = fresult.canRead("WEB_FINFOF");
fresult.canBOread = fresult.canRead("WEB_FINBOF"); fresult.canBOread = fresult.canRead("WEB_FINBOF");
@@ -99,31 +105,35 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
switch (fin_status) switch (fin_status)
{ {
case 3: // Incompleet case 3: // Incompleet
fresult.canChange = fresult.canWrite("WEB_FINFOF") || (fresult.canWrite("WEB_FINBOF") && S("fin_bof_mag_editen") == 1); fresult.canChange = (fresult.canWrite("WEB_FINUSE") && isContactpersoon) ||
fresult.canWrite("WEB_FINFOF") ||
(fresult.canWrite("WEB_FINBOF") && S("fin_bof_mag_editen") == 1);
fresult.canDelete = fresult.canWrite("WEB_FINFOF"); fresult.canDelete = fresult.canWrite("WEB_FINFOF");
fresult.canDateChange = fresult.canWrite("WEB_FINFOF"); fresult.canDateChange = (fresult.canWrite("WEB_FINUSE") && isContactpersoon) || fresult.canWrite("WEB_FINFOF");
fresult.canRemarkChange = fresult.canWrite("WEB_FINFOF"); fresult.canRemarkChange = (fresult.canWrite("WEB_FINUSE") && isContactpersoon) || fresult.canWrite("WEB_FINFOF");
fresult.canInvLinChange = fresult.canWrite("WEB_FINFOF"); fresult.canInvLinChange = (fresult.canWrite("WEB_FINUSE") && isContactpersoon) || fresult.canWrite("WEB_FINFOF");
break; break;
case 1: // Afgewezen case 1: // Afgewezen
fresult.canUnReject = (fresult.canWrite("WEB_FINFOF") || fresult.canWrite("WEB_FINBOF") || kpverantwoordelijke == user_key) && (kpverantwoordelijke > 0); fresult.canUnReject = (fresult.canWrite("WEB_FINFOF") || fresult.canWrite("WEB_FINBOF") || kpverantwoordelijke == user_key) && (kpverantwoordelijke > 0);
break; break;
case -1: // Nieuwe factuur case -1: // Nieuwe factuur
case 2: // Ingevoerd case 2: // Ingevoerd
fresult.canChange = fresult.canWrite("WEB_FINFOF") || (fresult.canWrite("WEB_FINBOF") && S("fin_bof_mag_editen") == 1); fresult.canChange = (fresult.canWrite("WEB_FINUSE") && isContactpersoon) ||
fresult.canWrite("WEB_FINFOF") ||
(fresult.canWrite("WEB_FINBOF") && S("fin_bof_mag_editen") == 1);
fresult.canAccept = (fresult.canWrite("WEB_FINBOF") || kpverantwoordelijke == user_key) && (kpverantwoordelijke > 0); fresult.canAccept = (fresult.canWrite("WEB_FINBOF") || kpverantwoordelijke == user_key) && (kpverantwoordelijke > 0);
fresult.canDelete = fresult.canWrite("WEB_FINFOF"); fresult.canDelete = fresult.canWrite("WEB_FINFOF");
fresult.canDateChange = fresult.canWrite("WEB_FINFOF"); fresult.canDateChange = (fresult.canWrite("WEB_FINUSE") && isContactpersoon) || fresult.canWrite("WEB_FINFOF");
fresult.canRemarkChange = fresult.canWrite("WEB_FINFOF"); fresult.canRemarkChange = (fresult.canWrite("WEB_FINUSE") && isContactpersoon) || fresult.canWrite("WEB_FINFOF");
fresult.canInvLinChange = fresult.canWrite("WEB_FINFOF"); fresult.canInvLinChange = (fresult.canWrite("WEB_FINUSE") && isContactpersoon) || fresult.canWrite("WEB_FINFOF");
break; break;
case 6: // Akkoord case 6: // Akkoord
fresult.canUnapprove = (fresult.canWrite("WEB_FINFOF") || fresult.canWrite("WEB_FINBOF") || kpverantwoordelijke == user_key) && (kpverantwoordelijke > 0); fresult.canUnapprove = (fresult.canWrite("WEB_FINFOF") || fresult.canWrite("WEB_FINBOF") || kpverantwoordelijke == user_key) && (kpverantwoordelijke > 0);
// Maar na wijzigen moet er opnieuw gefiatteed worden door BO. // Maar na wijzigen moet er opnieuw gefiatteed worden door BO.
fresult.canChange = fresult.canWrite("WEB_FINFOF"); fresult.canChange = (fresult.canWrite("WEB_FINUSE") && isContactpersoon) || fresult.canWrite("WEB_FINFOF");
fresult.canDateChange = fresult.canWrite("WEB_FINFOF"); fresult.canDateChange = (fresult.canWrite("WEB_FINUSE") && isContactpersoon) || fresult.canWrite("WEB_FINFOF");
fresult.canRemarkChange = fresult.canWrite("WEB_FINFOF"); fresult.canRemarkChange = (fresult.canWrite("WEB_FINUSE") && isContactpersoon) || fresult.canWrite("WEB_FINFOF");
fresult.canInvLinChange = fresult.canWrite("WEB_FINFOF"); fresult.canInvLinChange = (fresult.canWrite("WEB_FINUSE") && isContactpersoon) || fresult.canWrite("WEB_FINFOF");
break; break;
case 7: // Verwerkt case 7: // Verwerkt
break; break;
@@ -133,7 +143,7 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
}, },
analysereferentie: analysereferentie:
function _analysereferentie(ref) function _analysereferentie(ref, iscontactpers)
{ // Levert info op van de meegegeven referentie { // Levert info op van de meegegeven referentie
// { // {
// ref_type: "O", "B" of "C", // ref_type: "O", "B" of "C",
@@ -165,7 +175,7 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
return str; return str;
} }
var result = {}; var result = {mldopdr_key: -1, besopdr_key: -1, cnt_key: -1};
ref = trim_all(ref); ref = trim_all(ref);
var ref_type = ""; var ref_type = "";
@@ -217,7 +227,7 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
while (!oRs.eof) while (!oRs.eof)
{ {
var srtdisc = oRs("ins_srtdiscipline_prefix").value; var srtdisc = oRs("ins_srtdiscipline_prefix").Value;
if (srtdisc.toUpperCase() == opdr.substr(0, srtdisc.length).toUpperCase() && if (srtdisc.toUpperCase() == opdr.substr(0, srtdisc.length).toUpperCase() &&
opdr.substr(srtdisc.length, 1).charCodeAt(0) >= 48 && opdr.substr(srtdisc.length, 1).charCodeAt(0) <= 57) opdr.substr(srtdisc.length, 1).charCodeAt(0) >= 48 && opdr.substr(srtdisc.length, 1).charCodeAt(0) <= 57)
{ {
@@ -248,7 +258,6 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
result.mld_prefix = refnr_prefix; result.mld_prefix = refnr_prefix;
} }
} }
else if (ref_type == "C") else if (ref_type == "C")
{ {
var cnt_nr; var cnt_nr;
@@ -256,8 +265,8 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
var cnt_key; var cnt_key;
cnt_nr = ref.substr(1); // haal prefix 'C' of 'c' eraf cnt_nr = ref.substr(1); // haal prefix 'C' of 'c' eraf
if (cnt_nr.indexOf(".") > 0) { if (cnt_nr.indexOf(".") > 0)
// er wordt een expliciete versie aangegeven, separeer { // er wordt een expliciete versie aangegeven, separeer
cnt_versie = cnt_nr.substr(cnt_nr.indexOf(".")+1); // alleen het versienr cnt_versie = cnt_nr.substr(cnt_nr.indexOf(".")+1); // alleen het versienr
cnt_nr = cnt_nr.substr(0,cnt_nr.indexOf(".")); // resteert het contractnummer cnt_nr = cnt_nr.substr(0,cnt_nr.indexOf(".")); // resteert het contractnummer
} }
@@ -271,13 +280,17 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
+ " FROM cnt_v_aanwezigcontract c" + " FROM cnt_v_aanwezigcontract c"
+ " WHERE c.cnt_contract_nummer_intern = " + safe.quoted_sql(cnt_nr) + " WHERE c.cnt_contract_nummer_intern = " + safe.quoted_sql(cnt_nr)
+ " AND c.cnt_contract_status IN (0, 1)" + " AND c.cnt_contract_status IN (0, 1)"
+ (cnt_versie ? " AND c.cnt_contract_versie = "+ safe.quoted_sql(cnt_versie) : ""); + (cnt_versie ? " AND c.cnt_contract_versie = "+ safe.quoted_sql(cnt_versie) : "")
+ (iscontactpers
? " AND c.cnt_prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
+ " FROM prs_contactpersoon cp"
+ " WHERE cp.prs_perslid_key = " + user_key + ")"
: "");
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
if (!oRs.eof) { if (!oRs.eof) {
result.cnt_key = oRs("cnt_contract_key").value; result.cnt_key = oRs("cnt_contract_key").Value;
} }
} }
else if (ref_type == "B") else if (ref_type == "B")
{ {
var besopdr = ref; var besopdr = ref;
@@ -306,13 +319,18 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
+ " AND bo.bes_bestelopdr_status NOT IN (1,3,8)" // Dat zijn echte bestellingen + " AND bo.bes_bestelopdr_status NOT IN (1,3,8)" // Dat zijn echte bestellingen
+ " AND bbi.bes_bestelling_key = " + parseInt(besopdr_s[0],10) + " AND bbi.bes_bestelling_key = " + parseInt(besopdr_s[0],10)
+ " AND UPPER(bo.bes_bestelopdr_id) LIKE " + safe.quoted_sql_wild(ref + likechar) // Volgnummer kan bij bestellingen ook leeg zijn ('1234' of '1234/1') + " AND UPPER(bo.bes_bestelopdr_id) LIKE " + safe.quoted_sql_wild(ref + likechar) // Volgnummer kan bij bestellingen ook leeg zijn ('1234' of '1234/1')
+ (iscontactpers
? " AND bo.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
+ " FROM prs_contactpersoon cp"
+ " WHERE cp.prs_perslid_key = " + user_key + ")"
: "");
+ " ORDER BY bo.bes_bestelopdr_id"; + " ORDER BY bo.bes_bestelopdr_id";
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
if (!oRs.eof) if (!oRs.eof)
{ // Het is een bestelopdracht { // Het is een bestelopdracht
result.bes_key = besopdr_s[0]; // bestelling / volgnr //oRs("bes_bestelling_key").value; result.bes_key = besopdr_s[0]; // bestelling / volgnr //oRs("bes_bestelling_key").Value;
result.besopdr_key = oRs("bes_bestelopdr_key").value; //besopdr_s[0]; result.besopdr_key = oRs("bes_bestelopdr_key").Value; //besopdr_s[0];
result.bes_volgnr = besopdr_s[1]; result.bes_volgnr = besopdr_s[1];
} }
else else
@@ -325,10 +343,11 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
} }
} }
if (result.ref_type == "O") { if (result.ref_type == "O")
// dan wil ik nog graag de opdrkey { // dan wil ik nog graag de opdrkey
if (!result.opdr_volgnr) { if (!result.opdr_volgnr)
{
// geen expliciet volgnummer gegeven, dan de nieuwste hanteren // geen expliciet volgnummer gegeven, dan de nieuwste hanteren
sql = "SELECT COALESCE(MAX(o.mld_opdr_bedrijfopdr_volgnr), 0) opdr_volgnr" sql = "SELECT COALESCE(MAX(o.mld_opdr_bedrijfopdr_volgnr), 0) opdr_volgnr"
+ " FROM mld_opdr o" + " FROM mld_opdr o"
@@ -336,8 +355,8 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
// altijd 1 resultaat // altijd 1 resultaat
if (oRs("opdr_volgnr").value > 0) if (oRs("opdr_volgnr").Value > 0)
result.opdr_volgnr = oRs("opdr_volgnr").value; result.opdr_volgnr = oRs("opdr_volgnr").Value;
else else
result.opdr_volgnr = 1; result.opdr_volgnr = 1;
} }
@@ -348,13 +367,18 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
+ " AND mto.mld_typeopdr_kosten = 1" // AADS#17542 + " AND mto.mld_typeopdr_kosten = 1" // AADS#17542
+ " AND o.mld_statusopdr_key NOT IN (1, 2, 3, 10)" // Dat zijn echte opdrachten + " AND o.mld_statusopdr_key NOT IN (1, 2, 3, 10)" // Dat zijn echte opdrachten
+ " AND o.mld_melding_key = " + result.mld_key + " AND o.mld_melding_key = " + result.mld_key
+ " AND o.mld_opdr_bedrijfopdr_volgnr = " + result.opdr_volgnr; + " AND o.mld_opdr_bedrijfopdr_volgnr = " + result.opdr_volgnr
+ (iscontactpers
? " AND o.mld_uitvoerende_keys IN (SELECT cp.prs_bedrijf_key"
+ " FROM prs_contactpersoon cp"
+ " WHERE cp.prs_perslid_key = " + user_key + ")"
: "");
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
if (!oRs.eof) if (!oRs.eof)
result.mldopdr_key = oRs("mld_opdr_key").value; result.mldopdr_key = oRs("mld_opdr_key").Value;
else //else geen opdracht gevonden.
result.mldopdr_key = -1; // Geen opdracht gevonden
}; };
result.valid = result.mldopdr_key > 0 || result.besopdr_key > 0 || result.cnt_key > 0;
return result; return result;
}, },
@@ -389,35 +413,35 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
var ref_type; var ref_type;
if (oRs("bes_bestelopdr_key").value) if (oRs("bes_bestelopdr_key").Value)
ref_type="B"; ref_type="B";
if (oRs("cnt_key").value) if (oRs("cnt_key").Value)
ref_type="C"; ref_type="C";
if (oRs("mld_opdr_key").value) if (oRs("mld_opdr_key").Value)
ref_type="O"; ref_type="O";
var fin_boekm = oRs("fin_factuur_boekmaand").value; var fin_boekm = oRs("fin_factuur_boekmaand").Value;
var fin_factuur = { fin_key: fin_key, var fin_factuur = { fin_key: fin_key,
ref_type: ref_type, ref_type: ref_type,
mldopdr_key: oRs("mld_opdr_key").value, mldopdr_key: oRs("mld_opdr_key").Value,
cnt_key: oRs("cnt_key").value, cnt_key: oRs("cnt_key").Value,
besopdr_key: oRs("bes_bestelopdr_key").Value, besopdr_key: oRs("bes_bestelopdr_key").Value,
fin_totaal: oRs("fin_factuur_totaal").value, fin_totaal: oRs("fin_factuur_totaal").Value,
fin_totaal_btw: oRs("fin_factuur_totaal_btw").value, fin_totaal_btw: oRs("fin_factuur_totaal_btw").Value,
perslid_key_user: oRs("prs_perslid_key_user").value, perslid_key_user: oRs("prs_perslid_key_user").Value,
fin_opm: oRs("fin_factuur_opmerking").value, fin_opm: oRs("fin_factuur_opmerking").Value,
fin_status_key: oRs("fin_factuur_statuses_key").value, fin_status_key: oRs("fin_factuur_statuses_key").Value,
fin_status_oms: fin.getfinstatustext(oRs("fin_factuur_statuses_key").value), fin_status_oms: fin.getfinstatustext(oRs("fin_factuur_statuses_key").Value),
fin_perslid_user: oRs("name").value, fin_perslid_user: oRs("name").Value,
fin_date: new Date(oRs("fin_factuur_datum").value), fin_date: new Date(oRs("fin_factuur_datum").Value),
fin_nr: oRs("fin_factuur_nr").value, fin_nr: oRs("fin_factuur_nr").Value,
fin_boekm: fin_boekm, fin_boekm: fin_boekm,
fin_boekm_jaar: fin_boekm.substr(0, 4), fin_boekm_jaar: fin_boekm.substr(0, 4),
fin_debiteur: oRs("fin_factuur_debiteur_nr").value, fin_debiteur: oRs("fin_factuur_debiteur_nr").Value,
fin_costsrt_key: oRs("prs_kostensoort_key").value, fin_costsrt_key: oRs("prs_kostensoort_key").Value,
fin_costsrt: oRs("kostensoort").value, fin_costsrt: oRs("kostensoort").Value,
fin_verwijder: oRs("fin_factuur_verwijder").value fin_verwijder: oRs("fin_factuur_verwijder").Value
} }
oRs.Close(); oRs.Close();
@@ -441,11 +465,11 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
+ " AND o.mld_opdr_key = " + fin_factuur.mldopdr_key; + " AND o.mld_opdr_key = " + fin_factuur.mldopdr_key;
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
fin_factuur.mld_key = oRs("mld_melding_key").value; fin_factuur.mld_key = oRs("mld_melding_key").Value;
fin_factuur.opdr_volgnr = oRs("mld_opdr_bedrijfopdr_volgnr").value; fin_factuur.opdr_volgnr = oRs("mld_opdr_bedrijfopdr_volgnr").Value;
fin_factuur.mld_prefix = oRs("prefix").value; fin_factuur.mld_prefix = oRs("prefix").Value;
fin_factuur.fin_costsrt_default = oRs("prs_kostensoort_key").value; fin_factuur.fin_costsrt_default = oRs("prs_kostensoort_key").Value;
fin_factuur.kostenplaats_key = oRs("prs_kostenplaats_key").value; fin_factuur.kostenplaats_key = oRs("prs_kostenplaats_key").Value;
oRs.Close(); oRs.Close();
break; break;
@@ -470,17 +494,17 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
+ " AND isg.ins_discipline_key = bd.ins_discipline_key" + " AND isg.ins_discipline_key = bd.ins_discipline_key"
+ " AND bo.bes_bestelopdr_key = " + fin_factuur.besopdr_key + " AND bo.bes_bestelopdr_key = " + fin_factuur.besopdr_key
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
fin_factuur.fin_costsrt_default = oRs("prs_kostensoort_key").value; fin_factuur.fin_costsrt_default = oRs("prs_kostensoort_key").Value;
fin_factuur.kostenplaats_key = oRs("prs_kostenplaats_key").value; fin_factuur.kostenplaats_key = oRs("prs_kostenplaats_key").Value;
var bes_bestelopdr_id = oRs("bes_bestelopdr_id").value; var bes_bestelopdr_id = oRs("bes_bestelopdr_id").Value;
var bes_bestelopdr_id_s = bes_bestelopdr_id.split("/"); var bes_bestelopdr_id_s = bes_bestelopdr_id.split("/");
fin_factuur.bes_key = bes_bestelopdr_id_s[0]; fin_factuur.bes_key = bes_bestelopdr_id_s[0];
if (bes_bestelopdr_id_s.length == 2) if (bes_bestelopdr_id_s.length == 2)
fin_factuur.bes_volgnr = bes_bestelopdr_id_s[1]; fin_factuur.bes_volgnr = bes_bestelopdr_id_s[1];
fin_factuur.bes_id = oRs("bes_bestelopdr_id").value; fin_factuur.bes_id = oRs("bes_bestelopdr_id").Value;
oRs.Close(); oRs.Close();
break; break;
@@ -494,10 +518,10 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
+ " WHERE c.ins_discipline_key = cd.ins_discipline_key" + " WHERE c.ins_discipline_key = cd.ins_discipline_key"
+ " AND cnt_contract_key = " + fin_factuur.cnt_key + " AND cnt_contract_key = " + fin_factuur.cnt_key
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
fin_factuur.cnt_nr = oRs("cnt_contract_nummer_intern").value; fin_factuur.cnt_nr = oRs("cnt_contract_nummer_intern").Value;
fin_factuur.cnt_versie = oRs("cnt_contract_versie").value; fin_factuur.cnt_versie = oRs("cnt_contract_versie").Value;
fin_factuur.fin_costsrt_default = oRs("prs_kostensoort_key").value; fin_factuur.fin_costsrt_default = oRs("prs_kostensoort_key").Value;
fin_factuur.kostenplaats_key = oRs("prs_kostenplaats_key").value; fin_factuur.kostenplaats_key = oRs("prs_kostenplaats_key").Value;
oRs.Close(); oRs.Close();
sql = "SELECT SUM(fin_factuur_totaal) totaal" sql = "SELECT SUM(fin_factuur_totaal) totaal"
@@ -506,7 +530,7 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
+ " AND fin_factuur_statuses_key <> 1" + " AND fin_factuur_statuses_key <> 1"
+ " AND fin_factuur_datum <= " + fin_factuur.fin_date.toSQL(); + " AND fin_factuur_datum <= " + fin_factuur.fin_date.toSQL();
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
fin_factuur.totaalgefactureerd = oRs("totaal").value; fin_factuur.totaalgefactureerd = oRs("totaal").Value;
oRs.Close(); oRs.Close();
break; break;
@@ -519,7 +543,7 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
+ " FROM prs_kostenplaats k" + " FROM prs_kostenplaats k"
+ " WHERE k.prs_kostenplaats_key = " + fin_factuur.kostenplaats_key; + " WHERE k.prs_kostenplaats_key = " + fin_factuur.kostenplaats_key;
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
fin_factuur.fin_budgethouder = oRs("prs_perslid_key").value; fin_factuur.fin_budgethouder = oRs("prs_perslid_key").Value;
oRs.Close(); oRs.Close();
} }
@@ -528,7 +552,7 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
+ " FROM fin_factuurregel fr" + " FROM fin_factuurregel fr"
+ " WHERE fr.fin_factuur_key = " + fin_key; + " WHERE fr.fin_factuur_key = " + fin_key;
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
fin_factuur.totaal = oRs("sumBTW").value; fin_factuur.totaal = oRs("sumBTW").Value;
oRs.close(); oRs.close();
@@ -552,7 +576,7 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
// 10 (2): Totaal kosten matchen // 10 (2): Totaal kosten matchen
// 11 (3): Termijn kosten en totaal kosten matchen // 11 (3): Termijn kosten en totaal kosten matchen
var result = 0; var result = 0;
result = (oRs("totaal").value? 2 : 0) + (oRs("termijn").value? 1 : 0); result = (oRs("totaal").Value? 2 : 0) + (oRs("termijn").Value? 1 : 0);
return result; return result;
}, },
@@ -648,29 +672,29 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
if (!oRs.eof) if (!oRs.eof)
{ {
var result = { ref_key: oRs("mld_opdr_key").value, // mldopdr_key var result = { ref_key: oRs("mld_opdr_key").Value, // mldopdr_key
ref_type: "O", ref_type: "O",
ref_volgnr: opdr_volgnr, ref_volgnr: opdr_volgnr,
referentie: (oRs("ins_srtdiscipline_prefix").Value||"") + fin_factuur.mld_key + "/" + opdr_volgnr, referentie: (oRs("ins_srtdiscipline_prefix").Value||"") + fin_factuur.mld_key + "/" + opdr_volgnr,
lev_uit: oRs("uitvoerende").value, lev_uit: oRs("uitvoerende").Value,
lev_uit_key: oRs("uitvoerende_key").value, lev_uit_key: oRs("uitvoerende_key").Value,
lev_uit_type: oRs("pbtype").value, lev_uit_type: oRs("pbtype").Value,
status: status.getopdrstatustext(oRs("mld_statusopdr_key").value), status: status.getopdrstatustext(oRs("mld_statusopdr_key").Value),
startdatum: toDateString(oRs("startdatum").value), startdatum: toDateString(oRs("startdatum").Value),
einddatum: toDateString(oRs("einddatum").value), einddatum: toDateString(oRs("einddatum").Value),
periode: oRs("periode").value, periode: oRs("periode").Value,
totbedrag: oRs("totaalbedrag").value, totbedrag: oRs("totaalbedrag").Value,
gefactureerd: oRs("gefactureerd").value, gefactureerd: oRs("gefactureerd").Value,
gefactureerd_jaar: oRs("gefactureerd_jaar").value, gefactureerd_jaar: oRs("gefactureerd_jaar").Value,
kostensoort_key: oRs("kostensoort_key").value, kostensoort_key: oRs("kostensoort_key").Value,
kostenplaats_key: oRs("prs_kostenplaats_key").value, kostenplaats_key: oRs("prs_kostenplaats_key").Value,
loc_code: oRs("loc_code").value, loc_code: oRs("loc_code").Value,
loc_key: oRs("loc_key").value, loc_key: oRs("loc_key").Value,
alg_key: oRs("alg_key").value, alg_key: oRs("alg_key").Value,
opdr_omschr: oRs("mld_opdr_omschrijving").value, opdr_omschr: oRs("mld_opdr_omschrijving").Value,
show_omschr: (oRs("show_omschr").value == 1), show_omschr: (oRs("show_omschr").Value == 1),
typeopdr_omschr: oRs("mld_typeopdr_omschrijving").value, typeopdr_omschr: oRs("mld_typeopdr_omschrijving").Value,
btwtabel_key: oRs("btwtabel_key").value btwtabel_key: oRs("btwtabel_key").Value
}; };
} }
else else
@@ -748,30 +772,30 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
if (!oRs.eof) if (!oRs.eof)
{ {
var bes_bestelopdr_id = oRs("bes_bestelopdr_id").value; var bes_bestelopdr_id = oRs("bes_bestelopdr_id").Value;
bo_id = bes_bestelopdr_id.split("/") bo_id = bes_bestelopdr_id.split("/")
var result = { ref_key: oRs("bes_bestelopdr_key").value, // besopdr_key var result = { ref_key: oRs("bes_bestelopdr_key").Value, // besopdr_key
ref_type: "B", ref_type: "B",
ref_volgnr: bo_id[1], ref_volgnr: bo_id[1],
referentie: oRs("bes_bestelopdr_id").value, referentie: oRs("bes_bestelopdr_id").Value,
lev_uit: oRs("uitvoerende").value, lev_uit: oRs("uitvoerende").Value,
lev_uit_key: oRs("uitvoerende_key").value, lev_uit_key: oRs("uitvoerende_key").Value,
lev_uit_type: oRs("pbtype").value, lev_uit_type: oRs("pbtype").Value,
status: bes.getbesopdrstatustext(oRs("bes_bestelopdr_status").value), status: bes.getbesopdrstatustext(oRs("bes_bestelopdr_status").Value),
startdatum: toDateString(oRs("startdatum").value), startdatum: toDateString(oRs("startdatum").Value),
einddatum: toDateString(oRs("einddatum").value), einddatum: toDateString(oRs("einddatum").Value),
periode: oRs("periode").value, periode: oRs("periode").Value,
levkosten: oRs("bes_bestelling_levkosten").value, levkosten: oRs("bes_bestelling_levkosten").Value,
korting: oRs("bes_bestelling_korting").value, korting: oRs("bes_bestelling_korting").Value,
totbedrag: oRs("totaalbedrag").value, totbedrag: oRs("totaalbedrag").Value,
gefactureerd: oRs("gefactureerd").value, gefactureerd: oRs("gefactureerd").Value,
gefactureerd_jaar: oRs("gefactureerd_jaar").value, gefactureerd_jaar: oRs("gefactureerd_jaar").Value,
kostensoort_key: oRs("prs_kostensoort_key").value, kostensoort_key: oRs("prs_kostensoort_key").Value,
kostenplaats_key: oRs("prs_kostenplaats_key").value, kostenplaats_key: oRs("prs_kostenplaats_key").Value,
loc_code: oRs("loc_code").value, loc_code: oRs("loc_code").Value,
alg_key: oRs("alg_key").value, alg_key: oRs("alg_key").Value,
bes_bestelopdr_id: oRs("bes_bestelopdr_id").value, bes_bestelopdr_id: oRs("bes_bestelopdr_id").Value,
btwtabel_key: oRs("btwtabel_key").value btwtabel_key: oRs("btwtabel_key").Value
}; };
} }
else else
@@ -833,23 +857,23 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
{ {
var result = { ref_key: fin_factuur.cnt_key, var result = { ref_key: fin_factuur.cnt_key,
ref_type: "C", ref_type: "C",
ref_volgnr: oRs("cnt_versie").value, ref_volgnr: oRs("cnt_versie").Value,
referentie: 'C' + fin_factuur.cnt_nr+(oRs("cnt_versie").value ? '.'+oRs("cnt_versie").value:''), referentie: 'C' + fin_factuur.cnt_nr+(oRs("cnt_versie").Value ? '.'+oRs("cnt_versie").Value:''),
lev_uit: oRs("uitvoerende").value, lev_uit: oRs("uitvoerende").Value,
lev_uit_key: oRs("uitvoerende_key").value, lev_uit_key: oRs("uitvoerende_key").Value,
lev_uit_type: oRs("pbtype").value, lev_uit_type: oRs("pbtype").Value,
status: oRs("cnt_contract_status").value, status: oRs("cnt_contract_status").Value,
startdatum: toDateString(oRs("startdatum").value), startdatum: toDateString(oRs("startdatum").Value),
einddatum: toDateString(oRs("einddatum").value), einddatum: toDateString(oRs("einddatum").Value),
periode: oRs("periode").value, periode: oRs("periode").Value,
totbedrag: oRs("totaalbedrag").value, totbedrag: oRs("totaalbedrag").Value,
termbedrag: oRs("termijnbedrag").value, termbedrag: oRs("termijnbedrag").Value,
gefactureerd: oRs("gefactureerd").value, gefactureerd: oRs("gefactureerd").Value,
gefactureerd_jaar: oRs("gefactureerd_jaar").value, gefactureerd_jaar: oRs("gefactureerd_jaar").Value,
kostensoort_key: oRs("kostensoort_key").value, kostensoort_key: oRs("kostensoort_key").Value,
kostenplaats_key: oRs("prs_kostenplaats_key").value, kostenplaats_key: oRs("prs_kostenplaats_key").Value,
btwtabel_key: oRs("btwtabel_key").value, btwtabel_key: oRs("btwtabel_key").Value,
disc_key: oRs("ins_discipline_key").value disc_key: oRs("ins_discipline_key").Value
}; };
} }
else else
@@ -907,8 +931,8 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
while (!oRs.eof) while (!oRs.eof)
{ {
result.loc_geg.push({ loc_key: oRs("cnt_alg_plaats_key").value, result.loc_geg.push({ loc_key: oRs("cnt_alg_plaats_key").Value,
loc_desc: oRs("alg_locatie_omschrijving").value loc_desc: oRs("alg_locatie_omschrijving").Value
}); });
oRs.MoveNext(); oRs.MoveNext();
} }
@@ -937,7 +961,7 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
+ " FROM prs_kostenplaats k" + " FROM prs_kostenplaats k"
+ " WHERE k.prs_kostenplaats_key = " + result.kostenplaats_key; + " WHERE k.prs_kostenplaats_key = " + result.kostenplaats_key;
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
result.fin_budgethouder = oRs("prs_perslid_key").value; result.fin_budgethouder = oRs("prs_perslid_key").Value;
result.kostenplaats_naam = oRs("kostenplaats_naam").Value; result.kostenplaats_naam = oRs("kostenplaats_naam").Value;
oRs.Close(); oRs.Close();
} }
@@ -984,9 +1008,9 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
+ " FROM (" + sql + ")"; + " FROM (" + sql + ")";
var oRs = Oracle.Execute(sql); var oRs = Oracle.Execute(sql);
result.aantalfacturen = oRs("aantal_facturen").value; result.aantalfacturen = oRs("aantal_facturen").Value;
result.totaalbedrag = oRs("totaal_bedrag").value; result.totaalbedrag = oRs("totaal_bedrag").Value;
result.totaalbtwbedrag = oRs("totaal_btw_bedrag").value; result.totaalbtwbedrag = oRs("totaal_btw_bedrag").Value;
oRs.close(); oRs.close();
} }
@@ -1008,10 +1032,10 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
var oRs = Oracle.Execute(sql); var oRs = Oracle.Execute(sql);
while (!oRs.eof) while (!oRs.eof)
{ {
btwtabel.push({ key: oRs("fin_btwtabelwaarde_key").value, btwtabel.push({ key: oRs("fin_btwtabelwaarde_key").Value,
perc: oRs("fin_btwtabelwaarde_perc").value, perc: oRs("fin_btwtabelwaarde_perc").Value,
oms: oRs("fin_btwtabelwaarde_oms").value, oms: oRs("fin_btwtabelwaarde_oms").Value,
verlegd: oRs("fin_btwtabelwaarde_verlegd").value == 1 verlegd: oRs("fin_btwtabelwaarde_verlegd").Value == 1
}); });
oRs.moveNext(); oRs.moveNext();
} }
@@ -1035,8 +1059,8 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
+ " AND f.fin_factuur_verwijder IS NULL"; + " AND f.fin_factuur_verwijder IS NULL";
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
var result = { fac_nr: fac_nr, var result = { fac_nr: fac_nr,
aantal: oRs("aantal").value? oRs("aantal").value : 0, aantal: oRs("aantal").Value? oRs("aantal").Value : 0,
totaal: oRs("totaal").value? safe.curr(oRs("totaal").value) : 0 totaal: oRs("totaal").Value? safe.curr(oRs("totaal").Value) : 0
}; };
oRs.close(); oRs.close();
return result; return result;
@@ -1205,18 +1229,18 @@ fin = { func_enabled_factuur: // Wat mag ik zoal op deze specifieke factuur?
rowIndex ++; rowIndex ++;
fin.CreateEditRow(rowIndex, fin.CreateEditRow(rowIndex,
{ hasAnyFlex: fin.hasAnyRegelFlex(), { hasAnyFlex: fin.hasAnyRegelFlex(),
regel_key: oRs("fin_factuurregel_key").value, regel_key: oRs("fin_factuurregel_key").Value,
regel_nr: oRs("fin_factuurregel_nr").value, regel_nr: oRs("fin_factuurregel_nr").Value,
sum: oRs("fin_factuurregel_totaal").value, sum: oRs("fin_factuurregel_totaal").Value,
BTW: oRs("BTW").value, BTW: oRs("BTW").Value,
btwkey: oRs("fin_btwtabelwaarde_key").value, btwkey: oRs("fin_btwtabelwaarde_key").Value,
btwtabel: btwtabel, btwtabel: btwtabel,
sumBTW: oRs("sumBTW").value, sumBTW: oRs("sumBTW").Value,
descr: oRs("fin_factuurregel_omschrijving").value, descr: oRs("fin_factuurregel_omschrijving").Value,
ref: oRs("fin_factuurregel_referentie").value, ref: oRs("fin_factuurregel_referentie").Value,
ksrt_key: oRs("prs_kostensoort_key").value, ksrt_key: oRs("prs_kostensoort_key").Value,
ksrt_oms: oRs("kostensoort").value, ksrt_oms: oRs("kostensoort").Value,
verlegd: oRs("verlegd").value, verlegd: oRs("verlegd").Value,
copy: this_fin.fin_key != this_fin.factuur_info.fin_key // Bij kopi<70>ren factuur zijn de waarden niet identiek. copy: this_fin.fin_key != this_fin.factuur_info.fin_key // Bij kopi<70>ren factuur zijn de waarden niet identiek.
}); });
oRs.moveNext(); oRs.moveNext();

View File

@@ -45,7 +45,7 @@ if (fin_key > 0)
} }
else // nieuwe factuur. Defaults bepalen else // nieuwe factuur. Defaults bepalen
{ {
user.auth_required_or_abort(this_fin.canFOwrite); // Alleen FO kan aanmaken user.auth_required_or_abort(this_fin.canFEwrite || this_fin.canFOwrite); // Alleen FE (als contactpersoon) of FO kan aanmaken.
if (copy) if (copy)
{ // Haal de opdrachtgegevens op van de opdracht { // Haal de opdrachtgegevens op van de opdracht
@@ -95,6 +95,7 @@ else // nieuwe factuur. Defaults bepalen
this_fin.factuur_info = fin_factuur; this_fin.factuur_info = fin_factuur;
} }
} }
var isContactpersoon = this_fin.canFEwrite;
var refoms = L("lcl_fin_referentie"); var refoms = L("lcl_fin_referentie");
var refurl = ""; var refurl = "";
@@ -136,6 +137,7 @@ var fin_btwtabel_key = oRs("fin_btwtabel_key").value; // Standaard btw tabel key
var fin_defaultboekmaand = <%=S("fin_defaultboekmaand")%>; var fin_defaultboekmaand = <%=S("fin_defaultboekmaand")%>;
var fin_enable_kostensoort = <%=S("fin_enable_kostensoort")%>; var fin_enable_kostensoort = <%=S("fin_enable_kostensoort")%>;
var fin_kostensoort_verplicht = <%=S("fin_kostensoort_verplicht")%>; var fin_kostensoort_verplicht = <%=S("fin_kostensoort_verplicht")%>;
var isContactpersoon = <%=isContactpersoon? 1 : 0%> == 1;
jQuery(document).ready(function() jQuery(document).ready(function()
{ {

View File

@@ -325,7 +325,8 @@ function referenceChanged(refchanged)
{ ref_nr: $("#referentienr").val(), { ref_nr: $("#referentienr").val(),
fin_boekm_jaar: $("#finboekm").val().substr(0, 4), fin_boekm_jaar: $("#finboekm").val().substr(0, 4),
refchanged: (refchanged && ($("#referentienr_old").val() == "" || default_costsrt_selected || fin_key == -1)? 1: 0), refchanged: (refchanged && ($("#referentienr_old").val() == "" || default_costsrt_selected || fin_key == -1)? 1: 0),
fin_factuur_nr: $("#finnr").val() fin_factuur_nr: $("#finnr").val(),
iscontactpers: isContactpersoon? 1 : 0
}); });
FcltGetRefInfoCallback(returndata) FcltGetRefInfoCallback(returndata)
} }

View File

@@ -35,14 +35,17 @@ var this_fin = fin.func_enabled_factuur(fin_key); // Wat heb ik zoal aan rechten
user.auth_required_or_abort(this_fin.canChange); // TODO: testen AAIT#22473 user.auth_required_or_abort(this_fin.canChange); // TODO: testen AAIT#22473
// Status van 3 (foute import) moet bij saven 2 worden gezet var isContactpersoon = this_fin.canFEwrite;
var referentiegegevens = fin.analysereferentie(referentienr, isContactpersoon);
// Het moet een geldige referentie zijn.
user.auth_required_or_abort(referentiegegevens.valid);
// Status van 3 (foute import) moet bij saven op 2 worden gezet.
if (fin_status_key == 3) fin_status_key = 2; if (fin_status_key == 3) fin_status_key = 2;
// Statis 6 (Akkoord) moet bij saven op 2 (Ingevoerd) worden gezet. Factuur dient indien nodig weer gefiatteerd te worden. // Statis 6 (Akkoord) moet bij saven op 2 (Ingevoerd) worden gezet. Factuur dient indien nodig weer gefiatteerd te worden.
if (fin_status_key == 6) fin_status_key = 2; if (fin_status_key == 6) fin_status_key = 2;
var referentiegegevens = fin.analysereferentie(referentienr);
// Deze velden altijd opslaan // Deze velden altijd opslaan
// Merk op: fin_factuur_totaal en fin_factuur_totaal_btw krijgen later definitieve waarde // Merk op: fin_factuur_totaal en fin_factuur_totaal_btw krijgen later definitieve waarde
var fields = [ { dbs: "prs_perslid_key_user", typ: "key", val: user_key }, var fields = [ { dbs: "prs_perslid_key_user", typ: "key", val: user_key },

View File

@@ -21,9 +21,10 @@ function generateFlexKenmerkCode(params)
{ {
// Geen autfunction bepaald. Je komt bij FIN niet binnen met een bepaalde rol (urole). // Geen autfunction bepaald. Je komt bij FIN niet binnen met een bepaalde rol (urole).
// Alleen PRSreadlevel en PRSwritelevel van belang want fac_functie_min_level = 7 (lezen en schrijven organisatie) // 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 authparamsFINFOF = user.checkAutorisation("WEB_FINFOF", true);
var authparamsFINBOF = user.checkAutorisation("WEB_FINBOF", true); var authparamsFINBOF = user.checkAutorisation("WEB_FINBOF", true);
user.auth_required_or_abort(authparamsFINFOF || authparamsFINBOF || user.isBudgethouder()); user.auth_required_or_abort(authparamsFINUSE || authparamsFINFOF || authparamsFINBOF || user.isBudgethouder());
var fin_key = params.fin_key; // Factuurnummer var fin_key = params.fin_key; // Factuurnummer
var regel_key = params.regel_key; // Factuurregelnummer var regel_key = params.regel_key; // Factuurregelnummer

View File

@@ -62,15 +62,18 @@ function fin_list (params)
var urole = "bo"; // urole nodig om opdracht/contract/bestelling in te zien. Dummie waarde. var urole = "bo"; // urole nodig om opdracht/contract/bestelling in te zien. Dummie waarde.
// Geen autfunction bepaald. Je komt bij FIN niet binnen met een bepaalde rol (urole). // Geen autfunction bepaald. Je komt bij FIN niet binnen met een bepaalde rol (urole).
// Nieuw/versimpeld: fac_functie_min_level = 3 (lezen en schrijven) // Nieuw/versimpeld: fac_functie_min_level = 3 (lezen en schrijven)
var authparamsFINUSE = user.checkAutorisation("WEB_FINUSE", true);
var authparamsFINFOF = user.checkAutorisation("WEB_FINFOF", true); var authparamsFINFOF = user.checkAutorisation("WEB_FINFOF", true);
var authparamsFINBOF = user.checkAutorisation("WEB_FINBOF", true); var authparamsFINBOF = user.checkAutorisation("WEB_FINBOF", true);
user.auth_required_or_abort(authparamsFINFOF || authparamsFINBOF || user.isBudgethouder()); user.auth_required_or_abort(authparamsFINUSE || authparamsFINFOF || authparamsFINBOF || user.isBudgethouder());
// ik ken 2 varianten: allemaal of alleen de mijne // ik ken 2 varianten: allemaal of alleen de mijne
var alleenmijnkostenplaatsen = (!authparamsFINFOF && !authparamsFINBOF); // geen FINFOF of FINBOF->budgethouder var alleenmijnkostenplaatsen = (!authparamsFINUSE && !authparamsFINFOF && !authparamsFINBOF); // geen FINUSE, FINFOF of FINBOF -> budgethouder
// Voor resulttable de globalen zetten; zou ng anders moeten. var isContactpersoon = user.isContactpersoon();
// Voor resulttable de globalen zetten; zou nog anders moeten.
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc. var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
var print = (outputmode == 1); var print = (outputmode == 1);
var excel = (outputmode == 2); var excel = (outputmode == 2);
@@ -606,7 +609,7 @@ function fin_list (params)
} }
buttons = []; buttons = [];
if (!embedded && authparamsFINFOF && authparamsFINFOF.PRSwritelevel < 9) if (!embedded && ((authparamsFINFOF && authparamsFINFOF.PRSwritelevel < 9) || (authparamsFINUSE && authparamsFINUSE.PRSwritelevel < 9)))
{ {
var addurl = "appl/fin/fin_factuur.asp?fin_key=-1"; var addurl = "appl/fin/fin_factuur.asp?fin_key=-1";
addurl += buildTransitParam(["cnt_key", "opdr_key", "bes_key"], params) addurl += buildTransitParam(["cnt_key", "opdr_key", "bes_key"], params)
@@ -630,7 +633,7 @@ function fin_list (params)
} }
fioRs.close(); fioRs.close();
} }
if (fac_import_app_key > -1) { if (fac_import_app_key > -1 && (authparamsFINFOF && authparamsFINFOF.PRSwritelevel < 9)) {
var impurl = "appl/imp/imp_search.asp?import_app_key=" + fac_import_app_key; var impurl = "appl/imp/imp_search.asp?import_app_key=" + fac_import_app_key;
buttons.push({ icon: "folder.png", title: L("lcl_import"), action: "FcltMgr.openDetail('" + impurl + "', '" + L("lcl_import") + "')" }); buttons.push({ icon: "folder.png", title: L("lcl_import"), action: "FcltMgr.openDetail('" + impurl + "', '" + L("lcl_import") + "')" });
} }

View File

@@ -76,14 +76,16 @@ if (finstatus == -1 && finnum == "" && opdrnr == -1)
/***** End get webform parameters *****/ /***** End get webform parameters *****/
// Alleen PRSreadlevel en PRSwritelevel van belang want fac_functie_min_level = 7 (lezen en schrijven organisatie) // 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 authparamsFINFOF = user.checkAutorisation("WEB_FINFOF", true);
var authparamsFINBOF = user.checkAutorisation("WEB_FINBOF", true); var authparamsFINBOF = user.checkAutorisation("WEB_FINBOF", true);
user.auth_required_or_abort(authparamsFINFOF || authparamsFINBOF || user.isBudgethouder()); user.auth_required_or_abort(authparamsFINUSE || authparamsFINFOF || authparamsFINBOF || user.isBudgethouder());
// ik ken 2 varianten: allemaal of alleen de mijne // ik ken 2 varianten: allemaal of alleen de mijne
var alleenmijnkostenplaatsen = (!authparamsFINFOF && !authparamsFINBOF); // geen FINFOF of FINBOF->budgethouder var alleenmijnkostenplaatsen = (!authparamsFINUSE && !authparamsFINFOF && !authparamsFINBOF); // geen FINUSE, FINFOF of FINBOF -> budgethouder
var isContactpersoon = user.isContactpersoon();
%> %>
<html> <html>
@@ -181,7 +183,7 @@ var alleenmijnkostenplaatsen = (!authparamsFINFOF && !authparamsFINBOF); // gee
FCLTbedrijfselector("handler","handler", FCLTbedrijfselector("handler","handler",
{ companyKey: handler_key, { companyKey: handler_key,
label: L("lcl_handler"), label: L("lcl_handler"),
filtercode: "X", filtercode: (isContactpersoon && authparamsFINUSE && !authparamsFINFOF && !authparamsFINBOF? "CP" : "X"),
trclass:"primsearc", trclass:"primsearc",
emptyOption: "", emptyOption: "",
whenEmpty: L("lcl_search_generic") whenEmpty: L("lcl_search_generic")
@@ -224,9 +226,11 @@ var alleenmijnkostenplaatsen = (!authparamsFINFOF && !authparamsFINBOF); // gee
trclass: "primsearch", trclass: "primsearch",
emptyOption: "" emptyOption: ""
}) })
%>
<!-- Locatie/gebouw --> if (authparamsFINFOF || authparamsFINBOF)
<% FCLTplaatsselector(authparamsFINBOF? authparamsFINBOF.ALGreadlevel : 9, {
// Locatie/gebouw
FCLTplaatsselector(authparamsFINBOF? authparamsFINBOF.ALGreadlevel : 9,
{ districtkey: dis_key, { districtkey: dis_key,
locatiekey: loc_key, locatiekey: loc_key,
gebouwkey: bld_key, gebouwkey: bld_key,
@@ -235,6 +239,7 @@ var alleenmijnkostenplaatsen = (!authparamsFINFOF && !authparamsFINBOF); // gee
terrein: true, terrein: true,
whenEmpty: L("lcl_search_generic") // want filter whenEmpty: L("lcl_search_generic") // want filter
}); });
}
%> %>
<!-- Gebouw verantwoordelijke --> <!-- Gebouw verantwoordelijke -->
<% // Dit veld is alleen zichtbaar indien er minimaal <20><>n gebouwverantwoordelijke geconfigureerd is (suppressNoValues). <% // Dit veld is alleen zichtbaar indien er minimaal <20><>n gebouwverantwoordelijke geconfigureerd is (suppressNoValues).

View File

@@ -26,8 +26,9 @@ var ref_nr = getQParam("ref_nr");
var fin_boekm_jaar = getQParam("fin_boekm_jaar"); var fin_boekm_jaar = getQParam("fin_boekm_jaar");
var refchanged = (getQParamInt("refchanged") == 1); var refchanged = (getQParamInt("refchanged") == 1);
var fin_factuur_nr = getQParam("fin_factuur_nr"); var fin_factuur_nr = getQParam("fin_factuur_nr");
var iscontactpers = (getQParamInt("iscontactpers", 0) == 1);
var fin_factuur_geg = fin.analysereferentie(ref_nr); var fin_factuur_geg = fin.analysereferentie(ref_nr, iscontactpers);
fin_factuur_geg.fin_boekm_jaar = fin_boekm_jaar; fin_factuur_geg.fin_boekm_jaar = fin_boekm_jaar;
fin_factuur_geg.fin_key = -1; fin_factuur_geg.fin_key = -1;