---
title: Длительные операции клиент
slug: bsp/длительные-операции-клиент
---


## ОжидатьЗавершение
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Открыть стандартную форму ожидания завершения длительной операции или использовать собственную форму
// и подключить обработчик оповещения о завершении и прогрессе выполнения процедуры длительной операции.
//
// Применяется совместно с функцией ДлительныеОперации.ВыполнитьВФоне для повышения отзывчивости
// пользовательского интерфейса, заменяя длительный серверный вызов на запуск фонового задания.
//
// Параметры:
//   ДлительнаяОперация     - см. ДлительныеОперации.ВыполнитьВФоне
//   ОповещениеОЗавершении  - ОписаниеОповещения - оповещение, которое вызывается после завершения
//                            длительной операции, в том числе после закрытия окна ожидания, если открывалось.
//                            Параметры процедуры-обработчика оповещения:
//     # Результат - см. НовыйРезультатДлительнойОперации
//                          - Неопределено - если задание было отменено
//     # ДополнительныеПараметры - Произвольный - произвольные данные, переданные в описании оповещения.
//  ПараметрыОжидания      - см. ДлительныеОперацииКлиент.ПараметрыОжидания
//
Процедура ОжидатьЗавершение(Знач ДлительнаяОперация, Знач ОповещениеОЗавершении = Неопределено, Экспорт
```

Пример вызова
```bsl
ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, ОповещениеОЗавершении, );
```
</details>

## ПараметрыОжидания
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает пустую структуру для параметра ПараметрыОжидания процедуры ДлительныеОперацииКлиент.ОжидатьЗавершение.
//
// Параметры:
//  ФормаВладелец - ФормаКлиентскогоПриложения
//                - Неопределено - форма, из которой вызывается длительная операция.
//
// Возвращаемое значение:
//  Структура              - параметры выполнения задания:
//   * ФормаВладелец          - ФормаКлиентскогоПриложения
//                            - Неопределено - форма, из которой вызывается длительная операция.
//   * Заголовок              - Строка - заголовок окна, выводимый на форме ожидания. Если не задан, то не выводится.
//   * ТекстСообщения         - Строка - текст сообщения, выводимый на форме ожидания.
//                                       Если не задан, то выводится "Пожалуйста, подождите...".
//   * ВыводитьОкноОжидания   - Булево - если Истина, то открыть окно ожидания с визуальной индикацией длительной операции.
//                                       Если используется собственный механизм индикации, то следует указать Ложь.
//   * РежимОткрытияОкнаОжидания - РежимОткрытияОкнаФормы - параметр РежимОткрытияОкна у формы ожидания.
//                               - Неопределено - значение по умолчанию.
//   * ВыводитьПрогрессВыполнения - Булево - выводить прогресс выполнения в процентах на форме ожидания.
//                                      Процедура-обработчик длительной операции может сообщить о ходе своего выполнения
//                                      с помощью вызова процедуры ДлительныеОперации.СообщитьПрогресс.
//   * ВыводитьСообщения          - Булево - из формы ожидания выводить в ФормаВладелец сообщения,
//                                       сформированные в процедуре-обработчике длительной операции.
//   * ЗаголовокКнопкиОтмена  - Строка - заголовок кнопки Отмена, если не указано, по умолчанию используется "Отмена"
//   * ОповещениеОПрогрессеВыполнения - ОписаниеОповещения - оповещение, которое периодически вызывается при
//                                      проверке готовности фонового задания, если ВыводитьОкноОжидания = Ложь.
//                                      Параметры процедуры-обработчика оповещения:
//      # Результат               - см. НовоеСостояниеДлительнойОперации
//      # ДополнительныеПараметры - Произвольный - произвольные данные, переданные в описании оповещения.
//
//   * Интервал               - Число  - интервал в секундах между проверками готовности длительной операции.
//                                       По умолчанию 0 - после каждой проверки интервал увеличивается с 1 до 15 секунд
//                                       с коэффициентом 1.4.
//   * ОповещениеПользователя - Структура:
//     ** Показать            - Булево - если Истина, то по завершении длительной операции вывести оповещение пользователя.
//     ** Текст               - Строка - текст оповещения пользователя.
//     ** НавигационнаяСсылка - Строка - навигационная ссылка оповещения пользователя.
//     ** Пояснение           - Строка - пояснение оповещения пользователя.
//     ** Картинка            - Картинка - картинка, которая будет показана в окне оповещения. Если Неопределено, то
//                                         картинка не выводится.
//     ** Важное              - Булево - если Истина, то оповещение после автоматического закрытия будет добавлено в
//                                       центр оповещений.
//
//   * ОтменятьПриЗакрытииФормыВладельца - Булево - по умолчанию ФормаВладелец.Открыта(), Ложь если форма не указана.
//       Если Ложь, тогда длительная операция не будет отменена при закрытии формы владельца и при закрытии окна ожидания.
//
//   * ПолучатьРезультат - Булево - служебный параметр. Не предназначен для использования.
//
Функция ПараметрыОжидания(ФормаВладелец) Экспорт
```

Пример вызова
```bsl
Результат = ДлительныеОперацииКлиент.ПараметрыОжидания(ФормаВладелец) 
```
</details>

## НовыйРезультатДлительнойОперации
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает результат оповещения, указанного в параметре ОповещениеОЗавершении
// процедуры ДлительныеОперацииКлиент.ОжидатьЗавершение.
//
// Возвращаемое значение:
//  Неопределено - передается в результат ОповещениеОЗавершении, если задание отменено пользователем.
//  Структура:
//   * Статус - Строка - "Выполнено", если задание было успешно выполнено.
//                       "Ошибка", если задание завершено с ошибкой.
//
//   * АдресРезультата  - Строка - адрес временного хранилища, в которое будет помещен
//                         (или уже помещен) результат работы процедуры длительной операции.
//
//   * АдресДополнительногоРезультата - Строка - если установлен параметр ДополнительныйРезультат,
//                         содержит адрес дополнительного временного хранилища, в которое будет помещен
//                         (или уже помещен) дополнительный результат работы процедуры длительной операции.
//
//   * ИнформацияОбОшибке - ИнформацияОбОшибке - если Статус = "Ошибка".
//                        - Неопределено - если Статус <> "Ошибка".
//
//   * Сообщения - ФиксированныйМассив - массив объектов СообщениеПользователю,
//                   сформированных в процедуре-обработчике длительной операции.
//                   Массив будет пустым, когда в параметре ПараметрыОжидания
//                   процедуры процедуры ДлительныеОперацииКлиент.ОжидатьЗавершение
//                   свойство ВыводитьОкноОжидания = Ложь и
//                   заполнено свойство ОповещениеОПрогрессеВыполнения.
//
//   * ИдентификаторЗадания - УникальныйИдентификатор - идентификатор фонового задания, если запускалось.
//                          - Неопределено - если задание не запускалось (например, выполнение не в фоне).
//
//   * КраткоеПредставлениеОшибки   - Строка - устарел.
//   * ПодробноеПредставлениеОшибки - Строка - устарел.
//
Функция НовыйРезультатДлительнойОперации() Экспорт
```

Пример вызова
```bsl
Результат = ДлительныеОперацииКлиент.НовыйРезультатДлительнойОперации() 
```
</details>

## НовоеСостояниеДлительнойОперации
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает пустую структуру для передачи как результат оповещения, указанного
// в свойстве ОповещениеОПрогрессеВыполнения параметра ПараметрыОжидания
// процедуры ДлительныеОперацииКлиент.ОжидатьЗавершение.
//
// Возвращаемое значение:
//  Структура:
//   * Статус - Строка - "Выполняется", если задание еще не завершилось,
//                       "Выполнено", если задание было успешно выполнено,
//                       "Ошибка", если задание завершено с ошибкой.
//
//   * Прогресс   - см. ДлительныеОперации.ПрочитатьПрогресс
//   * Сообщения  - Неопределено - нет сообщений.
//                - ФиксированныйМассив из СообщениеПользователю - порция сообщений,
//                  отправленных из процедуры длительной операции.
//
//   * ИдентификаторЗадания - УникальныйИдентификатор - идентификатор фонового задания, если запускалось.
//                          - Неопределено - если задание не запускалось (например, выполнение не в фоне).
//
Функция НовоеСостояниеДлительнойОперации() Экспорт
```

Пример вызова
```bsl
Результат = ДлительныеОперацииКлиент.НовоеСостояниеДлительнойОперации() 
```
</details>

## ИнициализироватьПараметрыОбработчикаОжидания
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устарела. Следует использовать ОжидатьЗавершение с параметром ПараметрыОжидания.ВыводитьОкноОжидания = Истина.
// Заполняет структуру параметров значениями по умолчанию.
//
// Параметры:
//  ПараметрыОбработчикаОжидания - Структура - заполняется значениями по умолчанию.
//
//
Процедура ИнициализироватьПараметрыОбработчикаОжидания(ПараметрыОбработчикаОжидания) Экспорт
```

Пример вызова
```bsl
ДлительныеОперацииКлиент.ИнициализироватьПараметрыОбработчикаОжидания(ПараметрыОбработчикаОжидания) 
```
</details>

## ОбновитьПараметрыОбработчикаОжидания
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устарела. Следует использовать ОжидатьЗавершение с параметром ПараметрыОжидания.ВыводитьОкноОжидания = Истина.
// Заполняет структуру параметров новыми расчетными значениями.
//
// Параметры:
//  ПараметрыОбработчикаОжидания - Структура - заполняется расчетными значениями.
//
//
Процедура ОбновитьПараметрыОбработчикаОжидания(ПараметрыОбработчикаОжидания) Экспорт
```

Пример вызова
```bsl
ДлительныеОперацииКлиент.ОбновитьПараметрыОбработчикаОжидания(ПараметрыОбработчикаОжидания) 
```
</details>

## ОткрытьФормуДлительнойОперации
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устарела. Следует использовать ОжидатьЗавершение с параметром ПараметрыОжидания.ВыводитьОкноОжидания = Истина.
// Открывает форму-индикатор длительной операции.
//
// Параметры:
//  ВладелецФормы        - ФормаКлиентскогоПриложения - форма, из которой производится открытие.
//  ИдентификаторЗадания - УникальныйИдентификатор - идентификатор фонового задания.
//
// Возвращаемое значение:
//  ФормаКлиентскогоПриложения     - ссылка на открытую форму.
//
Функция ОткрытьФормуДлительнойОперации(Знач ВладелецФормы, Знач ИдентификаторЗадания) Экспорт
```

Пример вызова
```bsl
Результат = ДлительныеОперацииКлиент.ОткрытьФормуДлительнойОперации(ВладелецФормы, ИдентификаторЗадания) 
```
</details>

## ЗакрытьФормуДлительнойОперации
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Устарела. Следует использовать ОжидатьЗавершение с параметром ПараметрыОжидания.ВыводитьОкноОжидания = Истина.
// Закрывает форму-индикатор длительной операции.
//
// Параметры:
//  ФормаДлительнойОперации - ФормаКлиентскогоПриложения - ссылка на форму-индикатор длительной операции.
//
Процедура ЗакрытьФормуДлительнойОперации(ФормаДлительнойОперации) Экспорт
```

Пример вызова
```bsl
ДлительныеОперацииКлиент.ЗакрытьФормуДлительнойОперации(ФормаДлительнойОперации) 
```
</details>

---

© 2024, **ООО 1С-Софт**  
Все права защищены. Эта программа и сопроводительные материалы предоставляются  
в соответствии с условиями лицензии [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/legalcode).

---
