AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.01.2010, 02:08   #1  
Blog bot is offline
Blog bot
Участник
 
25,538 / 847 (80) +++++++
Регистрация: 28.10.2006
Все о Microsoft Dynamics CRM: Автонумерация. Еще разок
Источник: http://ms-dynamics-crm.com.ua/2010/0...-autonumber-2/
==============

Раньше уже рассматривал возможность создания автонумерации для кастомных сущностей в Microsoft Dynamics CRM 4.0 сегодня приложу просто еще один вариант автонумерации для одной сущности, реализуемой с помощью плагина.

Задача: необходимо реализовать автонумерацию сущности «Лист согласования», создаваемую из сущности «Договор» со следующем форматом: ГГММДД – ХХХ, где ГГММДД – Дата создания записи, а ХХХ – количество созданных листов согласования по этому договору + 1.



Основной код плагина автонумерации:

ICrmService crmService = context.CreateCrmService(true);//Если лист согласованияif (entity.Name == "new_list_soglasovaniya"){//Если договор Договор (создается из договора)if (entity.Properties.Contains("new_regardingobjectid")){//получаю список листов согласования, по текущему договоруColumnSet cs = new ColumnSet();cs.Attributes.AddRange(new string[] { "createdon" });ConditionExpression conditionId = new ConditionExpression();conditionId.AttributeName = "new_regardingobjectid";conditionId.Operator = ConditionOperator.Equal;conditionId.Values = new string[]{ ((Lookup)entity.Properties["new_regardingobjectid"]).Value.ToString()};FilterExpression filter = new FilterExpression();filter.FilterOperator = LogicalOperator.And;filter.Conditions.Add(conditionId);QueryExpression query = new QueryExpression();query.EntityName = "new_list_soglasovaniya";query.ColumnSet = cs;query.Criteria = filter;RetrieveMultipleRequest retrieve = new RetrieveMultipleRequest();retrieve.Query = query;retrieve.ReturnDynamicEntities = true;RetrieveMultipleResponse retrieved = (RetrieveMultipleResponse)crmService.Execute(retrieve);string countLists;//номер текущей записиcountLists = (retrieved.BusinessEntityCollection.BusinessEntities.Count + 1).ToString();//формирую выводwhile (countLists.Length < 3){countLists = "0" + countLists;}string new_number;new_number = DateTime.Now.Year.ToString().Substring(2, 2) + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + "-" + countLists.ToString();//присваиваю полю new_number мой полученный номерentity.Properties.Add(new StringProperty("new_number", new_number));}Данные для регистрации плагина

Register New Step:
  • Message: Create
  • Primary Entity: new_list_soglasovaniya
  • Execution order: 1
  • Eventing Pipeline Stage of Execution: Pre
Полезные ссылки:

Источник: http://ms-dynamics-crm.com.ua/2010/0...-autonumber-2/
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Все о Microsoft Dynamics CRM: Rollup 8 для Microsoft Dynamics CRM 4.0 Blog bot Dynamics CRM: Blogs 0 18.12.2009 12:05
Все о Microsoft Dynamics CRM: Автонумератор для Microsoft Dynamics CRM 4.0. Plug-in Blog bot Dynamics CRM: Blogs 0 12.08.2009 15:05
Все о Microsoft Dynamics CRM: Microsoft расширяет возможности Dynamics CRM Blog bot Dynamics CRM: Blogs 0 22.07.2009 16:05
Microsoft Dynamics CRM Team Blog: CRM Online: Reporting Options Blog bot Dynamics CRM: Blogs 0 18.06.2009 06:14
Microsoft Dynamics CRM Team Blog: Troubleshooting the Microsoft Dynamics CRM E-mail Router Blog bot Dynamics CRM: Blogs 0 09.01.2009 06:03

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:07.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.