|
|
|
|
#1 |
|
Участник
|
Плагин, изменение бизнес-партнера у договора
Всем добрый день
![]() Помогите, пожалуйста, никак не могу найти решение следующей проблемы (очень-очень нужно и даже не вчера ):в некоторых случаях у договоров необходимо менять бизнес-партнера, делается это в плагине (там еще в свойства бизнес-партнера в описание добавляется отметка когда к нему присоединен этот договор и пара аналогичных действий). Договор и бизнес-партнер являются DynamicEntity. Как я понимаю связь между ними осуществляется по customerid. Поэтому пытаюсь сделать так: contractEntity.Properties["customerid"] = customerEntity; а потом обновить договор: TargetUpdateDynamic targetE = new TargetUpdateDynamic(); UpdateRequest updateE = new UpdateRequest(); targetE.Entity = contractEntity; updateE.Target = targetE; service.Execute(updateE); Но при этом возникает ошибка "Ошибка при создании документа XML.": InnerException {"Value of type 'DynamicEntity' is not supported.\r\nИмя параметра: value"} System.Exception {System.ArgumentException} Если смотреть свойства договора, то customerid имеет тип Customer. Каким образом туда можно передать имеющуюся customerEntity с типом DynamicEntity??? Или это делается абсолютно другим путем? подскажите, пожалуйста, как, поскольку уже перепробованы многие варианты, а решения так и нет
|
|
|
|
|
#2 |
|
Чайный пьяница
|
Цитата:
Сообщение от NatK
Всем добрый день
![]() Помогите, пожалуйста, никак не могу найти решение следующей проблемы (очень-очень нужно и даже не вчера ):в некоторых случаях у договоров необходимо менять бизнес-партнера, делается это в плагине (там еще в свойства бизнес-партнера в описание добавляется отметка когда к нему присоединен этот договор и пара аналогичных действий). Договор и бизнес-партнер являются DynamicEntity. Как я понимаю связь между ними осуществляется по customerid. Поэтому пытаюсь сделать так: contractEntity.Properties["customerid"] = customerEntity; а потом обновить договор: TargetUpdateDynamic targetE = new TargetUpdateDynamic(); UpdateRequest updateE = new UpdateRequest(); targetE.Entity = contractEntity; updateE.Target = targetE; service.Execute(updateE); Но при этом возникает ошибка "Ошибка при создании документа XML.": InnerException {"Value of type 'DynamicEntity' is not supported.\r\nИмя параметра: value"} System.Exception {System.ArgumentException} Если смотреть свойства договора, то customerid имеет тип Customer. Каким образом туда можно передать имеющуюся customerEntity с типом DynamicEntity??? Или это делается абсолютно другим путем? подскажите, пожалуйста, как, поскольку уже перепробованы многие варианты, а решения так и нет ![]() contractEntity.Properties["customerid"] = new Customer(EntityName.account.ToString(), <идентификатор account>);
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
|
|
#3 |
|
Участник
|
Пробовала
![]() тогда другая ошибка: $exception {"Server was unable to process request."} System.Exception {System.Web.Services.Protocols.SoapException}
|
|
|
|
|
#4 |
|
Чайный пьяница
|
Цитата:
Код: service.Execute(updateE); Код: try
{
service.Execute(updateE);
}
catch (SoapException ex)
{
throw new Exception(ex.Detail.InnerText);
}
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
|
| За это сообщение автора поблагодарили: NatK (1). | |
|
|
#5 |
|
Участник
|
Спасибо
![]() Как оказалось, нельзя переносить договоры с неактивных бизнес-партнеров ( а у меня в плагине деактивация бизнес-партнера стояла до переназначения договора - поменяла местами код и все заработало)
|
|
|