Update в серверной части. BPM 7.4

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

Подскажите пожалуйста, как правильно построить Update на серверной части, чтоб сработали обработчики, описанные в событиях обновляемого объекта?

Нравится

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

Если существует необходимость обработки событий объект, то Update лучше всего сделать через ESQ

public static void ExampleUpdateEntity(Guid contactId)
{
    EntitySchema schema = UserConnection.EntitySchemaManager.GetInstanceByName("Contact");
    EntitySchemaQuery esq = new EntitySchemaQuery(schema);
    esq.AddAllSchemaColumns();
    Entity entity = esq.GetEntity(UserConnection, contactId);
    entity.SetColumnValue("Name", "New Name");
    entity.Save();
}

а можно ли contactId как-то заменить фильтрами? Либо нужно сначала получить Id необходимой записи, а потом его использовать?
Каким образом можно после обработки обновить значения в карточке(перетянуть значения из базы, не обновляя страницу)?

Можно заменить и фильтрами. Сама идея просто работать с Entity.

    EntitySchema schema = UserConnection.EntitySchemaManager.GetInstanceByName("Contact");
    EntitySchemaQuery esq = new EntitySchemaQuery(schema);
    esq.AddAllSchemaColumns();
    esq.Filters.Add(esq.CreateFilterWithParameters(FilterComparisonType.Equal, "Name", "FilterName"));
    EntityCollection entities = esq.GetEntityCollection(UserConnection);
    foreach (Entity entity in entities)
    {
        entity.SetColumnValue("Name", "NewName");
        entity.Save();
    }

Спасибо за подсказку, все работает.

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