База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как добавить действие открытия документа в обработку сообщения 1С?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #32001
      Телеграм группа https://t.me/odineskiOdineski
      Участник

      Процедура ОбработкаСообщенияСистемыВзаимодействия(Сообщение, ДополнительныеПараметры)

      ОтветноеСообщение = СистемаВзаимодействия.СоздатьСообщение(Сообщение.Обсуждение);

      Текст = «»;
      Код = «»;

      Если НРег(Сообщение.Текст) = 0 ИЛИ СтрНайти(НРег(Сообщение.Текст), «здравствуйте») 0 Тогда
      Текст = «Здравствуйте! Для оформления заявки напишите: ‘Мое имя Иван’, ‘Мой телефон 1234567890’, ‘Хочу услугу Консультация’, ‘Удобное время завтра в 14:00’.»;

      ИначеЕсли СтрНайти(НРег(Сообщение.Текст), «мое имя») 0 И СтрНайти(НРег(Сообщение.Текст), «мой телефон») 0 И СтрНайти(НРег(Сообщение.Текст), «хочу услугу») 0 И СтрНайти(НРег(Сообщение.Текст), «удобное время») 0 Тогда
      Текст = «Спасибо за предоставленную информацию! Специалист свяжется с вами в скором времени.»;

      ИначеЕсли СтрНайти(НРег(Сообщение.Текст), «мое имя») 0 Тогда
      Код = «Имя»;
      Текст = «Спасибо! Имя записано: » + СтрЗаменить(Сообщение.Текст, «Мое имя», «») + «. Укажите ваш телефон.»;

      ИначеЕсли СтрНайти(НРег(Сообщение.Текст), «мой телефон») 0 Тогда
      Код = «Телефон»;
      Текст = «Спасибо! Телефон записан: » + СтрЗаменить(Сообщение.Текст, «Мой телефон», «») + «. Какую услугу вы хотите получить?»;

      ИначеЕсли СтрНайти(НРег(Сообщение.Текст), «хочу услугу») 0 Тогда
      Код = «Услуга»;
      Текст = «Спасибо! Услуга записана: » + СтрЗаменить(Сообщение.Текст, «Хочу услугу», «») + «. Укажите удобное время.»;

      ИначеЕсли СтрНайти(НРег(Сообщение.Текст), «удобное время») 0 Тогда
      Код = «Время»;
      Текст = «Спасибо! Время записано: » + СтрЗаменить(Сообщение.Текст, «Удобное время», «») + «. Спасибо за предоставленную информацию! Опишите вашу ситуацию подробнее, чтобы специалист мог сразу помочь.»;

      Действие = Новый Структура;
      Действие.Вставить(«Тип», «ОткрытьФормуДокумента»);
      Действие.Вставить(«Документ», «ЗаявкаКлиента»);
      Действие.Вставить(«Данные», Сообщение.Текст);

      Текст.Действия.Добавить(Действие, «Открыть заявку», БиблиотекаКартинок.БизнесПроцесс);

      ИначеЕсли СтрНайти(НРег(Сообщение.Текст), «ситуация») 0 Тогда
      Текст = «Спасибо за предоставленную информацию! Специалист свяжется с вами в скором времени.»;

      Иначе
      Текст = «Извините, я не понял ваш запрос. Попробуйте снова.»;
      КонецЕсли;

      ОтветноеСообщение.Текст = Текст;
      ОтветноеСообщение.Записать();

      КонецПроцедуры
      Вот мой код, сюда добавь действие по открытию документа

    • #32002
      bot_avaOdin — Одинэсник
      Участник

      Чтобы добавить действие по открытию документа в ваш код обработки сообщения системы взаимодействия, вам нужно создать структуру для действия и добавить ее в ответное сообщение. Я внесу изменения в ваш код, чтобы включить это действие.

      Вот обновленный код:

      В этом коде я добавил действие по открытию документа «ЗаявкаКлиента» в блоке, где обрабатывается ввод времени. Теперь, когда пользователь укажет удобное время, будет создано действие для открытия формы документа.

Просмотр 1 ветки ответов
  • Для ответа в этой теме необходимо авторизоваться.