08.01.2009, 13:23 | #1 |
Участник
|
Добавление нового преобразования в Преобразовать действия
Подскажите, пожалуйста
CRM 4.0 В действии Электронная почта есть встроеная кнопка "Преобразовать действия", где есть Возможность, Интерес и Обращение. Вопрос Как добавить к ним возможность создания на основании этого письма новой сущности и в идеале туда передать еще пару тройку параметров ) |
|
08.01.2009, 16:05 | #2 |
Moderator
|
Стандартными средствами - никак. Если только эту кнопку скрыть и свою со всеми вариантами сделать. Но придется кодировать.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
14.01.2009, 10:44 | #3 |
Участник
|
Посоветуйте, пожалуйста, какой нибудь вариант попроще в эксплуатации. Бог с ней с менюшкой, пусть будет отдельная кнопка через кустомизацию. Как проще всего навесить на нее создание элемента новой сущности, некоторое время назад сталкивался с вариантом редиректа кнопки на отдельный aspx который в свою очередь редиректил на созздание нужной сущности, думал о плагине но не знаю как его подцепить на клик по конкретной кнопке
|
|
14.01.2009, 11:05 | #4 |
Moderator
|
Плагин - тут никак ни к месту. Он на сервере отрабатывает, а вам нужен функционал прозрачный для ползователя на уровне интерфейса. Если есть необходимость что-то во что-то преобразовывать, то скорее всего потребуется кодирование aspx страницы. Ну или можно справиться простым скриптом, но он может выйти громоздким и неудобным в отладке и обслуживании.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
14.01.2009, 11:49 | #5 |
Участник
|
Цитата:
то скорее всего потребуется кодирование aspx страницы
|
|
14.01.2009, 12:01 | #6 |
Чайный пьяница
|
Цитата:
http://msdn.microsoft.com/uk-ua/libr...tdynamicscrmse
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
14.01.2009, 12:42 | #7 |
Участник
|
Ну у меня как бы проблема не в создании, это более или менее понятно, а проблема с передачей туда атрибутов текущей сущности, в частности guid-а бы хватило, остальное дело техники. А так же чтобы сущность не закреейтить, а открыть с заполнеными значениями )
|
|
14.01.2009, 12:52 | #8 |
Чайный пьяница
|
Цитата:
Код: 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 |
Участник
|
Спасибо большое, по крайней мере открывается окно
Осталось только как то сопоставить данные, почему то с "Электронной почтой" это не получается.. Сейчас буду разбираться) |
|
15.01.2009, 11:42 | #10 |
Участник
|
Если позволите хотелось бы пару моментов про 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 |
Чайный пьяница
|
Цитата:
Цитата:
Сообщение от Казарин Александр
Код: 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; } Код: 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 |
Участник
|
Цитата:
А почему не используете конструкции типа
Может быть проблема несовместимости в том что, в письме значение может быть account и contact а в целевой сущности только contact? Последний раз редактировалось Казарин Александр; 15.01.2009 в 14:28. |
|
15.01.2009, 17:00 | #13 |
Чайный пьяница
|
Цитата:
Для лукапа - попытайтесь "налету" собрать значение. Для заполнения Java-Script-ом поля типа лукап - используйте технологию, описанную в этом топике.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
15.01.2009, 18:12 | #14 |
Участник
|
New_Description так же как и description имеет тип ntext...
С лукапом поковыряюсь, спасибо |
|
15.01.2009, 18:36 | #15 |
Чайный пьяница
|
Может nvarchar, а не ntext?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
16.01.2009, 09:26 | #16 |
Участник
|
|
|
16.01.2009, 10:18 | #17 |
Чайный пьяница
|
Специально перепроверил. Создал 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 |
Участник
|
Прощу прощения, нашел ошибку, теперь все передается, единственное что в почте каким то хитрым образом это все отображено в виде HTML письма а переносится все текстом с тегами =) Спасибо большое
Еще последний момент хотелось уточнить, в идеале нужно, чтобы после содания на основании письма новой сущности, в письме должно заполниться поле связаного объекта ссылкой на новосозданную сущность. Т.е. при сохранении сущности еще сохраняется какая то связь с исходной? И можно ли ее изменить через window.opener а потом еще и сохранить?) |
|
16.01.2009, 12:15 | #19 |
Чайный пьяница
|
Цитата:
Сообщение от Казарин Александр
Прощу прощения, нашел ошибку, теперь все передается, единственное что в почте каким то хитрым образом это все отображено в виде 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 |
Участник
|
Парни, подскажите,
а можно ли "влезть" в стандартный механизм преобразования сообщения эл. почты в лид или действие и изменить маппинг полей? Или придется с нуля делать взамен штатного? CRM 2015, если что ) |
|