WhatsApp: получить и подписать шаблон асинхронно

Учебные задачи

Сервер возвращает действительный идентификатор интеграции; клиент ожидает список, шаблон и завершение изменения подписи.

Где и как запускать

Модуль управляемой формы: клиентская асинхронная процедура и отдельная серверная функция.

Подготовка

  1. Поместите обе процедуры в модуль учебной управляемой формы; КлючИнтеграции — ее строковый реквизит с действительным ключом своей WhatsApp-интеграции.

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

&НаКлиенте
Асинх Процедура ПодписатьШаблонАсинхронно()
    Идентификатор = ИдентификаторИнтеграцииНаСервере();
    Шаблоны = Ждать СистемаВзаимодействия.ПолучитьШаблоныСообщенияАсинх(Идентификатор);
    Если Шаблоны.Количество() <> 1 Тогда
        ВызватьИсключение "Нужен один собственный учебный шаблон WhatsApp";
    КонецЕсли;
    Шаблон = Ждать СистемаВзаимодействия.ПолучитьШаблонСообщенияАсинх(Шаблоны[0].Идентификатор);
    Если Шаблон = Неопределено Тогда
        ВызватьИсключение "Шаблон не найден";
    КонецЕсли;
    Подписи = Новый Массив;
    Для Каждого Подпись Из Шаблон.ПредставленияПодстановок Цикл
        Подписи.Добавить(Подпись);
    КонецЦикла;
    Ждать СистемаВзаимодействия.УстановитьПредставленияШаблонаСообщенияАсинх(Шаблон.Идентификатор, "Учебная подпись", Подписи);
    Сообщить("Изменение подписи завершено: " + Шаблон.Имя);
КонецПроцедуры

&НаСервере
Функция ИдентификаторИнтеграцииНаСервере()
    Интеграция = СистемаВзаимодействия.ПолучитьИнтеграцию(КлючИнтеграции);
    Если Интеграция = Неопределено Тогда
        ВызватьИсключение "Учебная интеграция не найдена";
    КонецЕсли;
    Возврат Интеграция.Идентификатор;
КонецФункции

Разбор по шагам

  1. Получите реальный идентификатор на сервере.

  2. Ждать извлекает результаты асинхронных методов, а не сами обещания.

  3. Изменение подписи ожидается до сообщения о завершении.

Как проверить результат

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

  2. После завершения перечитайте шаблон и сравните представление с Учебная подпись.

Ожидаемый результат

Завершенная асинхронная операция над своим существующим шаблоном.

На что обратить внимание

  1. Полученный ранее объект Шаблон не обязан автоматически обновить свое представление после setter. Здесь сообщение означает завершение вызова, а новое значение проверяется отдельным чтением. Сетевые ошибки не означают, что нужно автоматически повторять запись.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.