BUG 7490 Problema con las grillas
Al hacer uso de una formula para operaciones entre columnas de una grilla el resultado siempre es redondeado a pesar de que los valores contengan decimales.
This commit is contained in:
@@ -1152,23 +1152,30 @@ var G_Grid = function(oForm, sGridName){
|
|||||||
for (i = 0; i < aFields.length; i++) {
|
for (i = 0; i < aFields.length; i++) {
|
||||||
if (!isNumber(aFields[i])) {
|
if (!isNumber(aFields[i])) {
|
||||||
oAux = this.getElementByName(aAux[1], aFields[i]);
|
oAux = this.getElementByName(aAux[1], aFields[i]);
|
||||||
|
//sAux = sAux.replace(new RegExp(aFields[i], "g"), "parseFloat(G.cleanMask(this.getElementByName(" + aAux[1] + ", '" + aFields[i] + "').value().replace(/[$|a-zA-Z\s]/g,'') || 0, '" + (oAux.sMask ? oAux.sMask : '')
|
||||||
sAux = sAux.replace(new RegExp(aFields[i], "g"), "parseFloat(G.cleanMask(this.getElementByName(" + aAux[1] + ", '" + aFields[i] + "').value().replace(/[$|a-zA-Z\s]/g,'') || 0, '" + (oAux.sMask ? oAux.sMask : '')
|
sAux = sAux.replace(new RegExp(aFields[i], "g"), "parseFloat(G.cleanMask(this.getElementByName(" + aAux[1] + ", '" + aFields[i] + "').value().replace(/[$|a-zA-Z\s]/g,'') || 0, '" + (oAux.sMask ? oAux.sMask : '')
|
||||||
+ "').result.replace(/,/g, ''))");
|
+ "').result.replace(/,/g, ''))");
|
||||||
|
|
||||||
eval("if (!document.getElementById('" + aAux[0] + '][' + aAux[1] + '][' + aFields[i] + "]')) { oContinue = false; }");
|
eval("if (!document.getElementById('" + aAux[0] + '][' + aAux[1] + '][' + aFields[i] + "]')) { oContinue = false; }");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
eval("if (!document.getElementById('" + aAux[0] + '][' + aAux[1] + '][' + oField.sFieldName + "]')) { oContinue = false; }");
|
eval("if (!document.getElementById('" + aAux[0] + '][' + aAux[1] + '][' + oField.sFieldName + "]')) { oContinue = false; }");
|
||||||
|
|
||||||
|
var swReal=0;
|
||||||
|
|
||||||
if (oContinue) {
|
if (oContinue) {
|
||||||
//we're selecting the mask to put in the field with the formula
|
//we're selecting the mask to put in the field with the formula
|
||||||
for (i = 0; i < this.aFields.length; i++) {
|
for (i = 0; i < this.aFields.length; i++) {
|
||||||
if(oField.sFieldName==this.aFields[i].sFieldName) {
|
if(oField.sFieldName==this.aFields[i].sFieldName) {
|
||||||
maskformula =this.aFields[i].oProperties.mask;
|
maskformula=this.aFields[i].oProperties.mask;
|
||||||
|
|
||||||
|
if(this.aFields[i].oProperties.validate=='Real')
|
||||||
|
swReal=1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(maskformula!=''){
|
if(maskformula!=''){
|
||||||
maskDecimal=maskformula.split(";");
|
maskDecimal=maskformula.split(";");
|
||||||
|
|
||||||
if(maskDecimal.length > 1) {
|
if(maskDecimal.length > 1) {
|
||||||
maskDecimal=maskDecimal[1].split(".");
|
maskDecimal=maskDecimal[1].split(".");
|
||||||
} else {
|
} else {
|
||||||
@@ -1180,8 +1187,10 @@ var G_Grid = function(oForm, sGridName){
|
|||||||
} else {
|
} else {
|
||||||
maskToPut=0;
|
maskToPut=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
if(swReal==1)
|
||||||
|
maskToPut=2;
|
||||||
|
else
|
||||||
maskToPut=0;
|
maskToPut=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user