|
![]() |
#1 |
Участник
|
Цитата:
Цитата:
Сообщение от g.Naukovych
![]() То есть любой плагин выполняется в транзакции.
Тепер что получается? Когда данные в транзакции и еще не сохранены в БД полностью Вы пытаетесь её считать. Вот у Вас и ошибка. Я это проверял при попытке считать из БД данные напрямую. Также проверял, что это работает если использовать веб-сервис из контекста плагина. Если использовать веб-сервис из контекста плагина у меня ошибка не вываливается. Остается ещё очень много вопросов, которые все вместе не дают полную картину. Рочему в Post Create (40) этого не происходит? Теперь перейдем в плагину написаному для четверки который падает по той же причине. 50 stage уже не находится в транзакции почему тогда он тоже падает? Он поддерживается? Или получается код который написан под 4 не обязательно будет бежать на том же stage в 2011. (галиматья какая-та) P. S. Предыдущий программист который писал этот плагин использовал References на веб сервис для удобства работы с сущностями. теперь если переделывать его плагин на сервис из контектста придется переписывать весь код. P. S. Теперь нельзя делать ретривы в Post Update при использовании сборок либо References на веб сервис.
__________________
Читайте SDK!!! |
|
![]() |
#2 |
Участник
|
Я видимо неправильно выразился.
Если вызывать веб-сервис из контекста, то работать должно. Это работает и у меня и у Вас. Цитата:
Теперь перейдем в плагину написаному для четверки который падает по той же причине.
50 stage уже не находится в транзакции почему тогда он тоже падает? Он поддерживается? Тут еще тонкий момент. Вы наверного обращаетесь к crmService. Это способ работы с CRM4 В CRM 2011 рекомендуется работать с OrganizationService Цитата:
P. S. Предыдущий программист который писал этот плагин использовал References на веб сервис для удобства работы с сущностями. теперь если переделывать его плагин на сервис из контектста придется переписывать весь код.
Цитата:
P. S. Теперь нельзя делать ретривы в Post Update при использовании сборок либо References на веб сервис.
|
|
![]() |
#3 |
Участник
|
Он не запрешен
Если Вы делаете перенос проекта с 4 на 2011 и у вас там есть плагины именно на него (50) и нужно их вешать. Конечно же нельзя плагин неписаный под 2011 повешать на этот евент. Plugin Registration вам этого не даст Цитата:
это существует для crm 2011, а не для crm 4. (Плагин написан под crm 4)
__________________
Читайте SDK!!! |
|
![]() |
#4 |
Участник
|
В любом случае плагин не работает на шаге 50, даже если он на него мигрировал.
Можно сделать еще ё вариант, не уверен попойдёт ли он Вам. Плагин повесить на шаг 10. КОгда еще нет транзакции. На основе PreImage и таргет сформировать PostImage. Потом вызвать Вашу операцию и заменить там значение, которое получилось у той записи, что вы изменили на значение из PostImage. Или еще 1 вариант переведите плагин в асинхронных режим. То есть когда Вы будете обращаться к списку записей у Вас уже будет не DeadLock, а просто Lock. Вы проиграете по времени в вычислениях, данные не будут приходить сразу же, но при этом они все равно изменятся и Вам не придётся переписывать плагин. |
|
![]() |
#5 |
Участник
|
Цитата:
![]() Можно даже его менять и он снова работает. ![]() P. S. А за варианты спасибо
__________________
Читайте SDK!!! |
|
![]() |
#6 |
Участник
|
а Как Вы транзакцию побороли?
А если в него зайти и шаг посмотреть там 50 написано? |
|
![]() |
#7 |
Участник
|
Я видимо переделаю плагин на DynamicEntity в том же самом stage и буду использовать сервис контекста.
Не хочу изобретать велосипед Да 50
__________________
Читайте SDK!!! |
|
|
|