Запустить процесс после исполнения родительских процессов
Подскажите, пожалуйста, как можно запустить процесс на объекте ПОСЛЕ исполнения процессов, определенных в родительском объекте?
Нравится
На сколько я знаю, процессы реализованные в замещенных объектах и так запускаются после отработки процессов в родительских объектах, если конечно Вы ничего не переопределяли.
Вы можете использовать событийный слой и там разрабатывать обработку данных объекта, естественно после отработки базовой логики + событийный слой более гибкий том можно работать с данными как перед сохранением/изменением в бд так и после. Более детально в описано в данной статье.
Нигрескул Алексей пишет:
Вы можете использовать событийный слой и там разрабатывать обработку данных объекта
В статье написано, что Механизм событийного слоя 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…