FSN#39055 BCS/2000 functionaliteit in FACILITOR - customization

svn path=/Website/trunk/; revision=34829
This commit is contained in:
Erik Groener
2017-08-04 14:43:53 +00:00
parent d623fd439e
commit abd07f83ea
12 changed files with 471 additions and 78 deletions

View File

@@ -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: {