Новые возможности платформы 1С версии 8.3.18, асинхронные методы.

Платформа 1С 8.3.18. Асинх, Ждать и Обещание!
Новые возможности платформы 1С по работе с асинхронными методами. Заклинания Асинх! Ждать!
В видео демонстрируется решение задачи аналогичной задаче одного из прошлых видео, посвященных работе с файлами и картинками.
Рекомендуем ознакомиться с этим видео • Работа с файлами и кар... перед просмотром нового.

Пікірлер: 103

  • @antongareev6671
    @antongareev66713 жыл бұрын

    Спасибо! Как всегда просто, доступно и понятно!

  • @daaked
    @daaked4 жыл бұрын

    Шедевр. Люблю новые платформы, столько интересного всегда.

  • @Finist7483
    @Finist74834 жыл бұрын

    Прекрасно!!! Теперь не придётся прыгать между процедурами на клиенте, чтобы нырнуть на сервер в зависимости от ответа на вопрос. На правой руке удобно, на левой привычно, выбираю Удобство!

  • @slknnk
    @slknnk4 жыл бұрын

    Слёзы наворачиваются. Почему сразу так нельзя было сделать и не городить всю эту вакханалию с описаниями оповещений.

  • @asoneas

    @asoneas

    4 жыл бұрын

    Как-то раз спросили розу: "Отчего, чаруя око, Ты колючими шипами Нас царапаешь жестоко?" "Чтобы сладкого добиться,- Отвечал цветок Востока, Испытай сначала горечь, В дармовщине мало прока" Шота Руставели "Витязь в Тигровой шкуре" ;)

  • @Das.Kleine.Krokodil

    @Das.Kleine.Krokodil

    2 жыл бұрын

    в других языках тоже не сразу это все появилось

  • @vladyan01

    @vladyan01

    Жыл бұрын

    под капотом там все равно описания оповещения, асинх это просто сахар

  • @liamsmith7052
    @liamsmith70524 жыл бұрын

    1Ска: ПоместитьНаСерверАсинх Я: Будь здорова

  • @oleksandrhomyak
    @oleksandrhomyak4 жыл бұрын

    Приветствую Павел, давно не смотрел твоего видео. Как всегда на высоте.

  • @NoBodyAnyBody32
    @NoBodyAnyBody324 жыл бұрын

    Павлу Чистову - многие годы респект! Респект и 1С от обладателя автографа 1С-Бога Нуралиева )))

  • @rucrypterus
    @rucrypterus4 жыл бұрын

    &НаСервере Память.Жрать()

  • @user-qs8vf5dm3c

    @user-qs8vf5dm3c

    4 жыл бұрын

    Эта команда включена по умолчанию. По просьбам трудящихся, разумеется.

  • @by_sd

    @by_sd

    4 жыл бұрын

    Класс))

  • @user-wr2fk3sd5j

    @user-wr2fk3sd5j

    4 жыл бұрын

    Это из исходников хрома?

  • @user-qs8vf5dm3c

    @user-qs8vf5dm3c

    4 жыл бұрын

    ​@@user-wr2fk3sd5j Дык, хром обычно на клиенте память кушает.

  • @user-wr2fk3sd5j

    @user-wr2fk3sd5j

    4 жыл бұрын

    @@user-qs8vf5dm3c Где запущен там и кушает.

  • @PopovGP
    @PopovGP4 жыл бұрын

    Для тех, кто досматривает до конца - самое важное объяснение в конце.

  • @mrspacer1
    @mrspacer14 жыл бұрын

    Нагородили огород! Во всех языках суффикс Async - НЕ Возвращает Promise, а означает немного другое. Понятнее было бы называть метод Начать, но он уже занят под работу с описаниями оповещений. Чем дальше развивается Платформа тем больше собственных "велосипедов"

  • @Dr.aku1a
    @Dr.aku1a3 жыл бұрын

    Наконец-то :-)

  • @MikleForYoutube
    @MikleForYoutube4 жыл бұрын

    У меня одного ощущение какихто странных костылей аля мы можем как js. Хорошо а http запрос на сервер асинхронно можно? А запись в регистр асинхронно? Почему всего пара предопределенных вариантов?

  • @Crisis2424
    @Crisis24244 жыл бұрын

    Павел, я вашей привычкой "А=0;" пять лет назад заразился как обучался 1С, до сих пор в действии))

  • @chistovpavel

    @chistovpavel

    4 жыл бұрын

    5 лет.. Везет вам...

  • @Crisis2424

    @Crisis2424

    4 жыл бұрын

    @@chistovpavel это Вы смысле ещё мало ?)

  • @sashaperevisly7755

    @sashaperevisly7755

    4 жыл бұрын

    Что интересно ,ставлю похожие точки останова, Ф=1; и тоже из опыта других языков

  • @s.portowyi15

    @s.portowyi15

    3 жыл бұрын

    @@chistovpavel Как "переменная i 30 лет на рынке счетчиков", так и "А=0;" 15 лет на рынке брейк-поинтов".

  • @chistovpavel

    @chistovpavel

    3 жыл бұрын

    @@s.portowyi15 Да мне кажется ---i--- уже лет так 60. Скоро на пенсию... Чуть продержаться.

  • @Guitar8202
    @Guitar82024 жыл бұрын

    Спасибо, что там еще нового в 8.3.18?

  • @user-um1pb4zx4q
    @user-um1pb4zx4q2 жыл бұрын

    Спи спокойно Паша!

  • @bupa8533
    @bupa85334 жыл бұрын

    Детские крики на фоне говорят о удаленной работе. За содержание спасибо.

  • @chistovpavel

    @chistovpavel

    4 жыл бұрын

    Сильно слышно?

  • @user-qs8vf5dm3c

    @user-qs8vf5dm3c

    4 жыл бұрын

    @@chistovpavel Немножко, и совсем не мешают.. Как по мне - нормальный житейский фон.

  • @onecdev
    @onecdev4 жыл бұрын

    Похоже дизайн языковых конструкций от создателей #КонецВставить надеюсь в итоге мы получить &НаКлиентеАсинхронно и похожее. Ждать вообще выкинут и компилятор будет все асинхронные методы выполнять асинхронно в контексте &НаКлиентеАсинхронно

  • @fess932

    @fess932

    4 жыл бұрын

    в javascript async await считается вершиной асинхронной мысли и врядли тут будут await убирать, не просто так эта конструкция жива уже десятки лет

  • @user-qp7uv2ip7x
    @user-qp7uv2ip7x4 жыл бұрын

    Не совсем понятно как будет работать процедура, если я в одну и ту же процедуру АСИНХР помещу в перемешку с кодом 2-3 вызова ЖДАТЬ? Будет ли выполнение линейно или же все эти ЖДАТЬ сработают за раз?

  • @daulet77dm
    @daulet77dm4 жыл бұрын

    гениальный индусский код

  • @DimDragonim
    @DimDragonim4 жыл бұрын

    Сначала для асинхронности придумали оповещения, чем сломали головы программистам 1С, сломали лаконичность кода, потребовали разбивать логику работы программы на мало связанные процедуры, а потом поняли что наделали херни и решили исправиться. Вот только код с оповещениями придётся разгребать лопатой ещё как минимум года 2 в типовых конфигурациях и всю оставшуюся жизнь в не типовых.

  • @dmitrymnt3029
    @dmitrymnt30294 жыл бұрын

    Ну давайте уже в 1с на JS писать а то зачем это все)) Ну а серьезно, кто писал на JS не мог не заметить что последнее время 1с упорно вносят оттуда фичи

  • @alexorgnet

    @alexorgnet

    4 жыл бұрын

    А кто будет платить лицензионные платежи создателям JavaScript за это?

  • @sizovmn

    @sizovmn

    4 жыл бұрын

    Так однопоточные приложения. На JS отточили и перенесли в 1С.

  • @Crisis2424

    @Crisis2424

    4 жыл бұрын

    так сейчас в разработчики 1С jav'исты вроде как, по крайней мере они там внедряют новые возможности и фишки)

  • @user-qs8vf5dm3c

    @user-qs8vf5dm3c

    4 жыл бұрын

    Один в один с js.

  • @aleksandr_sp7721

    @aleksandr_sp7721

    4 жыл бұрын

    @@Crisis2424 фронтенд 1с на javascript написан.

  • @alexeyp281
    @alexeyp2814 жыл бұрын

    Если это аналог async await в js, то ведь в js насколько понимаю сама процедура async работает в синхронном режиме. В этом и есть основной смысл такой конструкции - удобство работы с асинхронными вызовами в стиле синхронного программирования. В 1С же очень странная реализация. Не факт, что это будет чем-то удобнее, чем было раньше.

  • @Milkyway99999
    @Milkyway999994 жыл бұрын

    спасибо!

  • @yurivodich6093
    @yurivodich60933 жыл бұрын

    Походу кто-то из 1С курсы прошёл по js) о промисах узнали, это уже хорошо, авось может ещё про колбэки и замыкания что-то почитают...

  • @Das.Kleine.Krokodil

    @Das.Kleine.Krokodil

    2 жыл бұрын

    веб клиент на жс написан

  • @doctorsev
    @doctorsev4 жыл бұрын

    А я правильно понимаю, что в 1С до сих пор нет способа сделать асинхронный http запрос встроенными средствами?

  • @asoneas

    @asoneas

    4 жыл бұрын

    Но с опытом понимаешь что это хорошо ;) ПоместитьФайл - 2009 НачатьПолучениеФайла - 2015 ЗАПРЕТ - ПоместитьФайл - 2018 НачатьПомещениеФайлаНаСервре - 2019 ЗАПРЕТ - НачатьПолучениеФайла - 2019 ПоместитьФайлНаСерверАсинх - 2020

  • @sizovmn
    @sizovmn4 жыл бұрын

    А в какой версии появятся корутины и ленивые вычисления?

  • @aleksandr_sp7721

    @aleksandr_sp7721

    4 жыл бұрын

    Ожидайте через 5 лет

  • @liamsmith7052

    @liamsmith7052

    4 жыл бұрын

    В Котлине)

  • @bianconeri910
    @bianconeri9104 жыл бұрын

    "В чём плюсы и ОСОБЕННОСТИ данного метода" :-D

  • @user-fz9ls2jg7p
    @user-fz9ls2jg7p3 жыл бұрын

    А что делать с открытием формы? Там оповещение остаётся?

  • @chistovpavel

    @chistovpavel

    3 жыл бұрын

    Оповещение о закрытии формы? Да остается.

  • @s.portowyi15
    @s.portowyi153 жыл бұрын

    По сути релиз платформы ради релиза платформы. Уже версий 10 платформы я ничего для себя нового не нахожу. Там где сложность оправдана - например сделать нормальный интерфейс многопоточности - 1С усложнять платформу не хочет. И в то же время с попытками сделать несложную асинхронность какую то жесть городили несколько версий платформы. В итоге ресурсоемкие и требующие неординарного подхода вещи я уже года 4 переношу в микросервисы (хранение документов, отчетные данные, журнал регистрации) - пусть через набор фоновых заданий и т.д. но в последствии с этими данными работать проще, как минимум пользователям - так как им важна скорость. Блин, я благодаря(или вопреки) 1С уже неплохо пишу на Jаva с использованием Spring/Spring Boot. Еще пару лет и в рабочих базах останется только то, для чего 1С изначально и предназначалась - оперативный и бухгалтерский учет, а все остальное пользователь будет обрабатывать в вебе и точно не через web-интерфейс 1С. Потому что все что выходит за рамки именно учета - сделано не совсем так как хотелось бы и похоже больше на набор костылей нежели на хорошо структурированный код. Хотя если без демагогии - в данном случае (по моему мнению) началось движение в нужном направлении. В очень нужном. Главное чтоб не останавливалось это движение)

  • @user-nh6mo6qu9l
    @user-nh6mo6qu9l4 жыл бұрын

    Что то не очень понял как работает. Пример: &НаКлиенте АСИНХ Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) Отказ = Истина; Обещание = Ждать ВопросАсинх("Записать изменения?", РежимДиалогаВопрос.ДаНет, 60); Если Обещание = КодВозвратаДиалога.Да Тогда Отказ = Ложь; КонецЕсли; КонецПроцедуры Все равно запись элемента происходит и только потом выходит вопрос. На Отказ вообще не реагирует.

  • @user-nh6mo6qu9l

    @user-nh6mo6qu9l

    4 жыл бұрын

    Как только добавляешь перед процедурой Асинх, сразу отказ перестает работать, он просто игнорируется &НаКлиенте Асинх Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) Отказ = Истина; КонецПроцедуры Отказ в такой процедуре не срабатывает. Это нормальное поведение?

  • @alexorgnet

    @alexorgnet

    4 жыл бұрын

    Олег П конечно нормальное. Ведь асинхронная процедура выполняется до конца, не останавливаясь. В этом же и весь смысл. Применять асинхронную процедуру не имеет смысла в стандартных системных обработчиках

  • @liamsmith7052

    @liamsmith7052

    4 жыл бұрын

    @@user-nh6mo6qu9l Либо для 1С Асинх ПередЗаписью и ПередЗаписью две разные процедуры, либо не знаю. В других языках до первого вызова "Ждать" код выполняется синхронно, как в обычной функции.

  • @1cworks722
    @1cworks7224 жыл бұрын

    А как это соотносится с отказом модальности? Кто-нибудь скажет мне?

  • @Ahm29ya

    @Ahm29ya

    4 жыл бұрын

    Почитайте об аналогичных реализациях асинхронных методов и promise на других языках, например JS и сразу поймете. Если коротко: синхронные методы полностью занимают собой стек вызовов из-за чего форма, из которой они вызваны становится модальной на это время и общение других клиентских методов на это время остановлено (как и работа пользователя, который ждёт пока всё отвиснет).

  • @leonidmessin22
    @leonidmessin224 жыл бұрын

    Не понял, для чего во втором примере было показывать, что вылазит два диалоговых окна. Даже на простом примере всё показано замудрено. Разработчики платформы, как всегда, жгут: Асинх Процедура... Неужели нельзя было ключевое слово "Асинх" в конце строки указывать, как слово "Экспорт"...

  • @Milkyway99999

    @Milkyway99999

    4 жыл бұрын

    Он не стал заморачиваться и написал код и его работу в стандартной процедуре, мог поставить СтандартнаяОбработка Ложь, и после этого вызвать уже свою процедуру со своим примером кода. Но мы и без этого все поняли.

  • @leonidmessin22

    @leonidmessin22

    4 жыл бұрын

    Надо заморачиваться, если хочешь кодить нормально.

  • @user-kt4zl2qm4o
    @user-kt4zl2qm4o4 жыл бұрын

    Жуть Опять привыкать по новому

  • @user-fj6mr3ow3y
    @user-fj6mr3ow3y4 жыл бұрын

    Интересно , где Вы были 6 ( шесть ! ) лет назад ! Во время работы на Олимпиаде в Сочи ?! Так обидно ! Никто из " сопровождающих специалистов " даже не понимал , что МНЕ нужно ! Там такие специалисты были , после города Сургута ( банковская специализация ), ну ОЧЕНЬ сложно было " разговаривать " на одном языке ! А сейчас - пандемия и возраст ! Или наоборот .

  • @chistovpavel

    @chistovpavel

    3 жыл бұрын

    Вопросы пришли именно на олимпиаде? "Хорошо" готовились видимо.

  • @user-fj6mr3ow3y

    @user-fj6mr3ow3y

    3 жыл бұрын

    @@chistovpavel ... на тот момент в 1 С не было многого из того , что сейчас предлагаете ..., запаздываете с обновлениями ... , а так - это просто было мое мнение и досада за нерасторопность разработчиков программы ...

  • @chistovpavel

    @chistovpavel

    3 жыл бұрын

    ​@@user-fj6mr3ow3y В рамках олимпиадных задач и задач на worldSkills за шесть лет мало что поменялось. Фразу "запаздываете с обновлениями" расшифруйте пожалуйста.

  • @xacan191182
    @xacan1911824 жыл бұрын

    Кто-то 1Сникам рассказал про Python и asyncio

  • @user-qp7uv2ip7x

    @user-qp7uv2ip7x

    4 жыл бұрын

    Есть шанс, что получиться такой франкиншейт, что-то из питона, что-то из java, javascript и т.д. )) В итоге при отладке будешь плеваться и матриться.. как сейчас.. когда, чтобы добраться до сути ныряешь в 20-ую процедуру

  • @timko_nzt
    @timko_nzt4 жыл бұрын

    Что им мешало этот префикс вставить как директиву &НаСервере &Асинхронно или как Экспорт в конце строки... нет же, сделали самым вырвиглазным способом.

  • @t1ltforlife

    @t1ltforlife

    4 жыл бұрын

    Взять то что сделано плохо и сделать ещё хуже это главная скрепа 1с

  • @user-qs8vf5dm3c
    @user-qs8vf5dm3c4 жыл бұрын

    Мне кажется, еще немного, и 1С перейдет на js.

  • @sialsoft

    @sialsoft

    3 жыл бұрын

    1С:Исполнитель - это русифицированная Java, как мне кажется.

  • @user-qs8vf5dm3c

    @user-qs8vf5dm3c

    3 жыл бұрын

    @@sialsoft я имел ввиду не Java а js

  • @vasakley2622
    @vasakley26224 жыл бұрын

    домашний комп и 50 лицензий)

  • @Ahm29ya

    @Ahm29ya

    4 жыл бұрын

    он удаленно подключен, но думаю один чёрт там варезные ключи

  • @chistovpavel

    @chistovpavel

    4 жыл бұрын

    Так я где работаю!? Специально заморочился drive.google.com/file/d/13zs4pp8JIVlrOobNA6xD3EPhFPMarYiM/view?usp=drivesdk это реальные ключи, и еще тут на канале есть видео как я активировал программные, поищите.

  • @vasakley2622

    @vasakley2622

    4 жыл бұрын

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

  • @user-wl8uk3ht6v

    @user-wl8uk3ht6v

    4 жыл бұрын

    Немножко перестраховался)) Бывает один пользователь съедает 10 лицензий, особенно если вебсервер

  • @research_Development
    @research_Development4 жыл бұрын

    Ахаха - Тип данных Обещание, модификатор Ждать... ЗВучит забавно и выглядит удобно. Все же лучше чем лапша вроде ОжиданиеПокаТЫЗакончишь.

  • @NoBodyAnyBody32

    @NoBodyAnyBody32

    4 жыл бұрын

    "Ожидание Пока Ты КОНЧИШЬ" - а так было бы лучше? ))))

  • @research_Development

    @research_Development

    4 жыл бұрын

    @@NoBodyAnyBody32 как вариант))

  • @NoBodyAnyBody32

    @NoBodyAnyBody32

    4 жыл бұрын

    @@research_Development 1С-Стайл! Главное, чтобы юзер не уснул пока 1С Обещание выполняется )))

  • @NoBodyAnyBody32

    @NoBodyAnyBody32

    4 жыл бұрын

    Это уже 1С-Стайл больше 20 лет! 1С 2.0 в Досе выполнялось мгновенно ))) начинал с него. Появилась 1С 7.7 и ВСЁ СТАЛО...

  • @chistovpavel

    @chistovpavel

    4 жыл бұрын

    @@NoBodyAnyBody32 Для этого есть оповещения! Можно котиков рисовать в зависимости от процента действия!

  • @user-lp7oc4zq1y
    @user-lp7oc4zq1y4 жыл бұрын

    А зачем вообще сущность Обещание? Мы ее можем как-то в последствии обработать? Или это просто "заглушка" для тех, кто не написал директиву Ждать? Просто с одной стороны синтаксис Ждать [Метод] очень понятен в плане ожидаемого исполнения кода, а с другой стороны исполнение асинхронных методов подобного рода без Ждать бессмысленно. То же касается и суффикса Асинх в методах ВопросАсинх, ПоместитьФайлНаСерверАсинх и т.п. Если они полностью заменяют старые методы, то зачем суффикс? Или они будут существовать параллельно? Не проще ли было иметь один метод Вопрос, режим работы которого определяется режимом работы процедуры/функции или директивой Ждать? Вообще идея классная, но есть ощущение переусложненного синтаксиса.

  • @alexorgnet

    @alexorgnet

    4 жыл бұрын

    Это вы ещё 1с экзекьютор не видели. Вот где переусложнение кода. Видать ребята из 1с упорно изобретают свой велосипед

  • @user-lp7oc4zq1y

    @user-lp7oc4zq1y

    4 жыл бұрын

    @@alexorgnet свой велосипед изобрести не грех, если он удобнее и проще чужих. Мне, например, на русском писать программу проще, но это не повод накручивать синтаксис до неприличия.

  • @verterius

    @verterius

    4 жыл бұрын

    Согласен, если методы переименовали, то зачем перед ними ставить Ждать? И так бы поняла система, что тут надо ждать) И вообще, если в процедуре встречается асинхронный метод, то пусть она считается асинхронной без всяких доп модификаторов.

  • @asoneas

    @asoneas

    3 жыл бұрын

    @@verterius А где установить флажок чтобы старая функция ПоместитьФайл стала работать так как ПоместитьФайлНаСерверАсинх без дополнительных заклинаний АСИНХ и Ждать? Спасибо ;) (Шутка)

  • @verterius

    @verterius

    3 жыл бұрын

    @@asoneas Я имел ввиду, что если перед процедурой есть директива АСИНХ, то пусть все методы внутри будут асинхронными без изменения их названий) Чем не галочка?)

  • @FVvideoClip
    @FVvideoClip4 жыл бұрын

    В видео описано как из асинхронной процедуры сделать синхронную. А сама сущность работы с промисом опущена совсем. Автора уважаю, но цель то совсем другая у таких процедур.

  • @chistovpavel

    @chistovpavel

    4 жыл бұрын

    Я ж адинесник... Расскажите, можно приватно, запишу дополнение.

  • @FVvideoClip

    @FVvideoClip

    4 жыл бұрын

    В 1С это не использовал, впервые о возможности от вас и узнал, спасибо. Но цель "не ждать", а выполнять другие действия и уже только по выполнению обработать результат.

  • @user-gl7tj8xg8e

    @user-gl7tj8xg8e

    4 жыл бұрын

    @@chistovpavel Цель тут лишь уйти от коллбэков и упростить код, только вот пример можно было бы расширить, например если ниже под вызовом АСИНХ функции у меня будет обычная функция, что будет в таком случае? В JS она бы вызвалась не дожидаясь результата АСИНХ функции, а тут как? И почему-то нет исходников, они бы не помешали конечно.

  • @zaan2684
    @zaan26844 жыл бұрын

    Чет не привычно видеть код на русском, а тааак вызовите кто-нибудь священника!!!

  • @nvufc7060

    @nvufc7060

    4 жыл бұрын

    ну так англоязычные видят язык на родном языке для них все языки как для нас 1с

  • @zaan2684

    @zaan2684

    4 жыл бұрын

    ​@@nvufc7060 ну эт да)

  • @chistovpavel

    @chistovpavel

    3 жыл бұрын

    Пишите на английском, в 1С двуязычный синтаксис.

Келесі