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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.05.2010, 16:35   #21  
Hjvfirf is offline
Hjvfirf
Участник
 
24 / 10 (1) +
Регистрация: 27.04.2010
Артем, спасибо, я Ваш вариант видела и думала над ним.. посоветовалась с коллегой..пока решили его не использовать но иметь ввиду, за совет спасибо.

slivka_83, Ваш вариант не пробывала... смотрела как бы его через плагин обойти но не так как Вы написали.. попробую, спасибо
Старый 17.05.2010, 17:09   #22  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Цитата:
Сообщение от slivka_83 Посмотреть сообщение
а плагином нельзя отделаться? разве в очередь приходят не Электронная почта? нельзя отследить создание письма с получателем = почтовому адресу очереди? после чего создать уведомление?
В случае с электронной почтой можно и workflow отделаться! Но очереди можно назначать добавлять любые действия и обращения.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 17.05.2010, 17:21   #23  
Hjvfirf is offline
Hjvfirf
Участник
 
24 / 10 (1) +
Регистрация: 27.04.2010
Артем, я пробывала повесить БП на список ожидания, в котором по условию запуска "создание записи" отправляется письмо.. но это не отрабатывает... а из других вариантов условий запуска - чтото ничего подхожящего нет((
Старый 17.05.2010, 17:43   #24  
Сабитов Андрей is offline
Сабитов Андрей
MCTS
Аватар для Сабитов Андрей
MCBMSS
Лучший по профессии 2009
 
851 / 122 (6) +++++
Регистрация: 07.09.2006
Адрес: СПб
Цитата:
Сообщение от Hjvfirf Посмотреть сообщение
я пробывала повесить БП на список ожидания, в котором по условию запуска "создание записи" отправляется письмо.. но это не отрабатывает...
Как именно не отрабатывает ?
Не срабатывает WF?
Не отправляется письмо?

Решал подобную задачу с помощью WF уведомления отправлялись ответсвенному за обращение и тому кто создал обращение
__________________
Старый 17.05.2010, 18:03   #25  
Hjvfirf is offline
Hjvfirf
Участник
 
24 / 10 (1) +
Регистрация: 27.04.2010
Андрей, не срабатывает WF. А Вы какое условие запуска WF задавали?

Последний раз редактировалось Hjvfirf; 17.05.2010 в 18:54.
Старый 17.05.2010, 21:33   #26  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Цитата:
Сообщение от Hjvfirf Посмотреть сообщение
Артем, я пробовала повесить БП на список ожидания, в котором по условию запуска "создание записи" отправляется письмо.. но это не отрабатывает... а из других вариантов условий запуска - что то ничего подходящего нет((
Оно отрабатывает: при создании самого списка ожидания. Но это, я думаю, не то что вы хотели. Создайте WF для объекта Электронная почта в котором делайте проверку: если поле Получатель равно <Нужный список ожидания>, то <Ваши действия>. Я использовал подобное для преобразования писем попавших в ящик в интересы. К сожалению с объектом Обращение это не срабатывает: у него нет мультилиста Получатель, а есть только Ответственный, который всегда пользователь.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 18.05.2010, 09:58   #27  
Hjvfirf is offline
Hjvfirf
Участник
 
24 / 10 (1) +
Регистрация: 27.04.2010
Спасибо, Артем! Сейчас попробую)))
Старый 18.05.2010, 10:16   #28  
Hjvfirf is offline
Hjvfirf
Участник
 
24 / 10 (1) +
Регистрация: 27.04.2010
Артем...попробывала... повесила БП на объект Электронная почта, запуск при Создании записи... Не отрабатывает((( да и поля получатель нету(( но даже без вяких проверок не отрабатывает...не пойму почему((
Старый 18.05.2010, 11:02   #29  
Сабитов Андрей is offline
Сабитов Андрей
MCTS
Аватар для Сабитов Андрей
MCBMSS
Лучший по профессии 2009
 
851 / 122 (6) +++++
Регистрация: 07.09.2006
Адрес: СПб
Не отрабатывает сам БП? Другие БП работают?
__________________
Старый 18.05.2010, 11:07   #30  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Цитата:
Сообщение от Hjvfirf Посмотреть сообщение
Не отрабатывает((( да и поля получатель нету((
Куда делось, простите? Имя схемы у него: "to", на атрибут может называться иначе, конечно. Вы точно с электронной почтой работаете?
Если вообще никакие процессы не запускаются, то нужно попробовать поставить последние пакеты обновлений, если еще не стоят. И перезапустить службу асинхронных операций CRM.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 18.05.2010, 11:14   #31  
Hjvfirf is offline
Hjvfirf
Участник
 
24 / 10 (1) +
Регистрация: 27.04.2010
Ребят, я точно работаю с Электронной почтой...другие БП отрабатывают... поля получатель или to нет, есть два поля "кому".. но это уже второй вопрос.. первый в том что этот БП не отрабатывает, хотя другие запускаются нормально....
Старый 18.05.2010, 11:22   #32  
NatK is offline
NatK
Участник
Аватар для NatK
 
48 / 13 (1) ++
Регистрация: 16.06.2009
Адрес: Иркутск
В результате мы пришли к письмам, поскольку со всплывающими сообщениями были проблемы (RSS периодически перестает работать по непонятным причинам)

По сути дела:
На форму обращения добавляем текстовое поле, которое хранит наименование текущей очереди.
WF настраиваем на событие "назначение записи" (можно попробовать и на изменение нашего атрибута): создаем письмо и отправляем, адрес устанавливаем в зависимости от значения поля "Текущая очередь".

Про изменение значения поля с именем очереди:
На онанлоад функции добавляем скрипт, который проверяет, изменилась ли очередь и сохраняет изменения.

window.onunload = function() {
foronunload();
crmForm.detachCloseAlert();//поскольку сохраняем принудительно, то вопрос не задаем
crmForm.Save(); //ну это необходимость, чтобы сохранилось наше поле
}

/*===============================================================*/
сама функция проверки:
window.foronunload = function() {
try{
try{
_guid = getQueue(crmForm.ObjectId);
}
catch(ex){}

if (_guid !="" && _guid!=null && _guid!="undefined"){
var q="";
if(_guid!=null)
{
q = GetAttributeValueFromID("queue",_guid, "name");
//проверяем, если очередь изменилась - меняем new_currentqueue
if (q!=crmForm.all.new_currentqueue.DataValue)
{
crmForm.all.new_currentqueue.DataValue =q;
}
}
}
}
catch(ex){}
}
// скобки проверьте!!!!!!!!!!!!!!!!

/*===============================================================*/
для получения guid очереди и ее наименования используем:
function getQueue(accountguid)
{
var result= "";
var authenticationHeader = GenerateAuthenticationHeader();
// Prepare the SOAP message.
var 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:Body>"+
"<RetrieveMultiple xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>"+
"<query xmlns:q1='http://schemas.microsoft.com/crm/2006/Query'"+
" xsi:type='q1:QueryExpression'>"+
"<q1:EntityName>queueitem</q1:EntityName>"+
"<q1:ColumnSet xsi:type='q1:ColumnSet'>"+
"<q1:Attributes>"+
"<q1:Attribute>queueid</q1:Attribute>"+
"</q1:Attributes>"+
"</q1:ColumnSet>"+
"<q1istinct>false</q1istinct>"+
"<q1:Criteria>"+
"<q1:FilterOperator>And</q1:FilterOperator>"+
"<q1:Conditions>"+
"<q1:Condition>"+
"<q1:AttributeName>objectid</q1:AttributeName>"+
"<q1:Operator>Like</q1:Operator>"+
"<q1:Values>"+
"<q1:Value xsi:type='xsd:string'>"+accountguid+"</q1:Value>"+
"</q1:Values>"+
"</q1:Condition>"+
"</q1:Conditions>"+
"</q1:Criteria>"+
"</query>"+
"</RetrieveMultiple>"+
"</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/RetrieveMultiple");
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 the retrieved value.
else
{
var results = resultXml.getElementsByTagName('BusinessEntity');
var msg = "";
if (results.length == 0)
{
msg = "Nothing was found ";
//alert(msg);
return;
}
else
{
for (i=0;i < 1;i++)
{
var idValue = results[i].selectSingleNode('./q1:queueid').nodeTypedValue;
result = idValue.toString();
}
}
return result;
}
}


/*===============================================================*/
//спасибо тому, кто написал эту функцию (откуда скопирована - не помню, но кажется это был mmcrm.ru )
function GetAttributeValueFromID(sEntityName, GUID, sAttributeName)
{
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:Body>"+
"<Retrieve xmlns='http://schemas.microsoft.com/crm/2007/WebServices'>"+
"<entityName>"+sEntityName+"</entityName>"+
"<id>"+GUID+"</id>"+
"<columnSet xmlns:q1='http://schemas.microsoft.com/crm/2006/Query' xsi:type='q1:ColumnSet'>"+
"<q1:Attributes>"+
"<q1:Attribute>"+sAttributeName+"</q1:Attribute>"+
"</q1:Attributes>"+
"</columnSet>"+
"</Retrieve>"+
"</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/Retrieve");
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;

var result = resultXml.selectSingleNode("//q1:" + sAttributeName).nodeTypedValue;
if (errorCount != 0)
{
var msg = resultXml.selectSingleNode('//description').nodeTypedValue;
result = " ";
//alert(msg);
}
// Display the retrieved value.
else
{
return result;
}
}

Вот и все, надеюсь, заработает и кому-то еще пригодиться.

P.S. если есть более оптимальные варианты - с удовольствием воспользуюсь
За это сообщение автора поблагодарили: Elka (1), Hjvfirf (1).
Старый 18.05.2010, 11:37   #33  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Цитата:
Сообщение от NatK Посмотреть сообщение
На онанлоад функции добавляем скрипт, который проверяет, изменилась ли очередь и сохраняет изменения.
Хе, а если обращение очереди назначили, а карточку не открывали. Скрипт не сработает, поле не изменится, письмо не уйдет.
__________________
Опыт позволяет ошибаться гораздо увереннее.
Старый 18.05.2010, 11:54   #34  
NatK is offline
NatK
Участник
Аватар для NatK
 
48 / 13 (1) ++
Регистрация: 16.06.2009
Адрес: Иркутск
Это да но тут вопрос в том, как научить пользователей - можно показать только один вариант, а все остальные спрятать или добавить на кнопки аналогичный код.
Ну и у нас специфика такая, что почти каждый должен отписаться в примечании прежде, чем назначать, поэтому все открывают обращения и онанлоад подходит
Старый 18.05.2010, 12:44   #35  
Hjvfirf is offline
Hjvfirf
Участник
 
24 / 10 (1) +
Регистрация: 27.04.2010
NatK, почему то пустой получается xHReq ((
Старый 19.05.2010, 06:17   #36  
NatK is offline
NatK
Участник
Аватар для NatK
 
48 / 13 (1) ++
Регистрация: 16.06.2009
Адрес: Иркутск
Попробуйте пошагово пройти, это рабочий код (я его конечно почистила, прежде, чем сюда выкладывать, но вроде ничего нужного не убрала)
Старый 19.05.2010, 10:12   #37  
Hjvfirf is offline
Hjvfirf
Участник
 
24 / 10 (1) +
Регистрация: 27.04.2010
Вот начала проходить по шагам, стопорнулась на том, что xHReq пустой.. до этого все ок
Старый 19.05.2010, 11:51   #38  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Цитата:
Сообщение от Hjvfirf Посмотреть сообщение
Вот начала проходить по шагам, стопорнулась на том, что xHReq пустой.. до этого все ок
Скорее всего веб-сервис не находит.
Попробуйте указать абсолютный путь в этой строке:
Код:
xHReq.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
__________________
Опыт позволяет ошибаться гораздо увереннее.
Старый 19.05.2010, 12:10   #39  
Hjvfirf is offline
Hjvfirf
Участник
 
24 / 10 (1) +
Регистрация: 27.04.2010
Денис, так и задано: xHReq.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
Старый 19.05.2010, 12:20   #40  
Гуревич Денис is offline
Гуревич Денис
Участник
Лучший по профессии 2009
 
228 / 67 (3) ++++
Регистрация: 04.08.2008
Адрес: Москва
Цитата:
Сообщение от Hjvfirf Посмотреть сообщение
Денис, так и задано: xHReq.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);
Это называется относительный путь. Так, к сведению...
Вот и исправьте его на абсолютный, вида:
http://[servername]/mscrmservices/2007/CrmService.asmx
Неплохо бы еще перед этим в браузере проверить, что адрес рабочий.
__________________
Опыт позволяет ошибаться гораздо увереннее.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Информирование пользователя о попадании нового обращения/эл почты/задачи/... в список ожидания, путем всплывающего окна Outlook NatK Dynamics CRM: Администрирование 15 26.10.2009 13:05
Представления в списке ожидания OlegaN Dynamics CRM: Разработка 4 12.10.2009 15:32
Письмо в списке ожидания usercrm Dynamics CRM: Разработка 2 22.10.2008 10:26
Смена ответственного при назначении обращения списку ожидания Evgenia_f Dynamics CRM: Разработка 5 09.09.2008 16:50
Письма в "Списки ожидания" - "Мои задачи" ДмитрийCол Dynamics CRM: Функционал 0 10.01.2007 09:46
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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