В одном из постов я описывал как создать Автонумератор для Microsoft Dynamics CRM 4.0 с помощью механизма Workflow . Этот пример был больше ознакомительным с механизмом Workflow и использовать его на практике вызовет ряд неудобств. Сегодня я опишу как создать автонумерацию для любой сущности с помощью плагина. За основу был взят вариант http://www.codeplex.com/crmnumbering/ и немного модернизированный «под себя» с реализованной возможностью задавать префикс для генерируемого номера и более гибкой возможность настройки ![]()
- Скачайте необходимые файлы: кастомизацию сущности и сам плагин
- Импортируем файл кастомизации. У вас создаться новая сущность Автонумератор (do_universalnumber)
- Опубликуем данную сущность
- Создаем новую запись нашего Автонумератора.

- Регистрирую плагин AKAutoNumber.dll
Message: Create
Primary Entity: contact
Stage: Pre
- Тестируем.

Пример: В поле Сущность выбираю «Контакт» -> Жмем «Сохранить» -> в поле «Атрибут» выбираю firstname -> Указываю необходимый префикс и в поле «Счетчик» указываю начальное значение счетчика. -> «Сохранить и закрыть»
Примечание: т.к. в поле «Атрибут» необходимо выбирать только атрибуты типа nvarchar
Для того, чтобы создать автонумератор для другой сущности повторяем шаги 4-5
Вы можете скачать кастомизацию сущности и сам плагин. Улучшение кода приветствуется, сообщайте в комментариях
Использовались:
http://www.codeplex.com/crmnumbering/ – основа плагина
http://a33ik.blogspot.com/ – примеры для создания динамического пиклиста сущностей

12.08.2009 в 13:23
Если плагин немного переписать и получать тип сущности из Target контекста. Преимущество – шаг плагина может будет регистировать на none и таким образом плагин станет универсальным. Настройка сведётся к созданию в системе записи сущности.
12.08.2009 в 13:27
Спасибо за совет, попробую модифицировать
09.03.2010 в 11:23
Константин, поставил в лоб по мини инструкции, что то префикс не работает, т.е. вроде префикс указан, но в сущность записывается просто номер без префикса
09.03.2010 в 11:58
Трудно сказать, надо исходники проверить
09.03.2010 в 15:49
Все – разобрался. Исходники верные. В папке bin/debug устаревшие dll. Нужно перекомпилировать приложение (обратив внимание на output path в свойствах проекта) и регистрировать «свежую» dll.
P.S. Спасибо
09.03.2010 в 16:05
Рад, что у вас получилось