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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.02.2011, 10:33   #1  
SergGrey is offline
SergGrey
Участник
 
7 / 10 (1) +
Регистрация: 20.05.2010
Проблема с методом crmForm.Save()
Добрый день.

Помогите, пожалуйста решить такую проблему:

Я создал кастомную кнопку в ISV.config, которая через SOAP-запрос вызывает веб-сервис, выполняющий создание копии объекта activity. Перед вызовом веб-сервиса я проверяю текущий объект на изменения (crmForm.isDirty) и если таковые были, то вызываю метод crmForm.Save(). Проблема заключается в том, что веб-сервис создает копию со старыми данными, которые были до сохранения формы. Сохранение работает, так как изменения в старом объекте сохраняются. Если же сохранять изменения на форме руками, то все работает, новый объект создается с актуальными сохраненными данными.

Заранее спасибо.
Старый 01.02.2011, 12:01   #2  
Артем 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
Очевидно, проблема заключается в асинхронности этих операций. Я думаю нужно изменить код таким образом, чтобы запрос данных для копии происходил после перерисовки формы. Например по событию "onreadystatechange" окна. Будет проще посоветовать, если вы покажете код.

p.s. Наиболее простой вариант, который, кстати, и использует MS: если есть изменения - выведите пользователю сообщение "Необходимо сохранить изменения" и все на этом. Возможно это даже более правильно.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 01.02.2011, 12:37   #3  
SergGrey is offline
SergGrey
Участник
 
7 / 10 (1) +
Регистрация: 20.05.2010
Дело в том, что этот функционал был разработан (и сейчас работает) именно через вывод сообщения с просьбой сохранить, но появился запрос сделать сохранение автоматически...

Вот мой код из ISV.config:
<MenuItem JavaScript="if (crmForm.IsDirty) {crmForm.Save();} var taskGuid = crmForm.ObjectId; var message = &quot;&lt;?xml version='1.0' encoding='utf-8'?

..........далее остальная часть SOAP-запроса к методу веб-сервиса ................

var returnUrl = result.selectSingleNode('//ExecuteTaskToolResult'); try {window.opener.crmGrid.Refresh();} catch (error) {} window.document.location.reload(returnUrl.text);">

p.s. веб-сервис с определенными методами, к которым я обращаюсь, мой.
Старый 01.02.2011, 18:05   #4  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
Попробуйте между этими операциями повесить небольшой таймаут
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
CRM DE LA CREME! Some more useful javascripts for MS CRM Blog bot Dynamics CRM: Blogs 0 04.05.2010 11:05
Передача данных POST методом аспх странице Tarasov E Dynamics CRM: Разработка 1 04.03.2010 10:28
CRM DE LA CREME! Some useful CRMform jscripts Blog bot Dynamics CRM: Blogs 0 02.09.2009 10:05
Проблема при создании мероприятия ShurikEv Dynamics CRM: Функционал 2 03.11.2008 18:26
Microsoft Dynamics CRM Team Blog: Running Data Import: How to Save and Retrieve Parsed Data Blog bot Dynamics CRM: Blogs 0 30.09.2008 01:05

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

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

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