Об автонумерации на этом форуме уже говорили, но вопрос для меня остался открытым...
Итак, 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);
}
}
}
В CRM 3.0 эта тема работала. А вот будет ли это работать в CRM 4.0? На сколько я понимаю, данный прием будет работать, если библиотека с плагином подключается один раз и при вызове плагина происодит просто создание нового экземпляра класса плагина. Так было в трешке, а как обстоят дела в четверке с ее хранением плагинов в базе?