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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.11.2012, 12:49   #1  
kh_heckfy is offline
kh_heckfy
Участник
 
139 / 14 (1) ++
Регистрация: 30.03.2012
Адрес: Новосибирск
CRM 2011 ошибка при RetrieveMultiple
Код:
            IOrganizationService  s = serviceFactory.CreateOrganizationService(context.UserId);
            QueryExpression qe = new QueryExpression("alv_reflegalinfoaccount");
            qe.ColumnSet = new ColumnSet("alv_product", "alv_payment", "alv_service", "alv_reflegalupdate", "alv_typereflegal");
            qe.Criteria.AddCondition(new ConditionExpression("alv_account", ConditionOperator.Equal, accountId));

            var list = s.RetrieveMultiple(qe).Entities;
            if (list.Count == 0)
                return false;

            foreach (Entity ent in list) блаблабла
            {
вроде обычный код
но он я думаю живет вобще своей жизнью
потому что падает в ПЛАГИНЕ (а иногда не падает)
с текстом ошибки
An unexpected error occurred
что вот ему надо...
вытаскиваю обычные поля... ну они могут быть и не заполнены, но это я думаю не критично, фильтр обычный
Старый 20.11.2012, 13:37   #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
Здравствуйте,

Советую посмотреть трейс. Думаю там будет ответ на ваш вопрос.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 20.11.2012, 16:02   #3  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
А на какой строке хоть падает - можно определить?

А вообще, если пользоваться SDK (имеется в виду toolkit для Visual Studio) - там вообще никакой мороки нет с созданием и отладкой плагинов. Про SDK у Артема Енота в блоге есть статья.
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!

Последний раз редактировалось Likefire; 20.11.2012 в 16:05.
Старый 20.11.2012, 16:10   #4  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
How to enable tracing in Microsoft Dynamics CRM
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 26.12.2012, 08:52   #5  
kh_heckfy is offline
kh_heckfy
Участник
 
139 / 14 (1) ++
Регистрация: 30.03.2012
Адрес: Новосибирск
После долгого перерыва вновь вернулся к этой проблеме.

SQL Generic Error.

Вот эта ошибка лезет и лезет
Причем лезет она из разных мест, в основном когда делаю выборку Multiplie
Уже во всех плагинах (которые писал по незнанию) прооптимизировал что мог в основном new ColumnSet(true) менял на те поля которые нужны, все стало даже значительно быстрей работать.

Но ошибка эта всеравно остается. И при повторении действия пропадает.
Юзеров это мучает.

Далее, включил я трассировку, несколько дней изучал эти метры логов
И пришел к выводу. Происходит дэдлок.

Транзакция (идентификатор процесса 96) вызвала взаимоблокировку ресурсов блокировка | буфер связи с другим процессом и стала жертвой взаимоблокировки. Запустите транзакцию повторно.

ну и что с этим делать не понятно... былоб хотя б в одном плагине. А то плагинов много, и в практически каждом из них иногда происходит эта ошибка. Иногда, но в каждом, дает в скупе МНОГО....

Кто сталкивался?
Старый 26.12.2012, 09:21   #6  
kh_heckfy is offline
kh_heckfy
Участник
 
139 / 14 (1) ++
Регистрация: 30.03.2012
Адрес: Новосибирск
нашел забавный код
http://www.broes.nl/2011/09/fighting...tom-workflows/
типа если блокировка, то подождать секундочку и еще раз )))
ну это бред чесслово))
Старый 26.12.2012, 10:11   #7  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Блокировка возможна. если Ваш плагин работает на событие сущности
alv_reflegalinfoaccount

ЧТобы ее не было необходимо.
qe.NoLock = true;

Но это даст "грязные данные"

Также возможно перевести Ваш плагин в асинхронный режим.
Или если он зарегистрирован на шаге 20, перевести его на шаг 10.
__________________
Мой блог https://procrm.tv
За это сообщение автора поблагодарили: kh_heckfy (1).
Старый 26.12.2012, 11:29   #8  
kh_heckfy is offline
kh_heckfy
Участник
 
139 / 14 (1) ++
Регистрация: 30.03.2012
Адрес: Новосибирск
А можно подробнее про "грязные данные"
что это значит?
Старый 26.12.2012, 12:48   #9  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Цитата:
Сообщение от kh_heckfy Посмотреть сообщение
А можно подробнее про "грязные данные"
что это значит?
Возможно не актуальные.
Что происходит при блокировке. Есть запись, которую сейчас к примеру обновляют.

Когда Вы используете NoLock неясно, какие данные из этой записи Вы получите.
Старые, новые или половину старых и половину новых.

Это есть рассматривать with (nolock) из SQL. Здесь я думаю аналогично.
__________________
Мой блог https://procrm.tv
Старый 26.12.2012, 12:48   #10  
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
Цитата:
Сообщение от kh_heckfy Посмотреть сообщение
А можно подробнее про "грязные данные"
что это значит?
http://ru.wikipedia.org/wiki/%D0%A3%...BD.D0.B8.D0.B5
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 26.12.2012, 13:40   #11  
kh_heckfy is offline
kh_heckfy
Участник
 
139 / 14 (1) ++
Регистрация: 30.03.2012
Адрес: Новосибирск
да прочитал уже... понял...
блин и как же поступить...
плагины все стоят с ORDER по умолчанию
Может проставить им всем надо порядок... типа 1й выполнился, потом второй
Старый 26.12.2012, 13:52   #12  
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
Вы может свой сценарий расскажете - может архитектурно это можно решить?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 27.12.2012, 07:19   #13  
kh_heckfy is offline
kh_heckfy
Участник
 
139 / 14 (1) ++
Регистрация: 30.03.2012
Адрес: Новосибирск
да очень сложная логика call центра
дозвоны-недозвоны-отказы
определение класса клиента, определение полноты сбора информации манагерами
определение дат следующих контактов для разных специалистов и т.д. и т.п.

очень много всего уже сделано и т.п. (мне кажется проще было написать свою црм иногда)))))

Возможно можно попробовать объединить еще некоторые плагины... что уменьшит количество шагов...

но как это можно решить архитектурно... вы предложите, может, как должно это быть может я плагины вообще не так пишу...
Старый 27.12.2012, 10:25   #14  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от kh_heckfy Посмотреть сообщение
да прочитал уже... понял...
блин и как же поступить...
плагины все стоят с ORDER по умолчанию
Может проставить им всем надо порядок... типа 1й выполнился, потом второй
У Вас там, для одной сущности несколько плагинов на том же Event/Stage?
__________________
Читайте SDK!!!
Старый 29.12.2012, 04:58   #15  
kh_heckfy is offline
kh_heckfy
Участник
 
139 / 14 (1) ++
Регистрация: 30.03.2012
Адрес: Новосибирск
мм.. получается что да...
Старый 09.01.2013, 09:10   #16  
kh_heckfy is offline
kh_heckfy
Участник
 
139 / 14 (1) ++
Регистрация: 30.03.2012
Адрес: Новосибирск
Проставил я всем шагам плагинов EXECUTION ORDER
Пока что пользователи не жалуются, 2-3 дня тест и все ошибки будут мне скидывать, посмотрим помогло ли это.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 11 Blog bot Dynamics CRM: Blogs 0 06.10.2012 05:27
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 10 Blog bot Dynamics CRM: Blogs 0 17.08.2012 03:27
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 7 Blog bot Dynamics CRM: Blogs 0 27.03.2012 02:11
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 4 Blog bot Dynamics CRM: Blogs 0 24.09.2011 01:16
Microsoft Dynamics CRM Team Blog: Microsoft Dynamics CRM 2011 ~ Online Test Drive Guide Blog bot Dynamics CRM: Blogs 0 05.08.2011 20:13

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

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

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