...

Отправка сообщения в процесс сценарием

Тема в разделе "Вопросы по функционалу", создана пользователем Ekaterina Morozevich, 16 ноя 2018.

  1. Каким образом можно отправить сообщение конкретного типа, конкретному экземпляру процесса через сценарий?
    Была найдена функция
    PublicAPI.Services.WorkflowMessaging.SendMessage(), который принимает 3 аргумента -
    workflowInstance - экземпляр процесса (известен),
    messageType - тип сообщения (известен),
    WebData - неизвестен, известно только его местонахождение в системе - EleWise.ELMA.Common.Models.WebData с 3 методами: CreateForDeleted, CreateFromObject и CreateFromEntity.
    Как воспользоваться данными методами для отправки сообщения?
     
  2. arkarimov

    arkarimov Member

    WebData действительно плохо документирован, хотя в базе знаний есть примеры использования.
    Кратко, WebData представляет из себя пакет в котором сведения передаются через его свойство WebData.Items.
    Это список типа WebDataItem которые в свою очередь представляют собой классическую пару ключ-значение (свойства Name и Value), оба строковые, в строку названия пишете название параметра сообщения в который кладете значение, в значение - Id объекта, если объект, или строку если простая строка.
    Итого использовать так
    1. Создать WebData
    2. Наполнить WebData.Items
    например
    Код:
    var wdata = new WebData ();
    var wdi = new List<WebDataItem> ();
    wdi.Add (new WebDataItem {
                        Name = "Утвердил",
                        Value = сontext.Utverzhdayuschiy.Id.ToString ()
                    });
    wdata.Items = wdi.ToArray ();
    PublicAPI.Services.WorkflowMessaging.SendMessage (ПроцессПолучатель, ТипСообщения, wdata);
     

Поделиться: