Содержание:
1. Что такое синхронные методы в системе программы 1С?
2. Что такое асинхронные методы и для чего они используются в 1С?
1. Что такое синхронные методы в системе программы 1С?
Статья призвана пролить свет читателям на важную тему в программировании: синхронные и асинхронные методы вызова функций. В каждой сфере есть свои задачи, а для каждой задачи есть свои инструменты, так и в мире разработки системного программного обеспечения существуют методы, которые обеспечат самый оптимальный вариант выполнения кода.
Изначально, программы писались с учетом того, что каждая строчка кода выполняется поочередно. Когда происходит вызов синхронным методом, выполнение программы приостанавливается. Интерпретатор языка программирования 1С перейдет к выполнению вызванной процедуры или функции, а при завершении, продолжит обработку последующих команд.
Допустим, что при входе в здание, установлен всего один турникет, который в момент времени может пропустить одного человека (одна команда). Турникет здесь играет роль интерпретатора, выполняющего команды.
Синхронные методы лежат в основе многих алгоритмов.
2. Что такое асинхронные методы и для чего они используются в 1С?
Существует ряд задач, когда выполнение основного информационного потока, после вызова функции или процедуры, останавливать не следует, а дать пользователю возможность продолжить работу. В таких задачах необходимы асинхронные вызовы.
Асинхронные методы используются при работе с блокирующими окнами (взаимодействие ос с пользователем), криптографией данных (обработка сертификатов, подписей; шифрование), внешними компонентами (подключение и работа с ними), файлами.
Например, если асинхронно начать загрузку файла, то пользователь сможет выполнять другие действия, а после окончания загрузки он получит оповещение о том, что файл загружен.
Особенности
Современные браузеры имеют свои стандарты безопасности. Чтобы конфигурация веб-клиента 1С соответствовала требованиям используются асинхронные вызовы.
Для того чтобы в веб-клиенте диалоговые окна системы не блокировали браузер, используются блокирующие окна, которые просто рисуются поверх окна, в отличие от модальных, блокирующих остальные вкладки. Чтобы появилась такая возможность фирма 1С переписала код с использованием асинхронных методов.
Важное примечание: все асинхронные вызовы могут использоваться только на клиенте. На сервере будут работать только синхронные методы.
Новый функционал асинхронных методов появился с платформы версии 8.3.18, поэтому если возникают синтаксические ошибки, следует обновить платформу.
В данной статье были рассмотрены синхронные и асинхронные методы, а также их особенности. Для более детального рассмотрения методов встроенного языка программирования 1С нужно найти синтаксис в справочных материалах.
Специалист компании "Кодерлайн"
Данила Уваров