Кружок 1С #6 Асинхронность и многопоточность. О чем умалчивает ИТС

  Рет қаралды 3,761

SoftOnIT.RU

SoftOnIT.RU

Күн бұрын

В этот раз мы решили разобраться что такое Асинхронность в 1С , и как этим пользоваться.
00:00 Вступление
00:14 Синхронность и многопоточность
02:13 Пример с квадратами
03:45 Однопоточность и многопоточность сравнение 1С и Java
06:56 Работа с задачами в 1C
09:31 Многопоточность в браузере WebKit
14:05 Советы по выбору компьютера для работы в 1С
15:27 Синхронные и асинхронные методы
17:10 Примеры асинхронных методов
21:46 Асинхронные методы для веб-браузере
26:26 Описание оповещений и когнитивная сложность
30:00 Использование асинхронных методов для оптимизации кода
35:32 Синхронные методы и обещания
46:13 Использование синхронных методов и обещаний
48:10 Заключение
Подробнее в статье на сайте: softonit.ru/blog/articles/1c/...
Наш продукт: "Управление IT-отделом 8"
Что такое Управление IT-отделом 8? softonit.ru/catalog/products/it/
#УправлениеIT-отделом8 #Асинхронность #1С #async #Программирование

Пікірлер: 26
@sergframer
@sergframer 7 ай бұрын
Есть еще фишка из незадокументированных при работе с асинх. Нельзя делать асинхронными обработчики событий в модулях формы, у которых есть управление стандратной обработкой, т.к. при повторном вызове ее стандартная обработка уже не отключена. (это в копилку)
@Softonit
@Softonit 7 ай бұрын
Спасибо, важное замечание, ведь если этого не знать, потом найти это проблему в сложной форме будет достаточно проблематично.
@dmitriyobidin6049
@dmitriyobidin6049 5 ай бұрын
Все таки было бы интересно разобрать способы обработки ошибок в промисах. Насколько смог быстро нагуглить, то сейчас просто вызов асинхронной функции заворачивается в try/catch, при этом же не понятно, а как быть если у меня идет вызов 2/3/4 асинхронных функций подряд - кажду в отдельный блок try заворачивать? Если нет, то как в catch разобрать какой именно метод выкинул исключение? И если условно у меня вызывается 10 методов, не может ли быть такого что 1 промис успеет "вывалить" исключение до того как код дойдет до 10 промиса? Что будет в таком случае? Или все таки асинки висят в какой-то другой очереди выполнения(аналогично eventloop в том же js)
@user-kq9zl3ct7q
@user-kq9zl3ct7q 7 ай бұрын
Не сказано две особенности/недостатка асинхронных методов: процедуру придётся делать асинхронной и отсюда вытекает, что ее параметры будут передаваться по значению и весь стек вызовов придётся сделать асинхронным. То есть если процедура обрабатывала параметры по ссылке, то ее придётся переделывать в функцию и возвращать параметром.
@Softonit
@Softonit 7 ай бұрын
Спасибо, полезное замечание!
@skpavlenko
@skpavlenko 7 ай бұрын
Ух, ребята, ну вы красавчики, конечно. Разобрали методику работы JavaScript. Нет там никакого 1С, тупо Js под капотом. 1С - это синтаксический сахар, ха-ха
@Softonit
@Softonit 7 ай бұрын
Спасибо за отзыв. Нам удалось встроить React-приложение и организовать двухстороннюю связь 1С и React, так что все что в докладе, все проверено. Мы сделали интеграцию с ChatGPT в приложении React и встроили это в 1С. Можно посмотреть как это выглядит в нашей базе знаний softonit.ru/FAQ/courses/?COURSE_ID=1&LESSON_ID=933 Другой вопрос, что не совсем верное словосочетание про "1С - это синтаксический сахар". Мы говорили про работу с Асинх. Что это упрощение старого подхода. Вы не верно поняли.
@skpavlenko
@skpavlenko 7 ай бұрын
@@Softonit ну просто все что вы описываете - это нативное поведение JS. 1C просто сделали обёртку над async/await и Promise То что говорите, что это работает только с запросами к внешнему ресурсу, вроде ChatGPT, ну так в JS все является внешним ресурсом, и любая информация извлекается по HTTP REST API. А здесь это просто все так странно реализовано, что непонятно где использовать асинхронность. Внутри однопоточного приложения она правда не имеет смысла. А в JS API calls, обращения к базе, они все асинхронные же.
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil 3 ай бұрын
@@skpavlenkoпочему именно JavaScript?
@skpavlenko
@skpavlenko 3 ай бұрын
@@Das.Kleine.Krokodilпотому что все что они обсуждают - это синтаксический сахар над функционалом JS, еще и такой, недоделанный. Они методами 1С дергают функции JS, на самом деле.
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil 3 ай бұрын
@@skpavlenkoсчитаешь, что не стоит освещать эти возможности в 1с?
@tsv8560
@tsv8560 5 ай бұрын
По мне совершенно бесполезный функционал. Для меня описание оповещения сильно проще выглядит и привычнее чем какие-то асинхи и ждать. По поводу запросов в веб, так я их делаю через фоновые задания на сервере (хотя мб если они нужны на клиенте тут как-то иначе должно быть).
it takes two to tango 💃🏻🕺🏻
00:18
Zach King
Рет қаралды 26 МЛН
Когда на улице Маябрь 😈 #марьяна #шортс
00:17
КАХА и Джин 2
00:36
К-Media
Рет қаралды 3,7 МЛН
Программист 1С, не пиши так!
16:51
IRONSKILLS - Курсы по 1С
Рет қаралды 26 М.
Thread → Task. Многопоточность и Асинхронность
13:39
Архитектор ПО. Александр Желнин
Рет қаралды 26 М.
Новое в платформе 1С 8.3.24
1:51:39
Желтый клуб — 1С программирование
Рет қаралды 15 М.
How much charging is in your phone right now? 📱➡️ 🔋VS 🪫
0:11
A4 Reset to zero
0:26
STYLE YT
Рет қаралды 17 М.
Wow AirPods
0:17
ARGEN
Рет қаралды 1,2 МЛН
The power button can never be pressed!!
0:57
Maker Y
Рет қаралды 51 МЛН