|  30.09.2009, 07:08 | #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??? Или это делается абсолютно другим путем? подскажите, пожалуйста, как, поскольку уже перепробованы многие варианты, а решения так и нет   | 
|  | 
|  30.09.2009, 10:22 | #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 | 
|  | 
|  30.09.2009, 11:23 | #3 | 
| Участник | 
			
			Пробовала   тогда другая ошибка: $exception {"Server was unable to process request."} System.Exception {System.Web.Services.Protocols.SoapException}   | 
|  | 
|  30.09.2009, 11:25 | #4 | 
| Чайный пьяница | Цитата: Код: service.Execute(updateE); Код: try
{
service.Execute(updateE); 
}
catch (SoapException ex)
{
throw new Exception(ex.Detail.InnerText);
}
				__________________ Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit | 
|  | |
| За это сообщение автора поблагодарили: NatK (1). | |
|  30.09.2009, 12:44 | #5 | 
| Участник | 
			
			Спасибо  Как оказалось, нельзя переносить договоры с неактивных бизнес-партнеров ( а у меня в плагине деактивация бизнес-партнера стояла до переназначения договора  - поменяла местами код и все заработало)   | 
|  | 
|  | 
| Опции темы | Поиск в этой теме | 
| Опции просмотра | |
| 
 |