MARX#35457: Extra velden bij opdrachtmateriaal tbv Tobias-inkooporders.
svn path=/Website/trunk/; revision=28583
This commit is contained in:
@@ -525,6 +525,7 @@ else // nieuwe bestelling. Defaults bepalen
|
||||
{
|
||||
$("#btw").load("../Shared/loadBtwTabel.asp",
|
||||
{ bedrijf_key: p_key,
|
||||
sel_key: "perc", // select key is fin_btwtabelwaarde_perc
|
||||
required: true,
|
||||
selectjustone: true,
|
||||
emptyOption: ""
|
||||
|
||||
@@ -822,7 +822,9 @@ oRs.Close();
|
||||
var matopdrkeyarr = [];
|
||||
var matkeyarr = [];
|
||||
var matamountarr = [];
|
||||
var matunitarr = [];
|
||||
var matpricearr = [];
|
||||
var matbtwarr = [];
|
||||
var matdescriptarr = [];
|
||||
var mataantal = 0;
|
||||
if (opdr_key > 0)
|
||||
@@ -830,7 +832,9 @@ oRs.Close();
|
||||
sql = "SELECT fac_usrdata_key"
|
||||
+ " , mld_opdr_materiaal_key"
|
||||
+ " , mld_opdr_materiaal_aantal"
|
||||
+ " , mld_opdr_materiaal_eenheid"
|
||||
+ " , mld_opdr_materiaal_prijs"
|
||||
+ " , fin_btwtabelwaarde_key"
|
||||
+ " , mld_opdr_materiaal_omschr"
|
||||
+ " FROM mld_opdr_materiaal ud"
|
||||
+ " WHERE mld_opdr_key = " + opdr_key;
|
||||
@@ -842,7 +846,9 @@ oRs.Close();
|
||||
matopdrkeyarr.push(oRs("mld_opdr_materiaal_key").Value);
|
||||
matkeyarr.push( oRs("fac_usrdata_key").Value || -1 );
|
||||
matamountarr.push(oRs("mld_opdr_materiaal_aantal").Value);
|
||||
matunitarr.push(oRs("mld_opdr_materiaal_eenheid").Value);
|
||||
matpricearr.push(safe.jsfloat(oRs("mld_opdr_materiaal_prijs").Value));
|
||||
matbtwarr.push(oRs("fin_btwtabelwaarde_key").Value);
|
||||
matdescriptarr.push(oRs("mld_opdr_materiaal_omschr").Value || "Dummy"); // Voor vaste materialen 'Dummy' gebruiken
|
||||
oRs.MoveNext();
|
||||
}
|
||||
@@ -857,7 +863,9 @@ oRs.Close();
|
||||
<input type="hidden" name="matopdrkeystr" id="matopdrkeystr" value="<%=matopdrkeyarr.join(",")%>">
|
||||
<input type="hidden" name="matkeystr" id="matkeystr" value="<%=matkeyarr.join(",")%>">
|
||||
<input type="hidden" name="matamountstr" id="matamountstr" value="<%=matamountarr.join(",")%>">
|
||||
<input type="hidden" name="matunitstr" id="matunitstr" value="<%=matunitarr.join(",")%>">
|
||||
<input type="hidden" name="matpricestr" id="matpricestr" value="<%=matpricearr.join(",")%>">
|
||||
<input type="hidden" name="matbtwstr" id="matbtwstr" value="<%=matbtwarr.join(",")%>">
|
||||
<input type="hidden" name="mat_kosten" id="mat_kosten" value="<%=safe.jsfloat(mld_opdr.m_cost)%>">
|
||||
<script type='text/javascript'>
|
||||
var JSONdata = '(<%=safe.jsstring(JSON.stringify(matdescriptarr))%>)';
|
||||
|
||||
@@ -397,7 +397,9 @@ function makeMaterialStrings(data)
|
||||
var matopdrkeystr = "";
|
||||
var matkeystr = "";
|
||||
var matamountstr = "";
|
||||
var matunitstr = "";
|
||||
var matpricestr = "";
|
||||
var matbtwstr = "";
|
||||
var matdescriptarr = [];
|
||||
|
||||
if (data.matExistArray)
|
||||
@@ -406,11 +408,14 @@ function makeMaterialStrings(data)
|
||||
{
|
||||
if (data.matExistArray[i].amount > 0)
|
||||
{
|
||||
matexiststr += (matexiststr == ""? "" : ",") + "1";
|
||||
matopdrkeystr += (matopdrkeystr == ""? "" : ",") + data.matExistArray[i].matopdrkey;
|
||||
matkeystr += (matkeystr == ""? "" : ",") + data.matExistArray[i].key;
|
||||
matamountstr += (matamountstr == ""? "" : ",") + String(data.matExistArray[i].amount).replace(",",".");
|
||||
matpricestr += (matpricestr == ""? "" : ",") + String(data.matExistArray[i].price).replace(",",".");
|
||||
var first = (matexiststr == "");
|
||||
matexiststr += (first? "" : ",") + "1";
|
||||
matopdrkeystr += (first? "" : ",") + data.matExistArray[i].matopdrkey;
|
||||
matkeystr += (first? "" : ",") + data.matExistArray[i].key;
|
||||
matamountstr += (first? "" : ",") + String(data.matExistArray[i].amount).replace(",",".");
|
||||
matunitstr += (first? "" : ",") + "";
|
||||
matpricestr += (first? "" : ",") + String(data.matExistArray[i].price).replace(",",".");
|
||||
matbtwstr += (first? "" : ",") + "";
|
||||
matdescriptarr.push("Dummy"); // AKZA#33231 Gaf problemen als leeg
|
||||
}
|
||||
}
|
||||
@@ -421,18 +426,21 @@ function makeMaterialStrings(data)
|
||||
{
|
||||
if (data.matUserArray[i].amount > 0)
|
||||
{
|
||||
matexiststr += (matexiststr == ""? "" : ",") + "0";
|
||||
matopdrkeystr += (matopdrkeystr == ""? "" : ",") + data.matUserArray[i].matopdrkey;
|
||||
matkeystr += (matkeystr == ""? "" : ",") + "-1";
|
||||
matamountstr += (matamountstr == ""? "" : ",") + String(data.matUserArray[i].amount).replace(",",".");
|
||||
matpricestr += (matpricestr == ""? "" : ",") + String(data.matUserArray[i].price).replace(",",".");
|
||||
var first = (matexiststr == "");
|
||||
matexiststr += (first? "" : ",") + "0";
|
||||
matopdrkeystr += (first? "" : ",") + data.matUserArray[i].matopdrkey;
|
||||
matkeystr += (first? "" : ",") + "-1";
|
||||
matamountstr += (first? "" : ",") + String(data.matUserArray[i].amount).replace(",",".");
|
||||
matunitstr += (first? "" : ",") + data.matUserArray[i].unit;
|
||||
matpricestr += (first? "" : ",") + String(data.matUserArray[i].price).replace(",",".");
|
||||
matbtwstr += (first? "" : ",") + String(data.matUserArray[i].btw);
|
||||
matdescriptarr.push(data.matUserArray[i].descript);
|
||||
}
|
||||
}
|
||||
}
|
||||
var matstr = {matexiststr: matexiststr, matopdrkeystr: matopdrkeystr
|
||||
, matkeystr: matkeystr, matamountstr: matamountstr
|
||||
, matpricestr: matpricestr, matdescriptarr: matdescriptarr};
|
||||
, matkeystr: matkeystr, matamountstr: matamountstr, matunitstr: matunitstr
|
||||
, matpricestr: matpricestr, matbtwstr: matbtwstr, matdescriptarr: matdescriptarr};
|
||||
return matstr;
|
||||
}
|
||||
|
||||
@@ -440,30 +448,37 @@ function mld_melding_materiaal_callback(data)
|
||||
{
|
||||
var matcnt = 0;
|
||||
|
||||
// Totaalbedrag weergeven
|
||||
// Totaalbedrag weergeven.
|
||||
$("#tot_kosten").val(data.matTotal);
|
||||
// Materiaalbedrag is totaalbedrag (hidden veld). Moet ook opgeslagen worden bij het opslaan van de opdracht.
|
||||
$("#mat_kosten").val(data.matTotal);
|
||||
// Aantal materialen aangeven op de button
|
||||
// Aantal materialen aangeven op de button.
|
||||
matcnt = parseInt(data.matExistArray.length) + parseInt(data.matUserArray.length);
|
||||
$("#materiallist_button").val( L("lcl_mld_materialen") + " (" + matcnt + ")");
|
||||
|
||||
// String met keys in hidden input opslaan
|
||||
// String met keys in hidden input opslaan.
|
||||
var matstr = makeMaterialStrings(data);
|
||||
$("#matexiststr").val(matstr.matexiststr);
|
||||
$("#matopdrkeystr").val(matstr.matopdrkeystr);
|
||||
$("#matkeystr").val(matstr.matkeystr);
|
||||
$("#matamountstr").val(matstr.matamountstr);
|
||||
$("#matunitstr").val(matstr.matunitstr);
|
||||
$("#matpricestr").val(matstr.matpricestr);
|
||||
$("#matbtwstr").val(matstr.matbtwstr);
|
||||
window.matdescriptarr = matstr.matdescriptarr;
|
||||
FcltMgr.resized();
|
||||
}
|
||||
|
||||
function mld_melding_materiaal(ro)
|
||||
{
|
||||
if ($("#uitvoerende").val() < 0)
|
||||
{
|
||||
alert(L("lcl_mld_select_first").format(srtdiscbes? L("lcl_bes_Supplier") : L("lcl_ord_company_uit")));
|
||||
return;
|
||||
}
|
||||
// Maximum lengte van url is 2083 karakters (maximum path lengte is 2048 karakters).
|
||||
// Daarom de strings niet via url (GET) meesturen maar via params van openModalDetail (Nadeel: nu wel clientside beschikbaar bij mld_opdr_materiaal.asp)
|
||||
var url = "mld_opdr_materiaal.asp?opdr_key=" + opdr_key+(ro==1?"&readonly=1":"");
|
||||
var url = "mld_opdr_materiaal.asp?opdr_key=" + opdr_key + (ro == 1? "&readonly=1" : "") + "&uitv_key=" + $("#uitvoerende").val();
|
||||
|
||||
FcltMgr.openModalDetail(url,
|
||||
L("lcl_mld_materialen"),
|
||||
@@ -471,7 +486,9 @@ function mld_melding_materiaal(ro)
|
||||
matopdrkeystr: $("#matopdrkeystr").val(),
|
||||
matkeystr: $("#matkeystr").val(),
|
||||
matamountstr: $("#matamountstr").val(),
|
||||
matunitstr: $("#matunitstr").val(),
|
||||
matpricestr: $("#matpricestr").val(),
|
||||
matbtwstr: $("#matbtwstr").val(),
|
||||
matdescriptarr: window.matdescriptarr,
|
||||
callback: mld_melding_materiaal_callback
|
||||
});
|
||||
@@ -580,4 +597,3 @@ function mld_opdracht_object()
|
||||
|
||||
FcltMgr.openModalDetail(url, L("lcl_mld_objects"), {obj_html:obj_html, callback: mld_opdracht_object_callback});
|
||||
}
|
||||
|
||||
|
||||
@@ -751,7 +751,9 @@ for (var u = 0; u < uitvkeyArray.length; u++)
|
||||
var matopdrkeystrArr = getFParamIntArray("matopdrkeystr", []);
|
||||
var matkeystrArr = getFParamIntArray("matkeystr", []);
|
||||
var matamountstrArr = getFParamArray("matamountstr", []);
|
||||
var matunitstrArr = getFParamArray("matunitstr", []);
|
||||
var matpricestrArr = getFParamArray("matpricestr", []);
|
||||
var matbtwstrArr = getFParamArray("matbtwstr", []);
|
||||
var matdescriptstrArr = getFParamArray("matdescriptstr", [], true); // nosplit
|
||||
if (!isNew)
|
||||
{ // Verwijder niet geselecteerde materialen
|
||||
@@ -783,8 +785,10 @@ for (var u = 0; u < uitvkeyArray.length; u++)
|
||||
{
|
||||
sql = "UPDATE mld_opdr_materiaal"
|
||||
+ " SET mld_opdr_materiaal_aantal = " + parseFloat(matamountstrArr[i])
|
||||
+ (matexiststrArr[i] == 1? "" : ", mld_opdr_materiaal_eenheid = " + safe.quoted_sql(matunitstrArr[i]))
|
||||
+ " , mld_opdr_materiaal_prijs = " + parseFloat(matpricestrArr[i])
|
||||
+ (matexiststrArr[i] == 1 ? "" : ", mld_opdr_materiaal_omschr = " + safe.quoted_sql(matdescriptstrArr[i]))
|
||||
+ (matexiststrArr[i] == 1? "" : ", fin_btwtabelwaarde_key = " + parseInt(matbtwstrArr[i], 10))
|
||||
+ (matexiststrArr[i] == 1? "" : ", mld_opdr_materiaal_omschr = " + safe.quoted_sql(matdescriptstrArr[i]))
|
||||
+ " WHERE mld_opdr_materiaal_key = " + oRs("mld_opdr_materiaal_key").Value;
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
@@ -794,16 +798,20 @@ for (var u = 0; u < uitvkeyArray.length; u++)
|
||||
{
|
||||
sql = "INSERT INTO mld_opdr_materiaal"
|
||||
+ " ( mld_opdr_key"
|
||||
+ (matexiststrArr[i] == 1 ? " , fac_usrdata_key" : "")
|
||||
+ (matexiststrArr[i] == 1? " , fac_usrdata_key" : "")
|
||||
+ " , mld_opdr_materiaal_aantal"
|
||||
+ (matexiststrArr[i] == 1? "" : ", mld_opdr_materiaal_eenheid")
|
||||
+ " , mld_opdr_materiaal_prijs"
|
||||
+ (matexiststrArr[i] == 1 ? "" : " , mld_opdr_materiaal_omschr")
|
||||
+ (matexiststrArr[i] == 1? "" : ", fin_btwtabelwaarde_key")
|
||||
+ (matexiststrArr[i] == 1? "" : " , mld_opdr_materiaal_omschr")
|
||||
+ " )"
|
||||
+ " VALUES ( " + opdr_key
|
||||
+ (matexiststrArr[i] == 1 ? ", " + matkeystrArr[i] : "")
|
||||
+ (matexiststrArr[i] == 1? ", " + matkeystrArr[i] : "")
|
||||
+ " , " + parseFloat(matamountstrArr[i])
|
||||
+ (matexiststrArr[i] == 1? "" : ", " + safe.quoted_sql(matunitstrArr[i]))
|
||||
+ " , " + parseFloat(matpricestrArr[i])
|
||||
+ (matexiststrArr[i] == 1 ? "" : ", " + safe.quoted_sql(matdescriptstrArr[i]))
|
||||
+ (matexiststrArr[i] == 1? "" : ", " + parseInt(matbtwstrArr[i]))
|
||||
+ (matexiststrArr[i] == 1? "" : ", " + safe.quoted_sql(matdescriptstrArr[i]))
|
||||
+ " )";
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
|
||||
@@ -24,6 +24,7 @@ FCLTHeader.Requires({ plugins: ["jQuery"],
|
||||
})
|
||||
|
||||
var opdr_key = getQParamInt("opdr_key");
|
||||
var uitv_key = getQParamInt("uitv_key");
|
||||
var readonly = getQParamInt("readonly", 0) == 1;
|
||||
if (!readonly && opdr_key > 0)
|
||||
{
|
||||
@@ -40,6 +41,7 @@ if (!readonly && opdr_key > 0)
|
||||
var mld_ordermaterial_fac_usrtab_key = <%=S("mld_ordermaterial_fac_usrtab_key")%>;
|
||||
var currency_pref = '<%=S("currency_pref")%>';
|
||||
var currency_suff = '<%=S("currency_suff")%>';
|
||||
var uitv_key = <%=uitv_key%>;
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -163,7 +165,6 @@ if (!readonly && opdr_key > 0)
|
||||
rst.addColumn(new Column({caption: L("lcl_mld_opdr_prijs"), content: "mld_opdr_materiaal_prijs", datatype: "currency"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_mld_opdr_totaal"), content: "totaal", datatype: "currency"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_mld_opdr_btw"), content: "fin_btwtabelwaarde_code"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_mld_opdr_totaal_inBTW"), content: "totaalincbtw", datatype: "currency"}));
|
||||
var mld = rst.processResultset();
|
||||
}
|
||||
else
|
||||
|
||||
@@ -159,9 +159,11 @@ function makeMaterialHtml(matExistArray)
|
||||
+ "<img title='"+L("lcl_add")+"' src='../pictures/plus.png' style=cursor:pointer OnClick='AddItem();FcltMgr.resized();'>"
|
||||
+ "</th>"
|
||||
+ "<th style='text-align:right'><label>" + L("lcl_mld_opdr_aantal") + "</label></th>"
|
||||
+ "<th style='text-align:right'><label>" + L("lcl_mld_opdr_prijs") + "</label></th>"
|
||||
+ "<th style='text-align:right'><label>" + L("lcl_mld_opdr_totaal") + "</label></th>"
|
||||
+ "<th><label>" + L("lcl_descr") + "</label></th>"
|
||||
+ "<th style='text-align:right'><label>" + L("lcl_mld_opdr_eenheid") + "</label></th>"
|
||||
+ "<th style='text-align:right'><label>" + L("lcl_mld_opdr_prijs") + "</label></th>"
|
||||
+ "<th style='text-align:right'><label>" + L("lcl_mld_opdr_btw") + "</label></th>"
|
||||
+ "<th style='text-align:right'><label>" + L("lcl_mld_opdr_totaal") + "</label></th>"
|
||||
+ "</tr>"
|
||||
+ "</thead>";
|
||||
matHtml += "<tbody>";
|
||||
@@ -182,6 +184,13 @@ function makeMaterialHtml(matExistArray)
|
||||
+ " size='8' onKeyPress='checkKey(event, 1);'> "
|
||||
+ "</td>"
|
||||
+ "<td>"
|
||||
+ "<input type='text' class='fld'"
|
||||
+ " id='descript" + matExistArray[i].key + "' value='" + descr + "' readonly>"
|
||||
+ "</td>"
|
||||
+ "<td>"
|
||||
// Eenheid kolom.
|
||||
+ "</td>"
|
||||
+ "<td>"
|
||||
+ "<input class='fldmatprice currency' type='text' name='price" + matExistArray[i].key + "'"
|
||||
+ " id='price" + matExistArray[i].key + "' value='" + num2curr(parseFloat(matExistArray[i].price)) + "'"
|
||||
+ " index='" + i + "' maxlength='10'" + (matExistArray[i].roprice? " readonly" : "")
|
||||
@@ -189,17 +198,17 @@ function makeMaterialHtml(matExistArray)
|
||||
+ " onKeyPress='checkKey(event, 1);'> "
|
||||
+ "</td>"
|
||||
+ "<td>"
|
||||
// BTW kolom.
|
||||
+ "</td>"
|
||||
+ "<td>"
|
||||
+ "<input class='fldmattotal currency' type='text' name='total" + matExistArray[i].key + "'"
|
||||
+ " id='total" + matExistArray[i].key + "' value='" + num2curr(matExistArray[i].amount * parseFloat(matExistArray[i].price)) + "'"
|
||||
+ " index='" + i + "'"
|
||||
+ " size='16' readonly> "
|
||||
+ "</td>"
|
||||
+ "<td>"
|
||||
+ "<input type='text' class='fld'"
|
||||
+ " id='descript" + matExistArray[i].key + "' value='" + descr + "' readonly>"
|
||||
+ "</td>"
|
||||
+ "</tr>";
|
||||
}
|
||||
|
||||
matHtml += "</tbody>";
|
||||
return "<table class='tab_mld_materials' id='sel_items'>" + matHtml + "</table>";
|
||||
}
|
||||
@@ -212,7 +221,7 @@ var rowIndex = -1;
|
||||
function nextInvoer()
|
||||
{
|
||||
function material(matopdrkey, key, amount, descript, price, roprice)
|
||||
{
|
||||
{ // Vaste materialen hebben geen eenheid en btw.
|
||||
this.matopdrkey = matopdrkey;
|
||||
this.key = key;
|
||||
this.amount = amount;
|
||||
@@ -229,8 +238,12 @@ function nextInvoer()
|
||||
var matopdrkeystrArr = (matopdrkeystr != "" ? matopdrkeystr.split(",") : []);
|
||||
var matamountstr = FcltMgr.dialogArguments().matamountstr;
|
||||
var matamountstrArr = (matamountstr != "" ? matamountstr.split(",") : []);
|
||||
var matunitstr = FcltMgr.dialogArguments().matunitstr;
|
||||
var matunitstrArr = (matamountstr != "" ? matunitstr.split(",") : []);
|
||||
var matpricestr = FcltMgr.dialogArguments().matpricestr;
|
||||
var matpricestrArr = (matpricestr != "" ? matpricestr.split(",") : []);
|
||||
var matbtwstr = FcltMgr.dialogArguments().matbtwstr;
|
||||
var matbtwstrArr = (matbtwstr != "" ? matbtwstr.split(",") : []);
|
||||
var matdescriptstrArr = FcltMgr.dialogArguments().matdescriptarr; //deze krijgen we rechtsteeks als array
|
||||
|
||||
// Maak een array met alle gegevens van de vaste materialen die eerder zijn gekozen
|
||||
@@ -268,7 +281,7 @@ function nextInvoer()
|
||||
{
|
||||
if (matexiststrArr[i] == 0)
|
||||
{
|
||||
CreateRow(matamountstrArr[i], matpricestrArr[i], matdescriptstrArr[i], matopdrkeystrArr[i]);
|
||||
CreateRow(matamountstrArr[i], matunitstrArr[i], matpricestrArr[i], matbtwstrArr[i], matdescriptstrArr[i], matopdrkeystrArr[i]);
|
||||
setTotal(rowIndex);
|
||||
}
|
||||
}
|
||||
@@ -314,21 +327,23 @@ function mat_info()
|
||||
|
||||
// overige materialen
|
||||
|
||||
function MldItem(qty, prc, sum, descr, key)
|
||||
function MldItem(qty, unit, prc, btw, sum, descr, key)
|
||||
{
|
||||
this.matopdrkey = key;
|
||||
this.amount = qty;
|
||||
this.matopdrkey = key;
|
||||
this.unit = unit;
|
||||
this.amount = qty;
|
||||
this.price = prc;
|
||||
this.btw = btw;
|
||||
this.descript = descr;
|
||||
this.sum = sum;
|
||||
}
|
||||
|
||||
function AddItem()
|
||||
{
|
||||
CreateRow(1, 0, "", -1);
|
||||
CreateRow(1, "", 0, -1, "", -1);
|
||||
}
|
||||
|
||||
function CreateRow(qty, prc, descr, key)
|
||||
function CreateRow(qty, unit, prc, btw, descr, key)
|
||||
{
|
||||
rowIndex++;
|
||||
var table = $("#sel_items")[0];
|
||||
@@ -349,6 +364,21 @@ function CreateRow(qty, prc, descr, key)
|
||||
+ " id='qty" + rowIndex + "' name='qty" + rowIndex + "' maxlength='10' value='" + parseFloat(qty) + "'>";
|
||||
cell.align = 'right';
|
||||
|
||||
// Create description field
|
||||
cell = tr.insertCell(-1);
|
||||
cell.innerHTML = "<input type='text' class='fld required'"
|
||||
+ " onblur='DesChanged(event);'"
|
||||
+ " id='descript" + rowIndex + "' name='descript" + rowIndex + "' maxlength='255'>";
|
||||
$("input", cell).val(descr); // safe oplossing
|
||||
|
||||
// Create unit field
|
||||
cell = tr.insertCell(-1);
|
||||
cell.innerHTML = "<input type='text' class='fldshort'"
|
||||
+ " onfocus='this.select();'"
|
||||
+ " onblur='UnitChanged(event);'"
|
||||
+ " id='unit" + rowIndex + "' name='unit" + rowIndex + "' value='" + unit + "'>";
|
||||
cell.align = 'right';
|
||||
|
||||
// Create price field
|
||||
cell = tr.insertCell(-1);
|
||||
cell.innerHTML = "<input type='text' class='fldfinsom'"
|
||||
@@ -357,6 +387,12 @@ function CreateRow(qty, prc, descr, key)
|
||||
+ " id='prc" + rowIndex + "' name='prc" + rowIndex + "' maxlength='10' value='" + num2curr(parseFloat(prc)) + "'>";
|
||||
cell.align = 'right';
|
||||
|
||||
// Create BTW field
|
||||
cell = tr.insertCell(-1);
|
||||
cell.innerHTML = "<div id='btwdiv" + rowIndex + "'></div>";
|
||||
cell.align = 'right';
|
||||
cell.className = 'fldbtw';
|
||||
|
||||
// Create total field
|
||||
cell = tr.insertCell(-1);
|
||||
cell.innerHTML = num2curr(sum)
|
||||
@@ -364,14 +400,20 @@ function CreateRow(qty, prc, descr, key)
|
||||
+ "' value='" + num2curr(parseFloat(sum)) + "'>";
|
||||
cell.align = 'right';
|
||||
|
||||
// Create description field
|
||||
cell = tr.insertCell(-1);
|
||||
cell.innerHTML = "<input type='text' class='fld required'"
|
||||
+ " onblur='DesChanged(event);'"
|
||||
+ " id='descript" + rowIndex + "' name='descript" + rowIndex + "' maxlength='255'>";
|
||||
$("input", cell).val(descr); // safe oplossing
|
||||
$("#btwdiv" + rowIndex).load("../Shared/loadBtwTabel.asp",
|
||||
{ fieldname: "btw" + rowIndex,
|
||||
sel_key: "key", // select key is fin_btwtabelwaarde_key
|
||||
btw_key: btw,
|
||||
bedrijf_key: uitv_key,
|
||||
required: true,
|
||||
selectjustone: true,
|
||||
extraclass: "btwdiv",
|
||||
onChange: "BtwChanged(event)",
|
||||
emptyOption: ""
|
||||
}
|
||||
);
|
||||
|
||||
matUserArray[rowIndex] = new MldItem(qty, prc, sum, descr, key);
|
||||
matUserArray[rowIndex] = new MldItem(qty, unit, prc, btw, sum, descr, key);
|
||||
matUserArray[rowIndex].row = tr;
|
||||
}
|
||||
|
||||
@@ -397,6 +439,16 @@ function QtyChanged(evt)
|
||||
setTotal(index);
|
||||
}
|
||||
|
||||
function UnitChanged(evt)
|
||||
{
|
||||
evt = evt || window.event;
|
||||
var obj = evt.srcElement || evt.target;
|
||||
var unit = obj.value;
|
||||
var index = obj.id.substr(4);
|
||||
|
||||
matUserArray[index].unit = unit;
|
||||
}
|
||||
|
||||
function PrcChanged(evt)
|
||||
{
|
||||
evt = evt || window.event;
|
||||
@@ -419,6 +471,16 @@ function PrcChanged(evt)
|
||||
setTotal(index);
|
||||
}
|
||||
|
||||
function BtwChanged(evt)
|
||||
{
|
||||
evt = evt || window.event;
|
||||
var obj = evt.srcElement || evt.target;
|
||||
var btw = parseInt(obj.value, 10);
|
||||
var index = obj.id.substr(3);
|
||||
|
||||
matUserArray[index].btw = btw;
|
||||
}
|
||||
|
||||
function DesChanged(evt)
|
||||
{
|
||||
evt = evt || window.event;
|
||||
@@ -426,17 +488,16 @@ function DesChanged(evt)
|
||||
var des = obj.value;
|
||||
var index = obj.id.substr(8);
|
||||
|
||||
matUserArray[index].descript = des;
|
||||
// omschrijving mag maar 1 keer bestaan binnen opdracht.
|
||||
for (var i in matUserArray)
|
||||
matUserArray[index].descript = des;
|
||||
// omschrijving mag maar 1 keer bestaan binnen opdracht.
|
||||
for (var i in matUserArray)
|
||||
{
|
||||
if ((matUserArray[i].descript == des) && (i != index))
|
||||
{
|
||||
if ((matUserArray[i].descript == des) && (i != index))
|
||||
{
|
||||
alert(L("lcl_mld_opdr_materials_unique"));
|
||||
return;
|
||||
}
|
||||
alert(L("lcl_mld_opdr_materials_unique"));
|
||||
return;
|
||||
}
|
||||
// matUserArray[index].descript = des;
|
||||
}
|
||||
}
|
||||
|
||||
function DesCheck()
|
||||
@@ -470,9 +531,8 @@ function setTotal(index)
|
||||
{
|
||||
if ((matUserArray.length != 0) && (index >= 0))
|
||||
{ // Na wijzigen van amount of price moet de sum van deze regel worden aangepast.
|
||||
matUserArray[index].sum = parseFloat(matUserArray[index].amount * matUserArray[index].price);
|
||||
matUserArray[index].row.cells[3].innerHTML = "<nobr>" + num2curr(matUserArray[index].sum) + "</nobr>"
|
||||
+ " ";
|
||||
matUserArray[index].sum = parseFloat(matUserArray[index].amount * matUserArray[index].price);
|
||||
matUserArray[index].row.cells[5].innerHTML = "<nobr>" + num2curr(matUserArray[index].sum) + "</nobr>" + " ";
|
||||
}
|
||||
var total = 0;
|
||||
for (var i in matExistArray)
|
||||
|
||||
@@ -179,7 +179,7 @@ function mld_melding_materiaal()
|
||||
{
|
||||
// Maximum lengte van url is 2083 karakters (maximum path lengte is 2048 karakters).
|
||||
// Daarom de strings niet via url (GET) meesturen maar via params van openModalDetail (Nadeel: nu wel clientside beschikbaar bij mld_opdr_materiaal.asp)
|
||||
var url = "mld_opdr_materiaal.asp?opdr_key=" + opdr_key + "&readonly=1";
|
||||
var url = "mld_opdr_materiaal.asp?opdr_key=" + opdr_key + "&readonly=1" + "&uitv_key=" + $("#uitvoerende").val();
|
||||
|
||||
FcltMgr.openModalDetail(url,
|
||||
L("lcl_mld_materialen"),
|
||||
|
||||
@@ -90,7 +90,8 @@ th {
|
||||
padding-left: 6px;
|
||||
}
|
||||
#logintable #visname,
|
||||
#logintable #vispswd
|
||||
#logintable #vispswd,
|
||||
#logintable #otpcode
|
||||
{
|
||||
width: 250px;
|
||||
border: 1px solid #B1B3B4;
|
||||
@@ -2340,14 +2341,14 @@ select.fldimport_app_key, .fldfinomsch, .flduitvExist
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.flduren, .fldgeboekt, .flduurtarief, .fldmatkosten, .fldcorrkosten, .fldtotkosten, .fldtermkosten, .fldbeslimiet, .fldprjraming, .rescat_p_c, .rescat_tp_c, .fldfinsom,
|
||||
.flduren, .fldgeboekt, .flduurtarief, .fldmatkosten, .fldcorrkosten, .fldtotkosten, .fldtermkosten, .fldbeslimiet, .fldprjraming, .rescat_p_c, .rescat_tp_c,
|
||||
.fldcntprijs, .fldcntopp, .fldmrkprijs, .fldcntamount, .fldalgprijs, .fldfinsumover, .fldfinsumbelow, .fldbessrtweging, .fldbessrtprijs, .fldbestsrttotaal,
|
||||
.fldmatamount, .fldmatprice, .fldmattotal, .fldkpnlimiet, .fldcntverlengen, .fldroomkosten, .fldvoorzkosten, .fldroomkorting, .fldroomtotaal, .fldrvskosten, .fldrespijt,
|
||||
.fldkpnlimiet, .fldcntverlengen, .fldroomkosten, .fldvoorzkosten, .fldroomkorting, .fldroomtotaal, .fldrvskosten, .fldrespijt,
|
||||
.flduitvoertijd1, .flduitvoertijd2, .flduitvoertijd3, .flduitvoertijd4, .fldalg_uitvtijd, .fldbdr_uitvtijd, .fldins_uitvtijd, .fldmld_uitvtijd, .fldmld_accpettijd,
|
||||
.flddayshours, .flddayshours3, .flddayshours1, .flddayshours2, .flddayshours4, .flddayshourse, .flddayshours_resp, .flddayshours_urg, .fldfreebudget {
|
||||
width: 100px;
|
||||
}
|
||||
.fldfinbedrag {
|
||||
.fldfinbedrag, .fldmatamount, .fldmatprice, .fldmattotal, .fldfinsom {
|
||||
width: 100px;
|
||||
text-align:right;
|
||||
}
|
||||
@@ -2389,6 +2390,9 @@ select.fldimport_app_key, .fldfinomsch, .flduitvExist
|
||||
width: 20px;
|
||||
}
|
||||
|
||||
.btwdiv {
|
||||
width: 100px;
|
||||
}
|
||||
#fldobjPossible, #fldobjExist {width: 380px;}
|
||||
.fldobjcolumn {width: 200px; text-align:center}
|
||||
.fldobjmidcolumn {width: 140px; text-align:center}
|
||||
@@ -2590,7 +2594,7 @@ body.likemodal {
|
||||
#mod_prsinzetbaar {width:500px;}
|
||||
#mod_resupdateroom {width:430px;}
|
||||
#mod_resupdateobj {width:400px;}
|
||||
#mod_mldmat {width:625px;}
|
||||
#mod_mldmat {width:900px;}
|
||||
#mod_mldstdmsrtruimte {width:400px;}
|
||||
#mod_authQR {width:500px;}
|
||||
#mod_bijlagen {width:600px;}
|
||||
|
||||
@@ -13,9 +13,15 @@ DOCTYPE_Disable = true;
|
||||
|
||||
<%
|
||||
// Build a group list
|
||||
var fieldname = getFParam("fieldname", null);
|
||||
var select_key = getFParam("sel_key", "key");
|
||||
var btw_key = getFParamInt("btw_key", null);
|
||||
var label = getFParam("label", null);
|
||||
var extraclass = getFParam("extraclass", null);
|
||||
var bedrijf_key = getFParamInt("bedrijf_key", -1);
|
||||
var selectjustone = getFParam("selectjustone", true);
|
||||
var emptyOption = getFParam("emptyOption", null);
|
||||
var onChange = getFParam("onChange", null);
|
||||
var required = getFParam("required", false);
|
||||
|
||||
var btwtabel_key = -1;
|
||||
@@ -39,7 +45,7 @@ if (btwtabel_key == -1)
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
var sql = "SELECT fin_btwtabelwaarde_perc"
|
||||
var sql = "SELECT " + (select_key == "key"? "fin_btwtabelwaarde_key" : "fin_btwtabelwaarde_perc")
|
||||
+ " , fin_btwtabelwaarde_oms"
|
||||
+ " FROM fin_btwtabelwaarde"
|
||||
+ " WHERE fin_btwtabel_key = " + btwtabel_key
|
||||
@@ -49,9 +55,22 @@ var params = { required: required,
|
||||
selectjustone: selectjustone
|
||||
}
|
||||
|
||||
if (btw_key != null)
|
||||
params.initKey = btw_key;
|
||||
if (label != null)
|
||||
params.label = label;
|
||||
if (emptyOption != null)
|
||||
params.emptyOption = emptyOption;
|
||||
if (extraclass != null)
|
||||
params.extraclass = extraclass;
|
||||
if (onChange != null)
|
||||
params.onChange = onChange;
|
||||
|
||||
FCLTselectorOptions(sql,
|
||||
params);
|
||||
if (fieldname)
|
||||
FCLTselector(fieldname,
|
||||
sql,
|
||||
params);
|
||||
else
|
||||
FCLTselectorOptions(sql,
|
||||
params);
|
||||
%>
|
||||
|
||||
@@ -92,7 +92,7 @@ function FCLTselector(fieldName, sql, params)
|
||||
if (!params.mobile) {
|
||||
%> <!--[if lt IE 8]><div id='req_<%=fieldName%>' class='fld<%=fieldName%> <%=params.required? " required" : ""%>'><![endif]--><%
|
||||
}
|
||||
%><select class="fld<%=fieldName%><%=params.required? " required" : ""%>"
|
||||
%><select class="fld<%=fieldName%><%=params.required? " required" : ""%> <%=params.extraclass? " " + params.extraclass : ""%>"
|
||||
name="<%=fieldName%>"
|
||||
id="<%=params.id%>"
|
||||
<%=params.multi? " multiple" : ""%>
|
||||
|
||||
Reference in New Issue
Block a user