diff --git a/APPL/Shared/kenmerk_common.inc b/APPL/Shared/kenmerk_common.inc index 23e8965ea7..655d05df2d 100644 --- a/APPL/Shared/kenmerk_common.inc +++ b/APPL/Shared/kenmerk_common.inc @@ -200,6 +200,7 @@ function getDatatypeValue(table, column, checkval) var oRs_t = Oracle.Execute(tsql); if (oRs_t("data_type").value == "NUMBER") { + __DoLog("oRs_t(data_scale).value: " + (!oRs_t("data_scale").value || oRs_t("data_scale").value > 0)); if (!oRs_t("data_scale").value || oRs_t("data_scale").value > 0) suggestval = parseFloat(checkval) || 0; else @@ -1581,6 +1582,20 @@ function listKenmerk(sql, module, key, props) var oRs_d = Oracle.Execute(dsql); var vervalkolom = oRs_d("fac_kenmerkdomein_verval").Value; + if (flexkenmerkwaarde !== null && String(oRs_d("fac_kenmerkdomein_kolomnaam").value).match(/\_key$/i)) + { + var vv = parseInt(flexkenmerkwaarde, 10); + if (isNaN(vv)) + { // Geen idee wanneer dit voorkomt maar voor debugging: (YKPN#53546) + __DoLog("Ongeldige suggest waarde {0} voor (key)kolom {1}.{2}".format(flexkenmerkwaarde, + oRs_d("fac_kenmerkdomein_objectnaam").value, + oRs_d("fac_kenmerkdomein_kolomnaam").value), "#ff0000"); + flexkenmerkwaarde = "-1"; + } + else + flexkenmerkwaarde = String(vv); + } + var suggestval = getDatatypeValue(oRs_d("fac_kenmerkdomein_objectnaam").value, oRs_d("fac_kenmerkdomein_kolomnaam").value, flexkenmerkwaarde); if (oRs_d("fac_kenmerkdomein_objectnaam").value == "FAC_USRDATA" && oRs_d("fac_usrtab_key").value) { @@ -2199,6 +2214,7 @@ function saveFlexKenmerken(parentKey, kenmerkTable /* eigenlijk: Params */, } function _saveFlexKenmerken(parentKey, params, flexdata) // TODO: support multiMode! { + var kenmerk_keys = new Array(); // kenmerk table is used to check whether a kenmerk already exists or not. if (params.currentKenmerkenSQL) // JGL: Is volgens mij altijd wel aanwezig