FCLT#56379 Numerieke berekende waarde met decimalen wijzigt onterecht agv wijziging flex
svn path=/Website/trunk/; revision=40820
This commit is contained in:
@@ -50,10 +50,20 @@ savekenmerkwaarden(module, refkey, niveau, flexdata);
|
||||
evaluateflexexpressions(module, refkey, false);
|
||||
//removekenmerkwaarden(module, refkey);
|
||||
|
||||
function repeat(c,n)
|
||||
{ // De functie str.repeat(n) volgens W3S kan hier niet gebruikt worden, dus zelf gemaakt.
|
||||
var s = "";
|
||||
for (i=0; i<n; i++)
|
||||
s+=c;
|
||||
return s;
|
||||
}
|
||||
|
||||
var result = [];
|
||||
var sql = "SELECT fac_kenmwaarden_kenmerk_key"
|
||||
+ " , fac_kenmwaarden_waarde"
|
||||
+ " , fac_kenmwaarden_kenmerktype"
|
||||
+ " , fac_kenmwaarden_kenmerklen"
|
||||
+ " , fac_kenmwaarden_kenmerkdec"
|
||||
+ " FROM fac_kenmwaarden"
|
||||
+ " WHERE fac_kenmwaarden_module = " + safe.quoted_sql(module)
|
||||
+ " AND fac_kenmwaarden_refkey = " + refkey
|
||||
@@ -62,9 +72,13 @@ var sql = "SELECT fac_kenmwaarden_kenmerk_key"
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while (!oRs.Eof)
|
||||
{
|
||||
var waarde = oRs("fac_kenmwaarden_waarde").Value ||"";
|
||||
var k_typ = oRs("fac_kenmwaarden_kenmerktype").Value;
|
||||
var n_len = oRs("fac_kenmwaarden_kenmerklen").Value;
|
||||
var n_dec = oRs("fac_kenmwaarden_kenmerkdec").Value;
|
||||
result.push({ kfieldid: flexdata[oRs("fac_kenmwaarden_kenmerk_key").Value].kfieldid,
|
||||
kenmerkkey: oRs("fac_kenmwaarden_kenmerk_key").Value,
|
||||
waarde: oRs("fac_kenmwaarden_waarde").Value,
|
||||
waarde: waarde,
|
||||
kenmerktype: oRs("fac_kenmwaarden_kenmerktype").Value
|
||||
});
|
||||
oRs.MoveNext();
|
||||
|
||||
@@ -432,6 +432,14 @@ function kenmerk_regel(kv_params)
|
||||
// Alleen dan hidden name-velden er bij
|
||||
kvhtml += "<input type=hidden name='"+kv_params.nameprefix + kv_params.idCounter+"key' id='"+kv_params.nameprefix + kv_params.idCounter+"key' value='"+kv_params.kkey+"'>";
|
||||
kvhtml += "<input type=hidden name='"+kv_params.nameprefix + kv_params.idCounter+"t' id='"+kv_params.nameprefix + kv_params.idCounter+"t' value='"+kv_params.ktype+"'>";
|
||||
if (kv_params.ktype == "C" || kv_params.ktype == "N" || kv_params.ktype == "B")
|
||||
{
|
||||
kvhtml += "<input type=hidden name='"+kv_params.nameprefix + kv_params.idCounter+"p' id='"+kv_params.nameprefix + kv_params.idCounter+"p' value='"+kv_params.klen+"'>";
|
||||
if (kv_params.ktype == "N" || kv_params.ktype == "B")
|
||||
{
|
||||
kvhtml += "<input type=hidden name='"+kv_params.nameprefix + kv_params.idCounter+"d' id='"+kv_params.nameprefix + kv_params.idCounter+"d' value='"+kv_params.kdec+"'>";
|
||||
}
|
||||
}
|
||||
if (kv_params.isExpression)
|
||||
{
|
||||
kvhtml += "<input type=hidden name='"+kv_params.nameprefix + kv_params.idCounter+"e' id='"+kv_params.nameprefix + kv_params.idCounter+"e' value='"+ ((kv_params.expressionClass == "flexshow") ? 2 : 1) +"'>";
|
||||
@@ -1959,6 +1967,8 @@ function listKenmerk(sql, module, key, props)
|
||||
, module: module
|
||||
, kvolgnr: kvolgnr
|
||||
, ktype: ktype
|
||||
, klen: klen
|
||||
, kdec: kdec
|
||||
, kkey: kkey
|
||||
, kdim: kdim
|
||||
, readonlyfield: readonlyfield
|
||||
@@ -2772,6 +2782,8 @@ function savekenmerkwaarden(module, refkey, kenmerkniveau, flexdata)
|
||||
+ " , fac_kenmwaarden_kenmerk_key"
|
||||
+ " , fac_kenmwaarden_waarde"
|
||||
+ " , fac_kenmwaarden_kenmerktype"
|
||||
+ " , fac_kenmwaarden_kenmerklen"
|
||||
+ " , fac_kenmwaarden_kenmerkdec"
|
||||
+ " , fac_kenmwaarden_isexpr"
|
||||
+ " , prs_perslid_key"
|
||||
+ " )"
|
||||
@@ -2783,6 +2795,8 @@ function savekenmerkwaarden(module, refkey, kenmerkniveau, flexdata)
|
||||
+ " , " + flexdata[kenmerkkey].id
|
||||
+ " , " + safe.quoted_sql(flexdata[kenmerkkey].value)
|
||||
+ " , " + safe.quoted_sql(flexdata[kenmerkkey].type)
|
||||
+ " , " + (flexdata[kenmerkkey].len ? flexdata[kenmerkkey].len : "NULL")
|
||||
+ " , " + (flexdata[kenmerkkey].dec ? flexdata[kenmerkkey].dec : "NULL")
|
||||
+ " , " + (flexdata[kenmerkkey].expr ? 1 : 0) // 2 -> 0
|
||||
+ " , " + user_key
|
||||
+ " )";
|
||||
@@ -2838,6 +2852,8 @@ function flexkenmerken2jsondata(params)
|
||||
{
|
||||
var kk = getFParamInt(flex + "key"); // kenmerk key
|
||||
var kt = getFParam(flex + "t", ""); // Type letter
|
||||
var kp = getFParam(flex + "p", ""); // lengte veld (alleen voor type C en N)
|
||||
var kd = getFParam(flex + "d", ""); // aantal decimalen (alleen voor type N)
|
||||
var kv = getFParam(flex + "val", ""); // kenmerk waarde
|
||||
var ke = getFParamInt(flex + "e", 0); // Flexkenmerk is een expressie.
|
||||
var checkVal = "check_" + flex + "val";
|
||||
@@ -2865,12 +2881,6 @@ function flexkenmerken2jsondata(params)
|
||||
// Als het een numeriek/decimaal veld is, kan het ook een checkbox zijn
|
||||
if (kt == "N")
|
||||
{
|
||||
kv = kv.replace(",", "."); // We slaan altijd op met punten
|
||||
if (kv.substr(0, 2) == "0.") // leading zero er af. Doet de database trigger ook en nu
|
||||
if (kv.length == 2 || kv.substr(3) == " ")
|
||||
kv = "0";
|
||||
else
|
||||
kv = kv.substr(1); // krijgen we geen ongewenste tracking.
|
||||
// Kijken of het een checkbox is
|
||||
var isCheckbox = getFParamInt("has_" + flex + "val", 0) == 1;
|
||||
if (isCheckbox)
|
||||
@@ -2878,6 +2888,17 @@ function flexkenmerken2jsondata(params)
|
||||
var isChecked = Request.Form(flex + "val").Count;
|
||||
kv = (isChecked ? "1" : ""); // Een niet aangevinkte checkbox hoeft niet opgeslagen te worden als de waarde "0".
|
||||
}
|
||||
else
|
||||
{
|
||||
kv = kv.replace(",", "."); // We slaan altijd op met punten
|
||||
if (kv.substr(0, 2) == "0.") // leading zero er af. Doet de database trigger ook en nu
|
||||
{
|
||||
if (kv.length == 2 || kv.substr(3) == " ")
|
||||
kv = "0";
|
||||
else
|
||||
kv = kv.substr(1); // krijgen we geen ongewenste tracking.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Suggest kenmerken moeten ook gedelete worden als ze leeg zijn. Dus voor delete actie leeg maken.
|
||||
@@ -2887,6 +2908,8 @@ function flexkenmerken2jsondata(params)
|
||||
jsondata[kk] = { id: kk,
|
||||
//name: "",
|
||||
type: kt,
|
||||
len: kp,
|
||||
dec: kd,
|
||||
value: kv,
|
||||
expr: ke,
|
||||
kfieldid: flex
|
||||
|
||||
Reference in New Issue
Block a user