|
![]() |
#1 |
Чайный пьяница
|
Цитата:
Сообщение от Elka
![]() Привет еще раз. Можно еще вопрос?.. Создаю плагин по вашей ссылки.
При создании нового проекта на C# , выбираю шаблон, однако появляется ошибка: "С:\Users\Таня\AppData\Local\Temp\elkeikyu.vsc\Temp\MSCRM Plug-in1.csproj(63,11): The imported project "C:\Microsoft.CSharp.targets" was not found. Confirm that the path in the <Import> declaration is correct? and that the file exists on disk"
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: Elka (0). |
![]() |
#2 |
Участник
|
Спасибо. Начать получилось
![]() |
|
![]() |
#3 |
Чайный пьяница
|
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
![]() |
#4 |
Участник
|
|
|
![]() |
#5 |
Участник
|
Можно еще попарить... А как обратиться в plugin к конкретному прайс-листу с названием "Основной" и найти в нем позицию с нужным продуктом...
|
|
![]() |
#6 |
Чайный пьяница
|
![]() Цитата:
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
![]() |
#7 |
Участник
|
Спасибо большое за ссылки... У меня есть еще 2 вопроса (
![]() 1)не знаю как получить значение из моего поля new_esum 2)Если я правильно понимаю , то BusinessEntityCollection retrieved = service.RetrieveMultiple(query); в retrieved я получаю все позиции прайс-листа с нужным мне значением продукта.. как можно перебрать эти позиции( ![]() ![]() ![]() ![]() publicvoid Execute(IPluginExecutionContext context) { DynamicEntity entity = null; if (context.InputParameters.Properties.Contains(ParameterName.Target) && context.InputParameters.Properties[ParameterName.Target] isDynamicEntity) { // Obtain the target business entity from the input parmameters. entity = (DynamicEntity)context.InputParameters.Properties[ParameterName.Target]; //______________________________ if (context.MessageName != MessageName.Update.ToString() && context.MessageName != MessageName.Create.ToString()) { thrownewInvalidPluginExecutionException("Smth wrong with Update stage may be"); } //___________________________ } else { return; } try { ICrmService crmService = context.CreateCrmService(true); //_________________________________________________________ //пытаюсь получить значение из моего поля new_esum (тип money)--- // ![]() float sum = (float)entity.Properties["new_esum"]; String new_productname = ""; //считываю значение продукта if(entity.Properties.Contains("productid")) { ColumnSet cs = newColumnSet(); Lookup regarding = (Lookup)entity.Properties["productid"]; cs.Attributes.Add("name"); product _product = (product)crmService.Retrieve(EntityName.product.ToString(), regarding.Value, cs); if (_product == null || _product.name == null) { return; } else { new_productname = _product.name.ToString(); } } //ищу нужную позицию в прайс-листе CrmService service = newCrmService(); service.Credentials = System.Net.CredentialCache.DefaultCredentials; // Create the query object. QueryByAttribute query = newQueryByAttribute(); query.ColumnSet = newAllColumns(); query.EntityName = EntityName.productpricelevel.ToString(); // The query will retrieve all productpricelevel whose productidname is new_productname. query.Attributes = newstring[] { "productidname" }; query.Values = newstring[] { new_productname }; // Execute the retrieval. // если правильно понимаю, получила все позиции прайс-листа с продуктом //равным new_productname BusinessEntityCollection retrieved = service.RetrieveMultiple(query); // не знаю как перебрать значения и присвоить значение sum // ![]() retrieved.Properties.Add(newStringProperty("amount", sum)); } |
|
Теги |
c#, plugin, pluginregistrationtool, регистрация |
|
|