Запустить процесс после исполнения родительских процессов

Подскажите, пожалуйста, как можно запустить процесс на объекте ПОСЛЕ исполнения процессов, определенных в родительском объекте?

Изображение удалено.

Нравится

5 комментариев
Лучший ответ

На сколько я знаю, процессы реализованные в замещенных объектах и так запускаются после отработки процессов в родительских объектах, если конечно Вы ничего не переопределяли.

Вы можете использовать событийный слой и там разрабатывать обработку данных объекта, естественно после отработки базовой логики + событийный слой более гибкий том можно работать с данными как перед сохранением/изменением в бд так и после. Более детально в описано в данной статье.

Нигрескул Алексей пишет:

Вы можете использовать событийный слой и там разрабатывать обработку данных объекта

В статье написано, что Механизм событийного слоя Entity срабатывает после выполнения событийных подпроцессов объекта

Однако, в данном случае поле Code (заполняется в процессе объекта на OnSaved) оказывается пустым.



 

[EntityEventListener(SchemaName = "Account")] 
public class UsrAccountEntityEventListener : BaseEntityEventListener
 {
  public override void OnSaved(object sender, EntityAfterEventArgs e) {
    base.OnSaved(sender, e);
 
    var entity = (Entity) sender;
    var userConnection = entity.UserConnection;
 
    string accountCode = entity.GetTypedColumnValue<string>("Code");
 
    throw new Exception(entity.Schema.Name + " " + accountCode);

 

Владимир, если есть доступ к серверу, можно произвести отладку, чтобы выяснить, что за чем выполняется.

Зверев Александр пишет:

Владимир, если есть доступ к серверу, можно произвести отладку, чтобы выяснить, что за чем выполняется.

выяснили, что процесс выполняется первым, но в событийном слое у  entity нет тех значений, которые установились в процессе: https://community.terrasoft.ua/questions/poluchenie-znacheniy-v-sobytiy…

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