Прогресс бар Как подключить прогресс бар к процедурам двум, чтобы видить статус выполнения этих процедур??
есть две процедуры и треться является кнопкой, которая выполняет по очереди те две, вот как реализовать это все? чтобы при нажатии третьей процедуры/кнопки я видел в процентах состояние. Код прогресс бара есть.
Процедура КнопкаВыполнитьНажатие()
ПР=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
Пр.ОтображатьПроцентВывода=Истина ;
Эл=Новый ЭлементРезультатаКомпоновкиДанных;
ПР.НачатьВывод();
Для А=1 По 100 Цикл
Эл.ПроцентВывода=А;
//задержка, чтобы разглядеть
Для Б=1 По 10000 Цикл КонецЦикла;
ПР.ВывестиЭлемент(Эл);
КонецЦикла;
ПР.ЗакончитьВывод();
КонецПроцедуры
я новичек, что тут куда написать нужно чтобы процесс бар выполнялся при выполнении процедур
Категория:
Внешние компоненты Вертикальная автофиксация для СКД В СКД очень не хватает возможности автофиксации строк. Обусловлено это невозможностью однозначно определить их количество в общем случае. Однако в большинстве случаев это можно сделать
Обращаю ваше внимание, что приведенная процедура работает не всегда корректно. Но в большинстве случаев она сделает свое дело.
Код 1C v 8.х
Процедура ЛксВывестиРезультатКомпоновкиСАвтофиксациейСтрок(Таб, ПроцессорКомпоновкиДанных, ЭлементыРасшировки,
Знач МассивИгнорируемыхПолей = Неопределено, РазрешитьПрерывание = Истина) Экспорт
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода. УстановитьДокумент( Таб) ;
ПроцессорВывода. НачатьВывод( ) ;
ФиксацияВыполнена = Ложь ;
Если МассивИгнорируемыхПолей = Неопределено Тогда
МассивИгнорируемыхПолей = Новый Массив;
КонецЕсли ;
Пока Истина Цикл
ЭлементРезультатаКомпоновкиДанных = ПроцессорКомпоновкиДанных. Следующий( ) ;
Если ЭлементРезультатаКомпоновкиДанных = Неопределено Тогда
Прервать ;
КонецЕсли ;
Если Не ФиксацияВыполнена Тогда
Для Каждого ЗначениеПараметра Из ЭлементРезультатаКомпоновкиДанных. ЗначенияПараметров Цикл
Если ТипЗнч( ЗначениеПараметра. Значение) = Тип( "ИдентификаторРасшифровкиКомпоновкиДанных" ) Тогда
ЗначенияПолейРасшифровки = ЭлементыРасшировки[ЗначениеПараметра. Значение]. ПолучитьПоля( ) ;
Для Каждого ЗначениеПоляРасшифровки Из ЗначенияПолейРасшифровки Цикл
Если МассивИгнорируемыхПолей. Найти( ЗначениеПоляРасшифровки. Поле) = Неопределено Тогда
Таб. ФиксацияСверху = Таб. ВысотаТаблицы;
ФиксацияВыполнена = Истина ;
Прервать ;
КонецЕсли ;
КонецЦикла ;
Если ФиксацияВыполнена Тогда
Прервать ;
КонецЕсли ;
КонецЕсли ;
КонецЦикла ;
КонецЕсли ;
ПроцессорВывода. ВывестиЭлемент( ЭлементРезультатаКомпоновкиДанных) ;
Если РазрешитьПрерывание Тогда
ОбработкаПрерыванияПользователя( ) ;
КонецЕсли ;
КонецЦикла ;
ПроцессорВывода. ЗакончитьВывод( ) ;
КонецПроцедуры
tormozit Категория:
Схема Компоновки Данных Индикатор выполнения Код 1C v 8.х
Выборка = РезультатЗапроса. Выбрать( ) ;
Индикатор = ЭлементыФормы. ИндикаторПеребора;
Индикатор. МаксимальноеЗначение = Выборка. Количество( ) ;
Индикатор. Значение = 0 ;
Пока Выборка. Следующий( ) Цикл
Индикатор. Значение = Индикатор. Значение + 1 ;
КонецЦикла ;
Код 1C v 8.х
Выборка = РезультатЗапроса. Выбрать( ) ;
Индикатор = ЭлементыФормы. ИндикаторПеребора;
Индикатор. МаксимальноеЗначение = Выборка. Количество( ) ;
Индикатор. Значение = 0 ;
Индикатор. ОтображатьПроценты = Истина ;
Индикатор. СтильОтображения = РежимСглаживанияИндикатора. Прерывистый;
Индикатор. Ориентация = Ориентация. Вертикально;
Индикатор. Шаг = 0.1 ;
Пока Выборка. Следующий( ) Цикл
Индикатор. Значение = Индикатор. Значение + 1 ;
КонецЦикла ;
Индикатор в строке состояния с помощью СКД
Иногда хочется видеть подобие индикатора, но в строке состояния. Это можно сделать только с помощью СКД, и то есть небольшой минус: невозможно убрать или изменить надпись «Вывод отчета». Сделать это можно примерно следующим образом:
Код 1C v 8.х ПроцессорКомпоновки = Новый ПроцессорВыводаРезультатаКомпоновкиДанных
ВТабличныйДокумент;
ПроцессорКомпоновки. ОтображатьПроцентВывода = Истина ;
ЭлементКомпоновки = Новый ЭлементРезультатаКомпоновкиДанных;
ПроцессорКомпоновки. НачатьВывод( ) ;
Для Сч = 1 По 100 Цикл
ЭлементКомпоновки. ПроцентВывода = Сч;
ПроцессорКомпоновки. ВывестиЭлемент( ЭлементКомпоновки) ;
КонецЦикла ;
ПроцессорКомпоновки. ЗакончитьВывод( ) ;
Для 1С 7.7 посмотрите
v7: Прогресс бар в строке состояния Категория:
Встроенные Функции Как закрепить шапку таблицы отчета? Код 1C v 8.х
Процедура скдФиксироватьШапкуОтчета(ТабДок, Фиксировать, Строка = "Номенклатура" , Поправка = 0) Экспорт
Если Фиксировать Тогда
Область = ТабДок. НайтиТекст( Строка, , , , Истина ) ;
ТабДок. ФиксацияСверху = ? ( ЗначениеЗаполнено( Область) , Область. Верх + Поправка, 0 ) ;
Иначе
ТабДок. ФиксацияСверху = 0 ;
КонецЕсли ;
КонецПроцедуры
Код 1C v 8.х
ПроцессорВывода. НачатьВывод( ) ;
ТаблицаЗафиксирована = Ложь ;
Пока Истина Цикл
ЭлементРезультата = ПроцессорКомпоновкиДанных. Следующий( ) ;
Если ЭлементРезультата= Неопределено Тогда
Прервать ;
Иначе
ПроцессорВывода. ВывестиЭлемент( ЭлементРезультата) ;
Если Не ТаблицаЗафиксирована И ЭлементРезультата. ЗначенияПараметров. Количество( ) > 0 Тогда
ТаблицаЗафиксирована = Истина ;
Таб. ФиксацияСверху = Таб. ВысотаТаблицы;
КонецЕсли ;
КонецЕсли ;
КонецЦикла ;
ПроцессорВывода. ЗакончитьВывод( ) ;
Код 1C v 8.х
Процедура глВывестиРезультатКомпоновкиСАвтофиксациейСтрок( Таб,
ПроцессорКомпоновкиДанных,
ЭлементыРасшировки,
Знач МассивИгнорируемыхПолей = Неопределено,
РазрешитьПрерывание = Истина) Экспорт
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода. УстановитьДокумент( Таб) ;
ПроцессорВывода. НачатьВывод( ) ;
ФиксацияВыполнена = Ложь ;
Если МассивИгнорируемыхПолей = Неопределено Тогда
МассивИгнорируемыхПолей = Новый Массив;
КонецЕсли ;
Пока Истина Цикл
ЭлементРезультатаКомпоновкиДанных = ПроцессорКомпоновкиДанных. Следующий( ) ;
Если ЭлементРезультатаКомпоновкиДанных = Неопределено Тогда
Прервать ;
КонецЕсли ;
Если Не ФиксацияВыполнена Тогда
Для Каждого ЗначениеПараметра Из ЭлементРезультатаКомпоновкиДанных. ЗначенияПараметров Цикл
Если ТипЗнч( ЗначениеПараметра. Значение) = Тип( "ИдентификаторРасшифровкиКомпоновкиДанных" ) Тогда
ЗначенияПолейРасшифровки = ЭлементыРасшировки[ЗначениеПараметра. Значение]. ПолучитьПоля( ) ;
Для Каждого ЗначениеПоляРасшифровки Из ЗначенияПолейРасшифровки Цикл
Если МассивИгнорируемыхПолей. Найти( ЗначениеПоляРасшифровки. Поле) = Неопределено Тогда
Таб. ФиксацияСверху = Таб. ВысотаТаблицы;
ФиксацияВыполнена = Истина ;
Прервать ;
КонецЕсли ;
КонецЦикла ;
Если ФиксацияВыполнена Тогда
Прервать ;
КонецЕсли ;
КонецЕсли ;
КонецЦикла ;
КонецЕсли ;
ПроцессорВывода. ВывестиЭлемент( ЭлементРезультатаКомпоновкиДанных) ;
Если РазрешитьПрерывание Тогда
#Если Клиент тогда
ОбработкаПрерыванияПользователя( ) ;
#КонецЕсли
КонецЕсли ;
КонецЦикла ;
ПроцессорВывода. ЗакончитьВывод( ) ;
КонецПроцедуры
Категория:
Схема Компоновки Данных