Показать сообщение отдельно
Старый 17.09.2008, 15:39   #1  
ZooY is offline
ZooY
Участник
Аватар для ZooY
 
379 / 46 (2) +++
Регистрация: 24.06.2008
Адрес: Россия, Москва
? Автонумерация записей с помощью плагина
Об автонумерации на этом форуме уже говорили, но вопрос для меня остался открытым...
Итак, 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? На сколько я понимаю, данный прием будет работать, если библиотека с плагином подключается один раз и при вызове плагина происодит просто создание нового экземпляра класса плагина. Так было в трешке, а как обстоят дела в четверке с ее хранением плагинов в базе?

Последний раз редактировалось ZooY; 17.09.2008 в 19:48.