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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.10.2008, 20:39   #1  
maclai is offline
maclai
Участник
 
14 / 11 (1) +
Регистрация: 09.10.2008
Angry Generic SQL error.
Доброе время суток, уважаемые коллеги)
Третий день не могу справиться с ошибкой Generic SQL error. Смотрел по форуму , есть Такое с репорт сервером, но не мой случай.
Если сталкивались - поможите!
Задача: плагин на пост-криейт квот (у меня СРМ 4.0 на англицком) создает строки квоте продактс(квоте детайлс) на основании данных из родительской (для квот) опортюнити.
Вот код, создающий строки из существующих продуктов. Прайс лист учтен, входящие данные полностью корректны. Комменты не убираю, просто что бы было видно какие методы использовались.

Код:
 
#region Create quotedetails
if (_newQuoteProp != null)
{
 
try
{
foreach (DictionaryEntry cDe in _newQuoteProp)
{
if (cDe.Value.ToString() == "")
{
continue;
}
else
{
quotedetail existProduct = new quotedetail();
 
//add product & unit
LookupProperty uomid = Factory.GetUnitLookup(service);
LookupProperty productid = Factory.GetProductLookup(service, cDe.Key.ToString());
 
if (uomid != null && productid != null)
{
existProduct.uomid = uomid.Value;
//existProduct.uomid.name = uomid.Name;
existProduct.productid = productid.Value;
//existProduct.productid.name = productid.Name;
// for dynamic entity
//existProduct.Properties.Add(uomid);
//existProduct.Properties.Add(productid);
}
 
//DynamicEntity existProduct = new DynamicEntity();
//existProduct.Name = "quotedetail";
//existProduct.Properties.Add(new StringProperty("quantity", "1"));
//existProduct.Properties.Add(quoteId);
//Microsoft.Crm.Sdk.StringProperty p = new StringProperty("priceperunit", cDe.Value.ToString());
//existProduct.Properties.Add(p);
//CrmBoolean c = new CrmBoolean(true);
//CrmBooleanProperty cPrice = new CrmBooleanProperty("ispriceoverridden", c);
//CrmBooleanProperty cProduct = new CrmBooleanProperty("isproductoverridden", c);
//existProduct.ispriceoverridden = cPrice.Value;
//existProduct.ispriceoverridden.name = cPrice.Name;
//existProduct.isproductoverridden = cProduct.Value;
//existProduct.isproductoverridden.name = cProduct.Name;
 
 
//CrmNumber n = new CrmNumber(lineNumber);
//CrmNumberProperty N = new CrmNumberProperty("lineitemnumber", n);
//existProduct.lineitemnumber = N.Value;
LookupProperty quoteId = new LookupProperty("quoteid", new Lookup("quote", quoteGUID));
existProduct.quoteid = quoteId.Value;
//existProduct.quoteid.name = quoteId.Name;
 
CrmDecimal dec = new CrmDecimal(1);
CrmDecimalProperty quant = new CrmDecimalProperty("quantity", dec);
existProduct.quantity = quant.Value;
 
 
CrmMoney money = new CrmMoney(Convert.ToDecimal(cDe.Value.ToString()));
CrmMoneyProperty priceperUnit = new CrmMoneyProperty("priceperunit", money);
existProduct.priceperunit = priceperUnit.Value;
existProduct.description = cDe.Key.ToString().Remove(0, 3);
 
//existProduct.productdescription = cDe.Key.ToString().Remove(0,3);
//existProduct.owninguser = new UniqueIdentifier(context.UserId);
 
 
// create of transactioncurrencyid not allowed!!!
//LookupProperty taci = new LookupProperty("transactioncurrencyid", new Lookup("transactioncurrency", new Guid(((Lookup)entity.Properties["transactioncurrencyid"]).Value.ToString())));
//existProduct.transactioncurrencyid = taci.Value;
//existProduct.transactioncurrencyid.name = taci.Name;
 
//TargetCreateQuoteDetail target = new TargetCreateQuoteDetail();
////TargetCreateDynamic target = new TargetCreateDynamic();
//target.QuoteDetail = existProduct;
//CreateRequest create = new CreateRequest();
//create.Target = target;
//CreateResponse responce = (CreateResponse)service.Execute(create);
 
 
Guid quotedetailId = service.Create(existProduct);
 
//Guid k = service.Create(existProduct);
//KeyProperty k = new KeyProperty("quotedetailid", new Key());
//existProduct.quotedetailid.Value = k;
//Guid quotedetailId = responce.id;
lineNumber++;
 
// Don't forget check if quotedetail exist!
}
}
}
catch (System.Web.Services.Protocols.SoapException e)
{
throw new Exception ("Wrong plugin execution!\n" + e.Message + "\n" + e.StackTrace + e.Data);
}
}
 
#endregion Create quotedetails
Прлучаемые ошибки:
InnerText "\n 0x80044150\n Generic SQL error.\n Platform\n"
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Microsoft Dynamics CRM Team Blog: Error Reporting in CRM Blog bot Dynamics CRM: Blogs 0 24.03.2009 00:05
Мир CRM: Улучшение Dynamics CRM 4.0 производительности и безопасности данных под SQL Server 2008 Blog bot Dynamics CRM: Blogs 0 03.02.2009 02:07
Мир CRM: Новости об одной из составляющих работы Dynamics CRM - Microsoft SQL Server Blog bot Dynamics CRM: Blogs 0 03.11.2008 06:18
ansle: Выпущен SQL Server 2008 Blog bot Dynamics CRM: Blogs 1 07.08.2008 10:34
Microsoft Dynamics CRM Team Blog: Accessing a SQL Database from a Microsoft Dynamics CRM Plug-in Blog bot Dynamics CRM: Blogs 0 14.07.2008 13:05

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

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

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