FSN#39055 BCS/2000 functionaliteit in FACILITOR - customization

Andere volgorde van velden in het overzicht.

svn path=/Website/branches/v2017.2/; revision=36374
This commit is contained in:
Erik Groener
2017-12-14 11:24:08 +00:00
parent deaf7688c3
commit c3a68abc73

View File

@@ -14,6 +14,7 @@
<!-- #include file="../api2/model_fin_factuur.inc" --> <!-- #include file="../api2/model_fin_factuur.inc" -->
<!-- #include file="./model_custom_fields.inc"--> <!-- #include file="./model_custom_fields.inc"-->
<!-- #include file="./model_mld_kenmerk.inc"--> <!-- #include file="./model_mld_kenmerk.inc"-->
<!-- #include file="../bgt/bgt_tools.inc" -->
<% <%
function model_mld_opdr() function model_mld_opdr()
@@ -26,7 +27,11 @@ function model_mld_opdr()
this.record_title = L("lcl_fin_mld_opdr"); this.record_title = L("lcl_fin_mld_opdr");
this.records_title = L("lcl_fin_opdrachten"); this.records_title = L("lcl_fin_opdrachten");
this.fields = { var fields_main_1 = {};
var fields_main_2 = {};
var fields_bgt_1 = {};
fields_main_1 = {
"id": { "id": {
"dbs": "mld_opdr_key", "dbs": "mld_opdr_key",
"label": L("lcl_key"), "label": L("lcl_key"),
@@ -35,47 +40,56 @@ function model_mld_opdr()
"required": true, "required": true,
"filter": "exact", "filter": "exact",
"seq": "mld_s_mld_opdr_key" "seq": "mld_s_mld_opdr_key"
}, }
"budgetdiscipline": { };
"dbs": "bgt_project.ins_discipline_key",
"label": L("bgt_discipline_omschrijving"), if (S("bgt_enabled"))
"typ": "key", {
"required": true, fields_bgt_1 = {
"foreign": bgt_budgetdiscipline_foreign(), "budgetdiscipline": {
"showtransit": true "dbs": "bgt_project.ins_discipline_key",
}, "label": L("bgt_discipline_omschrijving"),
"budgetproject": { "typ": "key",
"dbs": "bgt_project.bgt_project_key", "required": true,
"label": L("bgt_project_omschrijving"), "foreign": bgt_budgetdiscipline_foreign(),
"typ": "key", "showtransit": true
"required": true, },
"foreign": bgt_budgetproject_foreign(), "budgetproject": {
"showtransit": true "dbs": "bgt_project.bgt_project_key",
}, "label": L("bgt_project_omschrijving"),
"budgetcostcategory": { "typ": "key",
"dbs": "bgt_kostenrubriek.bgt_kostenrubriek_key", "required": true,
"label": L("bgt_kostenrubriek_oms"), "foreign": bgt_budgetproject_foreign(),
"typ": "key", "showtransit": true
"required": true, },
"foreign": bgt_budgetcostcategory_foreign(), "budgetcostcategory": {
"showtransit": true "dbs": "bgt_kostenrubriek.bgt_kostenrubriek_key",
}, "label": L("bgt_kostenrubriek_oms"),
"costtypegroup": { "typ": "key",
"dbs": "prs_kostensoortgrp.prs_kostensoortgrp_key", "required": true,
"label": L("prs_kostensoortgrp_key"), "foreign": bgt_budgetcostcategory_foreign(),
"typ": "key", "showtransit": true
"required": true, },
"foreign": bgt_costtypegroup_foreign(), "costtypegroup": {
"showtransit": true "dbs": "prs_kostensoortgrp.prs_kostensoortgrp_key",
}, "label": L("prs_kostensoortgrp_key"),
"costtype": { "typ": "key",
"dbs": "prs_kostensoort_key", "required": true,
"label": L("prs_kostensoort_key"), "foreign": bgt_costtypegroup_foreign(),
"typ": "key", "showtransit": true
"required": true, },
"foreign": bgt_costtype_foreign(), "costtype": {
"showtransit": true "dbs": "prs_kostensoort_key",
}, "label": L("prs_kostensoort_key"),
"typ": "key",
"required": true,
"foreign": bgt_costtype_foreign(),
"showtransit": true
}
};
}
fields_main_2 = {
"company": { "company": {
"dbs": "mld_uitvoerende_keys", "dbs": "mld_uitvoerende_keys",
"label": L("lcl_ord_company"), "label": L("lcl_ord_company"),
@@ -222,9 +236,13 @@ function model_mld_opdr()
"typ": "check0", "typ": "check0",
"defaultvalue": 0, "defaultvalue": 0,
"filter": "exact" "filter": "exact"
} }
}; };
this.fields = object_merge({}, fields_main_1, (S("bgt_enabled") ? fields_bgt_1 : {}), fields_main_2);
this.includes= { this.includes= {
"custom_fields" : { "custom_fields" : {
"model": new model_custom_fields(this, new model_mld_kenmerk('O', { internal: true }), { pNiveau: "O" }), "model": new model_custom_fields(this, new model_mld_kenmerk('O', { internal: true }), { pNiveau: "O" }),
@@ -256,7 +274,7 @@ function model_mld_opdr()
if (!oRs.eof) if (!oRs.eof)
{ {
btw_data.btw_inc = oRs("prs_kostensoort_btw").Value; btw_data.btw_inc = oRs("prs_kostensoort_btw").Value;
btw_data.btw_val = oRs("fin_btwtabelwaarde_perc").Value; btw_data.btw_val = oRs("fin_btwtabelwaarde_perc").Value || "0";
} }
oRs.Close(); oRs.Close();
} }
@@ -320,7 +338,7 @@ function model_mld_opdr()
this.hook_pre_put = function(params, obj, key) this.hook_pre_put = function(params, obj, key)
{ {
var v_costtype = (obj.costtype ? obj.costtype : getQParamInt("costtype", -1)); var v_costtype = (obj.costtype ? obj.costtype : getQParamInt("costtype", -1) );
checkAanwezigBudget(v_costtype); checkAanwezigBudget(v_costtype);
// Is de combinatie projectnummer/volgnummer nog steeds uniek? // Is de combinatie projectnummer/volgnummer nog steeds uniek?
@@ -343,14 +361,14 @@ function model_mld_opdr()
var v_cur_costtype_key = oRs("prs_kostensoort_key").Value; var v_cur_costtype_key = oRs("prs_kostensoort_key").Value;
oRs.Close(); oRs.Close();
checkUniekContractnummer(key, v_project_key, v_ordernr, obj.sequence); checkUniekContractnummer(key, v_project_key, v_ordernr, obj.sequence);
if (v_cur_costtype_key != obj.costtype) if (v_cur_costtype_key != v_costtype)
{ // contract verplaatsen naar ander kostensoort { // contract verplaatsen naar ander kostensoort
checkBudgetoverschrijding(obj.id, v_cur_costtype_key, 0, 0); // bedrag van deze kostensoort verwijderen checkBudgetoverschrijding(obj.id, v_cur_costtype_key, 0, 0); // bedrag van deze kostensoort verwijderen
checkBudgetoverschrijding(-1, obj.costtype, obj.amount, obj.vat); // (aangepast) bedrag aan nieuwe kostensoort toevoegen checkBudgetoverschrijding(-1, v_costtype, obj.amount, obj.vat); // (aangepast) bedrag aan nieuwe kostensoort toevoegen
} }
else else
{ {
checkBudgetoverschrijding(obj.id, obj.costtype, obj.amount, obj.vat); checkBudgetoverschrijding(obj.id, v_costtype, obj.amount, obj.vat);
} }
} }
@@ -373,22 +391,27 @@ function model_mld_opdr()
checkBudgetoverschrijding(key, prs_kostensoort, 0, 0); checkBudgetoverschrijding(key, prs_kostensoort, 0, 0);
} }
var gparams = {
GET: { var gparams = {};
tables: [ if (S("bgt_enabled") == 1)
"prs_kostensoort", {
"prs_kostensoortgrp", gparams = {
"bgt_kostenrubriek", GET: {
"bgt_project" tables: [
], "prs_kostensoort",
wheres: [ "prs_kostensoortgrp",
"mld_opdr.prs_kostensoort_key = prs_kostensoort.prs_kostensoort_key", "bgt_kostenrubriek",
"prs_kostensoort.prs_kostensoortgrp_key = prs_kostensoortgrp.prs_kostensoortgrp_key", "bgt_project"
"prs_kostensoortgrp.bgt_kostenrubriek_key = bgt_kostenrubriek.bgt_kostenrubriek_key", ],
"bgt_kostenrubriek.bgt_project_key = bgt_project.bgt_project_key" wheres: [
] "mld_opdr.prs_kostensoort_key = prs_kostensoort.prs_kostensoort_key",
} "prs_kostensoort.prs_kostensoortgrp_key = prs_kostensoortgrp.prs_kostensoortgrp_key",
}; "prs_kostensoortgrp.bgt_kostenrubriek_key = bgt_kostenrubriek.bgt_kostenrubriek_key",
"bgt_kostenrubriek.bgt_project_key = bgt_project.bgt_project_key"
]
}
};
}
function checkUniekContractnummer(p_contract_key, p_project_key, p_contractnr, p_volgnr) function checkUniekContractnummer(p_contract_key, p_project_key, p_contractnr, p_volgnr)
{ {
@@ -447,6 +470,9 @@ function model_mld_opdr()
var budget_exc = oRs("budget_exc").Value; var budget_exc = oRs("budget_exc").Value;
var budget_btw = oRs("budget_btw").Value; var budget_btw = oRs("budget_btw").Value;
oRs.Close(); oRs.Close();
if (budget_key_res == null)
abort_with_warning("Er is geen budget met kenmerk 'reserve' aanwezig voor dit project");
var amount_old_exc = 0; var amount_old_exc = 0;
var amount_old_btw = 0; var amount_old_btw = 0;
if (data_id > -1) if (data_id > -1)