15.12.2010, 11:46 | #1 |
Участник
|
Вечная проблема со скриптами в CRM
Подскажите, пожалуйста, уже устал просто, ничего в этом CRM работать нормально не хочет.
X++: У меня есть поля на форме (Числовые, типа Int, дробные, тип Float, тестовые, varchar). Цифры некоторые вводятся в поле типа varchar, Затем это значение умножается (или делится) в зависимости от операции на значение в поле типа int, и на выходе получаем число типа float (разумеется в JavaScript Дробные числа через точку записываются например. X++: var Value = 1000; var DX = 23; var Summa = Value / DX; / * Summa = 43.478260869565217391304347826087 * Я решил добить всё-таки этот 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); X++: /*
Summa = 0.0;
*/ 1) Не понятно как нужно присваивать таким полям расчетные значения. 2) Не ясно как нужно преобразовывать расчетные значения к виду приемлемому для CRM. Если кто может помогите пожалуйста. У меня уже нервы сдают - неделя времени потрачена в пустую, каждый день придумываю новые алгоритмы, парсю значения, преобразовываю, складываю, делю - одно и тоже, либо нули, либо "Этот элемент принимает только числовые значения". |
|
|
|