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

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)

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

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

См. также

Адаптация типовых решений БСП (Библиотека стандартных подсистем) Кадровый учет ЭДО и ОФД 1C:Бухгалтерия 1С:Зарплата и кадры 7.7 1C:ERP 1С:ЗУП 1С:УТ 1С:ДО Платные (руб)

Наше расширение 1С Госключ обеспечивает интеграцию любой конфигурации 1С на базе БСП с мобильным приложением «Госключ», позволяя сотрудникам подписывать кадровые документы (КЭДО) и документы материальной ответственности (МОЛ, ПБ) усиленной электронной подписью прямо со смартфона. Решение автоматизирует формирование и отправку документов на подпись, отслеживает статусы подписания и хранит подписанные файлы непосредственно в базе 1С

25000 руб.

06.03.2026    1980    4    0    

4

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

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

3254 руб.

21.11.2024    14104    50    30    

58

БСП (Библиотека стандартных подсистем) Программист 1С 8.3 1С:Библиотека стандартных подсистем Россия Абонемент ($m)

Все мы когда-то писали свои функции для получения реквизита через точку или парсинга строк. В этой статье собрана выжимка самых полезных и ежедневно необходимых процедур и функций БСП. Никакой сухой документации ИТС — только жизненные кейсы, чистый код и разбор ситуаций, когда стандартные подсистемы делают работу за нас.

1 стартмани

30.07.2026    7250    Elya_Elya    14    

19

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

Часто требуется вывести понятное пользователю сообщение, ткнув его в конкретный проблемный реквизит, что называется, "носом"... И вот тут довольно часто приходится перечитывать параметры функции ОбщегоНазначения[Клиент].СообщениеПользователю. Решила написать для себя шпаргалку и поделиться с сообществом.

24.07.2026    2127    check2    2    

10

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

Каждый раз, когда разработчик 1С пишет очередной цикл для свертки массива или использует конструкцию Попытка / Исключение для проверки наличия реквизита, где-то грустит один архитектор фирмы «1С». Мы привыкли изобретать велосипеды там, где в Библиотеке стандартных подсистем (БСП) уже давно лежат готовые, оптимизированные и протестированные на тысячах баз решения. Ниже — практическая подборка из 8 методов актуальных релизов БСП (3.X), которые сделают ваш код чище, быстрее и профессиональнее. Разберем на примерах «Было / Стало».

04.06.2026    12206    Kaliostr0    21    

36

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

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

06.02.2026    20687    manul1c    7    

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