Подскажите, пожалуйста, уже устал просто, ничего в этом CRM работать нормально не хочет.
как это убрать?
У меня есть поля на форме (Числовые, типа Int, дробные, тип Float, тестовые, varchar).
Цифры некоторые вводятся в поле типа varchar, Затем это значение умножается (или делится) в зависимости от операции на значение в поле типа int, и на выходе получаем число типа float (разумеется в JavaScript Дробные числа через точку записываются например.
X++:
var Value = 1000;
var DX = 23;
var Summa = Value / DX;
/ *
Summa = 43.478260869565217391304347826087
*
Как видно разделитель у нас точка, но если обратить внимание на значения в полях типа float, на форме CRM, появляется запятая? Бредятина полная - зачем менять синтаксис языка и делать так чтобы невозможно было присваивать значения расчетным полям? мне не понятно.
Я решил добить всё-таки этот CRM.
Написал такую функцию:
X++:
function replace_string(txt,cut_str,paste_str){
var f=0;
var ht='';
ht = ht + txt;
f=ht.indexOf(cut_str);
while (f!=-1){
f=ht.indexOf(cut_str);
if (f>0){
ht = ht.substr(0,f) + paste_str + ht.substr(f+cut_str.length);
};
};
return ht
};
если по-простому, она находит в строке нужный символ и заменяет его на другой, нами указанный.
примеряем эту функцию к нашему расчетному дробному числу:
X++:
Summa = replace_string(Summa,".",",");
// получаем строку Summa уже без точки, а запятой, как любит наш CRM
Пытаемся присвоить это значение нашему полю
X++:
crmForm.all.new_value.DataValue = Summa;
получаем ошибку: Этот элемент управления принимает только числовые значения, в итоге значение нужного нам поля не меняется.
Забыли преобразовать строку в тип Float (или int) тут не важно.
делаем:
X++:
Summa = parseFloat(Summa);
alert("Summa = " + Summa);
Получаем
Такого поворота судьбы я не ожидал. Выводы:
1) Не понятно как нужно присваивать таким полям расчетные значения.
2) Не ясно как нужно преобразовывать расчетные значения к виду приемлемому для CRM.
Если кто может помогите пожалуйста.
У меня уже нервы сдают - неделя времени потрачена в пустую, каждый день придумываю новые алгоритмы, парсю значения, преобразовываю, складываю, делю - одно и тоже, либо нули, либо "Этот элемент принимает только числовые значения".