Если у вас A() всё равно возвращает NaN, значит одно из значений возвращается как NaN при сравнение оно не равно ничему и будет возвращаться функцией — проверьте содержимое массива и значение context.controls.FormComboBox.getValue().Code
function A() {
var a = context.parameters.FormOfFinancialStatement.getValue();
if (a != undefined) {
for (var i = a.length - 1; i >= 0; --i) {
if (a[i].FormOfFinancialStatement.Code != context.controls.FormComboBox.getValue().Code) return i;
}
return -1;
}
return true;
}