Имя: Пароль:
1C
1С v8
БСП.. Длительные операции, прогресс бар
0 live in sky dreams
 
16.01.19
18:13
Конфа БП 3. Хотелось бы выводить прогресс длительных операций моей обработки в отдельное окошко, как это сделано при проведении документов из журнала. http://prntscr.com/m800l9
Я так понимаю, задействовано оповещение пользователя, потому как после окончания процесса окошко становится прозрачным пока не исчезнет. Ковыряю БСП и не могу понять как именно с этим работать. В справке по БСП на сайте ИТС тоже не могу найти инфу.

Ткните носом плз в пример.
1 Вафель
 
16.01.19
18:28
2 live in sky dreams
 
16.01.19
18:44
(1)Спасибо, а статьи нет никакой? Не пользуюсь подпиской жадностарта. 5 000 р. за посмотреть пример как то жестко..
3 VladZ
 
16.01.19
18:57
(0) Лучше котиков показывай. Это модно сейчас... Да и проще..
4 EvgeniuXP
 
16.01.19
19:09
(0) можно сходить еще на курсы - там еще дороже, а на какие - хз.
5 live in sky dreams
 
17.01.19
14:06
(4) С удовольствием хожу на курсы онлайн. Платно и вкусно. Но вот по данной теме (БСП подробный разбор функционала) курсов пока не встречал.

Пока сам пытаюсь копаться в БСП. Вот что набросал...

//На клиенте сделал процедуру, которая вызывает длительную операцию

&НаКлиенте
Процедура КнопкаЖмяк(Команда)
    
    ПодключитьОбработчикОжидания("ВывестиСостояниеПрогресса", 5, Ложь);

    ПараметрыВыполненияОперации = ДлительныеОперации.ПараметрыВыполненияВФоне(ЭтаФорма.УникальныйИдентификатор);
    ДлительныеОперации.ВыполнитьВФоне("Обработка.ОбработкаВстроеннаяВКонфигурацию.МодульОбъекта.ЭкспортнаяПроцедура1", , ПараметрыВыполненияОперации);

КонецПроцедуры

&НаКлиенте
Процедура ВывестиСостояниеПрогресса() Экспорт
    
    СтруктураПараметровПрогресса = ПолучитьИзВременногоХранилища(Объект.ТекстовыйРеквизитСАдресомХранилища);
    
    Состояние(СтруктураПараметровПрогресса.Заголовок, СтруктураПараметровПрогресса.Прогресс, СтруктураПараметровПрогресса.Пояснение);

    Если <ЧотаТамИзВременногоХранилища.УжеУсёГотово> Тогда
        ОтключитьОбработчикОжидания("ВывестиСостояниеПрогресса")
    КонецЕсли

КонецПроцедуры

//Далее в модуле объекта обработки "ОбработкаВстроеннаяВКонфигурацию" в процедуре "ЭкспортнаяПроцедура1()" пишу:

Процедура Процедура1() Экспорт
        
    СтруктураПараметровПрогресс = Новый Структура;
    СтруктураПараметровПрогресс.Вставить("Заголовок","Проба пера");
    СтруктураПараметровПрогресс.Вставить("Прогресс" ,0);
    СтруктураПараметровПрогресс.Вставить("Пояснение","Пробный цикл");
    
    ПределЦикла = 100000;
    СчетчикОбновленияПрогресса = 0;
    
    Для СчетчикЦикла=1 по ПределЦикла Цикл

        Если СчетчикОбновленияПрогресса = 100 Тогда
            <ПомещаемВоВременноеХранилищеТекущийПрогресс>; //В этой процедуре мне необходим адрес хранилища, который должен передаваться с клиента. Не могу понять каким образом передать.
            СчетчикОбновленияПрогресса = 0;
        КонецЕсли;

        СчетчикОбновленияПрогресса = СчетчикОбновленияПрогресса +1;

    КонецЦикла
    
КонецПроцедуры

Пока что не могу понять как передать адрес в хранилище в процедуру "Процедура1()". Вроде как вторым параметром "ДлительныеОперации.ВыполнитьВФоне" что-то можно передать структурой, но не уверен. Примеров понятно расписанных пока не нашел.
6 Конструктор1С
 
17.01.19
14:09
Длительные операции
https://its.1c.ru/db/v8std/content/2149184291/hdoc
7 live in sky dreams
 
17.01.19
17:37
(6) Большое спасибо! Оно!
8 Вафель
 
17.01.19
17:45
Программист всегда исправляет последнюю ошибку.