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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.05.2012, 14:48   #1  
spectr is offline
spectr
Участник
Аватар для spectr
MCBMSS
Лучший по профессии 2014
 
287 / 70 (3) ++++
Регистрация: 19.10.2011
Адрес: Киев
Где взять CRMWRPCToken и CRMWRPCTokenTimeStamp
В своем решении загрузка файла с атачмента все замечательно работает, но вот поступила задача сделать ссылку на файл атачмента в другом месте.

Так вот на страницу 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);
      });
}

Последний раз редактировалось spectr; 25.05.2012 в 15:03.
Старый 25.05.2012, 15:35   #2  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Вот такой вариант.
Делаем сущность new_support
у нее поля request и response
Далее Рестом создаем экземпляр сущности и заполняем request. Вешаем плагин на пре создание этой сущности и из плагина заполняем response. И далее смотрим, что нам вернул рест. в Респонсе.
то что рест вызывается из HTML ресурса я проверял. То что схема подобного взаимодействия будет работать я тоже проверял.
__________________
Мой блог https://procrm.tv
Старый 25.05.2012, 16:04   #3  
spectr is offline
spectr
Участник
Аватар для spectr
MCBMSS
Лучший по профессии 2014
 
287 / 70 (3) ++++
Регистрация: 19.10.2011
Адрес: Киев
не вариант.
Придется плодить кучу ненужных записей сущности new_support , даже при вызове вебресурса HTML на просмотр.

Пока решил попробовать через window.top.opener а в родителя брать объект _aWrpcTokens, а в нем осталось только определить который из Token-ов мне нужен.

Надеюсь получится.
Старый 25.05.2012, 16:09   #4  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Мы их плодим, потом удаляем через определенное время (разумеется автматически).

еще Parent можно попробовать. Я так до формы из ресурса достукивался.
__________________
Мой блог https://procrm.tv
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как взять текстовое значение из поля LookUp tatra Dynamics CRM: Разработка 2 21.11.2007 08:20
Где взять роли пользователей ? tatra Dynamics CRM: Разработка 5 12.11.2007 16:21

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

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

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