|  02.08.2008, 19:14 | #1 | 
| Участник | Как программно закрыть Opportunity? 
			
			Пытался найти какие-либо специализированные методы для этого, но безуспешно. Пробовал делать так: Код: SetStateOpportunityCloseRequest closeOpportunityRequest = newSetStateOpportunityCloseRequest();
closeOpportunityRequest.EntityId = newGuid("...");
closeOpportunityRequest.OpportunityCloseState = OpportunityCloseState.Completed;
closeOpportunityRequest.OpportunityCloseStatus = 1;
SetStateOpportunityCloseResponse result = (SetStateOpportunityCloseResponse)service.Execute(closeOpportunityRequest);
Может кто сталкивался уже с этим? Помогите плз. | 
|  | 
|  02.08.2008, 20:01 | #2 | 
| Moderator | 
			
			Что значит не проходит? Какую ошибку выдает сервер? Вы не указали версию системы.
		 
				__________________ http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.   MS Certified Dirty Magic Professional | 
|  | 
|  04.08.2008, 10:22 | #3 | 
| Участник | 
			
			Не проходит, значит выдает: "Server was unable to process request" Версия 4.0. | 
|  | 
|  04.08.2008, 14:43 | #4 | 
| MCTS | 
			
			А почему бы с помощью WorkFlow не менять статус возможной сделки ?
		 | 
|  | 
|  04.08.2008, 15:49 | #5 | 
| Участник | 
			
			А вроде бы Status = 1 соответствует State = Open, а не Complete. Для начала попробуйте: closeOpportunityRequest.OpportunityCloseStatus = -1; | 
|  | 
|  07.08.2008, 18:19 | #6 | 
| Участник | 
			
			попробуйте так WinOpportunityRequest wor = new WinOpportunityRequest(); opportunityclose oc = new opportunityclose(); oc.opportunityid = new Lookup(); oc.opportunityid.type = EntityName.opportunity.ToString(); oc.opportunityid.Value = new Guid(idOpportunity); oc.statecode = new OpportunityCloseStateInfo(); oc.statecode.Value = state; oc.statuscode = new Status(); wor.OpportunityClose = oc; wor.Status = status; service.Execute(wor); | 
|  | 
|  08.08.2008, 18:08 | #7 | 
| Moderator | 
			
			Если не поможет придется включить трассировку и посмотреть детальное описание ошибки. Скорее всего будет выдана трассировка стека по которой можно будет понять откуда ноги растут.
		 
				__________________ http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.   MS Certified Dirty Magic Professional | 
|  | 
|  20.08.2008, 16:38 | #8 | 
| Участник | 
			
			2Lud Угу, так и сделал. Работает. Спасибо. X++: WinOpportunityRequest closeOpportunityRequest = new WinOpportunityRequest(); opportunityclose oppClose = new opportunityclose(); Lookup oppLookup = new Lookup(); oppLookup.Value = new Guid([I]opportunityid[/I]); oppClose.opportunityid = oppLookup; closeOpportunityRequest.OpportunityClose = oppClose; closeOpportunityRequest.Status = 3; service.Execute(closeOpportunityRequest); Последний раз редактировалось Alir; 25.08.2008 в 14:25. | 
|  |