В своем решении загрузка файла с атачмента все замечательно работает, но вот поступила задача сделать ссылку на файл атачмента в другом месте.
Так вот на страницу Activities/Attachment/download.aspx мне нужно передать параметры:
- AttachmentType
- AttachmentId
- CRMWRPCToken
- CRMWRPCTokenTimeStamp
с первыми двумя проблем нет, они статические, а вот два других зависят от пользователя и сесии авторизации.
в плагинах их можно создать с помощью:
Код:
CrmAuthenticationToken token = new CrmAuthenticationToken();
а вот как мне его получить в javascript ?
p.s. Новая ссылка тоже находится внутри CRM.
p.s.s. Поискал на страницах самого CRM, нашел
Код:
Вариант 1
function HeaderWindowOnLoad()
{
var initialTokens = new Object();initialTokens.Timestamp = "634735339052903904";
initialTokens['\x2fAIS\x2fAPPWEBSERVICES\x2fSCRIPTERROR.ASMX']='Cf9tG5uEEeG4ngAMKW\x2fVGFb7U5jJfCZfWlvjhdAKMOc3O9EEqUezQWG66PNOtDL9';
initialTokens['\x2fAIS\x2fAPPWEBSERVICES\x2fANNOTATION.ASMX']='Cf9tG5uEEeG4ngAMKW\x2fVGD0ydWkYgR3KBEH\x2b\x2fDMdYXVxY2b\x2b1ZIsUp6NDE0fSlBH';
initialTokens['\x2fAIS\x2fAPPWEBSERVICES\x2fLOOKUPSERVICE.ASMX']='Cf9tG5uEEeG4ngAMKW\x2fVGO6R2xN5JMhjIAaAUhkrrl\x2f09lJSY7\x2bbgv01LdGJc9TM';
initialTokens['\x2fAIS\x2fAPPWEBSERVICES\x2fRELATIONSHIPROLEPICKLIST.ASMX']='Cf9tG5uEEeG4ngAMKW\x2fVGHsl6q2CTLtjMVKsKNnGbHKCfoJeTUzAzh\x2f3TWDmVqOt';
initialTokens['\x2fAIS\x2fAPPWEBSERVICES\x2fUSERQUERY.ASMX']='Cf9tG5uEEeG4ngAMKW\x2fVGCRjpjBPV\x2bjOk7hdq1LLO5IiabJUF9yQBqBAC2q\x2b3ZcN';
initialTokens['\x2fAIS\x2fAPPWEBSERVICES\x2fMARKETINGAUTOMATION.ASMX']='Cf9tG5uEEeG4ngAMKW\x2fVGP4A\x2bRkIRN73vCGLKb3Md8OsnC38zygdYrnYBgp\x2fVb75';
initialTokens['\x2fAIS\x2fAPPWEBSERVICES\x2fDUPLICATEDETECTION.ASMX']='Cf9tG5uEEeG4ngAMKW\x2fVGLhtagQ6BDc4atvKk1aceYSDESs7epYUv1LCr7sbkrZN';
initialTokens['\x2fAIS\x2fAPPWEBSERVICES\x2fASSOCIATERECORDS.ASMX']='Cf9tG5uEEeG4ngAMKW\x2fVGKdq8d\x2fcHypEEXLwbrWkv9SstpHcxrtt5h6IUw\x2bnyFZN';
_aWrpcTokens[0]=initialTokens;
Вариант2
function INITWRPCTOKENS()
{
var initialTokens = new Object();initialTokens.Timestamp = "634735243570589700";
initialTokens['\x2fAIS\x2fAPPWEBSERVICES\x2fRECENTLYVIEWEDWEBSERVICE.ASMX']='Cf9tG5uEEeG4ngAMKW\x2fVGNXhHugciKui4diilEvwglrLGnuEUgD1hfIGpoHDp2tW';
initialTokens['\x2fAIS\x2fAPPWEBSERVICES\x2fLOOKUPMRUWEBSERVICE.ASMX']='Cf9tG5uEEeG4ngAMKW\x2fVGEw3VCrDrA9xbHmV4\x2bLLfMPUXa4V3X3xznPC0LVduPHN';
initialTokens['\x2fAIS\x2fAPPWEBSERVICES\x2fSCRIPTERROR.ASMX']='Cf9tG5uEEeG4ngAMKW\x2fVGIFe6eDDGVLU0sJNo7e\x2bH2ytUjAo7XgGt9FANJI248az';
initialTokens['\x2fAIS\x2fAPPWEBSERVICES\x2fLOOKUPSERVICE.ASMX']='Cf9tG5uEEeG4ngAMKW\x2fVGLS2J\x2fKYdYN\x2bDqeIVGN3MC9OrCrnMavusDO1EQNfLHa6';
_aWrpcTokens[0]=initialTokens;
}
Но мне нужен Token на странице вебресурса HTML.
Прошлое решение для
поста:
Код:
function myOnLoad()
{
if (document.getElementById("notescontrol") != null)
{
if (document.getElementById("notescontrol").readyState != "complete")
{
setTimeout('myOnLoad()', 1000);
return;
}
}
else
{
setTimeout('myOnLoad()', 1000);
return;
}
var myFile = $('#notescontrol').contents().find('span[WRPCTokenUrl]');
$('#notescontrol').contents().find('span[WRPCTokenUrl]').each(function(){
var url = $(this).attr("url") + '?AttachmentType=' + $(this).attr("attachmentType") + '&AttachmentId=' + $(this).attr("attachmentId") + '&IsNotesTabAttachment=' + $(this).attr("IsNotesTabAttachment") + $(this).attr("WRPCTokenUrl");
var html = ' (<a href="'+url+'" target="_blank" style="font-weight: bold; color:red;">Открыть</a>)';
$(this).after(html);
});
}