Как создать запись из Web-сервиса, что бы сработал бизнес-процесс?

Здравствуйте.

Сигналом для бизнес процесса являться добавление записи в раздел Продажи.
Каким образом нужно создать запись из web сервиса, что бы сработал этот бизнес - процесс.

Есть класс Insert, но насколько я понял он работает напрямую с БД и не вызовет срабатывание процесса. Значит остается вызов этого процесса из веб сервиса с параметром Id созданной продажи, не подскажите где найти пример вызова БП, у которого начальный сигнал - добавление записи.

Или есть еще какие то способы?

Нравится

4 комментария

Во внешнем интерфейсе ProcessEngine.svc есть публичный метод throwSignal(string signal), который позволяет сгенерировать сигнал, который ожидают те или иные процессы. Это для информации.
А вообще проблемы не будет, если вместо Select использовать EntitySchemaQuery, который триггернет событие добавления/изменения записи. К сожалению, не помню есть ли возможность пользоваться им, но почти уверен что да.

Дмитрий,
может вы перепутали? или не поняли меня.
http://www.terrasoft.ru/bpmonlinesdk/
Насколько я понял EntitySchemaQuery это Select + права доступа. С помощью него нельзя вставить запись.
Т.е. остается только генерация сигнала для бизнес процесса или есть еще вариант?
Приведите пожалуйста пример для С# (Web-сервиса).

Да, вы правы, извиняюсь.
Узнал, что если создавать запись так

 var schema = userConnection.EntitySchemaManager.GetInstanceByName("Activity");
    var entity = schema.CreateEntity(userConnection);
 
    entity.SetDefColumnValues();
    entity.SetColumnValue("Title", "Создать выборку целевой аудитории");
    entity.SetColumnValue("OwnerId", ownerId);
    entity.SetColumnValue("TypeId", "FBE0ACDC-CFC0-DF11-B00F-001D60E938C6");
    entity.Save();

то триггера на стартовый событиях бп (добавление/изменение записи) сработают.

дубль

Показать все комментарии