From a78b72b8d5c130faafc83d0a3cf3af6bf83f5b62 Mon Sep 17 00:00:00 2001 From: Maykel Geerdink Date: Mon, 10 Nov 2025 10:01:16 +0000 Subject: [PATCH] PNBR#91355: Foutmelding bij openen bestelvoorraad via menubalk. svn path=/Website/branches/v2025.3/; revision=70864 --- APPL/BES/bes.inc | 16 ++++++++++++++++ APPL/BES/bes_search.js | 2 +- APPL/BES/bes_voorraad_list.inc | 6 +++--- APPL/BES/bes_voorraad_search.asp | 20 ++++++++++++++++++-- APPL/BES/bes_voorraad_search_list.asp | 1 + APPL/Shared/loadBESDisc.asp | 2 +- 6 files changed, 40 insertions(+), 7 deletions(-) diff --git a/APPL/BES/bes.inc b/APPL/BES/bes.inc index 42b7583270..353093345b 100644 --- a/APPL/BES/bes.inc +++ b/APPL/BES/bes.inc @@ -1918,6 +1918,7 @@ voorraad_srtdeel: function _voorraad_srtdeel(pautfunction, params) { // Valid and supported parameters are: + // params.catalogus_type: key // params.catalogus_key : key // params.besgroep_key : // params.item_key : @@ -1988,6 +1989,9 @@ + " AND g.ins_discipline_key = bd.ins_discipline_key" + " AND bd.ins_discipline_key = dp.bes_ins_discipline_key" + " AND sd.bes_srtdeel_verwijder IS NULL" + + (params.catalogus_type + ? " AND dp.bes_disc_params_bestelmode = " + params.catalogus_type + : "") + (params.catalogus_key ? " AND dp.bes_ins_discipline_key_inkoop = " + params.catalogus_key + " AND (sd.bes_srtdeel_vervaldatum IS NULL OR sd.bes_srtdeel_vervaldatum > SYSDATE)" @@ -2071,6 +2075,9 @@ + " AND g.ins_discipline_key = bd.ins_discipline_key" + " AND bd.ins_discipline_key = dp.bes_ins_discipline_key" + " AND sd.bes_srtdeel_verwijder IS NULL" + + (params.catalogus_type + ? " AND dp.bes_disc_params_bestelmode = " + params.catalogus_type + : "") + (params.catalogus_key ? " AND dp.bes_ins_discipline_key_inkoop = " + params.catalogus_key + " AND (sd.bes_srtdeel_vervaldatum IS NULL OR sd.bes_srtdeel_vervaldatum > SYSDATE)" @@ -2187,6 +2194,9 @@ + " AND bd1.ins_discipline_key = dp1.bes_ins_discipline_key" + " AND sd1.bes_srtdeel_nr = sd.bes_srtdeel_nr" // Dezelfde omschrijving. + " AND dp1.bes_ins_discipline_key_inkoop = bd.ins_discipline_key)" // Gekoppeld aan inkoopcatalogus. + + (params.catalogus_type + ? " AND dp.bes_disc_params_bestelmode = " + params.catalogus_type + : "") + (params.catalogus_key ? " AND bd.ins_discipline_key = " + params.catalogus_key + " AND (sd.bes_srtdeel_vervaldatum IS NULL OR sd.bes_srtdeel_vervaldatum > SYSDATE)" @@ -2283,6 +2293,9 @@ + " AND bd1.ins_discipline_key = dp1.bes_ins_discipline_key" + " AND sd1.bes_srtdeel_nr = sd.bes_srtdeel_nr" // Dezelfde omschrijving. + " AND dp1.bes_ins_discipline_key_inkoop = bd.ins_discipline_key)" // Gekoppeld aan inkoopcatalogus. + + (params.catalogus_type + ? " AND dp.bes_disc_params_bestelmode = " + params.catalogus_type + : "") + (params.catalogus_key ? " AND bd.ins_discipline_key = " + params.catalogus_key + " AND (sd.bes_srtdeel_vervaldatum IS NULL OR sd.bes_srtdeel_vervaldatum > SYSDATE)" @@ -2377,6 +2390,9 @@ + " AND bd1.ins_discipline_key = dp1.bes_ins_discipline_key" + " AND sd1.bes_srtdeel_nr = sd.bes_srtdeel_nr" // Dezelfde omschrijving. + " AND dp1.bes_ins_discipline_key_inkoop = bd.ins_discipline_key)" // Gekoppeld aan inkoopcatalogus. + + (params.catalogus_type + ? " AND dp.bes_disc_params_bestelmode = " + params.catalogus_type + : "") + (params.catalogus_key ? " AND bd.ins_discipline_key = " + params.catalogus_key + " AND (sd.bes_srtdeel_vervaldatum IS NULL OR sd.bes_srtdeel_vervaldatum > SYSDATE)" diff --git a/APPL/BES/bes_search.js b/APPL/BES/bes_search.js index 9610922f61..8e2dc02e46 100644 --- a/APPL/BES/bes_search.js +++ b/APPL/BES/bes_search.js @@ -47,7 +47,7 @@ function updateDisc(pautfunction, pdisc, psrtgroup, psrtdeel) $("#instock").closest("tr").show(); } - var ldisctype = $('#disctype :selected').val(); + var ldisctype = $('#disctype :selected').val() || -1; $("#disc").load("../Shared/loadBESDisc.asp?" + serializeObj( { autfunction: pautfunction, disctype: ldisctype, diff --git a/APPL/BES/bes_voorraad_list.inc b/APPL/BES/bes_voorraad_list.inc index 5176ce09b8..f840f7af40 100644 --- a/APPL/BES/bes_voorraad_list.inc +++ b/APPL/BES/bes_voorraad_list.inc @@ -25,6 +25,7 @@ function bes_voorraad_list (pautfunction, params) // params.urole : the usuals two-letter lowercase string // params.outputmode : print to 0 = screen, 1 = printer, 2 = excel, etc. // params.showall : boolean (true | false) + // params.catalogus_type: key // params.catalogus_key : key // params.besgroep_key : // params.item_key : @@ -212,8 +213,8 @@ function bes_voorraad_list (pautfunction, params) rst.addColumn(new Column({caption: "Uit-maar nog in magazijn", content: "aantal_uitmaarnoginmagazijn", datatype: "number", total: true})); rst.addColumn(new Column({caption: L("lcl_bes_voorraad"), content: "voorraad", datatype: "number", total: true})); rst.addColumn(new Column({caption: L("lcl_bes_unity"), content: "eenheid_extern"})); - rst.addColumn(new Column({caption: L("lcl_bes_voorraadmin"), content: "voorraadmin"})); - rst.addColumn(new Column({caption: L("lcl_bes_voorraadmax"), content: "voorraadmax"})); + rst.addColumn(new Column({caption: L("lcl_bes_voorraadmin"), content: "voorraadmin", datatype: "number"})); + rst.addColumn(new Column({caption: L("lcl_bes_voorraadmax"), content: "voorraadmax", datatype: "number"})); rst.addColumn(new Column({caption: L("lcl_bes_lopend"), content: "aantal_open_order", datatype: "number", total: true})); rst.addColumn(new Column({caption: L("lcl_bes_bestellen"), content: fncolTeBestellen, datatype: "number", total: true})); } @@ -245,4 +246,3 @@ function bes_voorraad_list (pautfunction, params) <% } %> - diff --git a/APPL/BES/bes_voorraad_search.asp b/APPL/BES/bes_voorraad_search.asp index 50acb11d47..d7f6763bfa 100644 --- a/APPL/BES/bes_voorraad_search.asp +++ b/APPL/BES/bes_voorraad_search.asp @@ -78,6 +78,16 @@ var authparams = user.checkAutorisation(autfunction); <% // var sql = "SELECT SUM(CASE" + + " WHEN dp.bes_disc_params_bestelmode = 0" + + " THEN 1" + + " ELSE 0" + + " END) aantal_uitcat" + + " , SUM(CASE" + + " WHEN dp.bes_disc_params_bestelmode = 1" + + " THEN 1" + + " ELSE 0" + + " END) aantal_vrij" + + " , SUM(CASE" + " WHEN dp.bes_disc_params_bestelmode = 2" + " THEN 1" + " ELSE 0" @@ -91,10 +101,16 @@ var authparams = user.checkAutorisation(autfunction); + " , bes_disc_params dp" + " WHERE bd.ins_discipline_key = dp.bes_ins_discipline_key"; var oRs = Oracle.Execute(sql); - var aantal_bestel = oRs("aantal_bestel").Value; - var aantal_actueel = oRs("aantal_actueel").Value; + var aantal_uitcat = oRs("aantal_uitcat").Value; // Uit catalogus(0). + var aantal_vrij = oRs("aantal_vrij").Value; // Vrij aanmaken(1). + var aantal_bestel = oRs("aantal_bestel").Value; // Bestellijst(2). + var aantal_actueel = oRs("aantal_actueel").Value; // Actuele lijst(3). oRs.Close(); var sql_arr = []; + if (aantal_uitcat > 0) + sql_arr.push("SELECT 0, " + safe.quoted_sql("Uit catalogus") + " FROM DUAL"); + if (aantal_vrij > 0) + sql_arr.push("SELECT 1, " + safe.quoted_sql("Vrij aanmaken") + " FROM DUAL"); if (aantal_bestel > 0) sql_arr.push("SELECT 2, " + safe.quoted_sql(L("lcl_bes_orderlist")) + " FROM DUAL"); if (aantal_actueel > 0) diff --git a/APPL/BES/bes_voorraad_search_list.asp b/APPL/BES/bes_voorraad_search_list.asp index 71b800d1f7..8bea74d3c4 100644 --- a/APPL/BES/bes_voorraad_search_list.asp +++ b/APPL/BES/bes_voorraad_search_list.asp @@ -70,6 +70,7 @@ else { urole : urole, outputmode: outputmode, showall: showall, + catalogus_type: (disctype != -1? disctype : null), catalogus_key: (disc != -1? disc : null), besgroep_key: (besgroep_key != -1? besgroep_key : null), item_key: (item_key != -1? item_key : null), diff --git a/APPL/Shared/loadBESDisc.asp b/APPL/Shared/loadBESDisc.asp index 30feb4290c..18101f9ccd 100644 --- a/APPL/Shared/loadBESDisc.asp +++ b/APPL/Shared/loadBESDisc.asp @@ -38,7 +38,7 @@ var discsql = "SELECT bd.ins_discipline_key" + " WHERE dp.bes_ins_discipline_key_inkoop IS NOT NULL)" : "") + " AND bd.ins_discipline_key IN (" + discsql_aut + ")" - + (disctype > 0 + + (disctype >= 0 ? " AND bd.ins_discipline_key IN (SELECT bes_ins_discipline_key" + " FROM bes_disc_params" + " WHERE bes_disc_params_bestelmode = " + disctype + ")"