7.4
entity
update
Технические вопросы
7.x

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

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

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

Нравится

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

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

[csharp]

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();
}

[/csharp]

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

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

[csharp]
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();
}
[/csharp]

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

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