Имя: Пароль:
1C
 
v8: получаю разное число (1коп) в web и тонком клиенте
0 vde69
 
25.01.11
09:21
суть проблеммы:

есть загрузка документов которая работает правильно (суммы везде проставляются корректно), а вот итог загруженых сумм в тонком клиенте считает правильно а в web на 1 копейку меньше, код простой

в цикле
               
   Сумма = эл[0].Получить("СуммаСФ");
   Если Сумма = Неопределено Тогда
       Сумма = 0;
   КонецЕсли;
   СуммаЗагруженыхСФ = СуммаЗагруженыхСФ + Сумма;



вероятно дело в разных типах данных переменной "СуммаЗагруженыхСФ" видимо для веба она E+ и от сюда возможность "дребезга",

чего делать?
1 vde69
 
25.01.11
10:31
выяснил следующее

Окр(СуммаЗагруженыхСФ,2) в веб клиенте возвращает 248 472.259999999

чего делать?
2 a_alenkin
 
25.01.11
12:47
Могу предложить преобразовать в строку, обрезать и обратно в число
3 strange2007
 
25.01.11
12:49
А если на сервере? Серверу то по барабану на клиента
4 vde69
 
25.01.11
13:39
решил путем спользования СуммаЗагруженыхСФ на сервере, но грабли все равно прикольные
5 Fragster
 
гуру
25.01.11
13:42
(0)(1) покрути в разных браузерах, плз!
6 Ненавижу 1С
 
гуру
25.01.11
13:45
(4) конечно прикольные, особенно если использовать циклы на веб-клиенте, он и не обещал ни разу точного значения, ибо ява-скрипт как минимум не поддерживает числа с фикс дробной частью
7 vde69
 
25.01.11
13:45
(5) крутил

IE-7
IE-8
Мазила

везде так-же, видимо это в ява машине так



мое решение :)
&НаСервере
Функция  СформироватьТекстовоеСообщениеЗагрузкиНаСервере(КоличествоЗагруженыхСФ, СуммаЗагруженыхСФ, КоличествоПропущеныхСФ)
   ТекстовоеСообщение = "Загружено из файла - "+ Окр(КоличествоЗагруженыхСФ,0) + " документов,
           |на сумму - " + Формат(Окр(СуммаЗагруженыхСФ,2), "ЧДЦ=2; ЧРД=.; ЧРГ=' '; ЧН=0")+"руб
           |пропущено - " + Окр(КоличествоПропущеныхСФ,0) + " строк";
           
           
   Возврат ТекстовоеСообщение;            
КонецФункции
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн