|
|
#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. |
|
|
|
|
#2 |
|
Участник
|
Возможно, я не совсем понял, что вы пытаетесь сделать, но почему бы просто не зарегистрировать плагин как синхронный - тогда вторая копия не запустится, пока не завершится выполнение первой...
|
|
|
|
|
#3 |
|
Участник
|
То-есть если два человека на разных машинах инициируют выполнение синхронного плагина, то пока не выполнится один - не запуститься на выпонение другой?
|
|
|
|
|
#4 |
|
Moderator
|
Совершенно верно. При регистрации плагина есть такая возможность.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() MS Certified Dirty Magic Professional
|
|
|
|
|
Похожие темы
|
||||
| Тема | Ответов | |||
| Plug-in: как из контекста получить предыдущие данные? | 15 | |||
| Создание и регистрация плагина на Execute и Retreive | 7 | |||
| Доступ к базе данных SQL из плагина | 11 | |||
|