AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
CRM
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.02.2010, 10:40   #1  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Создание карточки через консольное приложение
Добрый день!
Пытаюсь создать консольное приложение.При его запуске должна создаваться карточка ПРЕДЛОЖЕНИЯ с заполненными обязательными полями.
Написал небольшой код.Выдаётся ошибка: The request failed with HTTP status 401: Unauthorized.
Подскажите в чём может быть ошибка.

static void Main(string[] args)
{
// Create and configure the CrmDiscoveryService Web service proxy.
CrmDiscoveryService discoveryService = new CrmDiscoveryService();
discoveryService.UseDefaultCredentials = true;
discoveryService.Url = "http://[адр_серв]/MSCRMServices/2007/AD/CrmDiscoveryService.asmx";
// Retrieve the list of organizations that the logged on user belongs to.
RetrieveOrganizationsRequest orgRequest = new RetrieveOrganizationsRequest();
//orgRequest.UserId = args[0];
//orgRequest.Password = args[1];
RetrieveOrganizationsResponse orgResponse = (RetrieveOrganizationsResponse)discoveryService.Execute(orgRequest);
// Locate the target organization in the list and Decalre the Security Token to Access CrmService.
CrmService service = new CrmService();
CrmAuthenticationToken token = new CrmAuthenticationToken();
foreach (OrganizationDetail orgDetail in orgResponse.OrganizationDetails) // It is only One organization in our case ..
{
Console.WriteLine("*Organization : " + orgDetail.OrganizationName);
token.OrganizationName = orgDetail.OrganizationName;
Console.WriteLine("*Organization Url : " + orgDetail.CrmServiceUrl);
service.Url = orgDetail.CrmServiceUrl;
}

string name_ = "qweasd";
//код пересмотра
CrmNumber numrevision = null;
numrevision = new CrmNumber();
numrevision.Value = 0;

//Прайс-лист
Lookup lookuppricelevelid = null;
Guid pricelevelGuid = new Guid("721DDFBF-E26A-DE11-A2A2-000E0C4BF7BF");
lookuppricelevelid = new Lookup();
lookuppricelevelid.Value = pricelevelGuid;

//Валюта
Lookup lookuptransactioncurrencyid = null;
Guid currencyGuid = new Guid("8E3C79F6-4F2B-DE11-A2A2-000E0C4BF7BF");
lookuptransactioncurrencyid = new Lookup();
lookuptransactioncurrencyid.Value = currencyGuid;

//Потенциальный клиент
Customer customcustomerid = null;
Guid customerGuid = new Guid("2C4030BD-E496-DE11-9267-000E0C4BF7BF");
customcustomerid = new Customer();
customcustomerid.Value = customerGuid;

Owner ownerid1 = null;
Guid ownerGuid = new Guid("D5E8C2FD-7A6F-DE11-9267-000E0C4BF7BF");
ownerid1 = new Owner();
ownerid1.Value = ownerGuid;

quote quoteCRM = new quote()
{

//quotenumber = quote.QuoteNumber,
ownerid = ownerid1,
name = name_,
customerid = customcustomerid,
pricelevelid = lookuppricelevelid,
revisionnumber = numrevision,
transactioncurrencyid = lookuptransactioncurrencyid

};

Guid quoteguid = service.Create(quoteCRM);

}
Старый 15.02.2010, 11:08   #2  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
1. Зачем Вам дискавери сервис? По идее для создания сервиса будет достаточно следующего кода:

Код:
CrmAuthenticationToken token = new CrmAuthenticationToken();
token.AuthenticationType = AuthenticationType.AD;
token.OrganizationName = "название организации";

CrmService crmservice = new CrmService();
crmservice.CrmAuthenticationTokenValue = token;
crmservice.Url = "ссылка вашего вебсервиса";
crmservice.UseDefaultCredentials = true;
2. Во все создаваемые лукапы необходимо добавить тип сущности. Например:

Код:
Lookup lookuppricelevelid = null;
Guid pricelevelGuid = new Guid("721DDFBF-E26A-DE11-A2A2-000E0C4BF7BF");
lookuppricelevelid = new Lookup();
lookuppricelevelid.Value = pricelevelGuid;
lookuppricelevelid.type = "pricelevel";
а вообще как по мне удобнее пользоваться таким кодом:

Код:
Lookup lookuppricelevelid = new Lookup("pricelevel", new Guid("721DDFBF-E26A-DE11-A2A2-000E0C4BF7BF"));
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка при запуске CRM через OutLook echo_igor Dynamics CRM: Функционал 0 26.11.2009 10:38
Создание экземпляра кастомной сущности из плагина Roman08 Dynamics CRM: Разработка 14 31.08.2009 21:34
Как отследить создание предложения из возможной сделки ZooY Dynamics CRM: Разработка 2 28.11.2008 21:00
после публикации отчета через CRM он перестает правильно работать kras Dynamics CRM: Администрирование 8 30.08.2006 11:11
Создание пользователя через SDK Tigra Dynamics CRM: Разработка 1 18.10.2005 18:27

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:56.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.