|
![]() |
#1 |
Участник
|
Пытался просто в поле To записать бизнес-партнёра,основной контакт(выбирал бизнес-партнёра.у которого поле основного контакта не пусто)
quote quo = (quote)crmservice.Retrieve(EntityName.quote.ToString(), workflowContext.PrimaryEntityId, new ColumnSet(new string[] { "customerid" })); account acc = (account)crmservice.Retrieve(EntityName.account.ToString(), workflowContext.PrimaryEntityId, new ColumnSet(new string[] { "primarycontactid" })); activityparty toparty = new activityparty(); toparty.partyid = new Lookup(); toparty.partyid.type = quo.customerid.type; toparty.partyid.Value = quo.customerid.Value; activityparty toparty1 = new activityparty(); toparty1.partyid = new Lookup(); toparty1.partyid.type = EntityName.account.ToString(); toparty1.partyid.Value = acc.primarycontactid.Value; mail.to = new activityparty[] { toparty, toparty1 }; |
|
![]() |
#2 |
Чайный пьяница
|
Обращаю Ваше пристальное внимание на следующие две строчки:
toparty1.partyid.type = EntityName.account.ToString(); toparty1.partyid.Value = acc.primarycontactid.Value; Просто немного внимательности и всё бы заработало.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
![]() |
#3 |
Участник
|
Товарищи!Так и застрял на этой маленькой проблеме.
Немного подправил код,получил следующее: quote quo = (quote)crmservice.Retrieve(EntityName.quote.ToString(), workflowContext.PrimaryEntityId, new ColumnSet(new string[] { "customerid" })); Guid quoid = quo.customerid.Value; account acc = (account)crmservice.Retrieve(EntityName.account.ToString(), quoid, new ColumnSet(new string[] { "primarycontactid" })); activityparty toparty = new activityparty(); toparty.partyid = new Lookup(); toparty.partyid.type = quo.customerid.type; toparty.partyid.Value = quo.customerid.Value; activityparty toparty1 = new activityparty(); toparty1.partyid = new Lookup(); toparty1.partyid.type = acc.primarycontactid.type; toparty1.partyid.Value = acc.primarycontactid.Value; mail.to = new activityparty[] { toparty, toparty1 }; Почему не хочет отрабатывать,не пойму... |
|
![]() |
#4 |
Чайный пьяница
|
А какая ошибка? Приведите Detail.InnerText генерируемого исключения.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
![]() |
#5 |
Участник
|
А как получить Detail.InnerText исключения?
В логах асинхронного сервиса пишет: [2009-10-21 11:33:11.2] Process:CrmAsyncService |Organization:e26d7e2d-33b0-417e-8875-7e0c045fda3e |Thread: 10 |Category: Platform.Workflow |User: 00000000-0000-0000-0000-000000000000 |Level: Error | WorkflowHost.OnWorkflowTerminated >Workflow terminated: {5E625FCB-13BE-DE11-8F8D-003048743D04} - at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at Microsoft.Crm.SdkTypeProxy.CrmService.Create(BusinessEntity entity) at Microsoft.Crm.Asynchronous.SdkTypeProxyCrmServiceWrapper.Create(BusinessEntity entity) at E_mailFromQuote.SendReport.Execute(ActivityExecutionContext executionContext) at System.Workflow.ComponentModel.ActivityExecutor`1.Execute(T activity, ActivityExecutionContext executionContext) at System.Workflow.ComponentModel.CompositeActivityExecutor`1.Execute(T activity, ActivityExecutionContext executionContext) at System.Workflow.ComponentModel.ActivityExecutor`1.Execute(Activity activity, ActivityExecutionContext executionContext) at System.Workflow.ComponentModel.ActivityExecutorOperation.Run(IWorkflowCoreRuntime workflowCoreRuntime) at System.Workflow.Runtime.Scheduler.Run() Состояние бизнес-процесса:ожидание |
|
![]() |
#6 |
Чайный пьяница
|
Код обращения к вебсервису CRM оборачиваете конструкцией
try { //обращение к вебсервису } catch(SoapException sexc) { throw new Exception(sexc.Detail.InnerText); }
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
![]() |
#7 |
Участник
|
![]()
Коллеги, я знаю два способа обновить кастомный атрибут какой-то стандартной сущности через плагин, зарегистрированный на Post Stage:
1) TargetUpdate DynamicEntityА есть ли еще какие-нибудь способы? P.S. утомился каждый раз писать страницу кода для первого и задолбался для второго.
__________________
CRM programmer |
|
Теги |
c#, custom workflow action, plugin, workflow, reporting services, report |
|
|