TWYN#55514 gegevens verdwijnen bij wijzigen factuur mmw

svn path=/Website/branches/v2018.2/; revision=40075
This commit is contained in:
Erik Groener
2018-12-03 10:33:07 +00:00
parent 642ed2f500
commit a17ca0898c
2 changed files with 68 additions and 43 deletions

View File

@@ -15,13 +15,29 @@
<!-- #include file="../scf/scaffolding.inc" -->
<!-- #include file="../api2/model_fin_factuur.inc" -->
<%
var parent = getQParam("parent", "");
var discipline_key = getQParamInt("budgetdiscipline", -1);
var project_key = getQParamInt("budgetproject", -1);
var parent = getQParam("parent", "");
var isClone = getQParamInt("scf_clone",0) == 1;
var fac_key = getQParamInt("id", -1);
var discipline_key = getQParamInt("budgetdiscipline", -1);
var project_key = getQParamInt("budgetproject", -1);
var kostensoort_key = getQParamInt("costtype", -1);
var p_mld_opdr_key = getQParamInt("opdrachtcommon", -1);
var p_mld_opdr_key = getQParamInt("opdrachtcommon", -1);
p_mld_opdr_key = (p_mld_opdr_key == -1 ? getQParamInt("order", -1) : p_mld_opdr_key);
var sql = "SELECT p.ins_discipline_key"
+ " , p.bgt_project_key"
+ " FROM bgt_v_project_full p"
+ " , mld_opdr o"
+ " , fin_factuur f"
+ " WHERE p.prs_kostensoort_key = o.prs_kostensoort_key"
+ " AND f.mld_opdr_key = o.mld_opdr_key"
+ " AND f.fin_factuur_key = " + fac_key;
var oRs = Oracle.Execute(sql);
var p_discipline_key = (!oRs.eof ? oRs("ins_discipline_key").Value : -1);
var p_project_key = (!oRs.eof ? oRs("bgt_project_key").Value : -1)
oRs.Close();
var this_model = new model_fin_factuur();
if (mode == "list")
@@ -37,27 +53,7 @@ if (mode == "show")
delete this_model.REST_PUT;
}
}
if (mode == "search")
{
// Onderstaand script is nodig om vanuit budgetbeheer naar het scherm Facturen te
// gaan, waarbij de selectievelden ingevuld worden met de bekende waarden.
%>
<script>
if (<%=p_mld_opdr_key%> >= -1) var order_key = <%=p_mld_opdr_key%>;
if (<%=kostensoort_key%> >= -1) var costtype_key = <%=kostensoort_key%>;
</script>
<%
}
if (mode == "edit")
{
%>
<script>
if (<%=discipline_key%> >= -1) var budgetdiscipline_key = <%=discipline_key%>;
if (<%=project_key%> >= -1) var budgetproject_key = <%=project_key%>;
</script>
<%
}
var model_params = {
@@ -116,35 +112,60 @@ var model_params = {
if (parent == "search")
{ // Scherm wordt aangeroepen vanuit bgt_search_list.
// NB: Dit is een andere conditie dan mode=search!
model_params.transit = {
costtype: kostensoort_key,
opdrachtcommon: p_mld_opdr_key
}
}
var isClone = getQParamInt("scf_clone",0) == 1;
var fac_key = getQParamInt("id", -1);
if (mode == "wrap" && isClone && fac_key > -1)
{ // Bij het maken van een kopie van de factuur moet ongeacht de filterparameters
// wel de keys van project en deelproject doorgegeven worden.
var sql = "SELECT p.ins_discipline_key"
+ " , p.bgt_project_key"
+ " FROM bgt_v_project_full p"
+ " , mld_opdr o"
+ " , fin_factuur f"
+ " WHERE p.prs_kostensoort_key = o.prs_kostensoort_key"
+ " AND f.mld_opdr_key = o.mld_opdr_key"
+ " AND f.fin_factuur_key = " + fac_key;
var oRs = Oracle.Execute(sql);
model_params.transit.budgetdiscipline = oRs("ins_discipline_key").Value;
model_params.transit.budgetproject = oRs("bgt_project_key").Value;
oRs.Close();
if (mode == "search")
{
// Onderstaand script is nodig om vanuit budgetbeheer naar het scherm Facturen te
// gaan, waarbij de selectievelden ingevuld worden met de bekende waarden.
%>
<script>
if (<%=p_mld_opdr_key%> >= -1) var order_key = <%=p_mld_opdr_key%>;
if (<%=kostensoort_key%> >= -1) var costtype_key = <%=kostensoort_key%>;
</script>
<%
}
if (mode == "list")
{
model_params.transit.budgetdiscipline = discipline_key;
}
if (mode == "wrap")
{
if (isClone && fac_key > -1)
{ // Bij het maken van een kopie van de factuur moet ongeacht de filterparameters
// wel de keys van project en deelproject doorgegeven worden.
model_params.transit.budgetdiscipline = p_discipline_key;
model_params.transit.initproject = p_project_key;
}
else if (discipline_key > -1)
{
model_params.transit.budgetdiscipline = discipline_key;
}
}
if (mode == "show")
{
model_params.transit.budgetdiscipline = p_discipline_key;
}
if (mode == "edit")
{
model_params.search.transit.push("budgetdiscipline");
model_params.search.transit.push("budgetproject");
%>
<script>
if (<%=discipline_key%> >= -1) var budgetdiscipline_key = <%=discipline_key%>;
if (<%=project_key%> >= -1) var budgetproject_key = <%=project_key%>;
if ("<%=isClone%>"=="True") var initproject_key = <%=p_project_key%>;
</script>
<%
}

View File

@@ -22,8 +22,8 @@ function init_factuur()
{ // rechtstreeks vanuit fin_factuur
if (v_isclone == 1)
{
var v_budgetdiscipline = -1;
var v_budgetproject = budgetproject_key;
var v_budgetdiscipline = budgetdiscipline_key;
var v_budgetproject = initproject_key;
var v_costtype = -1;
var v_company = -1;
var v_order = -1;
@@ -89,6 +89,10 @@ function re_init_soort(data)
fill_rubriekselector("S", data.parents.G, data.parents.S, data.parents.S);
fill_rubriekselector("B", -1 , data.parents.P, data.parents.B);
fill_rubriekselector("O", data.parents.P, data.parents.B, data.parents.O);
if (data.parents.D==-1 && data.parants.P==-1 && data.parents.B==-1)
$("#budgetproject").prop("disabled", true).addClass("btn_disabled");
}
function change_discipline()