Как показывать сообщения, диалоги и вопросы в 1С

Поделиться
HTML-код
  • Опубликовано: 24 ноя 2020
  • 🔴Как показывать сообщения, диалоги и вопросы в 1С🔴
    Рассматриваемые темы:
    - Как показать сообщение пользователю в 1С
    - Как открыть форму в 1С (элемента, списка, с отбором)
    - Что такое модальное окно в 1С
    - Как запросить у пользователя число, строку, дату в 1С
    - Что такое асинхронный метод в 1С
    - Принцип работы асинхронных методов в 1С
    - Как показать вопрос в 1С
    #1с #программирование1с #уроки1с #ironskills
    Материалы из видео (презентация + обработки):
    yadi.sk/d/Wsmn57O4XsL4Iw
    Поддержать канал донатом можно по ссылке:
    donate.stream/ya410011655962993
    ☝Ссылка для регистрации на курс "Профессия Программист 1С: с нуля до профи":
    ironskills.by/programmist-1c
    С уважением, команда IRONSKILLS

Комментарии • 102

  • @user-bj7rz9hw3v
    @user-bj7rz9hw3v 3 года назад +12

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

  • @dmitryt3979
    @dmitryt3979 2 года назад +5

    Поддержу предыдущих комментаторов: подача без воды, только по существу и с раскрытием собственных приемов работы как программиста. Спасибо!

  • @user-mn6pk1ky2f
    @user-mn6pk1ky2f 3 года назад +11

    Спасибо ТЕБЕ, КРУТОЙ ЧЕЛ. ВСЕ ПО ДЕЛУ.

  • @user-tv5ki4zd9n
    @user-tv5ki4zd9n 2 года назад +6

    Прекрасный материал. Динамика изложения самая правильная. Спасибо.

  • @IlyaLeontyev
    @IlyaLeontyev 3 года назад +28

    50:42 Отмечу, что в методе ПоказатьПредупреждение() первый параметр необязательный. Так что можно было не создавать процедуру-заглушку, а просто написать ПоказатьПредупреждение(, "Текст сообщения").

    • @pilotmebelitti6682
      @pilotmebelitti6682 2 года назад +1

      Илья я был приятно удивлен.!!! Когда увидел ваше Имя в посте.

  • @user-kd2ql4lz2k
    @user-kd2ql4lz2k 3 года назад +9

    Ясно, чётко, всё по делу. Спасибо огромное за работу!!! Теперь всегда буду использовать асинхронные методы.

    • @Anton-ni8un
      @Anton-ni8un 3 года назад

      Ясно, четко? Одно и то же 5 раз объясняет. Очевидно же, что всё однообразно. Как человек, который не может в логику, будет потом сам работать после этих курсов? Видимо никак.

    • @user-qi4wt6vg1p
      @user-qi4wt6vg1p 3 года назад +3

      @@Anton-ni8un Так и будет, вспомнит, то что он когда то уже делал, откроет обработку, посмотрит код и найдет решение задачи. Или научившись работать с синтаксис-помощником сможет быстро найти решение, или дальше его исследовать с помощью обработок, кстати таким же методом изучается и БСП.

    • @user-kd2ql4lz2k
      @user-kd2ql4lz2k 3 года назад +2

      @@Anton-ni8un покажите пожалуйста как правильно делать обучающие ролики. Выложите их на своём канале - всем будет интересно.

    • @Anton-ni8un
      @Anton-ni8un 3 года назад

      @@user-kd2ql4lz2k, а вы чего такой агрессивный? Я не имею права на свое мнение?

    • @user-kd2ql4lz2k
      @user-kd2ql4lz2k 3 года назад +2

      @@Anton-ni8un конечно же имеете. Но ваше мнение вам же и противоречит. Те кто "умеют в логику" могут повторяющиеся моменты перемотать. А таких видео как это по качеству содержания очень мало в свободном доступе.

  • @user-vq6wu3sr6l
    @user-vq6wu3sr6l 3 месяца назад

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

  • @zabaluev
    @zabaluev 3 года назад +8

    Хороший урок. Спасибо. Полезно повторить, что уже знаешь. Отличное качество картинки, код видно, в отличии от коллег, которые почему то в разрешении 720 выводят видео.

  • @user-fd7mm8mp1c
    @user-fd7mm8mp1c 3 года назад +1

    Спасибо Вам за Ваши уроки!

  • @user-qi4wt6vg1p
    @user-qi4wt6vg1p 3 года назад +4

    Спасибо за видео! Все как всегда качественно.

  • @user-kz8rb1fk4s
    @user-kz8rb1fk4s 2 года назад +1

    Спасибо за работу! Нравится!👍

  • @Barbin4ik
    @Barbin4ik 3 года назад +4

    Класс! Спасибо!

  • @slavock9230
    @slavock9230 2 года назад +2

    Иван, спасибо за такие обучающие ролики ! Продолжай в том же направлении!

  • @vbRus
    @vbRus 2 года назад +1

    Спасибо огромное. Все понятно.
    Желаю дальнейшего развития канала!

  • @user-cm1tu7yv5x
    @user-cm1tu7yv5x 3 года назад +1

    Очень понятно. Спасибо

  • @user-abc-abc
    @user-abc-abc 2 года назад +1

    Отлично! Спасибо!

  • @helmetson652
    @helmetson652 Год назад +1

    35:55 - небольшое уточнение, открывается не форма списка, а форма выбора. Нередко это разные формы
    ЗЫ. Не знаю, как кому, я обычно булевы переменные с истиной не сравниваю когда пишу условие, в этом смысла нет. Сравнение дает результат типа булево, а "РезультатВвода" у нас и так булевый тип имеет

  • @user-um7qp3nd9k
    @user-um7qp3nd9k 3 года назад +2

    Спасибо! Прекрасная подача материала! Расскажите, пожалуйста, про планы обмена и/или xdto

  • @irina99662
    @irina99662 8 месяцев назад +1

    Спасибо большое 😍

  • @user-lt8tj4wg4t
    @user-lt8tj4wg4t Год назад +2

    Спасибо за видео!! Все подробно разъяснено, доступным простым языком, очень последовательно и продумано. Хороший урок , особенно для начинающих.

    • @krutoyinfo
      @krutoyinfo 4 месяца назад

      начинающий адинэсник. Это даже звучит жутко

  • @user-xs1pn1je2p
    @user-xs1pn1je2p Год назад

    Спасибо !

  • @krutoyinfo
    @krutoyinfo 4 месяца назад +1

    Полезно только тем, кто не умеет читать справку и сам че-то пробовать....

  • @ffff00-korj
    @ffff00-korj 3 года назад +15

    Привет! Отличное видео, прекрасная подача, без воды и лишнего, продолжай делать дальше, скажу за всех, но мы в полном восторге :)
    Единственный вопрос, который для меня остался открытым, почему обязательно процедура обработки оповещения должна быть экспортной?

    • @ironskills-1c
      @ironskills-1c  3 года назад +1

      Илья, спасибо большое!) По поводу экспортного метода - дело в том, что обработчик оповещения (процедура) может располагаться не обязательно в текущем модуле, а, например, в общем модуле. А для того чтобы можно было вызывать процедуру другого модуля она должна быть экспортной.

    • @Anton-ni8un
      @Anton-ni8un 3 года назад +3

      Без воды? По-моему одна вода. Однообразные действия показывает по 5 раз. Очевидно, что методы однообразные.

    • @ironskills-1c
      @ironskills-1c  3 года назад +4

      @@Anton-ni8un Спасибо за критику) Понятно, что для кого-то это не новая тема, поэтому может показаться что все знакомо и повторяется)

    • @user-sb7tl2tm2p
      @user-sb7tl2tm2p 3 года назад +6

      @@Anton-ni8un куда нам до вас кудесник

    • @karenhovhannisyan1674
      @karenhovhannisyan1674 11 месяцев назад

      @@ironskills-1cor

  • @user-qq6gp6dt2l
    @user-qq6gp6dt2l 3 года назад

    Круто)

  • @helmetson652
    @helmetson652 Год назад

    16:05 - получать ссылку на номенклатуру по ее коду не лучше ли "на сервере без контекста"?

  • @user-ej1wg3cx7m
    @user-ej1wg3cx7m 3 года назад +2

    🔥🔥🔥

  • @user-hj1xd7xy1r
    @user-hj1xd7xy1r 3 года назад +1

    На клиенте это хорошо, неплохо было-бы взаимодействие между клинет-сервер.

  • @alexu3680
    @alexu3680 2 года назад +1

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

    • @ironskills-1c
      @ironskills-1c  2 года назад

      Да, в модуле объекта задать вопрос не получится, но можно решить через событие ПередЗаписью на уровне формы, это событие обрабатывается на клиенте, где диалоги можно использовать)

  • @user-ps4jn3
    @user-ps4jn3 3 года назад +1

    Спасибо вам, одно вапрос у меня можно использовать этим методы на упр.приложение и обич.проложение?

    • @ironskills-1c
      @ironskills-1c  3 года назад +1

      Часть объектов и методов доступны в обычном приложении, но не все)

  • @user-cy6qs3kg5i
    @user-cy6qs3kg5i 3 года назад +3

    Спасибо за материал! Если не сложно , ставь тайм коды пожалуйста)

    • @ironskills-1c
      @ironskills-1c  3 года назад +1

      Евгений, спасибо, со временем сделаем)

  • @klmitry
    @klmitry 2 года назад

    46:20 А есть ли возможность в данном примере вывести сообщение "Код работает дальше" не в окне с вопросом, а внизу экрана как обычные сообщения?

    • @klmitry
      @klmitry 2 года назад +1

      Разобрался. Нужно добавить строку: Сообщение.ИдентификаторНазначения = УникальныйИдентификатор; Чтобы привязать сообщение к форме. Да уж, методом Сообщить() это не сделать...

  • @helmetson652
    @helmetson652 Год назад +1

    33:18 - у вас тут ошибка. "Выберите дату рождения" - дату рождения не выбирают)

  • @user-zg5ky7cq4v
    @user-zg5ky7cq4v 3 года назад +2

    Спасибо за видео все четко и понятно. А как записаться на ваши курсы если номер телефона например 926............?

    • @ironskills-1c
      @ironskills-1c  3 года назад +1

      Сергей, на сайте должна быть возможность выбрать страну) Либо можете написать нам в telegram - @ironskills_bot

  • @user-bi1zh1dt4k
    @user-bi1zh1dt4k 2 года назад +2

    Имхо - толковей остальных курсов и без воды. У Гилева-Чистова в раза 3 бы дольше вышло бы...

    • @krutoyinfo
      @krutoyinfo 4 месяца назад

      ты угораешь?

  • @tarzannarzan9388
    @tarzannarzan9388 2 года назад +1

    👍

  • @tranclyatina
    @tranclyatina 3 года назад +3

    Круто! я учу язык прог. с нуля вообще. трудно даются циклы, и дальше. Иван посоветуй пожалуйста источники где есть примеры, или боевые несложные задачки. и еще, пожалуйста, как научиться комбинировать конструкции языка? очень хочется научиться.

    • @Barbin4ik
      @Barbin4ik 3 года назад +2

      пройди курс владимира милькина по програмированию

    • @tranclyatina
      @tranclyatina 3 года назад

      @@Barbin4ik мне этого мало. У меня куплен курс

    • @Barbin4ik
      @Barbin4ik 3 года назад +2

      @@tranclyatina тогда просто занимайся и не спеши,все получится.

    • @ironskills-1c
      @ironskills-1c  3 года назад +2

      Павел, по поводу источников для практики трудно сказать, есть много книг по 1С, но на отработку например, циклов, условий задач там обычно немного (из того что видел). Из сборников задач могу порекомендовать книгу Павла Чистова "Сборник задач про разработке на платформе 1С:Предприятие".

    • @tranclyatina
      @tranclyatina 3 года назад +1

      @@Barbin4ik Спасибо большое

  • @yurikostsov8697
    @yurikostsov8697 Год назад

    Как позиционировать на объект типа Перечисление на форме ? Т.е. если поле незаполненное, то программу не продолжать.

    • @krutoyinfo
      @krutoyinfo 4 месяца назад

      также как и на любой другой реквизит

  • @murmanskoff6135
    @murmanskoff6135 3 года назад +1

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

    • @askarmuk
      @askarmuk 3 года назад

      Решение о проведение документа вызовется через процедуру, указанную в ПоказатьВводЧисла.

    • @murmanskoff6135
      @murmanskoff6135 3 года назад

      ​@@askarmuk Ты видно не понял вопроса, либо плохо смотрел данное видео. Пример: В процедуре ОбработкаПроведения нужно дописать свой код при котором вызывается окно с выбором "Продолжить или Отменить". Асинхронный вызов здесь не подходит. Как обойти данную проблему не меняя свойство конфигурации?

    • @user-sd9oc4qh2c
      @user-sd9oc4qh2c 3 года назад

      @@murmanskoff6135 , а ничего, что обработка проведения - на сервере, а все окна - на клиенте? Куда ты его выведешь, если это проведение будет вообще без открытия каких-то форм проходить???

    • @murmanskoff6135
      @murmanskoff6135 3 года назад +1

      @@user-sd9oc4qh2c А ничего ... последовательность событий при проведении документа:
      Модуль формы (&НаКлиенте) - перед записью;
      Модуль формы (&НаСервере) - обработка проверки заполнения на сервере;
      Модуль объекта - обработка проверки заполнения;
      Модуль формы (&НаСервере) - перед записью на сервере;
      Модуль объекта - перед записью (начало транзакции, документ еще не записан);
      Модуль объекта - при записи (документ записан);
      Модуль объекта - обработка проведения (формирование набора записей движений документа);
      Модуль формы (&НаСервере) - при записи на сервере (записан набор записей движений документа, фиксация транзакции);
      Модуль формы (&НаСервере) - после записи на сервере;
      Модуль формы (&НаКлиенте) - после записи.

    • @krutoyinfo
      @krutoyinfo 4 месяца назад

      Так не выйдет. Сначала все проверки и вопросы задай на клиенте, потом в обработку проведения передавай ответы и принимай решение, проводить или нет

  • @MrRaideres
    @MrRaideres 3 года назад +1

    22:05 вы переименовали одно слова отбор но сразу заменилось оно же и ниже это как?

    • @ironskills-1c
      @ironskills-1c  3 года назад +2

      Это скорее всего чудеса монтажа :))

    • @PTolkachev
      @PTolkachev 3 года назад +1

      Без всякого монтажа можно использовать Ctrl+Alt+R для переименования как переменных, так и функций с процедурами по всему коду.

  • @user-bb8qr6xl5s
    @user-bb8qr6xl5s 3 года назад +5

    Если можно то на упр формах по больше уроков :)

    • @IlyaLeontyev
      @IlyaLeontyev 3 года назад +1

      Ты ж уходить хотел из 1С? 😉

    • @krutoyinfo
      @krutoyinfo 4 месяца назад

      нахуй они тебе не нужны. переходи лучше на html или андроид

  • @stanislavshilo6022
    @stanislavshilo6022 Год назад

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

    • @ironskills-1c
      @ironskills-1c  Год назад

      Станислав, спасибо за вопрос) Если нужно блокировать интерфейс при вводе данных, то можно создать собственную форму и открывать её в режиме "БлокироватьВесьИнтерфейс" или "БлокироватьОкноВладельца".

    • @krutoyinfo
      @krutoyinfo 4 месяца назад

      Никак. Браузеры не будут работать с модальностями. Придется городить кучу вложенных процедур с вопросами и на выходе их собирать.

  • @AntonFoxy
    @AntonFoxy 9 месяцев назад

    Доброго дня! Вот лучше бы конечно в видео не было моментов - Справочники.Номенклатура.НайтиПоКоду() , понимаю что видео залито 2 года назад. Но я бы советовал делать так - Справочники.Номенклатура.ПолучитьСсылку( Новый УникальныйИдентификатор(""))
    Так мы точно обратимся к нужному элементу, потому как код, может измениться)

    • @ironskills-1c
      @ironskills-1c  9 месяцев назад

      Здравствуйте, Антон) Спасибо за комментарий, в видео показаны учебные примеры кода, для упрощения понимания выполняется поиск по коду)

    • @krutoyinfo
      @krutoyinfo 4 месяца назад

      уникальный идентификатор тоже может поменяться, прикинь!

  • @klmitry
    @klmitry 2 года назад +1

    1:40 Иван говорит, что "Все эти методы доступны на стороне клиента...". Вроде бы Сообщить и СообщениеПользователю доступны и на сервере тоже.

    • @ironskills-1c
      @ironskills-1c  2 года назад

      Да, вывод сообщений на сервере можно использовать, спасибо за комментарий ;)

    • @krutoyinfo
      @krutoyinfo 4 месяца назад

      Зачем ты такие видосики смотришь вобще?

  • @usreum6046
    @usreum6046 2 года назад +1

    Ну НЕостановка исполнения кода - так себе преимущество. То есть Вопрос или предупреждение -- это последняя строка модуля? А что делать если нужны переменные, значение которых нужно далее, а они получены перед Вопросом?

    • @ironskills-1c
      @ironskills-1c  2 года назад +1

      Для этого в процедурах-обработчиках оповещений есть параметр "ДополнительныеПараметры", используя которые можно передавать данные в обработчик оповещения из процедуры, которая вызывает асинхронный метод)

  • @stanislavshilo6022
    @stanislavshilo6022 Год назад +1

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

  • @user-rs3rq5mp2e
    @user-rs3rq5mp2e 6 месяцев назад +2

    слишком просто, а как выбрать конкретного пользователя и отправить ему сообщение ????

    • @ironskills-1c
      @ironskills-1c  5 месяцев назад

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

    • @krutoyinfo
      @krutoyinfo 4 месяца назад

      Делаешь регистр сведений в который пишешь сообщение и пользователя, которому отправить и у всех пользователей по таймеру читаешь этот регистр и если там чето есть - выводишь

  • @ktotoanonimnyj7500
    @ktotoanonimnyj7500 2 года назад

    Привет всем. А кто в курсе, как очистить оповещения в колокольчике программно? т.е. оповещения созданные методом ПоказатьОповещениеПользователю() со статусом важное?

    • @krutoyinfo
      @krutoyinfo 4 месяца назад

      видимо ОчиститьОповещенияПользователю()

    • @ktotoanonimnyj7500
      @ktotoanonimnyj7500 4 месяца назад

      @@krutoyinfo В СП не вижу.

  • @stanislavshilo6022
    @stanislavshilo6022 Год назад

    Чувак, ну почему же в 1с так сложно показать долбанное модальное окно, не нужна нам конфигурация и часовое видео, нужно показать долбанный вопрос.....

    • @ironskills-1c
      @ironskills-1c  Год назад

      Это связано с работой в веб-клиенте (браузере), браузеры не любят модальные окна))

    • @krutoyinfo
      @krutoyinfo 4 месяца назад

      Ничего сложного, показывай на здоровье, если не собираешься работать через браузер. Да ив браузере можно, пока он не забанит твои окна )