<%@language="javascript"%> <% /* $Revision$ $Id$ File: kpn_overview_list.asp Description: Show an overview of bestedingen in list-form, which meets with the given requirements Parameters: print behave in the print mode, to print the reservation list date_from date_to kostpl search for reservations for the selected kostenplaats kostgrp search for reservations for the selected kostentype kostsrt search for costs for the selected kostensoort kostsrtgrp search for costs for the selected kostensoortgroep Context: Search action from kpn_overview.asp form Note: TODO: de bestaande summary en column functies overzetten actions als inline? Toch maar niet: opendetail */ %> <% var outputmode = getQParamInt("outputmode", 0); var showall = getQParamInt("showall", 0) == 1; //Period from start-time until end-time var datefrom = getQParamDate("date_from"); var dateto = getQParamDate("date_to"); //reservering status: uitv_date en exp_date var uitv_date = getQParamInt("uitv_date", 0) == 1; var exp_date = getQParamInt("exp_date", 0) == 1; // kostenplaats, kostentype var kostpl_key = getQParamInt("kostpl", -1); var kostsrt_key = getQParamInt("kostsrt", -1); var kostgrp_key = getQParamInt("kostgrp", -1); var kostsrtgrp_key = getQParamInt("kostsrtgrp", -1); var groepering_key = getQParamInt("groupby", -1); // Groepering var ora_date1 = datefrom.beginToSQL(); var ora_date2 = dateto.endToSQL(); %>
<% FCLTHeader.Generate({outputmode: outputmode}); %>
<% // Check if person is authorized for all accounts (inzage) sql = " SELECT pk.prs_perslidkostenplaats_key" + " FROM prs_perslidkostenplaats pk" + " WHERE pk.prs_perslid_key = " + user_key + " AND pk.prs_perslidkostenplaats_inzage = 1" + " AND pk.prs_kostenplaats_key IS NULL"; oRs = Oracle.Execute(sql); if (!oRs.eof) auth_all = (1 == 1); else auth_all = (1 == 0); var sql_kostgrp = ""; var sql_kostsrt = ""; var sql_kostsrtgrp = ""; if (kostgrp_key != -1) sql_kostgrp = " AND kpg.prs_kostenplaatsgrp_key = " + kostgrp_key; if (kostsrt_key != -1) sql_kostsrt = " AND ks.prs_kostensoort_key = " + kostsrt_key; if (kostsrtgrp_key != -1) sql_kostsrtgrp = " AND ksg.prs_kostensoortgrp_key = " + kostsrtgrp_key; var sql_kpn = ""; if (kostpl_key != -1) { sql_kpn = " AND k.prs_kostenplaats_key = " + kostpl_key ; } else { if (!auth_all) { sql_kpn = " SELECT pk.prs_kostenplaats_key" + " FROM prs_perslidkostenplaats pk" + " WHERE pk.prs_perslid_key = " + user_key + " AND pk.prs_perslidkostenplaats_inzage = 1" // De kostenplaatsen waar ik budgedhouder of kostenplaatsgroep budgethouder van ben mag ik ook zien. + " UNION ALL " + " SELECT kp.prs_kostenplaats_key" + " FROM prs_v_aanwezigkostenplaats kp" + " WHERE kp.prs_perslid_key = " + user_key + " UNION ALL " + " SELECT kp.prs_kostenplaats_key" + " FROM prs_v_aanwezigkostenplaats kp" + " , prs_kostenplaatsgrp kpg" + " WHERE kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key" + " AND kpg.prs_perslid_key = " + user_key; oRs = Oracle.Execute (sql_kpn); kpn_keys = ""; // List of my kpn keys if (S("prs_dep_default_kpn") > 0) // dat is strikt genomen S("prs_dep_default_kpn") & 5) > 0 kpn_keys = user.prs_kostenplaats_key()||-1; // Die mag je dan in ieder geval while (!oRs.eof) { kpn_keys += (kpn_keys == ""? "" : ",") + oRs("prs_kostenplaats_key").Value; oRs.MoveNext(); } sql_kpn = " AND k.prs_kostenplaats_key IN (" + (kpn_keys == ""? "-1" : kpn_keys) + ")"; } } // Kosten van kostenplaatsen voor res_rsv_ruimte // JGL: Beetje lelijk om de key apart op te halen maar anders gebruikt Oracle de index niet var resver_key = Oracle.Execute("SELECT fac_srtnotificatie_key FROM fac_srtnotificatie WHERE fac_srtnotificatie_code = 'RESVER'")(0).Value; var sql_res_rsv_ruimte = "SELECT rr.prs_kostenplaats_key" + ", rr.res_rsv_ruimte_van datum" + ", res_rsv_ruimte_contact_key prs_perslid_key" + ", 'Reservering' categorie" + ", to_char(rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr categorienummer" + ", res_rsv_ruimte_prijs bedrag" + ", rr.res_status_BO_key status" + ", 'RES' module" + ", dis.prs_kostensoort_key" + ", rr.res_rsv_ruimte_ordernr ordernr" + ", rr.res_reservering_key kostenplaats_item_key" + ", rr.res_rsv_ruimte_key kostenplaats_item_child_key" + ", (SELECT MAX (g.alg_locatie_key)" // MAX ter voorkoming van duplicates bij koppelzalen e.d + " FROM alg_ruimte r, alg_verdieping v, alg_gebouw g, res_alg_ruimte ar" + " WHERE ar.res_alg_ruimte_verwijder IS NULL" + " AND ar.alg_ruimte_key = r.alg_ruimte_key" + " AND r.alg_verdieping_key = v.alg_verdieping_key" + " AND v.alg_gebouw_key = g.alg_gebouw_key" + " AND ar.res_ruimte_key = ro.res_ruimte_key) locatie_key" + " FROM res_v_aanwezigrsv_ruimte rr" + ", res_ruimte_opstelling ro" + ", res_ruimte ru" + ", res_discipline dis" + (uitv_date && !exp_date?"":", fac_tracking ft") + " WHERE ru.res_ruimte_prijs <> 0" + " AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key" + " AND ro.res_ruimte_key = ru.res_ruimte_key" + " AND ru.res_discipline_key = dis.ins_discipline_key" + (uitv_date && !exp_date ? " AND rr.res_rsv_ruimte_van BETWEEN " + ora_date1 + " AND " + ora_date2 : // Te traag: fac.gettrackingdate ('RESVER', rr.res_rsv_ruimte_key) BETWEEN " + ora_date1 + " AND " + ora_date2); " AND ft.fac_srtnotificatie_key = " + resver_key + " AND ft.fac_tracking_refkey = rr.res_rsv_ruimte_key" + " AND fac_tracking_datum BETWEEN " + ora_date1 + " AND " + ora_date2); // Kosten van kostenplaatsen voor res_rsv_artikel var sql_res_rsv_artikel = "SELECT rr.prs_kostenplaats_key" + ", ra.res_rsv_artikel_levering datum" + ", res_rsv_ruimte_contact_key prs_perslid_key" + ", 'Reservering' categorie" + ", to_char(rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr categorienummer" + ", res_rsv_artikel_prijs bedrag" + ", ra.res_status_BO_key status" + ", 'RES' module" + ", dis.prs_kostensoort_key" + ", rr.res_rsv_ruimte_ordernr ordernr" + ", rr.res_reservering_key kostenplaats_item_key" + ", rr.res_rsv_ruimte_key kostenplaats_item_child_key" + ", COALESCE ((SELECT g.alg_locatie_key" + " FROM alg_ruimte r, alg_verdieping v, alg_gebouw g" + " WHERE rr.alg_ruimte_key = r.alg_ruimte_key" + " AND r.alg_verdieping_key = v.alg_verdieping_key" + " AND v.alg_gebouw_key = g.alg_gebouw_key)," + " (SELECT MAX (g.alg_locatie_key)" + " FROM alg_ruimte r," + " alg_verdieping v," + " alg_gebouw g," + " res_alg_ruimte ar," + " res_ruimte_opstelling ro" + " WHERE ar.res_alg_ruimte_verwijder IS NULL" + " AND ar.alg_ruimte_key = r.alg_ruimte_key" + " AND r.alg_verdieping_key = v.alg_verdieping_key" + " AND v.alg_gebouw_key = g.alg_gebouw_key" + " AND ar.res_ruimte_key = ro.res_ruimte_key" + " AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key)) locatie_key" + " FROM res_v_aanwezigrsv_ruimte rr" + ", res_v_aanwezigrsv_artikel ra" + ", res_artikel a" + ", res_discipline dis" + " WHERE COALESCE(ra.res_rsv_artikel_prijs, a.res_artikel_prijs) <> 0 " + " AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key" + " AND ra.res_artikel_key = a.res_artikel_key" + " AND a.res_discipline_key = dis.ins_discipline_key" + (uitv_date && !exp_date ? " AND ra.res_rsv_artikel_levering BETWEEN " + ora_date1 + " AND " + ora_date2 : " AND ra.res_rsv_artikel_verwerkt BETWEEN " + ora_date1 + " AND " + ora_date2); // Kosten van kostenplaatsen voor res_rsv_deel var sql_res_rsv_deel = "SELECT rr.prs_kostenplaats_key" + ", rd.res_rsv_deel_van datum" + ", res_rsv_ruimte_contact_key prs_perslid_key" + ", 'Reservering' categorie" + ", to_char(rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr categorienummer" + ", res_rsv_deel_prijs bedrag" + ", rd.res_status_BO_key status" + ", 'RES' module" + ", dis.prs_kostensoort_key" + ", rr.res_rsv_ruimte_ordernr ordernr" + ", rr.res_reservering_key kostenplaats_item_key" + ", rr.res_rsv_ruimte_key kostenplaats_item_child_key" + ", COALESCE ((SELECT g.alg_locatie_key" + " FROM alg_ruimte r, alg_verdieping v, alg_gebouw g" + " WHERE rr.alg_ruimte_key = r.alg_ruimte_key" + " AND r.alg_verdieping_key = v.alg_verdieping_key" + " AND v.alg_gebouw_key = g.alg_gebouw_key)," + " (SELECT MAX (g.alg_locatie_key)" + " FROM alg_ruimte r," + " alg_verdieping v," + " alg_gebouw g," + " res_alg_ruimte ar," + " res_ruimte_opstelling ro" + " WHERE ar.res_alg_ruimte_verwijder IS NULL" + " AND ar.alg_ruimte_key = r.alg_ruimte_key" + " AND r.alg_verdieping_key = v.alg_verdieping_key" + " AND v.alg_gebouw_key = g.alg_gebouw_key" + " AND ar.res_ruimte_key = ro.res_ruimte_key" + " AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key)) locatie_key" + " FROM res_v_aanwezigrsv_ruimte rr" + ", res_v_aanwezigrsv_deel rd" + ", res_deel d" + ", res_discipline dis" + " WHERE d.res_deel_prijs <> 0 " + " AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key" + " AND rd.res_deel_key = d.res_deel_key" + " AND d.res_discipline_key = dis.ins_discipline_key" + (uitv_date && !exp_date ? " AND rd.res_rsv_deel_van BETWEEN " + ora_date1 + " AND " + ora_date2 : " AND rd.res_rsv_deel_verwerkt BETWEEN " + ora_date1 + " AND " + ora_date2); // Kosten van kostenplaatsen voor mld_opdr // PF: ik weet en tolereer dat de kostensoortgroep fout kan zijn als de stdmelding een kostensoort heeft // zonder groep, en de discipline een kostensoort MET groep. Die laatste wordt dan gebruikt, terwijl je // ook de lege beter zou kunnen vinden. Gaat nooit iemand merken ;-|. var ordver_key = Oracle.Execute("SELECT fac_srtnotificatie_key FROM fac_srtnotificatie WHERE fac_srtnotificatie_code = 'ORDVER'")(0).Value; var sql_mld_opdr = "SELECT o.prs_kostenplaats_key" + ", o.mld_opdr_datumbegin datum" + ", m.prs_perslid_key prs_perslid_key" + "," + lcl.xsql('mdis.ins_discipline_omschrijving','mdis.ins_discipline_key') + " categorie" + ", sd.ins_srtdiscipline_prefix ||" + " m.mld_melding_key ||" + " '/' || o.mld_opdr_bedrijfopdr_volgnr categorienummer" + ", COALESCE(o.mld_opdr_kosten, 0) bedrag" + ", o.mld_statusopdr_key status" + ", 'MLD' module" + ",COALESCE(o.prs_kostensoort_key, s.prs_kostensoort_key, mdis.prs_kostensoort_key) prs_kostensoort_key" + ", o.mld_opdr_ordernr ordernr" + ", o.mld_opdr_key kostenplaats_item_key" + ", o.mld_opdr_key kostenplaats_item_child_key" + ", m.mld_alg_locatie_key locatie_key" + " FROM mld_opdr o" + ", mld_typeopdr ot" + ", mld_melding m" + ", mld_stdmelding s" + ", mld_discipline mdis" + ", ins_srtdiscipline sd" + (uitv_date && !exp_date?"":", fac_tracking ft") + " WHERE o.mld_opdr_kosten <> 0" + " AND o.mld_typeopdr_key = ot.mld_typeopdr_key" + " AND ot.mld_typeopdr_kosten = 1" + " AND o.mld_melding_key = m.mld_melding_key" + " AND m.mld_stdmelding_key = s.mld_stdmelding_key" + " AND mdis.ins_discipline_key = s.mld_ins_discipline_key" + " AND mdis.ins_srtdiscipline_key = sd.ins_srtdiscipline_key" // Afgewezen(1), Afgekeurd(2), Ter fiattering(3), Gefiatteerd(4) en Ter goedkeuring(10) doen niet mee in de bepaling van geraamde en definitieve kosten. + " AND o.mld_statusopdr_key NOT IN (1, 2, 3, 4, 10)" + (uitv_date && !exp_date ? " AND o.mld_opdr_datumbegin BETWEEN " + ora_date1 + " AND " + ora_date2 : // te traag fac.gettrackingdate ('ORDVER', o.mld_opdr_key) BETWEEN " + ora_date1 + " AND " + ora_date2); " AND ft.fac_srtnotificatie_key = " + ordver_key + " AND ft.fac_tracking_refkey = o.mld_opdr_key" + " AND fac_tracking_datum BETWEEN " + ora_date1 + " AND " + ora_date2); // Kosten van kostenplaatsen voor bes_bestelling var sql_bes_bestelling = "SELECT b.prs_kostenplaats_key" + ", bo.bes_bestelopdr_datum datum" + ", b.prs_perslid_key prs_perslid_key" + ", 'Bestelling' categorie" + ", bes_bestelopdr_id categorienummer" + ", (boi.bes_bestelopdr_item_aantal * boi.bes_bestelopdr_item_prijs) bedrag" + ", COALESCE(bo.bes_bestelopdr_status, 0) status" + ", 'BES' module" + ", bdis.prs_kostensoort_key" + ", b.bes_bestelling_ordernr ordernr" + ", b.bes_bestelling_key kostenplaats_item_key" + ", bo.bes_bestelopdr_key kostenplaats_item_child_key" + ", (SELECT alg_locatie_key FROM mld_adres ma " + " WHERE ma.mld_adres_key = b.mld_adres_key_lev) locatie_key" + " FROM bes_bestelling b" + ", bes_bestelling_item bi" + ", bes_bestelopdr bo" + ", bes_bestelopdr_item boi" + ", bes_srtdeel isd" + ", bes_srtgroep isg" + ", bes_discipline bdis" + " WHERE b.bes_bestelling_key = bi.bes_bestelling_key" + " AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key" + " AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key" + " AND bi.bes_srtdeel_key = isd.bes_srtdeel_key" + " AND isd.bes_srtgroep_key = isg.bes_srtgroep_key" + " AND isg.ins_discipline_key = bdis.ins_discipline_key" // Alleen bestellingopdrachten in de behandelings fase (In bestelling (Bevestigd)(4)) en in de gereed fase (Geleverd(6) en Verwerkt(7)). // Afgewezen(1), In behandeling(3), Ter bevestiging(5) en Geannuleerd(8) doen niet mee in de bepaling van geraamde en definitieve kosten. + " AND bo.bes_bestelopdr_status IN (4, 6, 7)" + (uitv_date && !exp_date ? " AND bo.bes_bestelopdr_datum BETWEEN " + ora_date1 + " AND " + ora_date2 : " AND boi.bes_bestelopdr_item_verwerkt BETWEEN " + ora_date1 + " AND " + ora_date2); // Kosten van kostenplaatsen voor cnt_contract moet niet worden meegenomen! // Totaal samengevoegde query if (groepering_key > 0) { var sql = "SELECT prs_kostenplaats_key" + " , kostenplaats" + " , SUM(bedrag) bedrag" + " , SUM(geraamd) geraamd" + " , prs_kostenplaats_limiet" + " , prs_kostenplaatsgrp_key" + " , kpgroep" + " , limietperiode" + " FROM (SELECT k.prs_kostenplaats_key" + " , " + S("prs_kpn_string") + " kostenplaats" // Alleen de kostenplaatsen met geraamde en definitieve kosten zijn opgeleverd. // BES: Geraamd: Ter bevestiging(2) (verzonden) // Definitief: Geleverd(6) en Verwerkt(7) // MLD: Geraamd: Uitgegeven(5), Technisch voltooid(6) en Geaccepteerd(8) // Definitief: Verwerkt(7) en Kosten voltooid(9) // RES: Geraamd: Geregistreerd(2) // Definitief: Afgemeld(5) en Verwerkt(6) + " , CASE" + " WHEN (module = 'BES' AND (status = 6 OR status = 7)) OR" + " (module = 'MLD' AND (status = 7 OR status = 9)) OR" + " (module = 'RES' AND (status = 5 OR status = 6))" + " THEN COALESCE(bedrag, 0)" + " ELSE 0" + " END bedrag" + " , CASE" + " WHEN (module = 'BES' AND (status = 6 OR status = 7)) OR" + " (module = 'MLD' AND (status = 7 OR status = 9)) OR" + " (module = 'RES' AND (status = 5 OR status = 6))" + " THEN 0" + " ELSE COALESCE(bedrag, 0)" + " END geraamd" + " , k.prs_kostenplaats_limiet" + " , k.prs_kostenplaatsgrp_key" + " , " + lcl.xsql('kpg.prs_kostenplaatsgrp_oms', 'kpg.prs_kostenplaatsgrp_key') + " kpgroep" + " , status" + " , module" + " , COALESCE(kpg.prs_kostenplaatsgrp_limperiode, k.prs_kostenplaats_limietperiode) limietperiode"; var groupby = " GROUP BY prs_kostenplaats_key" + " , kostenplaats" + " , prs_kostenplaats_limiet" + " , prs_kostenplaatsgrp_key" + " , kpgroep" + " , limietperiode" + " ORDER BY kostenplaats, kpgroep"; } else { var sql = "SELECT tab.prs_kostenplaats_key" + ", " + S("prs_kpn_string") + " kostenplaats" + ", datum" + ", " + S("prs_pers_string") + " aanvrager" + ", " + S("prs_dep_string") + " organisatie" + ", categorie" + ", categorienummer" + ", SUM(bedrag) bedrag" + ", status" + ", module" + ", k.prs_kostenplaatsgrp_key" + ", ks.prs_kostensoort_oms || '-' || " + lcl.xsql('ks.prs_kostensoort_opmerking', 'ks.prs_kostensoort_key') + " ksoort" + ", ordernr" + ", kostenplaats_item_key" + ", kostenplaats_item_child_key" + ", "+lcl.xsql('ksg.prs_kostensoortgrp_oms', 'ksg.prs_kostensoortgrp_key') + " ksgroep" + ", alg_locatie_code" + ", k.prs_kostenplaats_limiet" + ", COALESCE(kpg.prs_kostenplaatsgrp_limperiode, k.prs_kostenplaats_limietperiode) limietperiode"; // Kostenplaatsgroep limiet is leidend. var groupby = " GROUP BY tab.prs_kostenplaats_key" + ", " + S("prs_kpn_string") + ", datum" + ", " + S("prs_pers_string") + ", " + S("prs_dep_string") + ", categorie" + ", categorienummer" + ", status" + ", module" + ", k.prs_kostenplaatsgrp_key" + ", ks.prs_kostensoort_oms || '-' || " + lcl.xsql('ks.prs_kostensoort_opmerking', 'ks.prs_kostensoort_key') + ", ordernr" + ", kostenplaats_item_key" + ", kostenplaats_item_child_key" + ", " + lcl.xsql('ksg.prs_kostensoortgrp_oms', 'ksg.prs_kostensoortgrp_key') + ", alg_locatie_code" + ", k.prs_kostenplaats_limiet" + ", kpg.prs_kostenplaatsgrp_limperiode" + ", k.prs_kostenplaats_limietperiode" + " ORDER BY 2, 3, 5, 6, 7, 8, 11"; } // Kostenplaatsen waar nog geen kosten op zijn geboekt dienen ook meegenomen te worden in het overzicht. Er mag dus gelden dat bedrag 0 is. sql += " FROM (" + sql_res_rsv_ruimte + " UNION ALL " + sql_res_rsv_artikel + " UNION ALL " + sql_res_rsv_deel + " UNION ALL " + sql_mld_opdr + " UNION ALL " + sql_bes_bestelling // contracten niet meenemen //+ " UNION ALL " //+ sql_cnt_contract + ") tab" + ", prs_kostenplaats k" + ", prs_kostenplaatsgrp kpg" + ", prs_kostensoort ks" + ", prs_kostensoortgrp ksg" + ", prs_perslid p" + ", prs_v_afdeling d" + ", alg_locatie l" + " WHERE tab.prs_kostenplaats_key(+) = k.prs_kostenplaats_key" + " AND tab.prs_kostensoort_key = ks.prs_kostensoort_key(+)" + " AND k.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)" + " AND ks.prs_kostensoortgrp_key = ksg.prs_kostensoortgrp_key(+)" + " AND tab.prs_perslid_key = p.prs_perslid_key(+)" + " AND p.prs_afdeling_key = d.prs_afdeling_key(+)" + " AND tab.locatie_key = l.alg_locatie_key(+)" + sql_kpn + sql_kostgrp + sql_kostsrt + sql_kostsrtgrp + (groepering_key > 0 ? ")" : "") + groupby; function fnrowData(oRs) { var kpnModule = oRs("module").Value; var kpnCategorienummer = oRs("categorienummer").Value; var kpnChildKey = oRs("kostenplaats_item_child_key").Value; var data = {kpnModule: kpnModule, kpnCategorienummer: kpnCategorienummer, kpnChildKey: kpnChildKey}; return JSON.stringify(data); } // Eén van de kolommen kosten of geraamde kosten is ingevuld function fncolCost(oRs) { var status = oRs("status").Value; var module = oRs("module").Value; if (module == "BES" && (status == 6 || status == 7)) // 6 {Geleverd (TV)}, 7 {Verwerkt (AV)} return safe.curr(oRs("bedrag").Value); else if (module == "MLD" && (status == 7 || status == 9)) // 7 {Verwerkt}, 9 {Afgerond} return safe.curr(oRs("bedrag").Value); else if (module == "RES" && (status == 5 || status == 6)) // 5 {Uitgevoerd}, 6 {Verwerkt} return safe.curr(oRs("bedrag").Value); return ""; } function fncolCostEstimate(oRs) { if (fncolCost(oRs) == "") return safe.curr(oRs("bedrag").Value); else return ""; } function fncolLimietPeriode(oRs) { var limietperiode = ""; switch (oRs("limietperiode").Value) { case 1: limietperiode = L("lcl_prs_per_month"); break; case 2: limietperiode = L("lcl_prs_annual"); break; } return limietperiode } function fncolTotal(oRs) { return safe.curr(oRs("bedrag").Value + oRs("geraamd").Value); } function fncolRemaining(oRs) { return safe.curr(oRs("prs_kostenplaats_limiet").Value - oRs("bedrag").Value - oRs("geraamd").Value); } var rst = new ResultsetTable({keyColumn: (groepering_key < 0? "kostenplaats_item_key" : "prs_kostenplaats_key"), ID: "kpntable", sql: sql, rowData: groepering_key < 0? fnrowData : null, outputmode: outputmode, title: L("lcl_prs_kosten_inzage"), showAll: showall }); rst.addColumn(new Column({caption: L("lcl_prs_kosten"), content: "kostenplaats"})); if (groepering_key < 0) { if (S("show_ordernr") != 0) rst.addColumn(new Column({caption: L("lcl_mld_inf_Ordernr"), content: "ordernr"})); rst.addColumn(new Column({caption: L("lcl_date"), content: "datum", datatype: "date"})); rst.addColumn(new Column({caption: L("lcl_requestor"), content: "aanvrager"})); rst.addColumn(new Column({caption: L("lcl_prs_organisatie"), content: "organisatie"})); rst.addColumn(new Column({caption: L("lcl_location"), content: "alg_locatie_code"})); rst.addColumn(new Column({caption: L("lcl_prs_category"), content: "categorie"})); rst.addColumn(new Column({caption: L("lcl_prs_categorynumber"), content: "categorienummer"})); rst.addColumn(new Column({caption: L("lcl_charge_type"), content: "ksoort"})); if (kostsrtgrp_key == -1) rst.addColumn(new Column({caption: L("lcl_charge_type_group"), content: "ksgroep"})); rst.addColumn(new Column({caption: L("lcl_prs_cost"), content: fncolCost, datatype: "currency"})); rst.addColumn(new Column({caption: L("lcl_prs_cost_estimate"), content: fncolCostEstimate, datatype: "currency"})); } else { rst.addColumn(new Column({caption: L("lcl_prs_kostenpl_group"), content: "kpgroep"})); rst.addColumn(new Column({caption: L("lcl_prs_cost"), content: "bedrag", datatype: "currency"})); rst.addColumn(new Column({caption: L("lcl_prs_cost_estimate"), content: "geraamd", datatype: "currency"})); rst.addColumn(new Column({caption: L("lcl_total_cost"), content: fncolTotal, datatype: "currency"})); if (datefrom.getFullYear() == dateto.getFullYear() && datefrom.getMonth() == dateto.getMonth()) rst.addColumn(new Column({caption: L("lcl_prs_budget_remaining"), content: fncolRemaining, datatype: "currency"})); } rst.addColumn(new Column({caption: L("lcl_prs_budget"), content: "prs_kostenplaats_limiet", datatype: "currency"})); rst.addColumn(new Column({caption: L("lcl_prs_budgetperiode"), content: fncolLimietPeriode, combine: true})); if (groepering_key > 0) { rst.addAction({ action: "prs_kostenoverzicht", caption: L("lcl_prs_kostenoverzicht"), isDefault: true }); rst.addAction({ action: "prs_edit", caption: L("lcl_edit") }); } else rst.addAction({ action: "prs_categoriedetails", caption: L("lcl_edit"), isDefault: true }); var cnt = rst.processResultset(); %>
<% ASPPAGE_END(); %>