Имя: Пароль:
1C
1С v8
Почему неправильно?
0 Klesk
 
23.11.12
13:18
Прогресс=Прогресс+ 100/МассивФайлов.Количество();                

Прогресс от 1 до 100
1 rbcvg
 
23.11.12
13:19
чаво?
2 nunzio
 
23.11.12
13:19
Индикатор ?
3 Starhan
 
23.11.12
13:19
шоб те пользователи такую постановку задачи делали
4 Irek-kazan
 
23.11.12
13:19
а если МассивФайлов.Количество()=100500?
5 Klesk
 
23.11.12
13:19
(2) да
6 Starhan
 
23.11.12
13:19
всю жизь
7 Попытка1С
 
23.11.12
13:20
че это
8 nunzio
 
23.11.12
13:20
В цикле

Прогресс = Прогресс + 1 ?

Народ играем в Вангу.
9 Heckfy
 
23.11.12
13:20
А не проще ли сначала индикатору максимальное значение установить МассивФайлов.Количество()? И ничего ни на что делить не нужно.
10 Klesk
 
23.11.12
13:22
187 файлов, примерно на середине индикатор до конечного значения доходит

(1)(3)(7) кто в теме тот понял
11 Irek-kazan
 
23.11.12
13:22
а может правильно? уверен, что неправильно?
12 Heckfy
 
23.11.12
13:23
(0) Весь код давай.
13 nunzio
 
23.11.12
13:25
(10) Индикатору установить макс. значение МассивФайлов.Количество(). В цикле Прогресс = Прогресс + 1.
14 Evpatiy
 
23.11.12
13:25
Прогресс = 100/МассивФайлов.Количество() * СколькоФайловОбработано
15 nunzio
 
23.11.12
13:25
+ надо обнулить Прогресс перед началом исполнения кода.
16 Heckfy
 
23.11.12
13:26
(14) Так не правильно. Зачем делениями/умножениями ресурсы отбирать.
17 Irek-kazan
 
23.11.12
13:26
Даю наводку
вот смотри МассивФайлов.Количество()*один_файл=100%
значит один_файл = 100/МассивФайлов.Количество, вроде все верно? А где ошибка? Может в параметрах цикла? Если МассивФайлов.Количество=100 все правильно работает.
18 Evpatiy
 
23.11.12
13:27
(16) Так правильно в (0) Чего бы оно тогда не отрабатывало.
19 n0ther
 
23.11.12
13:27
это упоротый код
20 Evpatiy
 
23.11.12
13:28
А Прогресс у тебя какого типа?
Может он у тебя тупо каждый раз округляет в большую сторону?
21 Irek-kazan
 
23.11.12
13:29
а вообще ответ в (13)
22 Evpatiy
 
23.11.12
13:29
Скорее всего округляет.
23 Evpatiy
 
23.11.12
13:29
Скорее всего округляет после каждого действия.
24 Klesk
 
23.11.12
13:30
&НаКлиенте
Процедура Загрузить(Команда)    
   МассивФайлов=ПолучитьМассивФайлов(Объект.Путь);    
Для Каждого ПутьКФайлу Из МассивФайлов Цикл
       ОбработкаПрерыванияПользователя ();
       ВыполнитьНаСервере(ПутьКФайлу,?(ПутьКФайлу=МассивФайлов.Получить(МассивФайлов.Количество()-1),Истина,Ложь));
       Прогресс=Прогресс+ 100/МассивФайлов.Количество();                
       ОбновитьОтображениеДанных();
       УдалитьИзВременногоХранилища(ПутьКФайлу);
   КонецЦикла;    
КонецПроцедуры
25 Heckfy
 
23.11.12
13:32
&НаКлиенте
Процедура Загрузить(Команда)    
   МассивФайлов=ПолучитьМассивФайлов(Объект.Путь);
   Прогресс=0;
   Прогресс.МаксимальноеЗначение=МассивФайлов.Количество();
Для Каждого ПутьКФайлу Из МассивФайлов Цикл
       ОбработкаПрерыванияПользователя ();
       ВыполнитьНаСервере(ПутьКФайлу,?(ПутьКФайлу=МассивФайлов.Получить(МассивФайлов.Количество()-1),Истина,Ложь));
       Прогресс=Прогресс+1;              
       ОбновитьОтображениеДанных();
       УдалитьИзВременногоХранилища(ПутьКФайлу);
   КонецЦикла;    
КонецПроцедуры
26 n0ther
 
23.11.12
13:33
у тебя к 187 файлу Прогресс будет за 500 зашкаливать
27 Heckfy
 
23.11.12
13:33
(25) -> (24)
28 eklmn
 
гуру
23.11.12
13:34
МассивФайлов=ПолучитьМассивФайлов(Объект.Путь);
МассивФайлов.Количество()    
Для Каждого ПутьКФайлу Из МассивФайлов Цикл
       ОбработкаПрерыванияПользователя ();
       ВыполнитьНаСервере(ПутьКФайлу,?(ПутьКФайлу=МассивФайлов.Получить(МассивФайлов.Количество()-1),Истина,Ложь));
       Прогресс=Прогресс+ 1;                
       ОбновитьОтображениеДанных();
       УдалитьИзВременногоХранилища(ПутьКФайлу);
   КонецЦикла;
29 eklmn
 
гуру
23.11.12
13:35
эх еп  какие все резкие
30 Klesk
 
23.11.12
13:35
(25) понял, как надо,  спасибо
31 Klesk
 
23.11.12
17:09
Форма.Форма.Форма(333)}: Значение не является значением объектного типа (МаксимальноеЗначение)
   Прогресс.МаксимальноеЗначение=МассивФайлов.Количество();
32 Heckfy
 
23.11.12
17:20
(31)
Элементы.Прогресс.МаксимальноеЗначение=МассивФайлов.Количество();