Синхронные методы блокируют выполнение кода до их завершения.
Асинхронные методы позволяют коду выполняться дальше, при этом отслеживается момент их завершения.
Асинхронные методы пока существуют только для некоторых операций:
- с блокирующими/диалоговыми окнами для пользователя;
- с файлами;
- с криптографией;
- с внешними компонентами.
Асинхронные методы существуют только на клиенте. На сервере по-прежнему доступны синхронные методы (при наличии).
Асинхронные функции в 1С 8.3.13 и выше — это работа кода в многопоточном режиме, который выполняется в параллельном потоке и не блокируют выполнение основного кода. Их необходимо использовать при наличии замедляющих (блокирующих) действий, для ускорения выполнения кода, например: при чтении или загрузки больших файлов из базы данных. При использовании асинхронных функций 1С Предприятие 8.3 продолжает реагировать на действия в пользовательском режиме и позволяет продолжать работу.
Основные асинхронные методы:
- Обещание (получение результата выполнения асинхронной функции). Может находится в состоянии ожидания, нормального завершения или исключения.
- Возвращающие Обещание — например КопироватьФайлАсинх(ИмяФайлаИсточника, ИмяФайлаПриемника)
- Асинх — этот модификатор, который делает процедуру или функцию асинхронной.
- Ждать — этот оператор выполняет ожидание завершения асинхронной функции, стоящей за объектом Обещание и может использоваться только внутри Асинх процедур/функций.
Соответствие синхронных методов асинхронным
| Объект | Синхронный метод | Асинхронный метод |
| Глобальный контекст | ОткрытьФормуМодально() | ОткрытьФорму() |
| Вопрос() | ПоказатьВопрос() | |
| ОткрытьЗначение() | ПоказатьЗначение() | |
| Предупреждение() | ПоказатьПредупреждение() | |
| ВвестиДату() | ПоказатьВводДаты() | |
| ВвестиЗначение() | ПоказатьВводЗначения() | |
| ВвестиСтроку() | ПоказатьВводСтроки() | |
| ВвестиЧисло() | ПоказатьВводЧисла() | |
| УстановитьВнешнююКомпоненту() | НачатьУстановкуВнешнейКомпоненты() | |
| УстановитьРасширениеРаботыСФайлами() | НачатьУстановкуРасширенияРаботыСФайлами() | |
| УстановитьРасширениеРаботыСКриптографией() | НачатьУстановкуРасширенияРаботыСКриптографией() | |
| ПодключитьРасширениеРаботыСКриптографией() | НачатьПодключениеРасширенияРаботыСКриптографией() | |
| ПодключитьРасширениеРаботыСФайлами() | НачатьПодключениеРасширенияРаботыСФайлами() | |
| ПоместитьФайл() | НачатьПомещениеФайла() | |
| КопироватьФайл() | НачатьКопированиеФайла() | |
| ПереместитьФайл() | НачатьПеремещениеФайла() | |
| НайтиФайлы() | НачатьПоискФайлов() | |
| СоздатьКаталог() | НачатьСозданиеКаталога() | |
| КаталогВременныхФайлов() | НачатьПолучениеКаталогаВременныхФайлов() | |
| КаталогДокументов() | НачатьПолучениеКаталогаДокументов() | |
| РабочийКаталогДанныхПользователя() | НачатьПолучениеРабочегоКаталогаДанныхПользователя() | |
| ПолучитьФайлы() | НачатьПолучениеФайлов() | |
| ПоместитьФайлы() | НачатьПомещениеФайлов() | |
| ЗапроситьРазрешениеПользователя() | НачатьЗапросРазрешенияПользователя() | |
| ЗапуститьПриложение() | НачатьЗапускПриложения() | |
| ДиалогРедактированияСтандартногоПериода | Редактировать() | Показать() |
| КонструкторФорматнойСтроки | ОткрытьМодально() | Показать() |
| ОбработкаРасшифровкиКомпоновкиДанных | ВыбратьДействие() | ПоказатьВыборДействия() |
| ДиалогВыбораШрифта | Выбрать() | Показать() |
| ДиалогВыбораЦвета | Выбрать() | Показать() |
| ДиалогРасписанияРегламентногоЗадания | ОткрытьМодально() | Показать() |
| ДиалогВыбораФайла | Выбрать() | Показать() |
| СписокЗначений | ОтметитьЭлементы() | ПоказатьОтметкуЭлементов() |
| ВыбратьЭлемент() | ПоказатьВыборЭлемента() | |
| УправляемаяФорма | ОткрытьМодально() | Открыть() |
| ВыбратьИзМеню() | ПоказатьВыборИзМеню() | |
| ВыбратьИзСписка() | ПоказатьВыборИзСписка() | |
| МенеджерКриптографии | Конструктор | НачатьИнициализацию() |
| Зашифровать() | НачатьШифрование() | |
| Расшифровать() | НачатьРасшифровку() | |
| Подписать() | НачатьПодписывание() | |
| ПроверитьПодпись() | НачатьПроверкуПодписи() | |
| ПолучитьИнформациюМодуляКриптографии() | НачатьПолучениеИнформацииМодуляКриптографии() | |
| ПолучитьСертификатыИзПодписи() | НачатьПолучениеСертификатовИзПодписи() | |
| ПолучитьХранилищеСертификатов() | НачатьПолучениеХранилищаСертификатов() | |
| ПроверитьСертификат() | НачатьПроверкуСертификата() | |
| СертификатКриптографии | Конструктор | НачатьИнициализацию() |
| Выгрузка() | НачатьВыгрузку() | |
| СредстваКриптографии | ПолучитьИнформациюМодуляКриптографии() | НачатьПолучениеИнформацииМодуляКриптографии() |
| ХранилищеСертификатовКриптографии | Добавить() | НачатьДобавление() |
| НайтиПоОтпечатку() | НачатьПоискПоОтпечатку() | |
| НайтиПоСерийномуНомеру() | НачатьПоискПоСерийномуНомеру() | |
| НайтиПоСубъекту() | НачатьПоискПоСубъекту() | |
| ПолучитьВсе() | НачатьПолучениеВсех() | |
| Удалить() | НачатьУдаление() | |
| Файл | Конструктор | НачатьИнициализацию() |
| ПолучитьВремяИзменения() | НачатьПолучениеВремениИзменения() | |
| ПолучитьНевидимость() | НачатьПолучениеНевидимости() | |
| ПолучитьТолькоЧтение() | НачатьПолучениеТолькоЧтения() | |
| ПолучитьУниверсальноеВремяИзменения() | НачатьПолучениеУниверсальногоВремниИзменения() | |
| Размер() | НачатьПолучениеРазмера() | |
| Существует() | НачатьПроверкуСуществования() | |
| УстановитьВремяИзменения() | НачатьУстановкуВремениИзменения() | |
| УстановитьНевидимость() | НачатьУстановкуНевидимости() | |
| УстановитьТолькоЧтение() | НачатьУстановкуТолькоЧтения() | |
| УстановитьУниверсальноеВремяИзменения() | НачатьУстановкуУниверсальногоВремениИзменения() | |
| ЭтоКаталог() | НачатьПроверкуЭтоКаталог() | |
| ЭтоФайл() | НачатьПроверкуЭтоФайл() |
© Copyright, 2015-2025