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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.03.2012, 10:12   #1  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
Если я использую сервис из контекста ретривы срабатывают без проблем.
Значит нужно его использовать.
Я подумаю о Вашем предложении. только что делать с кодом который уже написан под 4. (см. ниже)

Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
То есть любой плагин выполняется в транзакции.
Тепер что получается? Когда данные в транзакции и еще не сохранены в БД полностью Вы пытаетесь её считать. Вот у Вас и ошибка. Я это проверял при попытке считать из БД данные напрямую. Также проверял, что это работает если использовать веб-сервис из контекста плагина.
Странно
Если использовать веб-сервис из контекста плагина у меня ошибка не вываливается.

Остается ещё очень много вопросов, которые все вместе не дают полную картину.
Рочему в Post Create (40) этого не происходит?

Теперь перейдем в плагину написаному для четверки который падает по той же причине.
50 stage уже не находится в транзакции почему тогда он тоже падает?
Он поддерживается?
Или получается код который написан под 4 не обязательно будет бежать на том же stage в 2011.
(галиматья какая-та)

P. S. Предыдущий программист который писал этот плагин использовал References на веб сервис для удобства работы с сущностями. теперь если переделывать его плагин на сервис из контектста придется переписывать весь код.
P. S. Теперь нельзя делать ретривы в Post Update при использовании сборок либо References на веб сервис.
__________________
Читайте SDK!!!
Старый 20.03.2012, 10:23   #2  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Я видимо неправильно выразился.
Если вызывать веб-сервис из контекста, то работать должно. Это работает и у меня и у Вас.

Цитата:
Теперь перейдем в плагину написаному для четверки который падает по той же причине.
50 stage уже не находится в транзакции почему тогда он тоже падает?
Он поддерживается?
Шаг 50 запрещён. На него нельзя зарегистрировать плагин.

Тут еще тонкий момент. Вы наверного обращаетесь к crmService. Это способ работы с CRM4
В CRM 2011 рекомендуется работать с OrganizationService

Цитата:
P. S. Предыдущий программист который писал этот плагин использовал References на веб сервис для удобства работы с сущностями. теперь если переделывать его плагин на сервис из контектста придется переписывать весь код.
И еще в SDK есть программа, которая генерирует прокси-классы на основе текущего состояния кастомизации. Можно воспользоваться ею, сгенерировать cs файл, включить его в плагин.


Цитата:
P. S. Теперь нельзя делать ретривы в Post Update при использовании сборок либо References на веб сервис.
Видимо запрос из другой транзакции невозможен.
Старый 20.03.2012, 11:28   #3  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
Шаг 50 запрещён. На него нельзя зарегистрировать плагин.
Он не запрешен
Если Вы делаете перенос проекта с 4 на 2011 и у вас там есть плагины именно на него (50) и нужно их вешать.
Конечно же нельзя плагин неписаный под 2011 повешать на этот евент. Plugin Registration вам этого не даст

Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
Тут еще тонкий момент. Вы наверного обращаетесь к crmService. Это способ работы с CRM4
В CRM 2011 рекомендуется работать с OrganizationService
А за объектом OrganizationService в конечном итоге тоже стоит сервис который называется умным словом WCF. Замена crmService для 2011. (со своими новыми возможностями)
Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
И еще в SDK есть программа, которая генерирует прокси-классы на основе текущего состояния кастомизации. Можно воспользоваться ею, сгенерировать cs файл, включить его в плагин.
это существует для crm 2011, а не для crm 4. (Плагин написан под crm 4)
__________________
Читайте SDK!!!
Старый 20.03.2012, 11:44   #4  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
В любом случае плагин не работает на шаге 50, даже если он на него мигрировал.

Можно сделать еще ё вариант, не уверен попойдёт ли он Вам. Плагин повесить на шаг 10. КОгда еще нет транзакции. На основе PreImage и таргет сформировать PostImage.
Потом вызвать Вашу операцию и заменить там значение, которое получилось у той записи, что вы изменили на значение из PostImage.

Или еще 1 вариант переведите плагин в асинхронных режим. То есть когда Вы будете обращаться к списку записей у Вас уже будет не DeadLock, а просто Lock. Вы проиграете по времени в вычислениях, данные не будут приходить сразу же, но при этом они все равно изменятся и Вам не придётся переписывать плагин.
Старый 20.03.2012, 11:57   #5  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
В любом случае плагин не работает на шаге 50, даже если он на него мигрировал.
Работает работает и еще как работает.
Можно даже его менять и он снова работает.

P. S. А за варианты спасибо
__________________
Читайте SDK!!!
Старый 20.03.2012, 12:00   #6  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
а Как Вы транзакцию побороли?

А если в него зайти и шаг посмотреть там 50 написано?
Старый 20.03.2012, 12:10   #7  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
а Как Вы транзакцию побороли?
Я видимо переделаю плагин на DynamicEntity в том же самом stage и буду использовать сервис контекста.
Не хочу изобретать велосипед

Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
А если в него зайти и шаг посмотреть там 50 написано?
Да 50
__________________
Читайте SDK!!!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Microsoft Dynamics CRM Team Blog: Introduction to the Microsoft Dynamics CRM November 2011 service update Blog bot Dynamics CRM: Blogs 0 02.11.2011 04:17
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: Update Rollup 4 for Microsoft Dynamics CRM 2011 Blog bot Dynamics CRM: Blogs 0 22.09.2011 20:11
crminthefield: Microsoft Dynamics CRM 4.0 and 2011 Update Rollup Release Dates, Build Numbers, and Collateral Blog bot Dynamics CRM: Blogs 0 24.08.2011 02:11
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, время: 05:36.