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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.09.2009, 11:06   #41  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от 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);
После выполнения имею то, что на скрине, но обновления даты не происходит.
В чем может быть ошибка?
Судя по коду Вы неправильно формируете поле даты для запроса. Дата Должна быть примерно в таком формате - yyyy-MM-ddThh:mm:ss+(часовой пояс для UTC) например - 2009-12-30T00:00:00+02:00

Также обратил внимание на строчку

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  
Tarasov E is offline
Tarasov E
Участник
Аватар для Tarasov E
 
100 / 11 (1) +
Регистрация: 01.09.2009
Цитата:
Сообщение от a33ik Посмотреть сообщение
Судя по коду Вы неправильно формируете поле даты для запроса. Дата Должна быть примерно в таком формате - yyyy-MM-ddThh:mm:ss+(часовой пояс для UTC) например - 2009-12-30T00:00:00+02:00
В данном случае тип поля - текст, и формат, в котором передается дата значения я думаю не имеет, тем более что в это поле уже добавлял данные из формы самой.

Цитата:
Сообщение от a33ik Посмотреть сообщение
var contactId =GUID;
передаётето вы туда - массив, соответвенно по идее следовало бы использовать ориентировочно такую конструкицю - var contactId = GUID[0].id;
Но если ни одной записи не будет выделено - выполнение скрипта - вызовет исключение.
А разве аллертом не id выводится на скрине?
Старый 29.09.2009, 12:09   #43  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Tarasov E Посмотреть сообщение
В данном случае тип поля - текст, и формат, в котором передается дата значения я думаю не имеет, тем более что в это поле уже добавлял данные из формы самой.
Как раз имеет значение какой формат. Ознакомьтесь.

Цитата:
Сообщение от Tarasov E Посмотреть сообщение
А разве аллертом не id выводится на скрине?
Для данного конкретного случая - не тестировал, но если показывает, следовательно отработало. А что будет в ситуации, если не выделено ни одной записи (пустой грид - ни одной записи) или выделено несколько записей. Уверены, что код поведёт себя корректно? Я - не очень. Моё дело обратить Ваше внимание, Ваше дело - прислушаться или проигнорировать
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 29.09.2009, 13:47   #44  
Tarasov E is offline
Tarasov E
Участник
Аватар для Tarasov E
 
100 / 11 (1) +
Регистрация: 01.09.2009
Цитата:
Сообщение от a33ik Посмотреть сообщение
Как раз имеет значение какой формат. Ознакомьтесь.
Ознакомился.
Возможно я не правильно выразился: если бы обновляемое поле имело бы тип datetime, тогда да, формат в котором передается дата имел бы значение. Но в поле типа text почему я не могу передать дату в том формате в котором надо мне? да и не обязательно дату. Если даже я пытаюсь передать строковую значение, то все равно поле не обновляется. Кстати по поводу обновления, оно должно отобразиться после обновления страницы?
Старый 29.09.2009, 14:05   #45  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Tarasov E Посмотреть сообщение
Ознакомился.
Возможно я не правильно выразился: если бы обновляемое поле имело бы тип datetime, тогда да, формат в котором передается дата имел бы значение. Но в поле типа text почему я не могу передать дату в том формате в котором надо мне? да и не обязательно дату. Если даже я пытаюсь передать строковую значение, то все равно поле не обновляется. Кстати по поводу обновления, оно должно отобразиться после обновления страницы?
Внимательнее изучил Ваш скрипт обнаружил следующие проблемные моменты в кусе кода:

Код:
'<entity xsi:type=sEntityName>'+ 
'<new_data>\'+data+\'</new_data>'+ 
'<contactid>\'+contactId+\'</contactid>'+
1.
Код:
'<entity xsi:type=sEntityName>'+
такой запрос и уйдёт на сервер. Необходимо поменять по идее на такое:
Код:
'<entity xsi:type=\''+sEntityName + '\'>'+
2.
Код:
'<contactid>\'+contactId+\'</contactid>'+
надо поменять на такое:
Код:
'<' + sEntityName +'id>\'+contactId+\'</' +sEntityName+ 'id>'+
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: Tarasov E (1).
Старый 29.09.2009, 15:13   #46  
Tarasov E is offline
Tarasov E
Участник
Аватар для Tarasov E
 
100 / 11 (1) +
Регистрация: 01.09.2009
Большое спасибо! Исправил - заработало
Старый 05.10.2009, 14:24   #47  
Petrick is offline
Petrick
Участник
 
13 / 12 (1) ++
Регистрация: 17.07.2009
Добрый день, мучает такая проблема: создал кнопку на форме в CRM при нажатии которой генерируется адресная строка, результатом перехода по которой является элемент JSon. Не получается результат JSon переписать на карточку в CRM.
Старый 05.10.2009, 14:28   #48  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Petrick Посмотреть сообщение
Добрый день, мучает такая проблема: создал кнопку на форме в CRM при нажатии которой генерируется адресная строка, результатом перехода по которой является элемент JSon. Не получается результат JSon переписать на карточку в CRM.
Можете привести код, который не работает?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 05.10.2009, 14:32   #49  
Petrick is offline
Petrick
Участник
 
13 / 12 (1) ++
Регистрация: 17.07.2009
Вся проблема как раз в том что не знаю куда вставлять обработчик JSon-a и как потом это значение передавать на карточку
Старый 12.10.2009, 09:18   #50  
Tarasov E is offline
Tarasov E
Участник
Аватар для Tarasov E
 
100 / 11 (1) +
Регистрация: 01.09.2009
Доброе утро! По мере продвижения работы - появилась вот еще какая проблема:
На одной из вкладок формы надо создать таблицу из двух колонок: дата сканирования и результат. Причем результат - это некая ссылка на локальный html-файл. На скриншоте привел пример как это должно выглядеть. Где-то видел, как помещали окно браузера на форму CRM и загружали страницу в это окно по ссылке. Есть идея - создать аспх страницу, которая будет загружать данные (дату и результат) из хмл, а уже эту страницу грузить в окно браузера. Или как то это можно сделать проще?
Миниатюры
Нажмите на изображение для увеличения
Название: AXforum7.JPG
Просмотров: 159
Размер:	65.2 Кб
ID:	5233  
Старый 12.10.2009, 09:46   #51  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
Под "окном" Вы имеете ввиду iFrame ?
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
Старый 12.10.2009, 10:12   #52  
Tarasov E is offline
Tarasov E
Участник
Аватар для Tarasov E
 
100 / 11 (1) +
Регистрация: 01.09.2009
Цитата:
Сообщение от slivka_83 Посмотреть сообщение
Под "окном" Вы имеете ввиду iFrame ?
Ну по-видимому да
Старый 12.10.2009, 10:23   #53  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Ознакомьтесь.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 12.10.2009, 10:30   #54  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
Цитата:
Сообщение от Tarasov E Посмотреть сообщение
Ну по-видимому да
http://mmcrm.ru/?p=127
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
Старый 20.10.2009, 12:01   #55  
Tarasov E is offline
Tarasov E
Участник
Аватар для Tarasov E
 
100 / 11 (1) +
Регистрация: 01.09.2009
Всем доброго дня! На данный момент сканирование вручную я организовал, и появилась необходимость в возможности автоматического сканирования по расписанию - скажем раз в 24 часа тех записей, которые имеют статус "активно"(см.скрин). Я понял что нужно писать бизнес процесс. Проблема в том, что алгоритм сканирования запускался при открытии аспх страницы, открывающийся по нажатию на кнопку "сканировать". Можно было бы конечно пробегаться по всем записям из грида и эмитировать нажатие на кнопку сканирования для каждой записи, но тогда будет открываться асп страница. Может у кого будут какие предложения? Бизнес процессы до этого еще не писал. Заранее благодарен!
Миниатюры
Нажмите на изображение для увеличения
Название: AXforum8.JPG
Просмотров: 133
Размер:	37.0 Кб
ID:	5276  

Последний раз редактировалось Tarasov E; 20.10.2009 в 12:06.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
haditeo: Is it possible to register different event handlers in only one assembly to be registered in Dynamics CRM Plugin ? Blog bot Dynamics CRM: Blogs 0 13.08.2009 15:05
Microsoft Dynamics CRM Team Blog: CRM Online: ‘Contact Us’ Web Form Made Easy Blog bot Dynamics CRM: Blogs 0 20.05.2009 05:05
Microsoft Dynamics CRM Team Blog: List Web Part for Microsoft Dynamics CRM 4.0 Deployment Scenarios Blog bot Dynamics CRM: Blogs 0 30.01.2009 22:05
Microsoft Dynamics CRM Team Blog: List Web Part for Microsoft Dynamics CRM 4.0: Understanding Connections Blog bot Dynamics CRM: Blogs 0 20.01.2009 02:07
Microsoft Dynamics CRM Team Blog: Announcing List Web Part for Microsoft Dynamics CRM 4.0 Blog bot Dynamics CRM: Blogs 0 18.12.2008 06:06

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

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

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