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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.10.2008, 00:00   #1  
ZooY is offline
ZooY
Участник
Аватар для ZooY
 
379 / 46 (2) +++
Регистрация: 24.06.2008
Адрес: Россия, Москва
Деактивация интереса с помощью SubmitCrmForm
CRM 4.0
На тулбаре интереса делаю кнопку и вставляю в нее следующий код:
Код:
crmForm.SubmitCrmForm(5, true, true, false);    // 5=Deactivate
По идее интерес должен декстивироваться. Но этого не происходит, вместо этого в этом же окне интереса открывается форма создания новой записи.
Кто-нибудь знает почему не срабатывает код и как тогда деактивировать интерес?
Старый 09.10.2008, 08:32   #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
Вопрос в другом, чем не устраивает стандартная кнопка "Преобразовать интерес"?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 09.10.2008, 12:38   #3  
ZooY is offline
ZooY
Участник
Аватар для ZooY
 
379 / 46 (2) +++
Регистрация: 24.06.2008
Адрес: Россия, Москва
Необходимо добавить еще одно преобразование интереса - в кастомную сущность.

На сколько я понимаю стандартные преобразования зашиты в библиотеку. Поэтому есть идея разделить код стандартного окна преобразования инетреса: если происходит стандартное преобразование - выполнять стандартные действия; если нестандартное - выполнять свой веб-сервис и деактивировать интерес. Начал подходить к задаче с конца - с деактивации интереса. Можно было бы конечно декстивировать его тем же самым своим веб-сервисом, но наткнулся на SubmitCrmForm. Если бы оно работало то было бы все намного проще.

Последний раз редактировалось ZooY; 09.10.2008 в 12:45.
Старый 09.10.2008, 13:03   #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
Сдается мне, что закрытие интереса - это уже последний этап. Вам так или иначе потребуется создавать в коде нужные объекты, переносить в эти записи данные из интереса и т.д. Там же интерес и закроете. Из скрипта главное OnLoad пальнуть, чтобы формачка обновилась.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 09.10.2008, 14:47   #5  
ZooY is offline
ZooY
Участник
Аватар для ZooY
 
379 / 46 (2) +++
Регистрация: 24.06.2008
Адрес: Россия, Москва
Да это понятно что там еще действий навалом и закрытие - это последнее. Но я с этой байдой целый день просидел и вопрос теперь уже принципиальный - почему не работает

Кстати, а почему для обновления - OnLoad? Я всегда считал что OnLoad выполняется при открытии формы...
Старый 09.10.2008, 15:39   #6  
Артем 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
А как иначе? Событие отрисовки формы. Оно и после OnSave зовется.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 09.10.2008, 17:59   #7  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
в 4-ке интерес деактивирует вод такой ансаппортный код:

Код:
unqualifyLead(4);
где 4 - statuscode=Неудача

ZooY, у меня к Вам другой вопрос:

Код:
crmForm.SubmitCrmForm(5, true, true, false);    // 5=Deactivate
откуда этот код?
Старый 09.10.2008, 18:02   #8  
Артем 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
Вот, случайно наткнулся на статью, как программно преобразовать интерес в контакт или организацию. Вполне возможно, что она вам поможет:
http://www.codeproject.com/KB/cs/CRM...tyMoniker.aspx
Сейчас нет возможности проверить, как этот код работает с кастом-сущьностью, возможно посмотрю на работе.
И последнее, насколько я понял, приведённый в коде пример только преобразует объект один в другой (вероятно, используя правила сопоставления атрибутов). После вызова
InitializeFromResponse rps = (InitializeFromResponse)Service.Execute(req);

Полученый объект нужно еще сохранить!
service.Create(rps.Entity);

Информация из блога
Ronald Lemmen
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 09.10.2008, 18:04   #9  
Артем 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
Цитата:
Сообщение от Гуревич Денис Посмотреть сообщение
в 4-ке интерес деактивирует вод такой ансаппортный код:
Код:
unqualifyLead(4);
где 4 - statuscode=Неудача
Денис, а ваш откуда?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 09.10.2008, 18:08   #10  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
2 Артём:
Как обычно, поработал со скальпелем над CRM.
Старый 09.10.2008, 19:13   #11  
ZooY is offline
ZooY
Участник
Аватар для ZooY
 
379 / 46 (2) +++
Регистрация: 24.06.2008
Адрес: Россия, Москва
Цитата:
Сообщение от Гуревич Денис Посмотреть сообщение
2 Артём:
Как обычно, поработал со скальпелем над CRM.
У меня совершенно аналогичная ситуация. Приведенную мною строку можно увидеть в файле SFA/leads/edit.aspx (только код режима там не 5 - Deactivate, а 16 - LeadQualify). Дальше поиски в инете дали некое понимание того, что делает SubmitCrmForm. Номера режимов есть в SDK (статья "Form Event: OnSave").
Старый 09.10.2008, 19:16   #12  
ZooY is offline
ZooY
Участник
Аватар для ZooY
 
379 / 46 (2) +++
Регистрация: 24.06.2008
Адрес: Россия, Москва
Кстати, Денис, а откуда информация о значениях параметра unqualifyLead?
Старый 10.10.2008, 12:10   #13  
ZooY is offline
ZooY
Участник
Аватар для ZooY
 
379 / 46 (2) +++
Регистрация: 24.06.2008
Адрес: Россия, Москва
Сори, насчет unqualifyLead туплю, нашел
Старый 10.10.2008, 17:01   #14  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Да, тут вообщем-то ничего сложного:
unqualifyLead принимает в качестве параметра statuscode, значения которого можно посмотреть в соответствующем атрибуте Интереса для State=Дисквалифицирован.

А почему про SubmitCrmForm спрашивал - в 3-ке действительно можно деактивировать объекты кодом, который вы привели с двумя НО:
1. Код работает только для custom сущностей.
2. Это не весь код. Полный код выглядит так:

Код:
oAcStateCode = createHiddenInput('acStateCode', 1);
oAcStatusCode = createHiddenInput('acStatusCode', 2);
if(!crmForm.SubmitCrmForm(5, true, true, false)) {
  deleteInput(oAcStateCode);
  deleteInput(oAcStatusCode);
}
Понятно, значения State и Status меняются в зависимости от сущности.
Кстати, в 4-ке этот код тоже будет работать, только они поменяли у инпутов префиксы с "ac" на "new". Вот...

Ну, удачных выходных!
Старый 10.10.2008, 18:56   #15  
ZooY is offline
ZooY
Участник
Аватар для ZooY
 
379 / 46 (2) +++
Регистрация: 24.06.2008
Адрес: Россия, Москва
То-есть по идее вот такой вот код должен закрывать интерес со статусом "Квалифицирован"

Код:
oAcStateCode = createHiddenInput('newStateCode', 2);
oAcStatusCode = createHiddenInput('newStatusCode', 3);
if (!crmForm.SubmitCrmForm(5, true, true, false)) {
    deleteInput(oAcStateCode);
    deleteInput(oAcStatusCode);
}
Только этого не происходит Или в четверке этот код тоже работает только с кастомными сущностями?

Последний раз редактировалось ZooY; 10.10.2008 в 19:07.
Старый 13.10.2008, 14:36   #16  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Цитата:
Сообщение от ZooY Посмотреть сообщение
Или в четверке этот код тоже работает только с кастомными сущностями?
Разумеется.
С интересом всё по-другому.
Если уж совсем интересно, то unqualifyLead выглядит так:

Код:
 
function unqualifyLead( unqualifyStatus ) 
{
  var oNewStatus = createHiddenInput( "ulNewStatus", unqualifyStatus );
  if(!crmForm.SubmitCrmForm(15, true, true, false));
  {
    deleteInput( oNewStatus );
  }
}
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как вставить ссылку на запись с помощью БП? if_maks Dynamics CRM: Разработка 9 17.12.2008 16:05
Выполнение запроса InitializeFromRequest с помощью JavaScript ZooY Dynamics CRM: Разработка 3 22.10.2008 14:18
Действия Интереса (Lead Activities) MFCшный Wizard Dynamics CRM: Разработка 5 01.10.2008 08:30
Где найти веб-форму Преобразования интереса? Impulse Dynamics CRM: Разработка 2 28.09.2008 13:55
Изменение владельца "Интереса" CRM 3.0 Gogus Dynamics CRM: Функционал 3 20.08.2008 19:32

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

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

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