39 Commits

Author SHA1 Message Date
Erik Groener
59163d47d1 PNBR#91001 Probleem bij koppeling Facilitor en Topdesk; bijlagen falen.
svn path=/Website/branches/v2025.2/; revision=70608
2025-10-14 10:18:51 +00:00
Jos Groot Lipman
ec35b94f39 UWVA#91043 API2/orders 'externalnr' bewerkbaar met WEB_FACXNR
svn path=/Website/branches/v2025.2/; revision=70598
2025-10-13 12:30:34 +00:00
Jos Groot Lipman
b0f95dd044 FZKH#87266 prs_perslid_mobiel generiek kunnen aanpass
svn path=/Website/branches/v2025.2/; revision=70595
2025-10-13 09:04:16 +00:00
Erik Groener
ba2af746f2 PNBR#91001 Probleem bij koppeling Facilitor en Topdesk; bijlagen falen.
svn path=/Website/branches/v2025.2/; revision=70593
2025-10-13 08:52:41 +00:00
Jos Groot Lipman
442662fb6b YKPN#90406 Contract aanpassing factuur
svn path=/Website/branches/v2025.2/; revision=70529
2025-10-06 07:39:27 +00:00
Jos Groot Lipman
a861219867 YKPN#90406 Contract aanpassing factuur
svn path=/Website/branches/v2025.2/; revision=70521
2025-10-03 18:20:05 +00:00
eadbaf389c APGR#90937 syntaxfout
svn path=/Website/branches/v2025.2/; revision=70516
2025-10-03 12:43:04 +00:00
281fc69df1 APGR#90937 Er zijn niet altijd records
svn path=/Website/branches/v2025.2/; revision=70515
2025-10-03 12:34:45 +00:00
Jos Groot Lipman
fbde984e13 Release 2025.2 Gold D
svn path=/Website/branches/v2025.2/; revision=70506
2025-10-02 13:54:47 +00:00
Jos Groot Lipman
f32fe8bba2 SGGR#83501 Omzetten goedkeuren aanvragen naar standaard functionaliteit
svn path=/Website/branches/v2025.2/; revision=70482
2025-10-01 09:27:22 +00:00
Erik Groener
04a2d9a634 FMHN#90788 Facilitor bug: Reservering herstellen mislukt in Edge en Firefox
svn path=/Website/branches/v2025.2/; revision=70454
2025-09-30 07:29:40 +00:00
Jos Groot Lipman
b360a101f1 FCLT#90593 Multi-edit van technische adressen werkte niet goed
svn path=/Website/branches/v2025.2/; revision=70399
2025-09-23 14:19:01 +00:00
Erik Groener
fd89e39dab PZEE#88127 fout in update van mld_melding: mld_melding_externnr
svn path=/Website/branches/v2025.2/; revision=70397
2025-09-23 12:48:41 +00:00
0535114b68 UWVA#90538 Zonder afhandel-rechten mag je (ook in het kaarten-overzicht) de primaire behandelaar niet aanpassen
svn path=/Website/branches/v2025.2/; revision=70386
2025-09-22 14:27:12 +00:00
Erik Groener
47eb00bb19 BRCF#90007 Automatische opdrachten worden niet automatisch aangemaakt obv contract/diens
svn path=/Website/branches/v2025.2/; revision=70338
2025-09-16 14:01:01 +00:00
Jos Groot Lipman
fd30699dfa FCLT#90593 cnt_kenmerk_niveau via 'Elke tabel' bewerkbaar
svn path=/Website/branches/v2025.2/; revision=70316
2025-09-15 09:00:12 +00:00
Erik Groener
c0989274b3 AAIT#90550 Geplande acties niet in te zien
svn path=/Website/branches/v2025.2/; revision=70298
2025-09-12 07:51:38 +00:00
Jos Groot Lipman
9e99cc52ad FCLT#90593 Oude TEMP/xxxx/exchange/*.data ook opruimen
svn path=/Website/branches/v2025.2/; revision=70249
2025-09-09 11:58:54 +00:00
Jos Groot Lipman
f1aba00372 FCLT#90593 Oude TEMP/xxxx/exchange/*.data ook opruimen
svn path=/Website/branches/v2025.2/; revision=70247
2025-09-09 11:30:33 +00:00
Jos Groot Lipman
ab2af4a9cc FCLT#90593 Putorders loggen als loglevel verzet wordt
svn path=/Website/branches/v2025.2/; revision=70244
2025-09-09 08:21:05 +00:00
bd389cb556 FCLT#90593 Herstel carousel navigatie 'Lopende Zaken'
svn path=/Website/branches/v2025.2/; revision=70243
2025-09-09 08:19:50 +00:00
Jos Groot Lipman
396e152140 Release 2025.2 Gold C
svn path=/Website/branches/v2025.2/; revision=70220
2025-09-04 15:10:24 +00:00
1e37138067 TDNL#90338 Ook naar links en boven kunnen pannen
svn path=/Website/branches/v2025.2/; revision=70215
2025-09-04 11:50:33 +00:00
3bdf389720 FCLT#90151 De melding over het beoordelen van een afmelding (assume_ok) moet natuurlijk alleen weergegeven worden als S("mld_assume_ok_days") > 0
svn path=/Website/branches/v2025.2/; revision=70209
2025-09-03 15:23:06 +00:00
0b6460d583 FCLT#90151 Graphics styling compatible gemaakt met bootstrap
svn path=/Website/branches/v2025.2/; revision=70207
2025-09-03 15:13:01 +00:00
Jos Groot Lipman
a448b7d835 FCLT#90151 Tasker custcode en taskcode insertonly maken. Dat is minder verwarrend
svn path=/Website/branches/v2025.2/; revision=70204
2025-09-03 14:30:43 +00:00
Erik Groener
d5a4b83f89 DSMA#90448 Facilitor-Base27 koppeling sinds 7 aug verbroken, foutmelding bij Axx
- zoeken naar requeststatus in een string met indexOf() vervangen door zoeken in een array met inArray(). Kan een mogelijk probleem met status < 100 voorkomen.

svn path=/Website/branches/v2025.2/; revision=70200
2025-09-03 12:00:30 +00:00
Jos Groot Lipman
8949e7e7e1 FCLT#90508 ORA-01400: Kan geen NULL invoegen
svn path=/Website/branches/v2025.2/; revision=70198
2025-09-03 10:50:00 +00:00
Jos Groot Lipman
bd01806030 FMHN#90485 Backport FCLT#90265, performance putorders query
svn path=/Website/branches/v2025.2/; revision=70177
2025-09-02 07:49:08 +00:00
b4b2c68ea7 AQQA#90484 NULL ook ondervangen
svn path=/Website/branches/v2025.2/; revision=70167
2025-09-01 15:06:13 +00:00
e5260f3d16 UWVA#89688 Mobile revamp refactoring bugfix
svn path=/Website/branches/v2025.2/; revision=70134
2025-08-28 09:22:41 +00:00
Maykel Geerdink
8f27a0cb3a FCLT#90345: AiAi fin_boekm bij ophalen refinfo, als referentie een bestelopdracht is.
svn path=/Website/branches/v2025.2/; revision=70066
2025-08-21 06:27:49 +00:00
4cd4046fc2 TDNL#90338 Eindigen van pinch-to-zoom moet niet de zoom resetten
svn path=/Website/branches/v2025.2/; revision=70065
2025-08-20 15:16:17 +00:00
a9038bb99f FCLT#90151 alle (evt.) overflow problemen maar even hard afkappen zo
svn path=/Website/branches/v2025.2/; revision=70060
2025-08-20 14:38:55 +00:00
316d6f19a7 AAGB#90036 Rechten voor interne-&externe bedrijfs-kenmerken omgedraaid (REL* <-> PRS*)
svn path=/Website/branches/v2025.2/; revision=70058
2025-08-20 12:46:56 +00:00
Erik Groener
9a6f5985d9 PZEE#88127 Koppeling voor Security-meldingen Base27-Facilitor aanvragen
svn path=/Website/branches/v2025.2/; revision=70052
2025-08-20 10:22:14 +00:00
Erik Groener
135ba2148c PZEE#88127 Koppeling voor Security-meldingen Base27-Facilitor aanvragen
svn path=/Website/branches/v2025.2/; revision=70050
2025-08-20 08:13:15 +00:00
Jos Groot Lipman
d04adad0e8 FCLT#90324 Tasker tegen meerdere omgevingen kunnen draaien
svn path=/Website/branches/v2025.2/; revision=70047
2025-08-19 15:13:35 +00:00
Marcel Bourseau
9de36bfdc1 Ticket MARX#90284 Registreren van 'eigen' opdrachten met AI - ROLLBACK
svn path=/Website/branches/v2025.2/; revision=70039
2025-08-19 10:19:05 +00:00
29 changed files with 228 additions and 1339 deletions

View File

@@ -387,13 +387,13 @@ function model_mld_opdr()
"dbs": "mld_opdr_externnr",
"label": "externalnr",
"typ": "key",
"hidden_fld": true
"readonly": S("bgt_enabled") || !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR"))
},
"externalsyncdate": {
"dbs": "mld_opdr_externsyncdate",
"label": "externalsyncdate",
"typ": "datetime",
"hidden_fld": true
"readonly": S("bgt_enabled") || !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR"))
}
};
@@ -1608,8 +1608,6 @@ obj._is_clone=2 --> nieuwe sub-opdracht
delete_fld(jsondata, "module", true);
delete_fld(jsondata, "additional", true);
delete_fld(jsondata, "offer", true);
delete_fld(jsondata, "externalnr", true);
delete_fld(jsondata, "externalsyncdate", true);
}
this.REST_PUT = function (params, jsondata, the_key)

View File

@@ -321,7 +321,7 @@ function model_prs_bedrijfadres()
"startdate": {
"dbs": "prs_bedrijfadres_startdatum",
"label": L("prs_bedrijf_startdatum"),
"typ": "datetime",
"typ": "date",
"multiedit": true,
"defaultvalue": new Date(),
"track": true
@@ -378,7 +378,7 @@ function model_prs_bedrijfadres()
+ ";13;13"
};
this.hook_pre_edit = function (obj, fld) { %>
this.hook_pre_edit = this.hook_pre_multi_edit = function (obj, fld) { %>
<script type="text/javascript">
var email_regexp = new RegExp("<%=safe.jsstring(S("email_regexp"))%>", "ig");
</script>

View File

@@ -1296,7 +1296,7 @@ if (scenario_key != 0)
{id:"", alt:"", label: L("lcl_slnk_properties"), onClick: "parent.showSymbol()", icon: "fa-info-square", button: 0, menu: 1 }
];
%>
<body>
<body id="searchbody">
<div id="dragSymbol" class="fgdragsymbol" style="display:none;position:absolute;z-index:1;">Hier komt dragsymbool</div>
<div id="datumfilter" class="fgdatumfilter" style="display:none;position:absolute;z-index:1;left:240px;top:1px"><select onchange='myRefresh()'></select></div>
<div id="PickcontextMenu" class="slnkmenu" style="display:none">

View File

@@ -165,16 +165,9 @@ ANONYMOUS_Allowed = 1;
function request_result(p_request)
{
var result = {};
result.status = p_request.status;
var status_ok = "200,201,204,206";
if (status_ok.indexOf(status) == -1)
{
result.success = false;
result.message = "Base27 error. Status: " + p_request.status;
result.data = {};
}
else
var result = {status: p_request.status};
var status_ok = [200,201,204,206];
if (inArray(result.status, status_ok))
{
result.success = true;
result.message = "";
@@ -183,6 +176,12 @@ ANONYMOUS_Allowed = 1;
: {}
);
}
else
{
result.success = false;
result.message = "Base27 error. Status: " + p_request.status;
result.data = {};
}
obj_log( {"RequestResult": result});
return result;
}
@@ -193,7 +192,7 @@ ANONYMOUS_Allowed = 1;
{ // Te gebruiken bij testen als je al een xml-bestand met data hebt.
if (debug == 1)
{
var test_header_xml_file = "../../temp/pzee/putorders/puo_20250528-182043_01_transformed.xml";
var test_header_xml_file = "../../temp/pzee/putorders/puo_20250811-120141_01_transformed.xml";
}
var fso = new ActiveXObject("Scripting.FileSystemObject");
var filePath = Server.MapPath(test_header_xml_file);
@@ -253,11 +252,11 @@ ANONYMOUS_Allowed = 1;
var filePath = Server.MapPath("../../CUST/" + config_file);
if (fso.FileExists(filePath))
{
/*
/*
in een config bestand is het fijn als je ook commentaar kunt toevoegen
Het verwijderen ervan kan niet met regexp alleen omdat je te maken hebt met eventueel commentaartekens binnen een tekststring, bv in een url
Daarvoor moet een functie gemaakt worden.
*/
*/
var f = fso.OpenTextFile(filePath, 1);
result_config.config = JSON.parse(f.ReadAll());
result_config.success = true;
@@ -295,22 +294,46 @@ ANONYMOUS_Allowed = 1;
{
if (api_result.status == 201)
{
var opdr_key = header_data.facilitor.melding.opdracht.mld_opdr_key;
var sql = "UPDATE mld_opdr"
+ " SET mld_opdr_externnr = " + safe.quoted_sql(api_result.data.id)
+ " WHERE mld_opdr_key = " + opdr_key;
var err = Oracle.Execute(sql, true);
var result = { ticket: { status: (err.fullMsg ? 600 : 200)
, message: (err.fullMsg ? err.friendlyMsg : "opdracht {0} succesvol verstuurd".format(opdr_key))
}};
if (header_data.facilitor.melding.opdracht)
{
var opdr_key = header_data.facilitor.melding.opdracht.mld_opdr_key;
var sql = "UPDATE mld_opdr"
+ " SET mld_opdr_externnr = " + safe.quoted_sql(String(api_result.data.id))
+ " WHERE mld_opdr_key = " + opdr_key;
var err = Oracle.Execute(sql, true);
var result = { ticket: { status: (err.fullMsg ? 600 : 200)
, message: (err.fullMsg ? err.friendlyMsg : "opdracht {0} succesvol verstuurd".format(opdr_key))
}};
}
else
{
var mld_key = header_data.facilitor.melding.mld_melding_key;
var sql = "UPDATE mld_melding"
+ " SET mld_melding_externnr = " + safe.quoted_sql(String(api_result.data.id))
+ " WHERE mld_melding_key = " + mld_key;
var err = Oracle.Execute(sql, true);
var result = { ticket: { status: (err.fullMsg ? 600 : 200)
, message: (err.fullMsg ? err.friendlyMsg : "melding {0} succesvol verstuurd".format(mld_key))
}};
}
}
}
else if (obj_base27.info.actie == "comment")
{
var opdr_key = header_data.facilitor.melding.opdracht.mld_opdr_key;
var result = { ticket: { status: 200
, message: "Notitie bij opdracht {0} succesvol toegevoegd".format(opdr_key)
}};
if (header_data.facilitor.melding.opdracht)
{
var opdr_key = header_data.facilitor.melding.opdracht.mld_opdr_key;
var result = { ticket: { status: 200
, message: "Notitie bij opdracht {0} succesvol toegevoegd".format(opdr_key)
}};
}
else
{
var mld_key = header_data.facilitor.melding.mld_melding_key;
var result = { ticket: { status: 200
, message: "Notitie bij melding {0} succesvol toegevoegd".format(mld_key)
}};
}
}
}
else

View File

@@ -213,12 +213,60 @@ ANONYMOUS_Allowed = 1;
function load_headerdata()
{
// Lees de xml-data uit de html-header.
var xmlReq = Server.CreateObject("MSXML2.DOMDocument.6.0");
xmlReq.load(Request);
// Converteer de xml naar json-dataobject.
var objreq = xmlToJson(xmlReq);
return objreq.facilitor;
if (debug == 1)
{
function loadMSXML(x)
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var file_ext = x.file.slice(-4);
var ForReading = 1;
var f1 = fso.OpenTextFile(x.file, ForReading );
var text = f1.ReadAll();
f1.Close();
text = text.substr(text.indexOf("<facilitor>")); // Verwijder alles totdat je de <facilitor> tag tegenkomt.
if ((text.substr(0,14) != "<?xml version=") && (file_ext == ".xml"))
{ // Bij ontbreken van encoding in de xml-file treedt de fout
// "An invalid character was found in the text content"
// op als er diakritische tekens in het xml-bestand staan.
// Voeg daarom encoding toe.
text = "<?xml version='1.0' encoding='windows-1250'?>" + "\n\r" + text;
}
x.doc = new ActiveXObject("MSXML2.DOMDocument.6.0");
x.doc.async = false;
x.doc.loadXML(text);
x.err_code = x.doc.parseError.errorCode;
x.err_msg = (x.doc.parseError.errorCode != 0 ? x.doc.parseError.reason : "");
return x;
}
var custpath = "../../CUST/PNBR";
var loader = { success: false
, status: -1
, xml: { file: Server.MapPath(custpath + "/xsl/" + "mld_434135_1_transformed.xml") }
, xsl: { file: Server.MapPath(custpath + "/xsl/" + "zendesk.xsl") }
};
loader.xml = loadMSXML(loader.xml);
var objreq = xmlToJson(loader.xml.doc);
//__Log(objreq);
__Log({"headerdata": {"melding": objreq.melding, "topdesk": {"info": objreq.facilitor.topdesk.info, "data": objreq.facilitor.topdesk.data}}});
return objreq.facilitor;
}
else
{
// Lees de xml-data uit de html-header.
var xmlReq = Server.CreateObject("MSXML2.DOMDocument.6.0");
xmlReq.load(Request);
// Converteer de xml naar json-dataobject.
var objreq = xmlToJson(xmlReq);
if (objreq && objreq.facilitor && objreq.facilitor.melding && objreq.facilitor.topdesk.info && objreq.facilitor.topdesk.data)
{
__Log({"headerdata": {"melding": objreq.facilitor.melding, "topdesk": {"info": objreq.facilitor.topdesk.info, "data": objreq.facilitor.topdesk.data}}});
}
return objreq.facilitor;
}
} // load_headerdata
function getTypeOf(value)
@@ -368,7 +416,7 @@ ANONYMOUS_Allowed = 1;
if ((p_obj_topdesk.info.methode == "POST" || p_obj_topdesk.info.methode == "PATCH") && (p_obj_topdesk.info.actie == "change" || p_obj_topdesk.info.actie == "incident"))
{
var t = (p_obj_topdesk.bijlagen ? getTypeOf(p_obj_topdesk.bijlagen.bijlage) : "isUnknown");
__Log("bijlagen: " + t);
__Log("bijlagen: " + (t == "isUndefined" ? "<geen>" : t));
switch (t)
{
case "isUndefined": var bijlagen = []; break; // geen bijlagen
@@ -503,6 +551,10 @@ ANONYMOUS_Allowed = 1;
__Log({"topdesk_result": topdesk_result});
if (topdesk_result.status != -1)
{ // Nu kunnen de bijlagen verstuurd worden.
if (!topdesk_result.data.id)
{ // Bij bestaande opdracht het topdesk-id overnemen vanuit de info-node.
topdesk_result.data.id = (obj_topdesk.info.get_id ? obj_topdesk.info.get_id : "");
}
var attach_result = addAttachments(obj_topdesk, topdesk_result);
var result = { ticket: topdesk_result
@@ -539,6 +591,7 @@ ANONYMOUS_Allowed = 1;
// *************************************************************************
__Log("*> TOPdesk.api");
var debug = 0;
var facilitor = load_headerdata();
var result = {};

View File

@@ -91,7 +91,7 @@ if (job_key > -1)
user.auth_required_or_abort(buttons.length);
if (buttons.length === 1) {
jobFrameSrc = "job_edit_job.asp?template=1&rtable=" + buttons[0].rtable;
jobFrameSrc = "job_edit_job.asp?template=" + template + "&rtable=" + buttons[0].rtable;
} else {
%> <script>
FcltMgr.startEdit(window);

View File

@@ -299,8 +299,12 @@ function job_list(pautfunction, params)
+ " FROM " + activiteit_sql + " FA, "
+ " (" + vakgroep_product_sql_arr.join(" UNION ALL ") + " ) VP "
+ " WHERE fa.fac_activiteit_key = vp.fac_activiteit_key" + (isTemplate ? "(+)" : "")
+ " AND fa.fac_activiteit_eenheid " + (isTemplate ? "=" : "!=") + " 5"
+ ((prs_prskey > -1) ? " AND fa.prs_perslid_key = " + prs_prskey : "")
if (isTemplate) {
sqln += " AND fa.fac_activiteit_eenheid = 5";
} else {
sqln += " AND (fa.fac_activiteit_eenheid IS NULL OR fa.fac_activiteit_eenheid <> 5)";
}
sqln += ((prs_prskey > -1) ? " AND fa.prs_perslid_key = " + prs_prskey : "")
+ ((act_key > -1) ? " AND fa.fac_activiteit_key = " + act_key : "")
+ ((cat_key > -1) ? " AND vp.ins_discipline_key = " + cat_key : "")
+ ((prod_key > -1) ? " AND vp.ins_discipline_key = " + prod_key : "")

View File

@@ -677,7 +677,7 @@ fin = { trackfactuurupdate:
case "B": // Bestelling opdracht
// Vind informatie van de bestelling opdracht
sql = "SELECT TO_CHAR (bo.bes_bestelopdr_datum, 'YYYY-MM') periode"
+ " , TO_CHAR (bo.bes_bestelopdr_leverdatum, 'YYYY-MM') periode2"
+ " , TO_CHAR (COALESCE(bo.bes_bestelopdr_leverdatum, SYSDATE), 'YYYY-MM') periode2"
+ " FROM bes_bestelopdr bo"
+ " , bes_bestelopdr_item boi"
+ " , bes_bestelling_item bi"
@@ -937,7 +937,7 @@ fin = { trackfactuurupdate:
+ " , bo.bes_bestelopdr_datum startdatum"
+ " , bo.bes_bestelopdr_leverdatum einddatum"
+ " , TO_CHAR (bo.bes_bestelopdr_datum, 'YYYY-MM') periode"
+ " , TO_CHAR (bo.bes_bestelopdr_leverdatum, 'YYYY-MM') periode2"
+ " , TO_CHAR (COALESCE(bo.bes_bestelopdr_leverdatum, SYSDATE), 'YYYY-MM') periode2"
+ " , COALESCE((SELECT SUM(boi.bes_bestelopdr_item_aantal "
+ " * COALESCE(boi.bes_bestelopdr_item_inkprijs, boi.bes_bestelopdr_item_prijs))"
+ " FROM bes_bestelopdr_item boi"

View File

@@ -38,7 +38,7 @@ if (!fin_factuur_geg.message)
if (!bm_info.message)
{
var fin_defaultboekmaand = S("fin_defaultboekmaand");
if (S("fin_defaultboekmaand") == 2 && refchanged)
if (fin_defaultboekmaand == 2 && refchanged)
{ // Boekmaand invullen adhv bestel/opdrachtdatum
fin_boekm = bm_info.periode; // Tonen opdrachtdatum.
fin_boekm_jaar = fin_boekm.substr(0, 4);

View File

@@ -1236,7 +1236,7 @@ function ins_list (pautfunction, params)
{
if (S("ins_deel_flags") > 0)
{
rst.addColumn(new Column({caption: (outputmode == 0 ? I("fa-fclt-flag0") : L("lcl_ins_flags")), content: fncolFlags, align: "center"}));
rst.addColumn(new Column({caption: (outputmode == 0 ? I("fa-fclt-flag0") : L("lcl_ins_flags")), content: fncolFlags, colName: "fncolFlags", colText: L("lcl_ins_flags"), align: "center"}));
}
if (inspect && ctrdisc_key_arr.length != 1)
rst.addColumn(new Column({caption: L("ctr_discipline"), content: "ctr_disc_oms"}));

File diff suppressed because it is too large Load Diff

View File

@@ -14,6 +14,8 @@
// Voorkennis:
model.fields["fac_cust_key"].typ = "key";
model.fields["fac_cust_key"].foreign = { tbl: "fac_cust", key: "fac_cust_key", desc: "fac_cust_customerid"};
model.fields["fac_cust_key"].insertonly = true;
model.fields["name"].insertonly = true;
model.fields["fac_task_nextrun"].multiedit = true;
model.fields["fac_task_flags"].multiedit = true;
model.fields["fac_task_flags"].label = "flags (+1=enabled)"; // in de lijst

View File

@@ -62,7 +62,10 @@
"fin_factuur": { "track": "#FINUPD",
"fields": ["prs_kostensoort_key",
"fin_factuur_statuses_key",
"fin_factuur_boekmaand"]
"fin_factuur_boekmaand",
"mld_opdr_key",
"cnt_contract_key",
"bes_bestelopdr_key"]
},
"fin_verkoopfactuur":
{ "track": null,
@@ -139,7 +142,9 @@
"prs_perslid": { "track": "#PRSUPD",
"fields": ["prs_perslid_lang",
"prs_perslid_flags",
"prs_perslid_inactief"]
"prs_perslid_inactief",
"prs_perslid_key_verantw",
"prs_perslid_mobiel"]
},
"fac_bookmark": { "track": null,
"fields": ["fac_bookmark_id"]
@@ -168,6 +173,9 @@
},
"ins_srtkenmerk": { "track": null,
"fields": ["ins_srtkenmerk_kenmerktype"]
},
"cnt_kenmerk": { "track": null,
"fields": ["cnt_kenmerk_niveau"]
}
}
@@ -184,6 +192,8 @@
{
var field = model.fields[fld];
var exception = edit_fields[table.toLowerCase()];
if (fld == "prs_perslid_key_verantw")
field.foreign = "PRS_PERSLID";
if (fld == model.soft_delete ||
fld.match(/externsyncdate$/) ||
fld.match(/extsyncdate$/) ||
@@ -206,7 +216,7 @@
field.track = true;
model.trackcode = exception && exception.track;
if (mode == "edit" && fld == "alg_verdieping_key") // Scaffolding.inc genereert geen selector voor verdiepingen en maakt hem zelfs readonly
if (mode == "edit" && (fld == "alg_verdieping_key" || fld == "cnt_contract_key" || fld == "mld_opdr_key")) // Scaffolding.inc genereert geen selector voor verdiepingen enz en maakt hem zelfs readonly
field.foreign = null;
continue;

View File

@@ -110,7 +110,7 @@ if (bdr_key > 0)
// ============================
var buttons = [];
if (!adres_type && scf_mode == 'edit') // dan eerst adres_type vragen
if (!adres_type && scf_mode == 'edit' && getQParamInt("scf_multi", 0) == 0) // dan eerst adres_type vragen
{
if (prs_bedrijf_intern == 0) // gewone externe
{

View File

@@ -7014,6 +7014,7 @@ mld = {
+ " , ms.mld_stdmelding_prseigen"
+ " , " + lcl.xsqla("pd.prs_dienst_omschrijving", "pd.prs_dienst_key")
+ " , isd.ins_srtdiscipline_bes"
+ " , ms.mld_stdmelding_autoorder"
+ " FROM mld_stdmelding ms"
+ " , mld_discipline md"
+ " , ins_srtdiscipline isd"
@@ -7028,8 +7029,9 @@ mld = {
var prs_dienst_key = oRs("prs_dienst_key").Value;
var prs_dienst_desc = oRs("prs_dienst_omschrijving").Value; // 'Schoonmaken'
var srtdiscbes = oRs("ins_srtdiscipline_bes").Value; // Leverancier of uitvoerende
var prs_bedrijf_key = -1;
oRs.Close();
var check_autoorder = oRs("mld_stdmelding_autoorder").Value == 1;
var prs_bedrijf_key = -1;
oRs.Close();
if (prs_dienst_key)
{ // Controleer of er een/<2F><>n bedrijf is dat deze dienst levert op deze locatie/dit gebouw
@@ -7065,7 +7067,46 @@ mld = {
sql += " AND bdl.mld_autoorder = 1" // 0=Uitsluiten van automatische opdracht (vinkje AAN), 1=Autoorder van stdmelding gebruiken (vinkje UIT).
oRs2 = Oracle.Execute(sql);
if (oRs2("aantal").Value == 1)
{ // Bedrijf ophalen uit relatiebeheer.
prs_bedrijf_key = oRs2("prs_bedrijf_key").Value; // straks mogelijk vanzelf opdracht.
}
else
{ // Bedrijf ophalen uit contractbeheer.
// Zoekt naar de best passende plaats: Als er een ruimtekey wordt meegegeven maar daarvoor bestaat geen cnt_contract_plaats
// dan wordt er gekeken of er wel een contract_plaats voor gebouw of locatie voor deze ruimte bestaat.
var sql_c = "SELECT cnt_prs_bedrijf_key"
+ " , cnt_contract_key"
+ " , prio"
+ " , COUNT(DISTINCT cnt_prs_bedrijf_key) aantal"
+ " FROM (SELECT c.cnt_prs_bedrijf_key"
+ " , c.cnt_contract_key"
+ " , CASE cp.cnt_alg_plaats_code WHEN 'R' THEN 3 WHEN 'G' THEN 2 ELSE 1 END prio"
+ " FROM cnt_contract c"
+ " , cnt_contract_plaats cp"
+ " , cnt_disc_params cd"
+ " WHERE cd.cnt_ins_discipline_key = c.ins_discipline_key"
+ " AND SYSDATE BETWEEN c.cnt_contract_looptijd_van"
+ " AND c.cnt_contract_looptijd_tot"
+ " AND c.cnt_contract_verwijder IS NULL"
+ " AND cd.cnt_srtcontract_type IN (3,5)"
+ " AND c.prs_dienst_key = " + prs_dienst_key
+ " AND c.cnt_contract_key = cp.cnt_contract_key"
+ " AND (" + (locatiekey > 0 ? " (cp.cnt_alg_plaats_code = 'L' AND cp.cnt_alg_plaats_key = " + locatiekey + ")" : "(1=1)")
+ " " + (gebouwkey > 0 ? "OR (cp.cnt_alg_plaats_code = 'G' AND cp.cnt_alg_plaats_key = " + gebouwkey + ")" : "")
+ " " + (ruimtekey > 0 ? "OR (cp.cnt_alg_plaats_code = 'R' AND cp.cnt_alg_plaats_key = " + ruimtekey + ")" : "")
+ " )"
+ " )"
+ " GROUP BY cnt_prs_bedrijf_key, cnt_contract_key, prio"
+ " ORDER BY prio DESC"
+ " FETCH FIRST 1 ROW ONLY";
var oRs_c = Oracle.Execute(sql_c);
if (!oRs_c.EOF && oRs_c("aantal").Value == 1)
{
prs_bedrijf_key = oRs_c("cnt_prs_bedrijf_key").Value;
}
oRs_c.Close();
}
oRs2.Close();
}
else
{

View File

@@ -202,6 +202,11 @@ for (var i = 0; i < mld_key_arr.length; i++) {
} else {
if (type === -2) { // Primaire Behandelaar
// Kijk of ik van deze melding de afhandeling (en dus de primaire behandelaar) wel mag aanpassen;
if (!this_mld.canAfhandChange) {
abort_with_warning(L("lcl_no_auth"));
}
// Kijk of ik deze behandelaar wel mag kiezen bij deze melding;
var mld_bord_info = mld_bord_info(mld_key_arr[i]);
if (to_key > 0) { // Vullen / aanpassen

View File

@@ -231,7 +231,9 @@ function looplijst_sql(gebouw_key, datum, met_obj, met_cat, met_ops)
}
function fncolaside(oRs) {
return L("lcl_res_daglijst_geleverd") + ": " + (oRs("geleverd").Value == 1 ? L("lcl_Yes") : L("lcl_No"));
if (!met_ops) {
return L("lcl_res_daglijst_geleverd") + ": " + (oRs("geleverd").Value == 1 ? L("lcl_Yes") : L("lcl_No"));
}
}
function fncolSubHeader(oRs) {

View File

@@ -103,6 +103,7 @@ footer {
.fclt-content {
margin: var(--fclt-content-margin);
overflow-x: clip;
}
.fclt-sticky-nav {

View File

@@ -224,7 +224,11 @@ imgurl += "&sizeY=" + (1*sizeY);
scale = 1; posX = 0; posY = 0; lastX = 0; lastY = 0;
setTransform();
}
lastTap = now;
if (e.touches.length > 0) {
lastTap = 0;
} else {
lastTap = now;
}
});
// Mouse wheel zoom (desktop)

View File

@@ -265,24 +265,17 @@ PDA_PAGE_END(); %>
}
function setTransform() {
// Get container and image sizes
var cw = container.clientWidth;
var ch = container.clientHeight;
var iw = img.naturalWidth * scale;
var ih = img.naturalHeight * scale;
// Calculate min/max pan so image stays within container
var minX = Math.min(0, cw - iw);
var maxX = Math.max(0, cw - iw) / 2;
var minY = Math.min(0, ch - ih);
var maxY = Math.max(0, ch - ih) / 2;
// Compute pan bounds based on container size & scale
var minX = -(cw * scale - cw) / 2;
var maxX = (cw * scale - cw) / 2;
var minY = -(ch * scale - ch) / 2;
var maxY = (ch * scale - ch) / 2;
// If image is smaller than container, center it
if (iw < cw) posX = (cw - iw) / 2;
else posX = clamp(posX, minX, 0);
if (ih < ch) posY = (ch - ih) / 2;
else posY = clamp(posY, minY, 0);
posX = clamp(posX, minX, maxX);
posY = clamp(posY, minY, maxY);
lastX = posX;
lastY = posY;
@@ -347,7 +340,11 @@ PDA_PAGE_END(); %>
scale = 1; posX = 0; posY = 0; lastX = 0; lastY = 0;
setTransform();
}
lastTap = now;
if (e.touches.length > 0) {
lastTap = 0;
} else {
lastTap = now;
}
});
// Mouse wheel zoom (desktop)

View File

@@ -107,13 +107,13 @@ function generateFlexKenmerkCode(params)
{
if (params.intern == 1) // intern
{
var authparamsUSE = user.checkAutorisation("WEB_RELUSE", true)||{PRSreadlevel: 9};
var authparamsMAN = user.checkAutorisation("WEB_RELMAN", true)||{PRSreadlevel: 9};
var authparamsUSE = user.checkAutorisation("WEB_PRSUSE", true)||{PRSreadlevel: 9};
var authparamsMAN = user.checkAutorisation("WEB_PRSMAN", true)||{PRSreadlevel: 9};
}
else // extern of systeem
{
var authparamsUSE = user.checkAutorisation("WEB_PRSUSE", true)||{PRSreadlevel: 9};
var authparamsMAN = user.checkAutorisation("WEB_PRSMAN", true)||{PRSreadlevel: 9};
var authparamsUSE = user.checkAutorisation("WEB_RELUSE", true)||{PRSreadlevel: 9};
var authparamsMAN = user.checkAutorisation("WEB_RELMAN", true)||{PRSreadlevel: 9};
}
// Een eenvoudig contactpersoon mag de MAN-kenmerken niet zien, maar eigen kenmerken wel
// dat eerste gebeurt nu intrinsiek door (het gebrek aan) RELMAN-autorisatie

View File

@@ -559,7 +559,6 @@ FCLTHeader.Requires({ plugins: ["jQuery", "kenmerk"] });
+ " AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+)"
+ " AND rro.res_opstelling_key = ro.res_opstelling_key(+)"
+ " AND rro.res_ruimte_key = rru.res_ruimte_key(+)"
+ " AND rrr.res_rsv_ruimte_verwijder IS NULL"
+ " AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)"
+ " AND rrr.mld_opdr_key = mo.mld_opdr_key(+)";

View File

@@ -5944,7 +5944,6 @@ td.selectable {
height: 6px;
}
/* Enkele 'vieze' overrules, te verfijnen */
#navigationCell label,
#navigationCell .fld
{
width: 225px;

View File

@@ -8,7 +8,7 @@
Context: Vanuit ELK asp bestand
*/
var FCLTVersion="2025.2b";
var FCLTVersion="2025.2d";
var FCLTMinDatabaseSchema="51"; // Alleen de cijfers
var custpath = rooturl + "/cust/" + customerId; // path to customer files

View File

@@ -726,7 +726,7 @@ notes =
{
if (pnote_key < 0 && params.afgehandeld)
{
if (pmodule === "MLD" && (mld_info.actiecode & 256) == 256 && mld_info.melder_key == user_key)
if (S("mld_assume_ok_days") > 0 && pmodule === "MLD" && (mld_info.actiecode & 256) == 256 && mld_info.melder_key == user_key)
// Melding afgemeld en attentie bij de melder.
ROFIELDTR("mldshowactie", "", L("lcl_mld_actiecodeATTFE"), {ishtmlsafe: true, suppressEmpty: true});
else

View File

@@ -106,7 +106,7 @@ function sendNotification(ref_key, pcode, params)
+ " OR oudere.prs_bedrijfadres_key IS NOT NULL)"
+ " AND oudere.fac_notificatie_key < f.fac_notificatie_key" // ouder
+ " AND oudere.prs_bedrijfadres_key = f.prs_bedrijfadres_key" // naar hetzelfde adres
+ " AND oudere.fac_srtnotificatie_key = oudere.fac_srtnotificatie_key"
+ " AND ouderefs.fac_srtnotificatie_key = oudere.fac_srtnotificatie_key"
+ " AND ouderefs.fac_srtnotificatie_xmlnode = fs.fac_srtnotificatie_xmlnode" // over dezelfde opdracht
+ " AND oudere.fac_notificatie_refkey = f.fac_notificatie_refkey)" //over dezelfde opdracht
+ " AND f.prs_perslid_key_receiver = p.prs_perslid_key(+)"
@@ -246,6 +246,15 @@ function sendNotification(ref_key, pcode, params)
if (realuser && realuser != lastrealuser)
{
Log2File(1, "Switching to custenv.wsc overrules by " + realuser);
if (realuser.indexOf("@") > -1) // AAREON\JOSGL@/trunk
{
rooturl = realuser.split("@")[1]; // '/trunk'
if (rooturl && !WScript.ScriptFullName.match(rooturl + "/"))
{
Log2File(1, "Putorders is running in {0}, notification origin is {1}.\nThis may not be what you expected".format(WScript.ScriptFullName, rooturl));
}
realuser = realuser.split("@")[0];
}
var domain = realuser.split("\\")[0];
var username = realuser.split("\\")[1];
tryOverrules(domain, username);

View File

@@ -107,6 +107,7 @@ function send2address( bedrijfadres_key
if (bedrijfadres.loglevel > S("puo_loglevel"))
{
settings.overrule_setting("puo_loglevel", bedrijfadres.loglevel); // caller must reset it!
Log2File(1, "puo_loglevel overruled by prs_bedrijfadres_loglevel: " + bedrijfadres.loglevel);
}
puo_hook.initialize(bedrijfadres);

View File

@@ -78,6 +78,7 @@ function sendAPP( p_perslid_key
if (bedrijfadres.loglevel > S("puo_loglevel"))
{
settings.overrule_setting("puo_loglevel", bedrijfadres.loglevel);
Log2File(1, "puo_loglevel overruled by prs_bedrijfadres_loglevel: " + bedrijfadres.loglevel);
}
// Dit zou ik het liefst doen met een stylesheet achtige oplossing en dan een XML2JSON

View File

@@ -305,6 +305,7 @@ function cleanup_temp()
, { expr_folder: "", max_checklevel: 9, expr_file: "^(?:(putorders.*_"+CustId+"))\\S+\\\.log$", keep: "m1" } // Alle putordersI_CustId_*.log en putorders_CustId_*.log verwijderen van voor de 1-ste van 1 maand geleden.
, { expr_folder: "", max_checklevel: 9, expr_file: "^(?:(tasker.*_"+CustId+"))\\S+\\\.log$", keep: "m1" } // Alle putordersI_CustId_*.log en putorders_CustId_*.log verwijderen van voor de 1-ste van 1 maand geleden.
, { expr_folder: "^(putorders)$", max_checklevel: 9, expr_file: "^\\S+\.\\S+$", keep: "d30"} // Alles in TEMP\CustId\putorders van meer dan 30 dagen oud verwijderen.
, { expr_folder: "^(exchange)$", max_checklevel: 9, expr_file: "^\\S+\\.data$", keep: "d10"} // Alle .data in TEMP\CustId\exchange van meer dan 10 dagen oud verwijderen.
, { expr_folder: "^(ALG|BES|CNT|FIN|INS|MRK|MLD|RES|FAQ|.__NEW__)", max_checklevel: 2, expr_file: "^\\S+", keep: "d2" } // In mappen TEMP\CustId\Module\*__NEW__* bestanden die ouder zijn dan 2 dagen verwijderen, en als deze map dan leeg is de map ook verwijderen.
];