FSN#39055 BCS/2000 functionaliteit in FACILITOR - customization
svn path=/Website/trunk/; revision=34829
This commit is contained in:
@@ -41,8 +41,7 @@ function model_bgt_budget()
|
||||
"typ": "key",
|
||||
"required": true,
|
||||
"insertonly": true,
|
||||
"foreign": bgt_budgetdiscipline_foreign(),
|
||||
"emptyoption": null
|
||||
"foreign": bgt_budgetdiscipline_foreign()
|
||||
},
|
||||
"budgetproject": {
|
||||
"dbs": "bgt_project_key",
|
||||
@@ -50,8 +49,7 @@ function model_bgt_budget()
|
||||
"typ": "key",
|
||||
"required": true,
|
||||
"insertonly": true,
|
||||
"foreign": bgt_budgetproject_foreign(),
|
||||
"emptyoption": null
|
||||
"foreign": bgt_budgetproject_foreign()
|
||||
},
|
||||
"budgetcostcategory": {
|
||||
"dbs": "bgt_kostenrubriek_key",
|
||||
@@ -172,7 +170,7 @@ function model_bgt_budget()
|
||||
}
|
||||
%>
|
||||
<script>
|
||||
var cur_mode = "<%=mode%>"; // = "edit"
|
||||
var cur_mode = "budget_edit"; // Laat alleen de kostensoorten zien waaraan nog geen budget gekoppeld is.
|
||||
<% if (obj.budgetdiscipline) { %> var budgetdiscipline = "<%=obj.budgetdiscipline.id%>"; <% } %>
|
||||
<% if (obj.budgetproject) { %> var budgetproject = "<%=obj.budgetproject.id%>"; <% } %>
|
||||
</script>
|
||||
|
||||
@@ -48,41 +48,39 @@ function model_fin_factuur()
|
||||
"typ": "key",
|
||||
"foreign": bgt_budgetproject_foreign()
|
||||
},
|
||||
"budgetcostcategory": {
|
||||
"dbs": "bgt_kostenrubriek.bgt_kostenrubriek_key",
|
||||
"label": L("bgt_kostenrubriek_oms"),
|
||||
"company": {
|
||||
"dbs": "mld_opdr.mld_uitvoerende_keys",
|
||||
"label": L("lcl_ord_company"),
|
||||
"typ": "key",
|
||||
"foreign": bgt_budgetcostcategory_foreign()
|
||||
},
|
||||
"costtypegroup": {
|
||||
"dbs": "prs_kostensoortgrp.prs_kostensoortgrp_key",
|
||||
"label": L("prs_kostensoortgrp_key"),
|
||||
"typ": "key",
|
||||
"foreign": bgt_costtypegroup_foreign()
|
||||
},
|
||||
"costtype": {
|
||||
"dbs": "prs_kostensoort_key",
|
||||
"label": L("prs_kostensoort_key"),
|
||||
"typ": "key",
|
||||
"foreign": bgt_costtype_foreign(),
|
||||
"hidden_fld": true
|
||||
"foreign": bgt_company_foreign()
|
||||
},
|
||||
"order": {
|
||||
"dbs": "mld_opdr_key",
|
||||
"label": L("lcl_fin_mld_opdr"),
|
||||
"typ": "key",
|
||||
"required": true,
|
||||
"foreign": {
|
||||
"tbl": "mld_opdr",
|
||||
"key": "mld_opdr_key",
|
||||
"desc": "mld_opdr_omschrijving"
|
||||
},
|
||||
"foreign": bgt_order_foreign(),
|
||||
"clone": false
|
||||
},
|
||||
"additional": {
|
||||
"dbs": "mld_opdr.mld_opdr_meerwerk",
|
||||
"label": L("lcl_mld_opdr_meerwerk"),
|
||||
"typ": "check0",
|
||||
"defaultvalue": 0,
|
||||
"filter": "exact"
|
||||
},
|
||||
"ordernr_sort": {
|
||||
"dbs": "mld_opdr_ordernr_int",
|
||||
"label": L("bgt_opdr_ordernr"),
|
||||
"sql": "fac.safe_to_number(mld_opdr.mld_opdr_ordernr)",
|
||||
"typ": "number",
|
||||
"readonly": true
|
||||
},
|
||||
"ordernr": {
|
||||
"dbs": "mld_opdr.mld_opdr_ordernr",
|
||||
"label": L("bgt_opdr_ordernr"),
|
||||
"typ": "varchar"
|
||||
"typ": "varchar",
|
||||
"hidden_fld": true
|
||||
},
|
||||
"invoice": {
|
||||
"dbs": "fin_factuur_nr",
|
||||
@@ -163,6 +161,8 @@ function model_fin_factuur()
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
this.hook_pre_edit = function(obj, fld)
|
||||
{
|
||||
// Bij klonen: id=-1, invoice=niet leeg. Dan een (volgende) volgnummer erachter zetten.
|
||||
@@ -175,6 +175,17 @@ function model_fin_factuur()
|
||||
var new_inv = cur_inv + "/" + (cur_seq + 1);
|
||||
obj.invoice = new_inv;
|
||||
}
|
||||
else
|
||||
{
|
||||
%>
|
||||
<script>
|
||||
var cur_mode = "<%=mode%>"; // = "edit"
|
||||
<% if (obj.budgetdiscipline) { %> var budgetdiscipline = "<%=obj.budgetdiscipline.id%>"; <% } %>
|
||||
<% if (obj.budgetproject) { %> var budgetproject = "<%=obj.budgetproject.id%>"; <% } %>
|
||||
<% if (obj.company) { %> var company = "<%=obj.company.id%>"; <% } %>
|
||||
</script>
|
||||
<%
|
||||
}
|
||||
// De opdracht moet wel gewijzigd kunnen worden bij het klonen.
|
||||
if (!obj.id)
|
||||
fld.order.readonly = false;
|
||||
|
||||
@@ -40,67 +40,71 @@ function model_mld_opdr()
|
||||
"label": L("bgt_discipline_omschrijving"),
|
||||
"typ": "key",
|
||||
"required": true,
|
||||
"foreign": bgt_budgetdiscipline_foreign(),
|
||||
"emptyoption": null
|
||||
"foreign": bgt_budgetdiscipline_foreign()
|
||||
},
|
||||
"budgetproject": {
|
||||
"dbs": "bgt_project.bgt_project_key",
|
||||
"label": L("bgt_project_omschrijving"),
|
||||
"typ": "key",
|
||||
"required": true,
|
||||
"foreign": bgt_budgetproject_foreign()
|
||||
},
|
||||
"budgetcostcategory": {
|
||||
"dbs": "bgt_kostenrubriek.bgt_kostenrubriek_key",
|
||||
"label": L("bgt_kostenrubriek_oms"),
|
||||
"typ": "key",
|
||||
"required": true,
|
||||
"foreign": bgt_budgetcostcategory_foreign()
|
||||
},
|
||||
"costtypegroup": {
|
||||
"dbs": "prs_kostensoortgrp.prs_kostensoortgrp_key",
|
||||
"label": L("prs_kostensoortgrp_key"),
|
||||
"typ": "key",
|
||||
"required": true,
|
||||
"foreign": bgt_costtypegroup_foreign()
|
||||
},
|
||||
"costtype": {
|
||||
"dbs": "prs_kostensoort_key",
|
||||
"label": L("prs_kostensoort_key"),
|
||||
"typ": "key",
|
||||
"required": true,
|
||||
"foreign": bgt_costtype_foreign()
|
||||
},
|
||||
"company": {
|
||||
"dbs": "mld_uitvoerende_keys",
|
||||
"label": L("lcl_ord_company"),
|
||||
"typ": "key",
|
||||
"foreign": {
|
||||
"tbl": "prs_bedrijf",
|
||||
"key": "prs_bedrijf_key",
|
||||
"desc": "prs_bedrijf_naam"
|
||||
}
|
||||
"foreign": bgt_company_foreign()
|
||||
},
|
||||
"reference": {
|
||||
"dbs": "mld_opdr_id",
|
||||
"label": L("lcl_opdr_id"),
|
||||
"typ": "varchar"
|
||||
},
|
||||
"ordernr_sort": {
|
||||
"dbs": "mld_opdr_ordernr_int",
|
||||
"label": L("bgt_opdr_ordernr"),
|
||||
"sql": "fac.safe_to_number(mld_opdr_ordernr)",
|
||||
"typ": "number",
|
||||
"readonly": true
|
||||
},
|
||||
"ordernr": {
|
||||
"dbs": "mld_opdr_ordernr",
|
||||
"label": L("bgt_opdr_ordernr"),
|
||||
"typ": "varchar"
|
||||
"typ": "varchar",
|
||||
"hidden_fld": true
|
||||
},
|
||||
"sequence": {
|
||||
"dbs": "mld_opdr_bedrijfopdr_volgnr",
|
||||
"label": L("lcl_ins_volgnr"),
|
||||
"typ": "number"
|
||||
"typ": "number",
|
||||
"defaultvalue": 0
|
||||
},
|
||||
"account": {
|
||||
"dbs": "prs_kostenplaats_key",
|
||||
"label": L("bgt_budget_account"),
|
||||
"typ": "key",
|
||||
"foreign": {
|
||||
"tbl": "prs_kostenplaats",
|
||||
"key": "prs_kostenplaats_key",
|
||||
"desc": "prs_kostenplaats_nr"
|
||||
}
|
||||
"foreign": bgt_account_foreign()
|
||||
},
|
||||
"description": {
|
||||
"dbs": "mld_opdr_omschrijving",
|
||||
@@ -174,18 +178,71 @@ function model_mld_opdr()
|
||||
"dbs": "mld_opdr_meerwerk",
|
||||
"label": L("lcl_mld_opdr_meerwerk"),
|
||||
"typ": "check0",
|
||||
"defaultvalue": "0",
|
||||
"defaultvalue": 0,
|
||||
"filter": "exact"
|
||||
}
|
||||
};
|
||||
|
||||
this.includes = {
|
||||
"invoices": {
|
||||
"model": new model_fin_factuur(),
|
||||
"joinfield": "order",
|
||||
"enable_update": true
|
||||
|
||||
if (mode == "show")
|
||||
{
|
||||
this.fields.ordernr_sort.hidden_fld = false;
|
||||
this.fields.ordernr_sort.readonly = true;
|
||||
}
|
||||
|
||||
this.hook_pre_edit = function (obj, fld)
|
||||
{
|
||||
if (obj.id > -1 || obj.ordernr_sort)
|
||||
{
|
||||
fld.ordernr.hidden_fld = false;
|
||||
fld.ordernr.readonly = true;
|
||||
}
|
||||
};
|
||||
|
||||
%>
|
||||
<script>
|
||||
<% if (obj.budgetdiscipline) { %> var budgetdiscipline = "<%=obj.budgetdiscipline.id%>"; <% } %>
|
||||
<% if (obj.budgetproject) { %> var budgetproject = "<%=obj.budgetproject.id%>"; <% } %>
|
||||
<% if (obj.budgetcostcategory) { %> var budgetcostcategory = "<%=obj.budgetcostcategory.id%>"; <% } %>
|
||||
<% if (obj.costtypegroup) { %> var costtypegroup = "<%=obj.costtypegroup.id%>"; <% } %>
|
||||
<% if (obj.costtype) { %> var costtype = "<%=obj.costtype.id%>"; <% } %>
|
||||
</script>
|
||||
<%
|
||||
}
|
||||
|
||||
this.hook_pre_post = function(params, obj)
|
||||
{
|
||||
var parent_key = getQParamInt("id", -1);
|
||||
|
||||
if (parent_key > -1) // Bij kopie van opdracht geen nieuw nummer genereren.
|
||||
{
|
||||
var sql = "SELECT o.mld_opdr_ordernr"
|
||||
+ " FROM mld_opdr o"
|
||||
+ " WHERE o.mld_opdr_key = " + parent_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
obj.ordernr = oRs("mld_opdr_ordernr").Value;
|
||||
oRs.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Genereer een uniek volgnummer binnen het project voor een nieuwe opdracht.
|
||||
var prj_key = (obj.budgetproject ? obj.budgetproject : project_key);
|
||||
var sql = "SELECT COALESCE(MAX(TO_NUMBER(o.mld_opdr_ordernr)), 0) + 1 new_ordernr"
|
||||
+ " FROM bgt_project p"
|
||||
+ " , bgt_kostenrubriek r"
|
||||
+ " , prs_kostensoortgrp g"
|
||||
+ " , prs_kostensoort s"
|
||||
+ " , mld_opdr o"
|
||||
+ " WHERE p.bgt_project_key = r.bgt_project_key"
|
||||
+ " AND r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
|
||||
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
|
||||
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key"
|
||||
+ " AND p.bgt_project_key = " + prj_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
obj.ordernr = oRs("new_ordernr").Value;
|
||||
oRs.Close();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var gparams = {
|
||||
GET: {
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
*/
|
||||
%>
|
||||
<!-- #include file="../bgt/bgt_tools.inc" -->
|
||||
<!-- #include file="../api2/model_prs_kostensoort.inc" -->
|
||||
<%
|
||||
|
||||
function model_prs_kostenplaats()
|
||||
@@ -137,7 +136,6 @@ function model_prs_kostenplaats()
|
||||
{
|
||||
%>
|
||||
<script>
|
||||
var cur_mode = "<%=mode%>"; // = "edit"
|
||||
<% if (obj.budgetdiscipline) { %> var budgetdiscipline = "<%=obj.budgetdiscipline.id%>"; <% } %>
|
||||
<% if (obj.budgetproject) { %> var budgetproject = "<%=obj.budgetproject.id%>"; <% } %>
|
||||
</script>
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
<!-- #include file="../scf/scaffolding.inc" -->
|
||||
<!-- #include file="../api2/model_bgt_budget.inc" -->
|
||||
<%
|
||||
var kostensoort_key = getQParamInt("costtype", -1);
|
||||
var this_model = new model_bgt_budget();
|
||||
|
||||
scaffolding(this_model,
|
||||
{
|
||||
var model_params = {
|
||||
"search": {
|
||||
"autosearch": true,
|
||||
"filters": [
|
||||
@@ -64,5 +64,34 @@ scaffolding(this_model,
|
||||
"no_default_frames": true,
|
||||
"frames": [ { url: "./bgt_budgetmutatie.asp?mode=list&budgetcommon={0}" } ]
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Het budget-scherm wordt aangeroepen vanuit het scherm kostensoort.
|
||||
// Als deze key bekend in kunnen alle parents worden ingevuld.
|
||||
if (kostensoort_key > 0)
|
||||
{
|
||||
var sql = "SELECT p.ins_discipline_key"
|
||||
+ " , p.bgt_project_key"
|
||||
+ " , r.bgt_kostenrubriek_key"
|
||||
+ " , g.prs_kostensoortgrp_key"
|
||||
+ " FROM bgt_project p"
|
||||
+ " , bgt_kostenrubriek r"
|
||||
+ " , prs_kostensoortgrp g"
|
||||
+ " , prs_kostensoort s"
|
||||
+ " WHERE p.bgt_project_key = r.bgt_project_key"
|
||||
+ " AND r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
|
||||
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
|
||||
+ " AND s.prs_kostensoort_key = " + kostensoort_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
|
||||
model_params.transit = {
|
||||
"budgetdiscipline": oRs("ins_discipline_key").Value,
|
||||
"budgetproject": oRs("bgt_project_key").Value,
|
||||
"budgetcostcategory": oRs("bgt_kostenrubriek_key").Value,
|
||||
"costtypegroup": oRs("prs_kostensoortgrp_key").Value
|
||||
// Geen "costtype" omdat er slecht 1 budget per costensoort mag bestaan.
|
||||
}
|
||||
}
|
||||
|
||||
scaffolding(this_model, model_params);
|
||||
%>
|
||||
@@ -67,7 +67,7 @@ function init_budget()
|
||||
$.getJSON( "../bgt/get_bgt_info_ajax.asp",
|
||||
{ req_info: "initsearch",
|
||||
niveau: init_niveau,
|
||||
parent_key: -1,
|
||||
parent_key: v_budgetproject,
|
||||
init_key: init_key
|
||||
},
|
||||
re_init_plaats);
|
||||
@@ -85,7 +85,8 @@ function re_init_soort(data)
|
||||
function re_init_plaats(data)
|
||||
{
|
||||
var init_key = ($("#account").val() != -1 ? $("#account").val() : -1);
|
||||
fill_plaatsselector("KP", data.parents.P, init_key);
|
||||
var project_key = $("#budgetproject").val() || data.parents.P;
|
||||
fill_plaatsselector("KP", project_key, init_key);
|
||||
}
|
||||
|
||||
function change_discipline()
|
||||
|
||||
@@ -16,7 +16,7 @@ function bgt_budgetdiscipline_foreign()
|
||||
{
|
||||
return {
|
||||
"tbl": "(SELECT d.ins_discipline_key"
|
||||
+ ", p.bgt_disc_params_code ||' '|| d.ins_discipline_omschrijving oms"
|
||||
+ ", p.bgt_disc_params_code ||' - '|| d.ins_discipline_omschrijving oms"
|
||||
+ " FROM ins_tab_discipline d"
|
||||
+ " , bgt_disc_params p"
|
||||
+ " WHERE d.ins_discipline_key = p.bgt_ins_discipline_key"
|
||||
@@ -31,7 +31,7 @@ function bgt_budgetproject_foreign()
|
||||
{
|
||||
return {
|
||||
"tbl": "(SELECT bgt_project_key"
|
||||
+ " , bgt_project_code ||' '|| bgt_project_omschrijving oms"
|
||||
+ " , bgt_project_code ||' - '|| bgt_project_omschrijving oms"
|
||||
+ " FROM bgt_project"
|
||||
+ " WHERE bgt_project_verwijder IS NULL)",
|
||||
"key": "bgt_project_key",
|
||||
@@ -90,7 +90,7 @@ function bgt_account_foreign()
|
||||
{
|
||||
return {
|
||||
"tbl": "(SELECT prs_kostenplaats_key"
|
||||
+ " , prs_kostenplaats_nr ||' '|| prs_kostenplaats_omschrijving oms"
|
||||
+ " , prs_kostenplaats_nr ||' - '|| prs_kostenplaats_omschrijving oms"
|
||||
+ " FROM prs_kostenplaats"
|
||||
+ " WHERE prs_kostenplaats_verwijder IS NULL)",
|
||||
"key": "prs_kostenplaats_key",
|
||||
@@ -101,7 +101,7 @@ function bgt_account_foreign()
|
||||
function bgt_account_foreign_tbl(project_key)
|
||||
{
|
||||
var tbl = "(SELECT kp.prs_kostenplaats_key"
|
||||
+ " , kp.prs_kostenplaats_nr ||' '|| kp.prs_kostenplaats_omschrijving oms"
|
||||
+ " , kp.prs_kostenplaats_nr ||' - '|| kp.prs_kostenplaats_omschrijving oms"
|
||||
+ " FROM prs_kostenplaats kp"
|
||||
+ " , prs_kostenplaatsgrp kg"
|
||||
+ " WHERE kp.prs_kostenplaatsgrp_key = kg.prs_kostenplaatsgrp_key"
|
||||
@@ -115,10 +115,42 @@ function bgt_accountgroup_foreign()
|
||||
{
|
||||
return {
|
||||
"tbl": "(SELECT prs_kostenplaatsgrp_key"
|
||||
+ " , prs_kostenplaatsgrp_nr ||' '|| prs_kostenplaatsgrp_oms oms"
|
||||
+ " , prs_kostenplaatsgrp_nr ||' - '|| prs_kostenplaatsgrp_oms oms"
|
||||
+ " FROM prs_kostenplaatsgrp)",
|
||||
"key": "prs_kostenplaatsgrp_key",
|
||||
"desc": "oms"
|
||||
};
|
||||
}
|
||||
|
||||
function bgt_company_foreign()
|
||||
{
|
||||
return {
|
||||
"tbl": "(SELECT prs_bedrijf_key"
|
||||
+ " , prs_leverancier_nr ||' - '|| prs_bedrijf_naam oms"
|
||||
+ " FROM prs_bedrijf)",
|
||||
"key": "prs_bedrijf_key",
|
||||
"desc": "oms"
|
||||
};
|
||||
}
|
||||
|
||||
function bgt_order_foreign()
|
||||
{
|
||||
return {
|
||||
"tbl": "(SELECT DISTINCT"
|
||||
+ " o.mld_opdr_key"
|
||||
+ " , o.mld_opdr_ordernr ||'/'|| mld_opdr_bedrijfopdr_volgnr ||' - '|| mld_opdr_omschrijving oms"
|
||||
+ " FROM bgt_project p"
|
||||
+ " , bgt_kostenrubriek r"
|
||||
+ " , prs_kostensoortgrp g"
|
||||
+ " , prs_kostensoort s"
|
||||
+ " , mld_opdr o"
|
||||
+ " WHERE p.bgt_project_key = r.bgt_project_key"
|
||||
+ " AND r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
|
||||
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
|
||||
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key)",
|
||||
"key": "mld_opdr_key",
|
||||
"desc": "oms"
|
||||
};
|
||||
}
|
||||
|
||||
%>
|
||||
@@ -16,7 +16,9 @@
|
||||
<!-- #include file="../api2/model_fin_factuur.inc" -->
|
||||
<%
|
||||
var p_mld_opdr_key = getQParamInt("opdrachtcommon", -1);
|
||||
var this_model = new model_fin_factuur();
|
||||
var project_key = getQParamInt("budgetproject", -1);
|
||||
|
||||
var this_model = new model_fin_factuur();
|
||||
scaffolding(this_model,
|
||||
{
|
||||
"search": {
|
||||
@@ -24,22 +26,30 @@ scaffolding(this_model,
|
||||
"filters": [
|
||||
"budgetdiscipline",
|
||||
"budgetproject",
|
||||
"budgetcostcategory",
|
||||
"costtypegroup",
|
||||
"costtype",
|
||||
"company",
|
||||
"order",
|
||||
"additional"
|
||||
],
|
||||
"transit": [
|
||||
"budgetdiscipline",
|
||||
"budgetproject",
|
||||
"company",
|
||||
"order"
|
||||
],
|
||||
"requires": {
|
||||
"js": ["../bgt/bgt_budget.js"]
|
||||
"js": ["../bgt/fin_factuur.js"]
|
||||
}
|
||||
},
|
||||
"list": {
|
||||
"columns": [
|
||||
"invoice",
|
||||
"month",
|
||||
"date",
|
||||
"ordernr",
|
||||
"budgetproject",
|
||||
"costtype",
|
||||
"company",
|
||||
"remark",
|
||||
"advice",
|
||||
"total",
|
||||
"totalvat"
|
||||
,
|
||||
@@ -47,13 +57,12 @@ scaffolding(this_model,
|
||||
],
|
||||
"orderby": [
|
||||
"invoice",
|
||||
"date",
|
||||
"costtype"
|
||||
"date"
|
||||
]
|
||||
},
|
||||
"edit": {
|
||||
"requires": {
|
||||
"js": ["../bgt/bgt_budget.js"]
|
||||
"js": ["../bgt/fin_factuur.js"]
|
||||
}
|
||||
},
|
||||
"transit": {
|
||||
|
||||
143
APPL/BGT/fin_factuur.js
Normal file
143
APPL/BGT/fin_factuur.js
Normal file
@@ -0,0 +1,143 @@
|
||||
$(document).ready(function () {
|
||||
setTimeout("init_factuur()", 100);
|
||||
});
|
||||
|
||||
function init_factuur()
|
||||
{
|
||||
$("#budgetdiscipline").change(function() {change_discipline(); });
|
||||
$("#budgetproject").change(function() {change_project(); });
|
||||
$("#company").change(function() {change_bedrijf(); });
|
||||
|
||||
// budgetdiscipline en budgetproject kunnen ook als gekozen filter worden meegegeven
|
||||
// en worden dan als readonly velden getoond.
|
||||
var v_budgetdiscipline = (typeof $("#budgetdiscipline").val() == "undefined" ? (typeof budgetdiscipline == "undefined" ? -1 : budgetdiscipline) : $("#budgetdiscipline").val() );
|
||||
var v_budgetproject = (typeof $("#budgetproject").val() == "undefined" ? (typeof budgetproject == "undefined" ? -1 : budgetproject) : $("#budgetproject").val() );
|
||||
var v_company = (typeof $("#company").val() == "undefined" ? (typeof company == "undefined" ? -1 : company) : $("#company").val() );
|
||||
var v_order = (typeof $("#order").val() == "undefined" ? (typeof order == "undefined" ? -1 : order) : $("#order").val() );
|
||||
|
||||
var init_niveau = "";
|
||||
var init_key = -1;
|
||||
if (v_budgetdiscipline != -1) { init_niveau = "D"; init_key = v_budgetdiscipline; }
|
||||
if (v_budgetproject != -1) { init_niveau = "P"; init_key = v_budgetproject; }
|
||||
if (v_company != -1) { init_niveau = "B"; init_key = v_company; }
|
||||
if (v_order != -1) { init_niveau = "O"; init_key = v_order; }
|
||||
|
||||
if (init_key > 0)
|
||||
{
|
||||
$.getJSON( "../bgt/get_bgt_info_ajax.asp",
|
||||
{ req_info: "initsearch",
|
||||
niveau: init_niveau,
|
||||
parent_key: -1,
|
||||
init_key: init_key
|
||||
},
|
||||
re_init_soort);
|
||||
}
|
||||
else
|
||||
{
|
||||
var data = { niveau: "D",
|
||||
parents: { D: -1,
|
||||
P: -1,
|
||||
R: -1,
|
||||
G: -1,
|
||||
S: -1,
|
||||
B: -1,
|
||||
O: -1
|
||||
}
|
||||
};
|
||||
re_init_soort(data);
|
||||
}
|
||||
}
|
||||
|
||||
function re_init_soort(data)
|
||||
{
|
||||
fill_rubriekselector("D", -1 , -1, data.parents.D);
|
||||
fill_rubriekselector("P", data.parents.D, -1, data.parents.P);
|
||||
fill_rubriekselector("B", data.parents.P, -1, data.parents.B);
|
||||
fill_rubriekselector("O", data.parents.P, data.parents.B, data.parents.O);
|
||||
}
|
||||
|
||||
function change_discipline()
|
||||
{
|
||||
var discipline_key = $("#budgetdiscipline").val();
|
||||
process_info({niveau:"B",lov:[]});
|
||||
process_info({niveau:"O",lov:[]});
|
||||
fill_rubriekselector("P", discipline_key);
|
||||
}
|
||||
|
||||
function change_project()
|
||||
{
|
||||
var project_key = $("#budgetproject").val();
|
||||
process_info({niveau:"O",lov:[]});
|
||||
fill_rubriekselector("B", project_key);
|
||||
}
|
||||
|
||||
function change_bedrijf()
|
||||
{
|
||||
var project_key = (typeof $("#budgetproject").val() == "undefined" ? (typeof budgetproject == "undefined" ? -1 : budgetproject) : $("#budgetproject").val() );
|
||||
var bedrijf_key = (typeof $("#company").val() == "undefined" ? (typeof company == "undefined" ? -1 : company) : $("#company").val() );
|
||||
fill_rubriekselector("O", project_key, bedrijf_key);
|
||||
}
|
||||
|
||||
function fill_rubriekselector(niveau, parent_key, child_key, init_key)
|
||||
{
|
||||
var sel_mode = (typeof cur_mode == "undefined" ? "list" : cur_mode);
|
||||
$.getJSON( "../bgt/get_bgt_info_ajax.asp",
|
||||
{ req_info: "projectsearch",
|
||||
niveau: niveau,
|
||||
parent_key: parent_key,
|
||||
child_key: child_key,
|
||||
init_key: init_key,
|
||||
sel_mode: sel_mode
|
||||
},
|
||||
process_info);
|
||||
}
|
||||
|
||||
function process_info(data)
|
||||
{
|
||||
var select;
|
||||
switch(data.niveau)
|
||||
{
|
||||
case "D": select = $("#budgetdiscipline"); break;
|
||||
case "P": select = $("#budgetproject"); break;
|
||||
case "R": select = $("#budgetcostcategory"); break;
|
||||
case "G": select = $("#costtypegroup"); break;
|
||||
case "S": select = $("#costtype"); break;
|
||||
case "B": select = $("#company"); break;
|
||||
case "O": select = $("#order"); break;
|
||||
case "KP": select = $("#account"); break;
|
||||
case "OP": select = $("#order"); break;
|
||||
}
|
||||
|
||||
var add_data = "";
|
||||
var sel_key = -1;
|
||||
var new_lov = '<option value="-1" ></option>';
|
||||
if (data.lov.length > 0)
|
||||
{
|
||||
for (i=0; i < data.lov.length;i++)
|
||||
{
|
||||
var opt = data.lov[i];
|
||||
if (data.niveau == "KP")
|
||||
{
|
||||
add_data = ' par_key="' + opt.atr.par_key + '"';
|
||||
}
|
||||
else
|
||||
{
|
||||
add_data = ' incl_btw="' + opt.atr.btw_inc + '"'
|
||||
+ ' perc_btw="' + opt.atr.btw_val + '"';
|
||||
}
|
||||
new_lov += '<option value="' + opt.key + '"' + (opt.sel?" selected":"") + add_data + '>'+ opt.oms + '</option>';
|
||||
if (opt.sel)
|
||||
sel_key = opt.key;
|
||||
}
|
||||
select.prop("disabled", false);
|
||||
}
|
||||
else
|
||||
{
|
||||
select.prop("disabled", true);
|
||||
}
|
||||
select.empty().append(new_lov);
|
||||
if (sel_key > -1)
|
||||
select.val(sel_key);
|
||||
|
||||
$("input#contingency").prop("disabled", true );
|
||||
}
|
||||
@@ -24,6 +24,7 @@ var JSON_Result = true;
|
||||
var req_info = getQParam("req_info");
|
||||
var niveau = getQParam("niveau");
|
||||
var parent_key = getQParamInt("parent_key");
|
||||
var child_key = getQParamInt("child_key", -1);
|
||||
var init_key = getQParamInt("init_key", -1);
|
||||
var sel_mode = getQParam("sel_mode", "");
|
||||
var sql = "";
|
||||
@@ -42,6 +43,8 @@ switch (req_info)
|
||||
+ " , -1 rubriek_key"
|
||||
+ " , -1 groep_key"
|
||||
+ " , -1 soort_key"
|
||||
+ " , -1 opdracht_key"
|
||||
+ " , -1 bedrijf_key"
|
||||
+ " FROM bgt_disc_params d"
|
||||
+ " , ins_tab_discipline t"
|
||||
+ " WHERE t.ins_discipline_key = d.bgt_ins_discipline_key"
|
||||
@@ -57,6 +60,8 @@ switch (req_info)
|
||||
+ " , -1 rubriek_key"
|
||||
+ " , -1 groep_key"
|
||||
+ " , -1 soort_key"
|
||||
+ " , -1 opdracht_key"
|
||||
+ " , -1 bedrijf_key"
|
||||
+ " FROM bgt_disc_params d"
|
||||
+ " , bgt_project p"
|
||||
+ " WHERE d.bgt_ins_discipline_key = p.ins_discipline_key"
|
||||
@@ -64,6 +69,56 @@ switch (req_info)
|
||||
+ (init_key != -1 ? " AND p.bgt_project_key = " + init_key : "");
|
||||
break;
|
||||
}
|
||||
case "O":
|
||||
{
|
||||
sql = "SELECT DISTINCT"
|
||||
+ " d.bgt_ins_discipline_key disc_key"
|
||||
+ " , p.bgt_project_key project_key"
|
||||
+ " , -1 rubriek_key"
|
||||
+ " , -1 groep_key"
|
||||
+ " , -1 soort_key"
|
||||
+ " , o.mld_opdr_key opdracht_key"
|
||||
+ " , -1 bedrijf_key"
|
||||
+ " FROM bgt_disc_params d"
|
||||
+ " , bgt_project p"
|
||||
+ " , bgt_kostenrubriek r"
|
||||
+ " , prs_kostensoortgrp g"
|
||||
+ " , prs_kostensoort s"
|
||||
+ " , mld_opdr o"
|
||||
+ " WHERE d.bgt_ins_discipline_key = p.ins_discipline_key"
|
||||
+ " AND p.bgt_project_key = r.bgt_project_key"
|
||||
+ " AND r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
|
||||
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
|
||||
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key"
|
||||
+ (init_key != -1 ? " AND o.mld_opdr_key = " + init_key : "");
|
||||
break;
|
||||
}
|
||||
case "B":
|
||||
{
|
||||
sql = "SELECT DISTINCT"
|
||||
+ " d.bgt_ins_discipline_key disc_key"
|
||||
+ " , p.bgt_project_key project_key"
|
||||
+ " , -1 rubriek_key"
|
||||
+ " , -1 groep_key"
|
||||
+ " , -1 soort_key"
|
||||
+ " , o.mld_opdr_key opdracht_key"
|
||||
+ " , b.prs_bedrijf_key bedrijf_key"
|
||||
+ " FROM bgt_disc_params d"
|
||||
+ " , bgt_project p"
|
||||
+ " , bgt_kostenrubriek r"
|
||||
+ " , prs_kostensoortgrp g"
|
||||
+ " , prs_kostensoort s"
|
||||
+ " , mld_opdr o"
|
||||
+ " , prs_bedrijf b"
|
||||
+ " WHERE d.bgt_ins_discipline_key = p.ins_discipline_key"
|
||||
+ " AND p.bgt_project_key = r.bgt_project_key"
|
||||
+ " AND r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
|
||||
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
|
||||
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key"
|
||||
+ " AND o.mld_uitvoerende_keys = b.prs_bedrijf_key"
|
||||
+ (init_key != -1 ? " AND b.prs_bedrijf_key = " + init_key : "");
|
||||
break;
|
||||
}
|
||||
case "R":
|
||||
{ sql = "SELECT DISTINCT"
|
||||
+ " d.bgt_ins_discipline_key disc_key"
|
||||
@@ -71,6 +126,8 @@ switch (req_info)
|
||||
+ " , r.bgt_kostenrubriek_key rubriek_key"
|
||||
+ " , -1 groep_key"
|
||||
+ " , -1 soort_key"
|
||||
+ " , NULL opdracht_key"
|
||||
+ " , NULL bedrijf_key"
|
||||
+ " FROM bgt_disc_params d"
|
||||
+ " , bgt_project p"
|
||||
+ " , bgt_kostenrubriek r"
|
||||
@@ -86,6 +143,8 @@ switch (req_info)
|
||||
+ " , r.bgt_kostenrubriek_key rubriek_key"
|
||||
+ " , g.prs_kostensoortgrp_key groep_key"
|
||||
+ " , -1 soort_key"
|
||||
+ " , NULL opdracht_key"
|
||||
+ " , NULL bedrijf_key"
|
||||
+ " FROM bgt_disc_params d"
|
||||
+ " , bgt_project p"
|
||||
+ " , bgt_kostenrubriek r"
|
||||
@@ -103,6 +162,8 @@ switch (req_info)
|
||||
+ " , r.bgt_kostenrubriek_key rubriek_key"
|
||||
+ " , g.prs_kostensoortgrp_key groep_key"
|
||||
+ " , s.prs_kostensoort_key soort_key"
|
||||
+ " , NULL opdracht_key"
|
||||
+ " , NULL bedrijf_key"
|
||||
+ " FROM bgt_disc_params d"
|
||||
+ " , bgt_project p"
|
||||
+ " , bgt_kostenrubriek r"
|
||||
@@ -123,6 +184,8 @@ switch (req_info)
|
||||
+ " , NULL rubriek_key"
|
||||
+ " , NULL groep_key"
|
||||
+ " , NULL soort_key"
|
||||
+ " , NULL opdracht_key"
|
||||
+ " , NULL bedrijf_key"
|
||||
+ " FROM bgt_disc_params d"
|
||||
+ " , bgt_project p"
|
||||
+ " , prs_kostenplaatsgrp g"
|
||||
@@ -131,7 +194,8 @@ switch (req_info)
|
||||
+ " AND p.bgt_project_key = g.bgt_project_key"
|
||||
+ " AND g.prs_kostenplaatsgrp_key = s.prs_kostenplaatsgrp_key"
|
||||
+ " AND s.prs_kostenplaats_verwijder IS NULL"
|
||||
+ (init_key != -1 ? " AND s.prs_kostenplaats_key = " + init_key : "");
|
||||
+ (parent_key != -1 ? " AND p.bgt_project_key = " + parent_key : "")
|
||||
+ (init_key != -1 ? " AND s.prs_kostenplaats_key = " + init_key : "");
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -142,7 +206,9 @@ switch (req_info)
|
||||
"P": oRs("project_key").Value,
|
||||
"R": oRs("rubriek_key").Value,
|
||||
"G": oRs("groep_key").Value,
|
||||
"S": oRs("soort_key").Value
|
||||
"S": oRs("soort_key").Value,
|
||||
"O": oRs("opdracht_key").Value,
|
||||
"B": oRs("bedrijf_key").Value
|
||||
}
|
||||
}
|
||||
oRs.Close();
|
||||
@@ -156,7 +222,7 @@ switch (req_info)
|
||||
case "D":
|
||||
{
|
||||
sql = "SELECT d.ins_discipline_key sel_key"
|
||||
+ " , p.bgt_disc_params_code ||' '||d.ins_discipline_omschrijving sel_oms"
|
||||
+ " , p.bgt_disc_params_code ||' - '||d.ins_discipline_omschrijving sel_oms"
|
||||
+ " , d.ins_discipline_btw btw_inc"
|
||||
+ " , NULL btw_val"
|
||||
+ " FROM ins_tab_discipline d"
|
||||
@@ -170,7 +236,7 @@ switch (req_info)
|
||||
case "P":
|
||||
{
|
||||
sql = "SELECT p.bgt_project_key sel_key"
|
||||
+ " , p.bgt_project_code ||' '|| p.bgt_project_omschrijving sel_oms"
|
||||
+ " , p.bgt_project_code ||' - '|| p.bgt_project_omschrijving sel_oms"
|
||||
+ " , (SELECT d1.ins_discipline_btw"
|
||||
+ " FROM ins_tab_discipline d1"
|
||||
+ " WHERE d1.ins_discipline_key = p.ins_discipline_key"
|
||||
@@ -224,7 +290,7 @@ switch (req_info)
|
||||
+ ") btw_val"
|
||||
+ " FROM prs_kostensoort s"
|
||||
+ " WHERE s.prs_kostensoortgrp_key = " + parent_key
|
||||
+ ( sel_mode == "edit"
|
||||
+ ( sel_mode == "budget_edit"
|
||||
? " AND NOT EXISTS (SELECT '' FROM bgt_budget b WHERE b.prs_kostensoort_key = s.prs_kostensoort_key)"
|
||||
: ""
|
||||
);
|
||||
@@ -242,6 +308,47 @@ switch (req_info)
|
||||
+ " AND kg.bgt_project_key = " + parent_key;
|
||||
break;
|
||||
}
|
||||
case "B":
|
||||
{
|
||||
sql = "SELECT DISTINCT"
|
||||
+ " b.prs_bedrijf_key sel_key"
|
||||
+ " , b.prs_leverancier_nr ||' - '|| b.prs_bedrijf_naam sel_oms"
|
||||
+ " , NULL btw_inc"
|
||||
+ " , NULL btw_val"
|
||||
+ " FROM bgt_project p"
|
||||
+ " , bgt_kostenrubriek r"
|
||||
+ " , prs_kostensoortgrp g"
|
||||
+ " , prs_kostensoort s"
|
||||
+ " , mld_opdr o"
|
||||
+ " , prs_bedrijf b"
|
||||
+ " WHERE p.bgt_project_key = r.bgt_project_key"
|
||||
+ " AND r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
|
||||
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
|
||||
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key"
|
||||
+ " AND o.mld_uitvoerende_keys = b.prs_bedrijf_key"
|
||||
+ " AND p.bgt_project_key = " + parent_key;
|
||||
break;
|
||||
}
|
||||
case "O":
|
||||
{
|
||||
sql = "SELECT DISTINCT"
|
||||
+ " o.mld_opdr_key sel_key"
|
||||
+ " , o.mld_opdr_ordernr ||'/'|| mld_opdr_bedrijfopdr_volgnr ||' - '|| mld_opdr_omschrijving sel_oms"
|
||||
+ " , NULL btw_inc"
|
||||
+ " , NULL btw_val"
|
||||
+ " FROM bgt_project p"
|
||||
+ " , bgt_kostenrubriek r"
|
||||
+ " , prs_kostensoortgrp g"
|
||||
+ " , prs_kostensoort s"
|
||||
+ " , mld_opdr o"
|
||||
+ " WHERE p.bgt_project_key = r.bgt_project_key"
|
||||
+ " AND r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
|
||||
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
|
||||
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key"
|
||||
+ " AND o.mld_uitvoerende_keys = " + child_key
|
||||
+ " AND p.bgt_project_key = " + parent_key;
|
||||
break;
|
||||
}
|
||||
}
|
||||
sql += " ORDER BY 2";
|
||||
var new_lov = [];
|
||||
@@ -292,6 +399,7 @@ switch (req_info)
|
||||
+ " , bgt_project p"
|
||||
+ " WHERE kp.prs_kostenplaatsgrp_key = kg.prs_kostenplaatsgrp_key"
|
||||
+ " AND kg.bgt_project_key = p.bgt_project_key"
|
||||
+ " AND kp.prs_kostenplaats_verwijder IS NULL"
|
||||
+ " AND kg.bgt_project_key = " + parent_key;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<!-- #include file="../scf/scaffolding.inc" -->
|
||||
<!-- #include file="../api2/model_mld_opdr.inc" -->
|
||||
<%
|
||||
var kostensoort = getQParamInt("costtype", -1);
|
||||
var project_key = getQParamInt("budgetproject", -1);
|
||||
var this_model = new model_mld_opdr();
|
||||
scaffolding(this_model,
|
||||
{
|
||||
@@ -31,6 +31,13 @@ scaffolding(this_model,
|
||||
"company",
|
||||
"additional"
|
||||
],
|
||||
"transit": [
|
||||
"budgetdiscipline",
|
||||
"budgetproject",
|
||||
"budgetcostcategory",
|
||||
"costtypegroup",
|
||||
"costtype"
|
||||
],
|
||||
"requires": {
|
||||
"js": ["../bgt/bgt_budget.js"]
|
||||
}
|
||||
@@ -50,7 +57,7 @@ scaffolding(this_model,
|
||||
"additional"
|
||||
],
|
||||
"orderby": [
|
||||
"ordernr",
|
||||
"ordernr_sort",
|
||||
"sequence",
|
||||
"reference"
|
||||
]
|
||||
|
||||
@@ -375,7 +375,7 @@ function scaffolding_edit(model, scf_params)
|
||||
delete model.fields[fld]; // Die is niet multi-edit enabled
|
||||
continue;
|
||||
}
|
||||
if (field.hidden_fld || (field.readonly && !(key > 0) && !(xxx_data[fld].id > 0))) // Als het veld een waarde heeft deze wel tonen.
|
||||
if (field.hidden_fld || (field.readonly && !(key > 0) && !(xxx_data[fld] && xxx_data[fld].id > 0))) // Als het veld een waarde heeft deze wel tonen.
|
||||
{ // Eerst de hidden velden.
|
||||
scf_RWHIDDENTR(model, fld, xxx_data[fld]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user