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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.03.2012, 12:16   #1  
spirius is offline
spirius
Участник
 
34 / 12 (1) ++
Регистрация: 27.02.2012
Ошибка при инициализации SalesOrderDetail
Доброго времени суток!

суть проблемы:
1) есть код, который создает SalesOrder & SalesOrderDetail:

CrmServiceContext svcContext = new CrmServiceContext(base.Service);//берем текущий контекст

SalesOrder newSO = initSalesOrder(AccId,
"SalesOrder #" + SOnumber.ToString() + "-" + groupedByBillToAccountTransactions[AccId].Count.ToString());
//эта функция заполняет поля SalesOrder. тут ошибок нет=) фактическое заполнение полей, из другой entity по всем правилам

Guid newSalesOrderId = Guid.Empty;
newSO.Id = Guid.NewGuid();
newSalesOrderId = newSO.Id;
svcContext.AddObject(newSO);
//добавляем наш SalesOrder в контекст

//далее добавляем SalesOrderDetail в наш ордер:
SalesOrderDetail newSalesOrderDetail = new SalesOrderDetail();

newSalesOrderDetail = initSalesOrderDetail(TransactionsCache[TransactionId], newSalesOrderId);//эта функция заполняет поля SalesOrderDetail по всем правилам

svcContext.AddRelatedObject
(
newSO,
new Relationship("order_details"),
newSalesOrderDetail
);//добавляем связь между SalesOrderDetail и SalesOrder

svcContext.SaveChanges();//сохраняем изменения в CRM

2)проблема в следующем:
- если SalesOrderDetail заполненна правильно, то все работает отлично. создает подряд все что нужно
- если в SalesOrderDetail заполнить поля ProductID & ProductDescription одновременно (да, такого делать нельзя - должна быть ошибка), то вылетает следующее:

Message from webpage
---------------------------
{
"error": {
"code": "-2147220910", "message": {
"lang": "en-US", "value": "VerifyCommitted - Transaction has not been committed"
}
}
}

собественно, после этого вылета, все перестает работать

3) вопрос в следующем:
как можно отловить эту ошибку (try ... catch не помог: все строки обвалакивал им - все-равно вылет) так, чтобы работа не завершалась, а скажем выдавалось сообщение "была ошибка"?

p.s. код предтавлен выборочный. сама прога многобольше
p.p.s. вылет происходит скорее всего при:
а) заполнении полей SalesOrderDetail
б) добавлении SalesOrderDetail в контекст
както вериться в это=)
p.p.p.s проверять условия правильного заполнения руками - плохо.
стараюсь вылавливать ошибки ЦРМ из него самого - поэтому и добавляю неправильные entity, заставляя его критовать. как это делать?

p.p.p.p.s. тут многобукаф. извиняюсь - первый пост=)
Старый 30.03.2012, 14:11   #2  
spirius is offline
spirius
Участник
 
34 / 12 (1) ++
Регистрация: 27.02.2012
вообще проблему можно описать еще проще:
как можно отлавливать ошибки вида:
{
"error": {
"code": "-2147220910", "message": {
"lang": "en-US", "value": "VerifyCommitted - Transaction has not been committed"
}
из кода?
Старый 31.03.2012, 14:38   #3  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Я Вот думал, над тем, что Вы хотите сделать. Как я понимаю, Вы хотите создать связку SalesOrder, SalesOrderDetail, но при этом у Вас может быть неверно заполнена строка заказа.
Но Если создать заказ, а потом строку заказа, и возникнет Exception, то разве создание заказа не отменится?

Это же вроде из транзакции должно следовать
__________________
Мой блог https://procrm.tv
Старый 01.04.2012, 17:16   #4  
spirius is offline
spirius
Участник
 
34 / 12 (1) ++
Регистрация: 27.02.2012
Вы правильно поняли суть проблемы. И да, при вылете эксепшена ничего не делается. вот только отловить его никак не получается =(
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка синхронизации Outlook 2007 и MS CRM 4 absurdperson Dynamics CRM: Администрирование 9 02.03.2012 10:56
Ошибка публикации кастомного БП Буденый Dynamics CRM: Разработка 2 27.10.2010 17:34
Create of salesorderdetail in ChildPipeline Krom Dynamics CRM: Разработка 2 10.08.2010 16:02
Модуль "Маркетинг" - ОШИБКА с действиями кампаний nataly_veksler Dynamics CRM: Разработка 5 06.11.2009 00:48
Ошибка при добавлении отчета e.pasechny Dynamics CRM: Администрирование 5 11.12.2007 14:00

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

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

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