|
|
#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, но об этом следующий вопрос..тут тоже не все так просто. |
|
|
|
|
#2 |
|
Участник
|
Друзья, решение есть,только это подразумевает редактирование реестра
Open up regedit and browse to HKEY_Local_Machine\Software\Microsoft\MSCRM. Add new DWORD called DisableParameterFilter with value 1. |
|
|
|
|
#3 |
|
Moderator
|
В чем суть решения? Заменить копирование в другой список переносом? Вы должны понимать, что ваш подход нельзя назвать правильным. Ни с точки зрения SDK системы, ни с точки зрения здравого смысла. Если нужно не копировать, а именно перенести участников, то ваше решение явно не должно заключаться в "исправлении" кода лукапа! Лукап сделан для выбора нужных записей, то как вы обработаете результаты, которые он вернет - не должно заключаться в обработчике кнопки "ОК".
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() MS Certified Dirty Magic Professional
|
|
|
|
|
#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
|
|
|
|
|
#5 |
|
Moderator
|
Вот решение: http://www.axforum.info/forums/blog.php?b=83
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() MS Certified Dirty Magic Professional
|
|
|
|
|
#6 |
|
Участник
|
Спасибо,я уже понял, что шел немного не той дорогой,так что реализовал через JavaScript. Ваш пост конечно просто гениально прост,но я его не пробовал)) Хотя сейчас уже в голове родился ещё один способ решения моей проблемы.
Здача была используя лукапное окно найти нужный маркетинговый список и перенести туда члена текущего маркетингового списка. Последний раз редактировалось Kipetcoff; 16.02.2010 в 18:42. |
|
|