16.03.2009, 17:43 | #1 |
Участник
|
Как достать значение до изменения в PostUpdate?
Коллеги, пролейте свет на вот такой вопрос:
Можно ли получить на событии PostUpdate значение атрибута до изменения? Что-то типа this.orig() если по аналогии с Ax
__________________
С уважением, Tony Green |
|
16.03.2009, 18:47 | #2 |
Участник
|
Можно.
Вам нужно зарегистрировать Pre Image. Читайте SDK или, например, вот статейку: http://nishantrana.wordpress.com/200...ges-in-crm-40/ |
|
|
За это сообщение автора поблагодарили: Roman08 (1). |
16.03.2009, 18:57 | #3 |
Участник
|
эээ... простите за неточную постановку вопроса. Мне нужно совершать определенные действия над PostImage данными, но при условии изменения одного конкретного атрибута. Как бы узнать, что PostUpdate был вызван изменением именно нужного мне атрибута?
__________________
С уважением, Tony Green |
|
16.03.2009, 19:21 | #4 |
Участник
|
Ну а что мешает зарегистрировать оба - Pre и Post - образа и вынуть из них соответственно pre- и post-значения нужного Вам атрибута? Если не совпадают - значит изменился!
|
|
16.03.2009, 22:20 | #5 |
Moderator
|
В SDK есть раздел на тему передачи параметров между pre и post плагинами: "Passing Data Between Plug-ins".
Хотя постановка вопроса не ясна. Если вам нужно совершать "действия над данными", то логично делать это именно в pre плагине. Так вам не придется вызывать сервис, чтобы внести изменения в сохраняемый объект - достаточно исправить image. Возможно вы конкретизируете задачу, чтобы стало понятнее? Кроме того в контекст плагина (PluginExecutionContext) передаются PreEntityImages и PostEntityImages. Если система работает так как написано в SDK, то это то, что вам нужно.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
17.03.2009, 12:35 | #6 |
Участник
|
Регистрация одновременно Pre и Post Image на событии PostUpdate не прокатила. PreImage в плагине остается пустой Или я где-то накосячил...
Я хотел проверить, что изменился именно мой аттрибут и после этого поколдовать над связанными сущностями. Очень хотелось это привесить именно на PostUpdate. Если вешать мои обработки на PreUpdate, то в случае возникновения ошибки при сохранении изменений основной сущности, у меня будет куча обработанных связанных сущностей и нетронутая основная. Это совсем криво. Вообще есть ли какое-нибудь понятие транзакции при написании плагина? Типа если сохранение сущности выдало какую-либо ошибку, то откатилось заодно и все изменения БД из плагина?
__________________
С уважением, Tony Green |
|
17.03.2009, 13:26 | #7 |
Участник
|
Надо полагать вы просто открыли Image и поставили галочку Pre. Лично у меня такой вариант не прокатывает, видимо в регистраторе плагинов какая то кривость наблюдается. Нужно удалить Image и заново создать его с нужными вам параметрами.
|
|
17.03.2009, 13:30 | #8 |
Участник
|
Я попытался прицепить одновременно два Image к шагу Post Update. Это вообще должно работать или в каком-то месте противоречит здравому смыслу?
__________________
С уважением, Tony Green |
|