Синхронные и асинхронные вызовы в 1С

 

Для работы с объектами, реализующими функциональность определенного рода (работа с файлами, блокирующие окна, внешние компоненты и криптография), существует два метода работы — синхронный и асинхронный. В этой статье я попробую рассказать о том, что это за методы, для чего они нужны и как с этим работать.

Общая информация

Зачем это нужно?

Изначально расширения для работы с файлами и криптографией в веб-клиенте были реализованы по технологии NPAPI и работа с методами расширений была синхронной. Затем браузер Google Chrome отказался от поддержки этой технологии (полностью удалена в версии 45 от сентября 2015). Решением проблемы стал перевод расширений для работы с файлами и криптографией на асинхронные рельсы.

У конфигураций появилось новое свойство в разделе «Совместимость»:

Свойство конфигурации
Свойство конфигурации

А при использовании синхронных методов, там где это не разрешается, можно увидеть такое сообщение:

Использование синхронных методов запрещено
Использование синхронных методов запрещено

В чем разница?

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

При асинхронном подходе после вызова метода объекта управление возвращается вызывающему коду и его исполнение продолжается, параллельно с исполнением кода вызванного метода. При этом вызванный метод гарантирует, что оповестит о завершении своей работы «заинтересованное лицо», если такое оповещение требуется. Само оповещение осуществляется вызовом специального метода, который передается в вызываемый метод объекта. Асинхронный подход допустим только для тех методов, для которых заявлена поддержка асинхронной работы.

Названия асинхронных методов обычно начинаются со слов «Начать» (например, «ЭтоФайл» и «НачатьПроверкуЭтоФайл») или «Показать» (например, «Вопрос» и «ПоказатьВопрос»), это знание может помочь в поиске асинхронного аналога синхронного метода.

Напомню, что асинхронную технику можно использовать для работы с:

  • блокирующими окнами;
  • файлами;
  • расширением криптографии;
  • внешними компонентами.

Нужно отметить, что все асинхронные методы доступны только на стороне клиентского приложения. На сервере же по-прежнему доступны только синхронные методы (за исключением блокирующих окон — они на сервере вообще отсутствуют).

Соответствие синхронных методов асинхронным аналогам (на момент написания статьи) можно посмотреть тут.

 

Практические примеры

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

Асинхронные методы

Рассмотрим на примере асинхронного метода глобального контекста — НачатьПоискФайлов.

Отдельно отмечу конструктор объекта ОписаниеОповещения — в синтаксис-помощнике все параметры этого конструктора указаны как необязательные (на момент написания статьи). Вообще-то так оно и есть — можно создать объект не указывая параметров, но если указано имя процедуры или имя процедуры обработки ошибки (параметры 1 и 4 в примере выше), то обязательно нужно указать модули этих процедур (параметры 2 и 5 в примере выше) иначе Вас ждет ошибка — «Конструктор не найден».

Особенности веб-клиента

К особенностям работы в веб-клиенте относится необходимость настройки браузера. Кроме этого требуется установить расширение для работы с 1С:Предприятием (адрес на момент написания статьи), после установки этого расширения рекомендую перезапустить браузер и 1С (на всякий случай).

Расширение для работы с 1С:Предприятием
Расширение для работы с 1С:Предприятием

И, наконец, в коде нужно указать нечто  подобное:

В первый раз (для каждого пользователя локальной машины) сработает процедура установки и появится вот такое окно:

Установка расширения
Установка расширения

Затем скачается файл, который нужно будет запустить и установить расширение, после этого все должно работать так же как и на толстом/тонком клиенте.

На этом все, надеюсь, что данная статья была Вам полезна.

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Оценка статьи:
УжасноПлохоНеплохоХорошоОтлично (оценок: 8, средняя оценка: 4,00 из 5)
Загрузка...

Понравилась статья? Поделиться с друзьями:
Комментарии: 2
  1. Артем

    ОбратныйВызов = Новый ОписаниеОповещения(«РасширениеПодключено», ЭтотОбъект);

    НачатьПодключениеРасширенияРаботыСКриптографией(ОВ);
    //НачатьПодключениеРасширенияРаботыСФайлами(ОВ);

    ОВ это ОбратныйВызов?

  2. DanielHok

    Под ключ — от фундамента до заселения https://красивые-дома-приморья.рф/vypolnennye-proekty/photo/img_20230412_161645_824

    На стоимость строительства также влияют используемые для возведения и отделки материалы https://красивые-дома-приморья.рф/vypolnennye-proekty/album/proekt-kdp-b-99
    Наиболее востребованные:
    Прежде чем начинать обустройство фундамента, нужно провести изыскательные работы на участке https://красивые-дома-приморья.рф/vypolnennye-proekty/album/uzkij-dom-152-m2-vladivostok-iyun-2023-g/p/1
    Это необходимо для определения ландшафта, наличия и глубины залегания грунтовых вод и других особенностей, которые могут повлиять на сроки эксплуатации будущего здания и безопасность проживания в нем https://красивые-дома-приморья.рф/vypolnennye-proekty/photo/576317107
    Место под фундамент тщательно расчищается, выравнивается, а далее обязательно делается разметка согласно проекту с помощью шнуров и колышек https://красивые-дома-приморья.рф/kdp-111

    Строительство доступных домов во Владивостоке и Приморском крае https://красивые-дома-приморья.рф/vypolnennye-proekty/photo/img_20220520_200525_143

    Подготовим проекты для построек разных размеров и этажности, которые обеспечат комфорт владельцам https://красивые-дома-приморья.рф/vypolnennye-proekty/photo/img-20230724-wa0146
    Бригада мастеров выполнит строительство домов и коттеджей https://красивые-дома-приморья.рф/vypolnennye-proekty/photo/img-20230723-wa0065

    г https://красивые-дома-приморья.рф/vypolnennye-proekty/photo/img-20230724-wa0197
    Уссурийск, ул https://красивые-дома-приморья.рф/vypolnennye-proekty/photo/img_20230528_183202_837
    Кузнечная, д https://красивые-дома-приморья.рф/vypolnennye-proekty
    14 п https://красивые-дома-приморья.рф/vypolnennye-proekty/photo/img_20211113_143244_265
    Угловое, ул https://красивые-дома-приморья.рф/vypolnennye-proekty/photo/img_20211010_141233_267
    Гагарина, 90 https://красивые-дома-приморья.рф/vypolnennye-proekty/photo/img_20220614_142611_733

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: