|
Почему неправильно? | ☑ | ||
---|---|---|---|---|
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)
Элементы.Прогресс.МаксимальноеЗначение=МассивФайлов.Количество(); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |