17.09.2008, 15:39 | #1 |
Участник
|
Автонумерация записей с помощью плагина
Об автонумерации на этом форуме уже говорили, но вопрос для меня остался открытым...
Итак, CRM 4.0. Номер генериться в плагине, повешенном на событие PreCreate. Основная сложность задачи автонумерации заключается в том, что нужно недопустить работы другого экземпляра плагина до тех пор, пока не выполнится теущий экземпляр, иначе возможно задвоение номеров. Раскопал следующий код: Код: public class Autonumbering : IPlugin { static Object _lock = new Object(); public void Execute(IPluginExecutionContext context) { lock (_lock) { int num = GetMaxNumber(); WriteNewNumber(++num); } } } Последний раз редактировалось ZooY; 17.09.2008 в 19:48. |
|
25.09.2008, 17:42 | #2 |
Участник
|
Возможно, я не совсем понял, что вы пытаетесь сделать, но почему бы просто не зарегистрировать плагин как синхронный - тогда вторая копия не запустится, пока не завершится выполнение первой...
|
|
25.09.2008, 19:45 | #3 |
Участник
|
То-есть если два человека на разных машинах инициируют выполнение синхронного плагина, то пока не выполнится один - не запуститься на выпонение другой?
|
|
28.09.2008, 13:52 | #4 |
Moderator
|
Совершенно верно. При регистрации плагина есть такая возможность.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Plug-in: как из контекста получить предыдущие данные? | 15 | |||
Создание и регистрация плагина на Execute и Retreive | 7 | |||
Доступ к базе данных SQL из плагина | 11 |
|