11.01.2010, 02:08 | #1 |
Участник
|
Все о 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:
Источник: http://ms-dynamics-crm.com.ua/2010/0...-autonumber-2/
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
|
|