16.01.2014, 19:47 | #1 |
Участник
|
Server-Side Development for Junior Developer
Добрый день!
Хотелось бы у опытных разработчиков узнать, какой стек технологий MS и в какой мере надо знать, чтобы разрабатывать на Server-Side под CRM 2011-2013. Интересно в каком направлении надо двигаться и на чем сконцентрировать усилия. Спасибо. |
|
16.01.2014, 19:59 | #2 |
Чайный пьяница
|
.Net C# - собственно всё что нужно знать + SDK для MS CRM.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
16.01.2014, 20:02 | #3 |
Участник
|
|
|
16.01.2014, 20:06 | #4 |
Участник
|
для начала С# а потом и остальное пригодится
|
|
|
За это сообщение автора поблагодарили: Ion (1). |
16.01.2014, 20:38 | #5 |
Чайный пьяница
|
WPF, Silverlight, ASP.Net ну никак не серверсайд...
ADO.Net - может потребоваться. Linq - на любителя. Я в плагинах использую мало. C# - маст.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: Ion (1). |
17.01.2014, 11:42 | #6 |
Участник
|
|
|
17.01.2014, 12:28 | #7 |
Участник
|
Пытаюсь написать первый плагин, который подсчитывает сумму из дочерних сущностей и результат записывать в родительскую.
Пример взят здесь Это мой первый раз, поэтому прошу отнестись снисходительно |
|
17.01.2014, 13:51 | #8 |
Чайный пьяница
|
Зависит от технологии на основании которой строится интеграция, но скорее всего придётся разбираться дополнительно с WCF/WebServices.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
17.01.2014, 14:53 | #9 |
Участник
|
1. Cоздал проект, выбрал Dynamics CRM 2011 Plugin Library;
2. В CRM Explorer стал на Родительскую сущность и нажал Create Plug-in; 3. Зарегил плагин с такими параметрами: Message = Create Pipeline Stage Post Operation Register New Image Image Type : Post Image Entity Alice : Post Image Parameters : All Attributes В обозревателе решения после действий из Tutorial у меня три CS файла - Sum (как имя класса при регистрации) и Plugin (создан автоматически), Entities (создан автоматически) Какие мои дальнейшие действия? Трассировка на сервере включена. CRM Explorer/Plug-in Assemblies - пусто, нет моего плагина! Плагин должен агрегировать данные по полю сумма из Дочерних записей и обновлять поле общая сумма в Родительской записи. Вот код в файле Sum Цитата:
using System;
using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using Microsoft.Xrm.Sdk.Query; namespace ContractCalculation { public class Sum : IPlugin { public void Execute(IServiceProvider ServiceProvider) { IPluginExecutionContext Context = (IPluginExecutionContext)ServiceProvider.GetService(typeof(IPluginExecutionContext)); IOrganizationServiceFactory ServiceFactory = (IOrganizationServiceFactory)ServiceProvider.GetService(typeof(IOrganizationServiceFactory)); IOrganizationService Service = ServiceFactory.CreateOrganizationService(Context.UserId); if (Context.PostEntityImages.Contains("PostImage") && Context.PostEntityImages["PostImage"] is Entity) { Entity quantity = (Entity)Context.InputParameters["Target"]; var quantity = (EntityReference)quantity.Attributes["new_contract"]; decimal Total = FetchResult(quantity.Id, Service); // Updating Parent Entity Entity contract = new Entity("new_contract"); contract.Id = quantity.Id; contract["new_total"] = Total; Service.Update(contract); } } private static decimal FetchResult(Guid quantity, IOrganizationService service) { string value_sum = @"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false' aggregate='true'> <entity name='new_request'> <attribute name='new_insuransepayment' alias='totalamount_sum' aggregate='sum'/> <filter type='and'> <condition attribute='new_contract_new_request' operator='eq' value='{0}' /> </filter> </entity> </fetch>"; decimal TotalValue = 0; value_sum = string.Format(value_sum, quantity); EntityCollection value_sum_result = (EntityCollection)service.RetrieveMultiple(new FetchExpression(value_sum)); foreach (var c in value_sum_result.Entities) { decimal aggregate2 = ((Decimal)((AliasedValue)c.Attributes["totalamount_sum"]).Value).Value; TotalValue = aggregate2; } return TotalValue; } } } Последний раз редактировалось Ion; 17.01.2014 в 15:06. |
|
17.01.2014, 16:50 | #10 |
Участник
|
Помогите понять, почему при попытке Развернуть решение у меня такие ошибки:
Последний раз редактировалось Ion; 17.01.2014 в 16:55. |
|
17.01.2014, 19:41 | #11 |
Участник
|
Скорее всего, при автоматическом создании файла Entities, у вас в некоторых классах объявлено несколько полей с одинаковым именем в рамках класса - есть такие глюки у автогенератора кода.
Можно попробовать вручную в файле Entities закомментировать дублирующиеся поля. Но учтите, что теоретически, это может привести к ошибкам в дальнейшем. Хотя у меня на практике ни разу ошибок из-за этого не возникало Последний раз редактировалось drongo; 17.01.2014 в 20:53. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|