29.09.2009, 11:06 | #41 |
Чайный пьяница
|
Цитата:
Сообщение от Tarasov E
Значит так: написал на основе данного запроса функцию по обновлению атрибута new_data в сущности new_web по нажатию на кнопку.
Далее привожу код функции: Код: //Обновление даты function SetAttributeValueFromID(sEntityName, GUID)
 {
 var contactId =GUID; var data = (new Date()).getDate()+'/'+(new Date()).getMonth()+'/'+(new Date()).getYear()+' '+(new Date()).getHours()+':'+(new Date()).getMinutes(); var authenticationHeader = GenerateAuthenticationHeader();
 // Prepare the SOAP message.
 var xml = '';
 xml = xml+'<\?xml version=\'1.0\' encoding=\'utf-8\'?\>'+
 '<soap:Envelope xmlns:soap=\'http://schemas.xmlsoap.org/soap/envelope/\''+
 ' xmlns:xsi=\'http://www.w3.org/2001/XMLSchema-instance\''+
 ' xmlns:xsd=\'http://www.w3.org/2001/XMLSchema\'>'+
 authenticationHeader+
 //тело SOAP запроса. '<soap:Body>'+
 //Обновление атрибута '<Update xmlns=\'http://schemas.microsoft.com/crm/2007/WebServices\'>'+ '<entity xsi:type=sEntityName>'+ '<new_data>\'+data+\'</new_data>'+ '<contactid>\'+contactId+\'</contactid>'+ '</entity>'+ '</Update>'+ '</soap:Body>'+
 '</soap:Envelope>';
 // Prepare the xmlHttpObject and send the request.
 var xHReq = new ActiveXObject('Msxml2.XMLHTTP');
 xHReq.Open('POST', '/mscrmservices/2007/CrmService.asmx', false);
 xHReq.setRequestHeader('SOAPAction','http://schemas.microsoft.com/crm/2007/WebServices/Update'); xHReq.setRequestHeader('Content-Type', 'text/xml; charset=utf-8');
 xHReq.setRequestHeader('Content-Length', xml.length);
 xHReq.send(xml);
 // Capture the result.
 var resultXml = xHReq.responseXML;

 // Check for errors.
 var errorCount = resultXml.selectNodes('//error').length;
 if (errorCount != 0) { var msg = resultXml.selectSingleNode('//description').nodeTypedValue; alert(msg); } // Display a confirmation message and open the updated contact. else { alert('Contact with id = '+contactId+' successfully updated.'); window.open('/sfa/conts/edit.aspx?id={'+contactId+'}'); } } var a = getSelected('crmGrid'); 
 SetAttributeValueFromID('new_web', a); В чем может быть ошибка? Также обратил внимание на строчку var contactId =GUID; передаётето вы туда - массив, соответвенно по идее следовало бы использовать ориентировочно такую конструкицю - var contactId = GUID[0].id; Но если ни одной записи не будет выделено - выполнение скрипта - вызовет исключение.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit Последний раз редактировалось a33ik; 29.09.2009 в 11:10. |
|
29.09.2009, 11:53 | #42 |
Участник
|
Цитата:
А разве аллертом не id выводится на скрине? |
|
29.09.2009, 12:09 | #43 |
Чайный пьяница
|
Цитата:
Для данного конкретного случая - не тестировал, но если показывает, следовательно отработало. А что будет в ситуации, если не выделено ни одной записи (пустой грид - ни одной записи) или выделено несколько записей. Уверены, что код поведёт себя корректно? Я - не очень. Моё дело обратить Ваше внимание, Ваше дело - прислушаться или проигнорировать
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
29.09.2009, 13:47 | #44 |
Участник
|
Цитата:
Сообщение от a33ik
Как раз имеет значение какой формат. Ознакомьтесь.
Возможно я не правильно выразился: если бы обновляемое поле имело бы тип datetime, тогда да, формат в котором передается дата имел бы значение. Но в поле типа text почему я не могу передать дату в том формате в котором надо мне? да и не обязательно дату. Если даже я пытаюсь передать строковую значение, то все равно поле не обновляется. Кстати по поводу обновления, оно должно отобразиться после обновления страницы? |
|
29.09.2009, 14:05 | #45 |
Чайный пьяница
|
Цитата:
Сообщение от Tarasov E
Ознакомился.
Возможно я не правильно выразился: если бы обновляемое поле имело бы тип datetime, тогда да, формат в котором передается дата имел бы значение. Но в поле типа text почему я не могу передать дату в том формате в котором надо мне? да и не обязательно дату. Если даже я пытаюсь передать строковую значение, то все равно поле не обновляется. Кстати по поводу обновления, оно должно отобразиться после обновления страницы? Код: '<entity xsi:type=sEntityName>'+ '<new_data>\'+data+\'</new_data>'+ '<contactid>\'+contactId+\'</contactid>'+ Код: '<entity xsi:type=sEntityName>'+ Код: '<entity xsi:type=\''+sEntityName + '\'>'+ Код: '<contactid>\'+contactId+\'</contactid>'+ Код: '<' + sEntityName +'id>\'+contactId+\'</' +sEntityName+ 'id>'+
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: Tarasov E (1). |
29.09.2009, 15:13 | #46 |
Участник
|
Большое спасибо! Исправил - заработало
|
|
05.10.2009, 14:24 | #47 |
Участник
|
Добрый день, мучает такая проблема: создал кнопку на форме в CRM при нажатии которой генерируется адресная строка, результатом перехода по которой является элемент JSon. Не получается результат JSon переписать на карточку в CRM.
|
|
05.10.2009, 14:28 | #48 |
Чайный пьяница
|
Можете привести код, который не работает?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
05.10.2009, 14:32 | #49 |
Участник
|
Вся проблема как раз в том что не знаю куда вставлять обработчик JSon-a и как потом это значение передавать на карточку
|
|
12.10.2009, 09:18 | #50 |
Участник
|
Доброе утро! По мере продвижения работы - появилась вот еще какая проблема:
На одной из вкладок формы надо создать таблицу из двух колонок: дата сканирования и результат. Причем результат - это некая ссылка на локальный html-файл. На скриншоте привел пример как это должно выглядеть. Где-то видел, как помещали окно браузера на форму CRM и загружали страницу в это окно по ссылке. Есть идея - создать аспх страницу, которая будет загружать данные (дату и результат) из хмл, а уже эту страницу грузить в окно браузера. Или как то это можно сделать проще? |
|
12.10.2009, 09:46 | #51 |
Консультант-джедай
|
Под "окном" Вы имеете ввиду iFrame ?
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
12.10.2009, 10:12 | #52 |
Участник
|
|
|
12.10.2009, 10:23 | #53 |
Чайный пьяница
|
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
12.10.2009, 10:30 | #54 |
Консультант-джедай
|
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
20.10.2009, 12:01 | #55 |
Участник
|
Всем доброго дня! На данный момент сканирование вручную я организовал, и появилась необходимость в возможности автоматического сканирования по расписанию - скажем раз в 24 часа тех записей, которые имеют статус "активно"(см.скрин). Я понял что нужно писать бизнес процесс. Проблема в том, что алгоритм сканирования запускался при открытии аспх страницы, открывающийся по нажатию на кнопку "сканировать". Можно было бы конечно пробегаться по всем записям из грида и эмитировать нажатие на кнопку сканирования для каждой записи, но тогда будет открываться асп страница. Может у кого будут какие предложения? Бизнес процессы до этого еще не писал. Заранее благодарен!
Последний раз редактировалось Tarasov E; 20.10.2009 в 12:06. |
|
|
|