Имя: Пароль:
1C
1C 7.7
v7: Прогрессбар
,
0 MagicFly
 
13.03.14
10:46
Дорогие форумчане, подскажите, пожалуйста! Как можно в 1С 7.7 реализовать прогрессбар, чтобы он выполнялся в конкретном цикле?
1 MagicFly
 
13.03.14
10:48
Есть некий цикл по заполнению документов, с некоторыми условиями, в него бы хотелось встроить прогрессбар, чтобы видеть, что выполняется процесс
2 povar
 
13.03.14
10:48
Буква Я
3 Кай066
 
13.03.14
10:49
Упрт?
4 vladko
 
13.03.14
10:49
(0) он имитируется из текстовых буковок I на форме отчёта. В цикле по одной добавляй в строку с ними и выводи на форму, а рядом выводи процент обработанных данных тоже в тексте на форме отчёта
5 antoneus
 
13.03.14
11:03
Если эстет - можно сделать синенькие n шрифтом WingDings, будут эстетичные квадратики.
6 Мутабор
 
13.03.14
11:03
Кст
7 aka AMIGO
 
13.03.14
11:12
у меня кой-где вот такой самодельный ПГб:

http://gyazo.com/f79720881736f8e32eaffd383ca18bc8
8 aka AMIGO
 
13.03.14
11:17
+7 ###_/Рег
в начале выводится заготовка ____/Рег
потом, по мере выполнения, "_" заменяются на "#"
всё это - через "Состояние..", ГК вида:
//        Стат="";
//        Для ф=1 По СЗ.РазмерСписка() Цикл
//            Стат = Стат+"_";
//        КонецЦикла;
//        //Рег.УстановитьЗначениеФильтра("Товар",СЗ,2);
//        Для ф=1 По СЗ.РазмерСписка() Цикл
//            
//                Стат="#"+Стат;
//                Стат = Лев(Стат, СЗ.РазмерСписка());
//                Состояние(Стат+"/Рег");

всё не так скушно, как смотреть на неподвижный экран
9 MagicFly
 
13.03.14
11:41
Цикл следующего вида:
Процедура Выполнить()
         Если НачНомер = 0 Тогда
        НачНомер = КонНомер
    КонецЕсли;
       Пока НачНомер <= КонНомер Цикл
        Док = СоздатьОбъект("Документ.ИзготовлениеПлат");
        Док.Новый();
        Док.НомерПлаты = НачНомер;
        Док.Изготовитель = Изготовитель;
        Док.ДатаИзготовления = ДатаИзготовления;
        Док.КоличествоПлат = КоличествоПлат;
        Док.Склад = Склад;
        Док.СкладПлат = СкладПлат;
        Спр = СоздатьОбъект("Справочник.Комплектующие");
        //Если (Спр.НайтиПоКоду("1",0)=1) и (Спр.НайтиПоКоду("2",0)=1) и (Спр.НайтиПоКоду("3",0)=1) и (Спр.НайтиПоКоду("4",0)=1) Тогда
        Спр.ВыбратьЭлементы();  
        Пока Спр.ПолучитьЭлемент() = 1 Цикл  
            Если Спр.Код = "5" Тогда
            Продолжить;
            КонецЕсли;
            Док.НоваяСтрока();
            Док.Номенклатура = Спр.ТекущийЭлемент();
            Док.Количество = 1;  
        КонецЦикла;  
    КонецЦикла;        
        НачНомер = НачНомер + 1;
        Док.Записать();
        Док.Провести();
        
    КонецЦикла;
    Если Док.НомерПлаты = КонНомер Тогда
        Предупреждение("Платы внесены и записаны",0);
        
    КонецЕсли;
КонецПроцедуры
10 1dvd
 
13.03.14
11:51
(8) я делал что-то типа:

[..........] 0 %
[|||||.....] 50 %
[|||||||...] 70 %
[||||||||||] 100 %
11 Mikeware
 
13.03.14
12:02
ну, можно менять в строке состояния "-", "\", "|","/"
:-)
Только поможет ли это ТС, "ужаленому Чернобылем"?
12 Ёпрст
 
13.03.14
12:04
(9) тихий ужас..

Ты пошто весь справочник в табличную часть документа запихал, это такк и надо ?
13 Mikeware
 
13.03.14
12:05
(12) чернобыль, куле....
14 1dvd
 
13.03.14
12:05
(12) не весь. туда Спр.Код = "5" не попадает :)
15 MagicFly
 
13.03.14
12:06
(12) чтобы не каждый документ по отдельности записывать, а сразу скопом
16 MagicFly
 
13.03.14
12:07
у меня справочник то небольшой там всего 5 позиций в нем
17 Chum
 
13.03.14
12:10
(0) использование всякой ереси в виде СтатусСообщения(), Сообщить(), Форма.Обновить() в циклах приводит к значительной потере времени при формировании.
18 1dvd
 
13.03.14
12:14
(17)

Если Счетчик%1000 = 0 Тогда
19 MagicFly
 
21.03.14
10:14
(4) вот такой код есть у меня:
Процедура Прогресс(_100,текЗн,двигать=1)
    текСост = Форма.бар.Заголовок();
    текПоз = Окр((текЗн*100/_100),0,0);
    стр = Лев(стрБаз,текПоз);
    //Для к=0 По текПоз Цикл
    //    стр = стр+"I";
    //КонецЦикла;
    пробСтр = "";
    Если двигать=1 Тогда
        Если СтрДлина(стр)>=9 Тогда
            пробСтр = Лев(СтрЗаменить(стр,"I"," "),СтрДлина(стр)-9);
        КонецЕсли;
    КонецЕсли;
    Шаг = СтрДлина(стр)-СтрДлина(текСост);
    Форма.Статус.Заголовок(пробСтр+СокрЛП(текПоз)+"%");
    Форма.бар.Заголовок(стр);
    Если Шаг=1 Тогда
        Форма.Обновить(1);
    КонецЕсли;
КонецПроцедуры //Прогресс()
скажи, он правильный?
20 Злопчинский
 
22.03.14
02:28
смотрим видео
http://screencast.com/t/oDKx12IPs
21 DJ Anthon
 
22.03.14
09:11
у меня красивше и универсальный

http://i59.fastpic.ru/big/2014/0322/20/cafe12c0a7c204da4eed6261fd511a20.jpg
22 DJ Anthon
 
22.03.14
09:15
(17) скажите это тупым разработчикам типовых
23 2S
 
22.03.14
10:34
(10) рост баяна
24 Mikeware
 
22.03.14
10:38
(23) надо так:
[:W:]
[:|||:]
[:\/\/:]