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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.01.2009, 13:23   #1  
Казарин Александр is offline
Казарин Александр
Участник
 
58 / 10 (1) +
Регистрация: 17.10.2008
Адрес: Сыктывкар
Добавление нового преобразования в Преобразовать действия
Подскажите, пожалуйста
CRM 4.0
В действии Электронная почта есть встроеная кнопка "Преобразовать действия", где есть Возможность, Интерес и Обращение.
Вопрос
Как добавить к ним возможность создания на основании этого письма новой сущности и в идеале туда передать еще пару тройку параметров )
Старый 08.01.2009, 16:05   #2  
Артем 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
Стандартными средствами - никак. Если только эту кнопку скрыть и свою со всеми вариантами сделать. Но придется кодировать.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 14.01.2009, 10:44   #3  
Казарин Александр is offline
Казарин Александр
Участник
 
58 / 10 (1) +
Регистрация: 17.10.2008
Адрес: Сыктывкар
Посоветуйте, пожалуйста, какой нибудь вариант попроще в эксплуатации. Бог с ней с менюшкой, пусть будет отдельная кнопка через кустомизацию. Как проще всего навесить на нее создание элемента новой сущности, некоторое время назад сталкивался с вариантом редиректа кнопки на отдельный aspx который в свою очередь редиректил на созздание нужной сущности, думал о плагине но не знаю как его подцепить на клик по конкретной кнопке
Старый 14.01.2009, 11:05   #4  
Артем 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
Плагин - тут никак ни к месту. Он на сервере отрабатывает, а вам нужен функционал прозрачный для ползователя на уровне интерфейса. Если есть необходимость что-то во что-то преобразовывать, то скорее всего потребуется кодирование aspx страницы. Ну или можно справиться простым скриптом, но он может выйти громоздким и неудобным в отладке и обслуживании.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 14.01.2009, 11:49   #5  
Казарин Александр is offline
Казарин Александр
Участник
 
58 / 10 (1) +
Регистрация: 17.10.2008
Адрес: Сыктывкар
Цитата:
то скорее всего потребуется кодирование aspx страницы
Не подскажите, где об этом можно почитать или примерчик посмотреть?
Старый 14.01.2009, 12:01   #6  
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
Цитата:
Сообщение от Казарин Александр Посмотреть сообщение
Не подскажите, где об этом можно почитать или примерчик посмотреть?
Ну ёлки палки... Учитесь пользоваться поисковиками... Сколько ж об этом уже написано...

http://msdn.microsoft.com/uk-ua/libr...tdynamicscrmse
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 14.01.2009, 12:42   #7  
Казарин Александр is offline
Казарин Александр
Участник
 
58 / 10 (1) +
Регистрация: 17.10.2008
Адрес: Сыктывкар
Ну у меня как бы проблема не в создании, это более или менее понятно, а проблема с передачей туда атрибутов текущей сущности, в частности guid-а бы хватило, остальное дело техники. А так же чтобы сущность не закреейтить, а открыть с заполнеными значениями )
Старый 14.01.2009, 12:52   #8  
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
Цитата:
Сообщение от Казарин Александр Посмотреть сообщение
Ну у меня как бы проблема не в создании, это более или менее понятно, а проблема с передачей туда атрибутов текущей сущности, в частности guid-а бы хватило, остальное дело техники. А так же чтобы сущность не закреейтить, а открыть с заполнеными значениями )
Настраиваете маппинг полей, а в обработчик на нажатие кнопки в карточке - источнике пишите примерно следующий скрипт:

Код:
var url='/userdefined/edit.aspx?_CreateFromType='+crmForm.ObjectTypeCode+'&_CreateFromId='+crmForm.ObjectId+'&etn=<Название сущности>';
window.open(url,'name','height=750, width=950, toolbar=no, menubar=no, scrollbars=no, location=no'
Но это будет работать, только если существует связь между сущностями.

Если же нет - нужно будет на онлоаде проверять window.opener - и уже из него получать интересующие к заполнению данные.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: Казарин Александр (1).
Старый 14.01.2009, 18:03   #9  
Казарин Александр is offline
Казарин Александр
Участник
 
58 / 10 (1) +
Регистрация: 17.10.2008
Адрес: Сыктывкар
Спасибо большое, по крайней мере открывается окно
Осталось только как то сопоставить данные, почему то с "Электронной почтой" это не получается.. Сейчас буду разбираться)
Старый 15.01.2009, 11:42   #10  
Казарин Александр is offline
Казарин Александр
Участник
 
58 / 10 (1) +
Регистрация: 17.10.2008
Адрес: Сыктывкар
Если позволите хотелось бы пару моментов про window.opener уточнить.

Сейчас у меня так реализовано
Код:
 if (typeof(window.opener) == "object")
{
document.all.new_description.value = window.opener.document.all.description.value;
document.all.new_name.value = window.opener.document.all.subject.value;
document.all.new_contact.value = window.opener.document.all.from.value;
}
Но тут возникает проблема что он выполняется в любом случае, даже если мы его просто открываем из СРМа, а не создаем по кнопочке.
А так же какая то проблема с передачей данных, т.е. данные типа стринга обычного name, subject - передаются исправно, а лукапы и даже описание, имеет значение "неопределено", почему то
Старый 15.01.2009, 12:02   #11  
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
Цитата:
Сообщение от Казарин Александр Посмотреть сообщение
Но тут возникает проблема что он выполняется в любом случае, даже если мы его просто открываем из СРМа, а не создаем по кнопочке.
Предлагаю анализировать window.opener.location на то из какой именно формы было выполнено создание. По указанной проперти лежит урла окна из которго было инициировано создание нового окна

Цитата:
Сообщение от Казарин Александр Посмотреть сообщение
Код:
 if (typeof(window.opener) == "object")
{
document.all.new_description.value = window.opener.document.all.description.value;
document.all.new_name.value = window.opener.document.all.subject.value;
document.all.new_contact.value = window.opener.document.all.from.value;
}
А так же какая то проблема с передачей данных, т.е. данные типа стринга обычного name, subject - передаются исправно, а лукапы и даже описание, имеет значение "неопределено", почему то
А почему не используете конструкции типа

Код:
 if (typeof(window.opener) == "object")
{
crmForm.all.new_description.DataValue = window.opener.crmForm.all.description.DataValue;
crmForm.all.new_name.DataValue = window.opener.crmForm.all.subject.DataValue;
crmForm.all.new_contact.DataValue = window.opener.crmForm.all.from.DataValue;
}
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 15.01.2009, 12:54   #12  
Казарин Александр is offline
Казарин Александр
Участник
 
58 / 10 (1) +
Регистрация: 17.10.2008
Адрес: Сыктывкар
Цитата:
А почему не используете конструкции типа
Почему то из всех троих, все равно переносится только тема стринговая =(
Может быть проблема несовместимости в том что, в письме значение может быть account и contact а в целевой сущности только contact?

Последний раз редактировалось Казарин Александр; 15.01.2009 в 14:28.
Старый 15.01.2009, 17:00   #13  
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
Цитата:
Сообщение от Казарин Александр Посмотреть сообщение
Почему то из всех троих, все равно переносится только тема стринговая =(
Может быть проблема несовместимости в том что, в письме значение может быть account и contact а в целевой сущности только contact?
Какого типа поле new_Description?
Для лукапа - попытайтесь "налету" собрать значение. Для заполнения Java-Script-ом поля типа лукап - используйте технологию, описанную в этом топике.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 15.01.2009, 18:12   #14  
Казарин Александр is offline
Казарин Александр
Участник
 
58 / 10 (1) +
Регистрация: 17.10.2008
Адрес: Сыктывкар
New_Description так же как и description имеет тип ntext...
С лукапом поковыряюсь, спасибо
Старый 15.01.2009, 18:36   #15  
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
?
Цитата:
Сообщение от Казарин Александр Посмотреть сообщение
New_Description так же как и description имеет тип ntext...
С лукапом поковыряюсь, спасибо
Может nvarchar, а не ntext?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 16.01.2009, 09:26   #16  
Казарин Александр is offline
Казарин Александр
Участник
 
58 / 10 (1) +
Регистрация: 17.10.2008
Адрес: Сыктывкар
Цитата:
Сообщение от a33ik Посмотреть сообщение
Может nvarchar, а не ntext?
Совершенно определенно ntext =)
Старый 16.01.2009, 10:18   #17  
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
Lightbulb
Цитата:
Сообщение от Казарин Александр Посмотреть сообщение
Совершенно определенно ntext =)
Специально перепроверил. Создал 2 карточки - в каждой по 2 поля типа ntext - new_ntext1 и new_ntext2.

На первой - написал скрипт открытия на создание карточки воторого типа такого вида:

Код:
var url = '/'+ORG_UNIQUE_NAME + '/userdefined/edit.aspx?etc=10003#';
window.open(url,'name','height=750, width=950, toolbar=no, menubar=no, scrollbars=no, location=no');
На второй на онлоаде написал такой скрипт:

Код:
if (crmForm.FormType == 1 && window.opener != null)
{
crmForm.all.new_ntext1.DataValue = window.opener.crmForm.all.new_ntext1.DataValue;
crmForm.all.new_ntext2.DataValue = window.opener.crmForm.all.new_ntext2.DataValue;
}
Код идеально работает и переносит данные из родительской карточки в дочернюю.

PS Поскольку всё это пишется как пример и писал на скорую руки все проверки естественно опустил.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 16.01.2009, 12:06   #18  
Казарин Александр is offline
Казарин Александр
Участник
 
58 / 10 (1) +
Регистрация: 17.10.2008
Адрес: Сыктывкар
Прощу прощения, нашел ошибку, теперь все передается, единственное что в почте каким то хитрым образом это все отображено в виде HTML письма а переносится все текстом с тегами =) Спасибо большое

Еще последний момент хотелось уточнить, в идеале нужно, чтобы после содания на основании письма новой сущности, в письме должно заполниться поле связаного объекта ссылкой на новосозданную сущность. Т.е. при сохранении сущности еще сохраняется какая то связь с исходной? И можно ли ее изменить через window.opener а потом еще и сохранить?)
Старый 16.01.2009, 12:15   #19  
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
Lightbulb
Цитата:
Сообщение от Казарин Александр Посмотреть сообщение
Прощу прощения, нашел ошибку, теперь все передается, единственное что в почте каким то хитрым образом это все отображено в виде HTML письма а переносится все текстом с тегами =) Спасибо большое

Еще последний момент хотелось уточнить, в идеале нужно, чтобы после содания на основании письма новой сущности, в письме должно заполниться поле связаного объекта ссылкой на новосозданную сущность. Т.е. при сохранении сущности еще сохраняется какая то связь с исходной? И можно ли ее изменить через window.opener а потом еще и сохранить?)
Рекомендую следующий механизм:
1. Создать в новосозданном объекте поле, которое будет по сути являться хранителем GUID письма, из которого выполняется создание нового объекта.
2. В скрипт, которым выполняется заполнение данных новосозданной карточки - добавиться скрипт, который в поле, созданное в пункте 1 - заполнит GUID письма через ObjectId.
3. Написать плагин на post-Create создаваемой карточки. Вычитать Guid новосозданной карточки, Guid письма. Апдейтуть ту связь о которой Вы упоминали. Других идей вроде бы как нет, потому как на момент создания - мы не можем оперировать идентификатором создаваемой карточки.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: Казарин Александр (1).
Старый 16.01.2016, 18:41   #20  
demonf is offline
demonf
Участник
 
18 / 11 (1) +
Регистрация: 10.10.2013
Парни, подскажите,
а можно ли "влезть" в стандартный механизм преобразования сообщения эл. почты в лид или действие и изменить маппинг полей?
Или придется с нуля делать взамен штатного?
CRM 2015, если что )
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Изменить область Действия ppa80 Dynamics CRM: Разработка 5 27.04.2009 15:56
Строка сервисного контракта: работает ли ограничение по срокам действия? Lazarus Dynamics CRM: Функционал 1 10.04.2009 08:04
Ответственный за Звонок и возможность преобразования Звонка в сделку Lazarus Dynamics CRM: Функционал 3 11.12.2008 10:43
представление "Действия" laks Dynamics CRM: Функционал 11 22.11.2005 10:19
Добавление нового пользователя nasty_C Dynamics CRM: Администрирование 2 29.09.2005 17:37
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 04:51.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.