Commit 2d94935b authored by GoshaZotov's avatar GoshaZotov

fix bug 35735

parent 00c02782
...@@ -118,6 +118,7 @@ ...@@ -118,6 +118,7 @@
//преобразуем аргумент поле //преобразуем аргумент поле
var isNumberField = field.tocNumber(); var isNumberField = field.tocNumber();
var isEmptyField = cElementType.empty === field.type;
if(cElementType.error === isNumberField.type){ if(cElementType.error === isNumberField.type){
field = field.getValue(); field = field.getValue();
}else{ }else{
...@@ -130,7 +131,7 @@ ...@@ -130,7 +131,7 @@
} }
} }
if(null === field){ if(!isEmptyField && null === field){
return new cError(cErrorType.wrong_value_type); return new cError(cErrorType.wrong_value_type);
} }
...@@ -164,9 +165,16 @@ ...@@ -164,9 +165,16 @@
winElems[i - 1] = previousWinArray; winElems[i - 1] = previousWinArray;
} }
var needDataColumn = headersDataMap[field];
var resArr = []; var resArr = [];
var usuallyAddElems = []; var usuallyAddElems = [];
var needDataColumn;
if(isEmptyField && headersConditionArr && headersConditionArr[0]){
needDataColumn = headersDataMap[headersConditionArr[0]];
}else{
needDataColumn = headersDataMap[field];
}
if(!needDataColumn){ if(!needDataColumn){
return new cError(cErrorType.wrong_value_type); return new cError(cErrorType.wrong_value_type);
} }
...@@ -211,6 +219,10 @@ ...@@ -211,6 +219,10 @@
var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]); var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]);
var argClone = oArguments.args; var argClone = oArguments.args;
if(cElementType.empty === argClone[1].type){
return new cError(cErrorType.wrong_value_type);
}
argClone[1] = argClone[1].tocString(); argClone[1] = argClone[1].tocString();
var argError; var argError;
...@@ -259,7 +271,7 @@ ...@@ -259,7 +271,7 @@
var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]); var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]);
var argClone = oArguments.args; var argClone = oArguments.args;
argClone[1] = argClone[1].tocString(); argClone[1] = cElementType.empty === argClone[1].type ? argClone[1] : argClone[1].tocString();
var argError; var argError;
if (argError = this._checkErrorArg(argClone)) { if (argError = this._checkErrorArg(argClone)) {
...@@ -300,7 +312,7 @@ ...@@ -300,7 +312,7 @@
var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]); var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]);
var argClone = oArguments.args; var argClone = oArguments.args;
argClone[1] = argClone[1].tocString(); argClone[1] = cElementType.empty === argClone[1].type ? argClone[1] : argClone[1].tocString();
var argError; var argError;
if (argError = this._checkErrorArg(argClone)) { if (argError = this._checkErrorArg(argClone)) {
...@@ -339,6 +351,10 @@ ...@@ -339,6 +351,10 @@
var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]); var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]);
var argClone = oArguments.args; var argClone = oArguments.args;
if(cElementType.empty === argClone[1].type){
return new cError(cErrorType.wrong_value_type);
}
argClone[1] = argClone[1].tocString(); argClone[1] = argClone[1].tocString();
var argError; var argError;
...@@ -375,6 +391,10 @@ ...@@ -375,6 +391,10 @@
var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]); var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]);
var argClone = oArguments.args; var argClone = oArguments.args;
if(cElementType.empty === argClone[1].type){
return new cError(cErrorType.wrong_value_type);
}
argClone[1] = argClone[1].tocString(); argClone[1] = argClone[1].tocString();
var argError; var argError;
...@@ -412,6 +432,10 @@ ...@@ -412,6 +432,10 @@
var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]); var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]);
var argClone = oArguments.args; var argClone = oArguments.args;
if(cElementType.empty === argClone[1].type){
return new cError(cErrorType.wrong_value_type);
}
argClone[1] = argClone[1].tocString(); argClone[1] = argClone[1].tocString();
var argError; var argError;
...@@ -450,6 +474,10 @@ ...@@ -450,6 +474,10 @@
var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]); var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]);
var argClone = oArguments.args; var argClone = oArguments.args;
if(cElementType.empty === argClone[1].type){
return new cError(cErrorType.wrong_value_type);
}
argClone[1] = argClone[1].tocString(); argClone[1] = argClone[1].tocString();
var argError; var argError;
...@@ -492,15 +520,19 @@ ...@@ -492,15 +520,19 @@
cDSTDEV.prototype.argumentsMax = 3; cDSTDEV.prototype.argumentsMax = 3;
cDSTDEV.prototype.Calculate = function (arg) { cDSTDEV.prototype.Calculate = function (arg) {
var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]); var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]);
var argClone = oArguments.args; var argClone = oArguments.args;
if(cElementType.empty === argClone[1].type){
return new cError(cErrorType.wrong_value_type);
}
argClone[1] = argClone[1].tocString(); argClone[1] = argClone[1].tocString();
var argError; var argError;
if (argError = this._checkErrorArg(argClone)) { if (argError = this._checkErrorArg(argClone)) {
return this.value = argError; return this.value = argError;
} }
var resArr = getNeedValuesFromDataBase(argClone[0], argClone[1], argClone[2]); var resArr = getNeedValuesFromDataBase(argClone[0], argClone[1], argClone[2]);
if(cElementType.error === resArr.type){ if(cElementType.error === resArr.type){
...@@ -548,6 +580,10 @@ ...@@ -548,6 +580,10 @@
var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]); var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]);
var argClone = oArguments.args; var argClone = oArguments.args;
if(cElementType.empty === argClone[1].type){
return new cError(cErrorType.wrong_value_type);
}
argClone[1] = argClone[1].tocString(); argClone[1] = argClone[1].tocString();
var argError; var argError;
...@@ -602,6 +638,10 @@ ...@@ -602,6 +638,10 @@
var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]); var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]);
var argClone = oArguments.args; var argClone = oArguments.args;
if(cElementType.empty === argClone[1].type){
return new cError(cErrorType.wrong_value_type);
}
argClone[1] = argClone[1].tocString(); argClone[1] = argClone[1].tocString();
var argError; var argError;
...@@ -643,6 +683,10 @@ ...@@ -643,6 +683,10 @@
var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]); var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]);
var argClone = oArguments.args; var argClone = oArguments.args;
if(cElementType.empty === argClone[1].type){
return new cError(cErrorType.wrong_value_type);
}
argClone[1] = argClone[1].tocString(); argClone[1] = argClone[1].tocString();
var argError; var argError;
...@@ -703,6 +747,10 @@ ...@@ -703,6 +747,10 @@
var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]); var oArguments = this._prepareArguments(arg, arguments[1], true, [cElementType.array, null, cElementType.array]);
var argClone = oArguments.args; var argClone = oArguments.args;
if(cElementType.empty === argClone[1].type){
return new cError(cErrorType.wrong_value_type);
}
argClone[1] = argClone[1].tocString(); argClone[1] = argClone[1].tocString();
var argError; var argError;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment