Имя: Пароль:
1C
1С v8
индикатор оставшегося времени
0 cons74
 
30.09.14
15:12
Кто-нибудь делал индикатор выполнения обработки с отсчетом оставшегося времени?
Хотя-бы ссылки.
1 Ерепень
 
30.09.14
15:15
я полностью делал
2 cons74
 
30.09.14
15:16
(1) куда копать?
3 МойКодУныл
 
30.09.14
15:17
(2) рачсчитывать относительно выполненных операций удельный вес одной операции, делить\умножать количество оставшихся
4 ВРедная
 
30.09.14
15:17
(2) Копай в сторону красной буквы "Я" справа.
5 Maxus43
 
30.09.14
15:17
ты имеешь ввиду на управляемых формах индикатор серверной процедуры?
6 Ерепень
 
30.09.14
15:18
обMSScriptControl=Новый COMОбъект("MSScriptControl.ScriptControl");
обMSScriptControl.language="javascript";
стр10="          ";
плк10="||||||||||";

ОбщееКоличество=Выборка.Количество();
ЭлементыФормы.Индикатор.МаксимальноеЗначение=ОбщееКоличество;
ЭлементыФормы.Индикатор.Значение=0;
Н=0;
СуммаВремени=0;
ДлинаБаяна=1; НаправлениеБаяна=2;
Пока Выборка.Следующий() Цикл
    Старт=обMSScriptControl.eval("new Date().getTime()");
    ОбработкаПрерыванияПользователя();
    Н=Н+1;
    Осталось=ОбщееКоличество-Н;
    ЭлементыФормы.Индикатор.Значение=ЭлементыФормы.Индикатор.Значение+1;
    Финиш=обMSScriptControl.eval("new Date().getTime()");
    СуммаВремени=СуммаВремени+Финиш-Старт;
    ОсталосьВремени=Осталось*СуммаВремени/(60000*Н);
    Минут=Цел(ОсталосьВремени); Секунд=Формат(Цел((ОсталосьВремени-Минут)*60), "ЧЦ=2; ЧН=; ЧВН=");
    ДлинаБаяна=ДлинаБаяна+НаправлениеБаяна;
    ДлинаБаяна=Макс(ДлинаБаяна, 1);
    Если ДлинаБаяна>8 ИЛИ ДлинаБаяна<2 Тогда НаправлениеБаяна=-НаправлениеБаяна; КонецЕсли;
    ф=(10-ДлинаБаяна)/2+2;
    ЭлементыФормы.НадписьОбщееКоличество.Заголовок=Строка(Минут)+":"+Секунд+Лев(стр10, ф)+"[:"+Лев(плк10, ДлинаБаяна)+":]"+Лев(стр10, ф)+Осталось;
КонецЦикла;
7 cons74
 
30.09.14
15:18
короче вот нашел infostart.ru/public/121963/
8 cons74
 
30.09.14
15:20
(6) спасибо добрый человек
9 Ерепень
 
30.09.14
15:20
(6) шрифт нужен только моноширинный
10 TormozIT
 
гуру
30.09.14
16:27
Для клиента http://infostart.ru/public/57223/
11 stonewolf
 
30.09.14
16:33
Шаблон строки состояния для коллекции:
<?"Объект">_и="";<?"Объект">_с=0;<?"Объект">_кол=<?"Объект">.Количество();<?"Объект">_нд=ТекущаяДата();<?"Объект">_пд=<?"Объект">_нд;
    <?"Объект">_с=<?"Объект">_с+1;Если <?"Объект">_пд<>ТекущаяДата() Тогда <?"Объект">_пд=ТекущаяДата();<?"Объект">_ост=(<?"Объект">_пд-<?"Объект">_нд)/<?"Объект">_с*(<?"Объект">_кол-<?"Объект">_с);Состояние(<?"Объект">_и+Формат(<?"Объект">_с/<?"Объект">_кол*100,"ЧДЦ=1;")+"% "+формат('00010101'+<?"Объект">_ост,"ДФ=ЧЧ:мм:сс"));КонецЕсли;
12 Wobland
 
30.09.14
16:54
(11) никогда не читай этого детям на ночь.  что это вообще?
13 stonewolf
 
01.10.14
09:54
(12) Написано же, шаблон. Какая именно буква непонятна? Первая строка до цикла, вторая внутри.
14 Torquader
 
01.10.14
16:09
Самый интересный вопрос - как определить оставшееся время - если как у Microsoft, то лучше и не делать.
15 stonewolf
 
01.10.14
16:35
(14) в (11) посмотри.
16 13_Mult
 
01.10.14
16:46
(6) Гыыы, с баяном