15.02.2010, 17:42 | #1 |
Участник
|
PostBack
Решил модифицировать существующую в CRM страницу lookupsingle.aspx. Мне нужен его функционал по переносу listmember'ов из одной сущности в другю,НО с помощью него можно скопировать,но нельзя переместить! Т.е. строка остается в первичном листе. Так вот..задумка какая.. Я сделал точную копию этой страницы За исключением следующего.. добавил свою кнопку
Код: ..... <% =RenderButtons() %> </td> </tr> </table> </td> </tr> </table> <form id="form1" runat="server"> <div> <asp:Button ID="btnPost" style="display:none" OnClick="btnPost_Click" runat="server" Text="TEST" /> <asp:TextBox ID="lblHiddenTargetList" style="display:none" runat="server">hidden field</asp:TextBox> </div> </form> Код: <script runat="server"> protected void btnPost_Click(object sender, EventArgs e) { string srt = "fdfdfdfdfd"; //тут будет удаление } </script> Код: var btnpost = document.getElementById("btnPost"); if(btnpost==null)return; btnpost.click(); При нажатии выдается ошибка... [InvalidOperationException: CRM Parameter Filter - Invalid parameter '__VIEWSTATE=/wEPDwUKMTMyNTI0NTE5OWRk' in Request.Form on page /MicrosoftCRM/_controls/lookup/lookTest.aspx The raw request was 'POST /MicrosoftCRM/_controls/lookup/lookTest.aspx?class=membertypelistwithomission&objecttypes=4300&browse=0&id=%7b107FA1EB Т.е. проблема с постбеком.. Что с этим можно сделать? Есть другой путь удаления..через сервисы CRM, но об этом следующий вопрос..тут тоже не все так просто. |
|
15.02.2010, 17:56 | #2 |
Участник
|
Друзья, решение есть,только это подразумевает редактирование реестра
Open up regedit and browse to HKEY_Local_Machine\Software\Microsoft\MSCRM. Add new DWORD called DisableParameterFilter with value 1. |
|
16.02.2010, 10:04 | #3 |
Moderator
|
В чем суть решения? Заменить копирование в другой список переносом? Вы должны понимать, что ваш подход нельзя назвать правильным. Ни с точки зрения SDK системы, ни с точки зрения здравого смысла. Если нужно не копировать, а именно перенести участников, то ваше решение явно не должно заключаться в "исправлении" кода лукапа! Лукап сделан для выбора нужных записей, то как вы обработаете результаты, которые он вернет - не должно заключаться в обработчике кнопки "ОК".
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
16.02.2010, 10:34 | #4 |
Moderator
|
Вот так выглядит обработчик меню "Копировать в другой маркетинговый список":
Код: if (sAction == "copylistmember") { var qs = new QueryString(); _sListId = qs.get("oId",""); var sMemberType = GetListMemberType(); var itemObjectId = ""; var itemObjectTypeCode = ""; var bMakeCall = false; var lookupItems = LookupObjects(null, "single","membertypelistwithomission", "4300",0,null,"id="+CrmEncodeDecode.CrmUrlEncode(_sListId)+"&membertypecode="+CrmEncodeDecode.CrmUrlEncode(sMemberType),"1"); if ( lookupItems ) { if ( lookupItems.items.length > 0 ) { itemObjectId = lookupItems.items[0].id; itemObjectTypeCode = lookupItems.items[0].type; bMakeCall = true; } } if(bMakeCall) { oResult = openStdDlg(prependOrgName("/_grid/cmds/dlg_addtolist.aspx?iObjType=") + CrmEncodeDecode.CrmUrlEncode(iObjType) + "&autoTrigger=1" + "&iTotal=" + CrmEncodeDecode.CrmUrlEncode(a.length) + "&sIds=" + CrmEncodeDecode.CrmUrlEncode(sIds) + sCustParams + "&itemObjectId=" + CrmEncodeDecode.CrmUrlEncode(itemObjectId) + "&itemObjectTypeCode=" + CrmEncodeDecode.CrmUrlEncode(itemObjectTypeCode), a, iX, iY ); oResult = false; } }
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
16.02.2010, 16:44 | #5 |
Moderator
|
Вот решение: http://www.axforum.info/forums/blog.php?b=83
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
16.02.2010, 18:39 | #6 |
Участник
|
Спасибо,я уже понял, что шел немного не той дорогой,так что реализовал через JavaScript. Ваш пост конечно просто гениально прост,но я его не пробовал)) Хотя сейчас уже в голове родился ещё один способ решения моей проблемы.
Здача была используя лукапное окно найти нужный маркетинговый список и перенести туда члена текущего маркетингового списка. Последний раз редактировалось Kipetcoff; 16.02.2010 в 18:42. |
|