Шаблоны выполнения длительных операций (процедур и функций) без блокировки пользовательского интерфейса

11.08.20

Разработка - БСП (Библиотека стандартных подсистем)

Шаблоны выполнения длительных операций (процедур и функций) без блокировки пользовательского интерфейса. Позволяют с минимальными затратами разработать и внедрить длительную процедуру (функцию),требующую фонового исполнения в свою конфигурацию или расширение.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Шаблон 1.х (сообщения о прогрессе на форме)
.cfe 61,27Kb ver:1.14.1.2
10 3 000 руб. Купить
Шаблон 2.х (сообщения о прогрессе в отдельном окне)
.cfe 37,03Kb ver:2.14.1.2
8 3 000 руб. Купить
Шаблон 3.х (индикатор на форме)
.cfe 61,04Kb ver:3.14.1.2
6 3 000 руб. Купить
Шаблон 4.х Внешняя обработка ( сообщения о прогрессе в отдельном окне)
.epf 12,28Kb ver:4.1
10 3 000 руб. Купить
Шаблон 5.х Внешняя обработка (индикатор на форме)
.epf 13,53Kb ver:5.1
10 3 000 руб. Купить
Шаблон 6.х Внешняя обработка (сообщения на форме)
.epf 35,52Kb ver:6.1
7 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Шаблоны разрабатывались для себя на основе реальных внедрений и находятся на сайте как в альтернативном месте хранения.

Шаблоны  требуют наличия в конфигурации БСП 3.х. 

Для создания полностью рабочего решения  часть шаблонов оформлена  в виде расширения (совместимость 8.14).

Согласно описанию в БСП

// При выполнении любого из следующих условий запуск выполняется не в фоне, а сразу в основном потоке:
//  * если вызов выполняется в файловой базе во внешнем соединении (в этом режиме фоновые задания не поддерживаются);
//  * если приложение запущено в режиме отладки (параметр /C РежимОтладки) - для упрощения отладки конфигурации;
//  * если в файловой ИБ имеются активные фоновые задания - для снижения времени ожидания пользователя; (Но  шаблоны из            данной публикации принудительно запускаются в фоне, то есть  в файловом варианте при наличии ранее запущенных заданий, новое задание становится в очередь и начинает выполняться  после завершения предыдущих).
//  * если выполняется процедура модуля внешней обработки или внешнего отчета 

 

Есть 4 вида шаблонов

В шаблонах 1-3 показаны примеры вызова длительной  процедуры и  длительной функции. Как  бонус прилагается демонстрация уведомления на клиенте после окончания длительной операции. Так же для процедуры показан пример передачи на клиент дополнительных сведений, которые можно обработать после окончания длительной операции.

1. Версии 1.x.  В этом шаблоне сообщения о прогрессе выводятся на форме, из которой была вызвана длительная операция.

 

 

 

 

 

 

 

 

2. Версии 2.x.  В этом шаблоне сообщения о прогрессе сообщения выводятся  в отдельном окне.

3. Версии 3.x.  В этом шаблоне сообщения о прогрессе сообщения выводятся  в индикатор на форме, из которой была вызвана длительная операция.

 

Особенностью следующих шаблонов является то, что они рассчитаны на использование в качестве внешней дополнительной обработки. Тут все просто. Регистрируем  обработку в справочнике "Дополнительные отчеты и обработки" и она запускается в режиме "Открытие формы".  Из нее возможно запускать в фоновом режиме только процедуры. Но как говорится, нет такой функции, которая не мечтала бы стать процедурой:)

 

4. Версии 4.x.  В этом шаблоне сообщения о прогрессе сообщения выводятся  в отдельном окне.

5. Версии 5.x.  В этом шаблоне сообщения о прогрессе сообщения выводятся  в индикатор на форме, из которой была вызвана длительная операция.

6. Версии 6.x.  В этом шаблоне сообщения о прогрессе сообщения выводятся  в сообщения на форме, из которой была вызвана длительная операция.

Проверено на конфигурациях:

Управление нашей фирмой, редакция 1.6 (1.6.20.143)

Управление торговлей, редакция 11 (11.4.12.71)

1С:Комплексная автоматизация 2 (2.4.12.77)

1С:ERP Управление предприятием 2 (2.5.4.127)

Розница, редакция 2.3 (2.3.4.33)

Бухгалтерия предприятия, редакция 3.0 (3.0.80.36)

Вступайте в нашу телеграмм-группу Инфостарт

БСП Шаблон Фоновое задание процедура функция выполнение

См. также

БСП (Библиотека стандартных подсистем) Программист Платные (руб)

Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.

3254 руб.

21.11.2024    13050    46    24    

52

БСП (Библиотека стандартных подсистем) Универсальные функции Программист 1С 8.3 1С:Библиотека стандартных подсистем Бесплатно (free)

Когда появляется необходимость сделать подключаемую внешнюю обработку, будь это печатная форма или отчет - нам всегда приходится прописывать сведения о внешней обработке для подключения их в соответствующий справочник. И это занимает некоторое время, что не очень удобно. Как для себя, так и для вас - я подготовил ряд примеров использования этой функции, можете выбрать один из них, чтобы в дальнейшем использовать их в шаблонах текста. Комментарии по дополнению и исправлению статьи - приветствуются.

06.02.2026    9760    manul1c    6    

24

Рефакторинг и качество кода БСП (Библиотека стандартных подсистем) Механизмы платформы 1С Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

Использование Библиотеки стандартных подсистем позволяет разработчикам 1С значительно ускорить процесс создания решений за счет готового универсального кода, поддерживаемого и обновляемого официальным вендором. В статье рассказывается про роль и применение «Библиотеки стандартных подсистем» (БСП), примеры интеграции и подключения подсистем.

23.09.2025    12861    AlexeyPROSTO_1C    1    

18

БСП (Библиотека стандартных подсистем) Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

Уже заезженная тема с выводом в Word макетов при помощи БСП, но некоторые коллеги все равно спрашивают. Поэтому размещаю тут материал, как это сделать за три простых шага. Решение, которым я успешно пользуюсь в случаях, когда не нужна универсальность подключаемых внешних печатных форм.

16.09.2025    6364    _seerco2002    0    

35

Нейросети БСП (Библиотека стандартных подсистем) Инструментарий разработчика Программист 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

Telegram-бот для разработчиков 1С, работающих с БСП. Если не знаете нужный под задачу метод или не помните название, то опишите боту задачу и получите список подходящих экспортных методов из общих модулей БСП.

02.09.2025    7499    krasnov322    25    

44

Анализ учета БСП (Библиотека стандартных подсистем) 1С:Предприятие 8 1С:Библиотека стандартных подсистем Бесплатно (free)

Расширение для конфигураций на базе БСП 3.х. Позволяет создавать новые отчеты путем соединения или объединения других отчетов.

22.05.2025    5866    246    seperblunt    9    

31
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. tormozit 7375 11.08.20 14:40 Сейчас в теме
Там до сих пор нет расчета оставшегося времени?
2. Hitcher 181 11.08.20 15:16 Сейчас в теме
Оставшегося времени чего? Время исполнения - вещь довольно непредсказуемая. В фоновом задании можно вызвать процедуру, в которую передаешь то, что смог посчитать. Клиент потом отобразит. Сможешь посчитать сколько осталось, значит там есть расчет оставшегося времени;)
3. Cyberhawk 137 13.08.20 08:51 Сейчас в теме
(2) Если разработчик выводит процент, то оставшееся время за него может считать сама БСП, т.к. известно, сколько прошло времени с момента старта
4. Hitcher 181 13.08.20 17:09 Сейчас в теме
(3) В общем случае задача не тривиальна. Допустим, у меня в обработке 3 цикла . Длинный (примерно длится 10 минут и состоит из 10 элементов ), средний(5 минут и 50 элементов ) и короткий (менее 1 мин и 200 элементов). Я нахожусь на 10 процентах последнего цикла. Как БСП должно считать оставшееся время? Поэтому 1С оставила этот вопрос на усмотрение разработчика.
На мой взгляд главное в БСП то, что она позволяет при организации собственной индикации во процессе выполнения передавать на клиент дополнительные данные. Ради интереса в шаблоне 2.х (прогресс в отдельном окне) для простейшего случая (1 цикл) я написал расчет оставшегося времени . Это заняло у меня минуты 2. Шаблон заменил в публикации на новый.
5. Cyberhawk 137 13.08.20 17:13 Сейчас в теме
(4) А какая разница, сколько там и каких циклов?
Я про то, что если разработчик передает процент наружу, то БСП легко может преобразовать это в оставшееся время.
Твои примеры лишь демонстрируют то, что разработчик должен сам как-то оценивать этот общий процент. С этим никто не спорит.
6. Hitcher 181 14.08.20 09:27 Сейчас в теме
(5) Не понимаю такого маниакального желания требовать от БСП того, что один из многих разработчиков считает архиважным. Сама библиотека ничего не считает, даже проценты. Она лишь предоставляет механизм, максимально очищенный от накладных расходов. И я считаю это правильным.
Если разработчику необходимо чего-то посчитать за счет увеличения накладных расходов, то флаг ему в руки. Заказчик же не будет знать, что 5 секунд из 10 приходится на отображение ему красивой цифирки.
К тому же все по-прежнему зависит от периода опроса клиентом. Допустим, сервер считает оставшееся время каждые 2 секунды, а клиент опрашивает каждые 3. Таким образом на клиенте отображаемое время всегда будет отставать от реального на 1 секунду. Поэтому и вывод оставшегося времени не имеет большого смысла.
7. Cyberhawk 137 14.08.20 09:31 Сейчас в теме
(6) Подсчет оставшегося времени конечно же должен быть опциональным.
Убедить (по крайней мере меня) в том, что отсутствие такой опции является правильным, тебе не удалось.
8. Hitcher 181 14.08.20 14:01 Сейчас в теме
Но я хотя бы попытался :)
Для отправки сообщения требуется регистрация/авторизация