Показать сообщение отдельно
Старый 24.01.2009, 13:44   #17  
Ti1 is offline
Ti1
Участник
 
29 / 11 (1) +
Регистрация: 12.12.2008
Цитата:
Сообщение от ZooY Посмотреть сообщение
Ну например вот, простейший код для смены валюты в возможной сделке, только что написал его и проверил.

Код:
string _organizationName = "Rainbow";
string _crmServiceUrl = "http://192.168.1.1:5555/mscrmservices/2007/crmservice.asmx";
// GUID существующей активной возможной сделки
Guid _opportunityGuid = new Guid("{9133C5C5-26E9-DD11-9E20-0003FF25A266}");
// GUID валюты, доллара (у возможной сделки валюта - рубли)
Guid _usdCurrencyGuid = new Guid("{E05CCF2C-5D28-DD11-82AF-0003FF25A266}");

CrmAuthenticationToken token = new CrmAuthenticationToken();
token.AuthenticationType = 0;
token.OrganizationName = _organizationName;
CrmService service = new CrmService();
service.Url = _crmServiceUrl;
service.CrmAuthenticationTokenValue = token;
service.Credentials = System.Net.CredentialCache.DefaultCredentials;

opportunity opportunity = new opportunity();

opportunity.opportunityid = new Key();
opportunity.opportunityid.Value = _opportunityGuid;

// Заодно меняется имя, чтобы было видно, что изменение вообще прошло.
opportunity.name = DateTime.Now.ToShortTimeString();
opportunity.transactioncurrencyid = new Lookup();
	
opportunity.transactioncurrencyid.type = EntityName.transactioncurrency.ToString();
opportunity.transactioncurrencyid.Value = _usdCurrencyGuid;
		
service.Update(opportunity);

В результате имеем измененное имя и нетронутую валюту. Возможно конечно есть какие то тонкости смены валюты о которых я не знаю, и приведенного кода мало...
Попробуй так,
Lookup curencMy = new Lookup
{
Value = new Guid("E05CCF2C-5D28-DD11-82AF-0003FF25A266")
};

opportunity.transactioncurrencyid = curencMy;