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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.07.2009, 13:33   #1  
Inmate is offline
Inmate
Участник
 
11 / 10 (1) +
Регистрация: 20.07.2009
Програмно создать Contract
Пытаюсь программно(с#) создать контракт(делаю по принципу контакта):

contract contract = new contract();
contract.title = "Основной";
contract.activeon = new CrmDateTime();
contract.activeon.Value = "01.01.2007";
contract.expireson = new CrmDateTime();
contract.expireson.Value = "01.01.2008";

//Нахожу интересующий меня account.

contract.customerid = new Customer();
contract.customerid.type = EntityName.account.ToString();
contract.customerid.Value = account.accountid.Value;
Guid contractGuid = service.Create(contract);

Таким способом контракт не создаеться.
Старый 28.07.2009, 13:50   #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
Цитата:
Сообщение от Inmate Посмотреть сообщение
Пытаюсь программно(с#) создать контракт(делаю по принципу контакта):

contract contract = new contract();
contract.title = "Основной";
contract.activeon = new CrmDateTime();
contract.activeon.Value = "01.01.2007";
contract.expireson = new CrmDateTime();
contract.expireson.Value = "01.01.2008";

//Нахожу интересующий меня account.

contract.customerid = new Customer();
contract.customerid.type = EntityName.account.ToString();
contract.customerid.Value = account.accountid.Value;
Guid contractGuid = service.Create(contract);

Таким способом контракт не создаеться.
Возникает какое то исключение? Если да, приведите его, пожалуйста.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 28.07.2009, 15:00   #3  
Inmate is offline
Inmate
Участник
 
11 / 10 (1) +
Регистрация: 20.07.2009
System.Web.Services.Protocols.SoapException не обработано
Message="Server was unable to process request."
Source="System.Web.Services"
Actor=""
Lang=""
Node=""
Role=""
StackTrace:
в System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
в System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
в WWDCrm4.CrmSdk.CrmService.Create(BusinessEntity entity) в C:\Documents and Settings\butkevicha\Desktop\WWDCrm4\WWDCrm4\Web References\CrmSdk\Reference.cs:строка 212
в WWDCrm4.Program.Main(String[] args) в C:\Documents and Settings\butkevicha\Desktop\WWDCrm4\WWDCrm4\Program.cs:строка 43
в System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
в System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
в System.Threading.ThreadHelper.ThreadStart_Context(Object state)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
в System.Threading.ThreadHelper.ThreadStart()
InnerException:

Этот текст получил скопировав сведения об исключении в буфер обмена. Это то что нужно?
Старый 28.07.2009, 15:09   #4  
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
Цитата:
Сообщение от Inmate Посмотреть сообщение
System.Web.Services.Protocols.SoapException не обработано
Message="Server was unable to process request."
Source="System.Web.Services"
Actor=""
Lang=""
Node=""
Role=""
StackTrace:
в System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
в System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
в WWDCrm4.CrmSdk.CrmService.Create(BusinessEntity entity) в C:\Documents and Settings\butkevicha\Desktop\WWDCrm4\WWDCrm4\Web References\CrmSdk\Reference.cs:строка 212
в WWDCrm4.Program.Main(String[] args) в C:\Documents and Settings\butkevicha\Desktop\WWDCrm4\WWDCrm4\Program.cs:строка 43
в System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
в System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
в System.Threading.ThreadHelper.ThreadStart_Context(Object state)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
в System.Threading.ThreadHelper.ThreadStart()
InnerException:

Этот текст получил скопировав сведения об исключении в буфер обмена. Это то что нужно?
Оберните всю конструкцию создания в такое:

Код:
try
{
}
catch (SoapException exc)
{
throw new Exception(exc.Detail.InnerText);
}
В большинстве случае полученного таким образом исключения - достаточно для того, чтобы разобраться в причине его возникновения.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

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

Последний раз редактировалось a33ik; 28.07.2009 в 15:28.
Старый 28.07.2009, 15:42   #5  
Inmate is offline
Inmate
Участник
 
11 / 10 (1) +
Регистрация: 20.07.2009
try
{
contract contract = new contract();
contract.title = "Основной";
contract.activeon = new CrmDateTime();
contract.activeon.Value = "01.01.2007";
contract.expireson = new CrmDateTime();
contract.expireson.Value = "01.01.2008";

Guid guid = new Guid("7AB935EF-A27A-DE11-A140-00155D007805");

ColumnSet cols = new ColumnSet();
cols.Attributes = new string[] { "name", "accountid", "accountnumber", "address1_line3" };
account account = (account)service.Retrieve(EntityName.account.ToString(), guid, cols);

Guid guid1 = new Guid("77ECDFDA-3E70-1049-B174-1352B981C5F2");

contract.contracttemplateid = new Lookup();
contract.contracttemplateid.type = EntityName.contracttemplate.ToString();
contract.contracttemplateid.Value = guid1;

contract.customerid = new Customer();
contract.customerid.type = EntityName.account.ToString();
contract.customerid.Value = account.accountid.Value;

Guid contractGuid = service.Create(contract);
}
catch (SoapException exc)
{
throw new Exception(exc.Detail.InnerText);
}

Исключение:

System.Exception не обработано
Message="\n 0x8004022d\n billingcustomerid is missing and required\n Platform\n"
Source="WWDCrm4"
StackTrace:
в WWDCrm4.Program.Main(String[] args) в C:\Documents and Settings\butkevicha\Desktop\WWDCrm4\WWDCrm4\Program.cs:строка 54
в System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
в System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
в System.Threading.ThreadHelper.ThreadStart_Context(Object state)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
в System.Threading.ThreadHelper.ThreadStart()
InnerException:
Старый 28.07.2009, 15:55   #6  
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
Цитата:
Сообщение от Inmate Посмотреть сообщение
try
{
contract contract = new contract();
contract.title = "Основной";
contract.activeon = new CrmDateTime();
contract.activeon.Value = "01.01.2007";
contract.expireson = new CrmDateTime();
contract.expireson.Value = "01.01.2008";

Guid guid = new Guid("7AB935EF-A27A-DE11-A140-00155D007805");

ColumnSet cols = new ColumnSet();
cols.Attributes = new string[] { "name", "accountid", "accountnumber", "address1_line3" };
account account = (account)service.Retrieve(EntityName.account.ToString(), guid, cols);

Guid guid1 = new Guid("77ECDFDA-3E70-1049-B174-1352B981C5F2");

contract.contracttemplateid = new Lookup();
contract.contracttemplateid.type = EntityName.contracttemplate.ToString();
contract.contracttemplateid.Value = guid1;

contract.customerid = new Customer();
contract.customerid.type = EntityName.account.ToString();
contract.customerid.Value = account.accountid.Value;

Guid contractGuid = service.Create(contract);
}
catch (SoapException exc)
{
throw new Exception(exc.Detail.InnerText);
}

Исключение:

System.Exception не обработано
Message="\n 0x8004022d\n billingcustomerid is missing and required\n Platform\n"
Source="WWDCrm4"
StackTrace:
в WWDCrm4.Program.Main(String[] args) в C:\Documents and Settings\butkevicha\Desktop\WWDCrm4\WWDCrm4\Program.cs:строка 54
в System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
в System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
в System.Threading.ThreadHelper.ThreadStart_Context(Object state)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
в System.Threading.ThreadHelper.ThreadStart()
InnerException:
Вот и ответ. Заполните поле billingcustomerid, которое необходимо для сохранения.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 28.07.2009, 16:11   #7  
Inmate is offline
Inmate
Участник
 
11 / 10 (1) +
Регистрация: 20.07.2009
Спасибо!
Старый 28.07.2009, 16:38   #8  
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
Цитата:
Сообщение от Inmate Посмотреть сообщение
Спасибо!
Плюсуйте )
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: Inmate (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
как создать шаблон письма для Custom сущности GromRom Dynamics CRM: Функционал 4 20.11.2009 11:35
Експортнуть отчет програмно Vuhasty Dynamics CRM: Разработка 3 22.05.2009 19:28
Как лучше реализовать? Создать новый объект или... Sederick Dynamics CRM: Функционал 12 08.04.2009 14:04
Невозможно создать отчет по действиям Lazarus Dynamics CRM: Функционал 1 27.02.2009 15:41
Как создать новый атрибут в существующем объекте? CRM30 Dynamics CRM: Разработка 7 09.06.2006 10:26

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:41.