![]() |
#1 |
Участник
|
Деактивация интереса с помощью SubmitCrmForm
CRM 4.0
На тулбаре интереса делаю кнопку и вставляю в нее следующий код: Код: crmForm.SubmitCrmForm(5, true, true, false); // 5=Deactivate Кто-нибудь знает почему не срабатывает код и как тогда деактивировать интерес? |
|
![]() |
#2 |
Moderator
|
Вопрос в другом, чем не устраивает стандартная кнопка "Преобразовать интерес"?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() ![]() |
|
![]() |
#3 |
Участник
|
Необходимо добавить еще одно преобразование интереса - в кастомную сущность.
На сколько я понимаю стандартные преобразования зашиты в библиотеку. Поэтому есть идея разделить код стандартного окна преобразования инетреса: если происходит стандартное преобразование - выполнять стандартные действия; если нестандартное - выполнять свой веб-сервис и деактивировать интерес. Начал подходить к задаче с конца - с деактивации интереса. Можно было бы конечно декстивировать его тем же самым своим веб-сервисом, но наткнулся на SubmitCrmForm. Если бы оно работало то было бы все намного проще. Последний раз редактировалось ZooY; 09.10.2008 в 12:45. |
|
![]() |
#4 |
Moderator
|
Сдается мне, что закрытие интереса - это уже последний этап. Вам так или иначе потребуется создавать в коде нужные объекты, переносить в эти записи данные из интереса и т.д. Там же интерес и закроете. Из скрипта главное OnLoad пальнуть, чтобы формачка обновилась.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() ![]() |
|
![]() |
#5 |
Участник
|
Да это понятно что там еще действий навалом и закрытие - это последнее. Но я с этой байдой целый день просидел и вопрос теперь уже принципиальный - почему не работает
![]() Кстати, а почему для обновления - OnLoad? Я всегда считал что OnLoad выполняется при открытии формы... |
|
![]() |
#6 |
Moderator
|
А как иначе? Событие отрисовки формы. Оно и после OnSave зовется.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() ![]() |
|
![]() |
#7 |
Участник
|
в 4-ке интерес деактивирует вод такой ансаппортный код:
Код: unqualifyLead(4); ZooY, у меня к Вам другой вопрос: Код: crmForm.SubmitCrmForm(5, true, true, false); // 5=Deactivate |
|
![]() |
#8 |
Moderator
|
Вот, случайно наткнулся на статью, как программно преобразовать интерес в контакт или организацию. Вполне возможно, что она вам поможет:
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, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() ![]() |
|
![]() |
#9 |
Moderator
|
Цитата:
![]()
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() ![]() |
|
![]() |
#10 |
Участник
|
2 Артём:
Как обычно, поработал со скальпелем над CRM. ![]() |
|
![]() |
#11 |
Участник
|
У меня совершенно аналогичная ситуация. Приведенную мною строку можно увидеть в файле SFA/leads/edit.aspx (только код режима там не 5 - Deactivate, а 16 - LeadQualify). Дальше поиски в инете дали некое понимание того, что делает SubmitCrmForm. Номера режимов есть в SDK (статья "Form Event: OnSave").
|
|
![]() |
#12 |
Участник
|
Кстати, Денис, а откуда информация о значениях параметра unqualifyLead?
|
|
![]() |
#13 |
Участник
|
Сори, насчет unqualifyLead туплю, нашел
![]() |
|
![]() |
#14 |
Участник
|
Да, тут вообщем-то ничего сложного:
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); } Кстати, в 4-ке этот код тоже будет работать, только они поменяли у инпутов префиксы с "ac" на "new". Вот... Ну, удачных выходных! ![]() |
|
![]() |
#15 |
Участник
|
То-есть по идее вот такой вот код должен закрывать интерес со статусом "Квалифицирован"
Код: 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. |
|
![]() |
#16 |
Участник
|
Разумеется.
С интересом всё по-другому. Если уж совсем интересно, то unqualifyLead выглядит так: Код: function unqualifyLead( unqualifyStatus ) { var oNewStatus = createHiddenInput( "ulNewStatus", unqualifyStatus ); if(!crmForm.SubmitCrmForm(15, true, true, false)); { deleteInput( oNewStatus ); } } |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|