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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.08.2009, 10:40   #1  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Кнопка для открытия формы "Электронная почта"
Выделил в отдельную тему
Ещё раз объясню проблему.Необходимо на форме ЗАКАЗ создать кнопочку, при нажатии на которую открывалась бы форма ЭЛЕКТРОННАЯ ПОЧТА.
Старый 05.08.2009, 10:44   #2  
Bondonello is offline
Bondonello
Kostya Afendikov
Аватар для Bondonello
MCBMSS
Лучший по профессии 2009
 
510 / 106 (5) +++++
Регистрация: 06.06.2008
Адрес: Украина
Не пойму, чем Вас не устраивает редактирование ISV.config?
Пример из SDK, передавайте свой URL для открытия ЭЛЕКТРОННОЙ ПОЧТЫ
<Button Icon="/_imgs/ico_18_debug.gif"
Url="http://www.microsoft.com" PassParams="1"
WinParams="" WinMode="0">
<Titles>
<Title LCID="1033" Text="asdf" />
</Titles>
<ToolTips>
<ToolTip LCID="1033" Text="Info on Test" />
</ToolTips>
</Button>

У меня URL на создание новой почты такой : http://crm/<организация>/activities/email/edit.aspx

Последний раз редактировалось Bondonello; 05.08.2009 в 10:46.
Старый 05.08.2009, 11:00   #3  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
скриншоты будут? п.с. между блоками кода вставьте сообщение alert('x'); где x это номер по порядку - так узнаете выполняется ли ваш код вообще
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
Старый 05.08.2009, 11:31   #4  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Цитата:
Сообщение от Bondonello Посмотреть сообщение
Не пойму, чем Вас не устраивает редактирование ISV.config?
Пример из SDK, передавайте свой URL для открытия ЭЛЕКТРОННОЙ ПОЧТЫ
<Button Icon="/_imgs/ico_18_debug.gif"
Url="http://www.microsoft.com" PassParams="1"
WinParams="" WinMode="0">
<Titles>
<Title LCID="1033" Text="asdf" />
</Titles>
<ToolTips>
<ToolTip LCID="1033" Text="Info on Test" />
</ToolTips>
</Button>

У меня URL на создание новой почты такой : http://crm/<организация>/activities/email/edit.aspx
Добавил в ISV config:
<Button Icon="/_imgs/ico_18_debug.gif"
Url="http://node1:5555/Activities/email/edit.aspx" PassParams="1"
WinParams="" WinMode="0">
<Titles>
<Title LCID="1033" Text="Отправить электронную почту" />
</Titles>
<ToolTips>
<ToolTip LCID="1033" Text="Info on test" />
</ToolTips>
</Button>
А куда дальше двигаться?
Старый 05.08.2009, 11:32   #5  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Цитата:
Сообщение от slivka_83 Посмотреть сообщение
скриншоты будут? п.с. между блоками кода вставьте сообщение alert('x'); где x это номер по порядку - так узнаете выполняется ли ваш код вообще
вставлял алерты, ничего не выходило...просто писало при создании формы "Ошибка на странице"
Старый 05.08.2009, 11:43   #6  
Bondonello is offline
Bondonello
Kostya Afendikov
Аватар для Bondonello
MCBMSS
Лучший по профессии 2009
 
510 / 106 (5) +++++
Регистрация: 06.06.2008
Адрес: Украина
Цитата:
Сообщение от moskalevas Посмотреть сообщение
Добавил в ISV config:
<Button Icon="/_imgs/ico_18_debug.gif"
Url="http://node1:5555/Activities/email/edit.aspx" PassParams="1"
WinParams="" WinMode="0">
<Titles>
<Title LCID="1033" Text="Отправить электронную почту" />
</Titles>
<ToolTips>
<ToolTip LCID="1033" Text="Info on test" />
</ToolTips>
</Button>
А куда дальше двигаться?
Дальше надо нажать на кнопку и у Вас откроется форма для создания Электронной почты, вы же так и хотели вроде
"Необходимо на форме ЗАКАЗ создать кнопочку, при нажатии на которую открывалась бы форма ЭЛЕКТРОННАЯ ПОЧТА"

Кстати, вы этот фрагмент для сущности Заказ вставили, я надеюсь, и заново импортировали ISV.config? (на всякий случай спросил)
Старый 05.08.2009, 11:44   #7  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
юзаем брейкпоинты http://mmcrm.ru/?p=475
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
Старый 05.08.2009, 12:22   #8  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Цитата:
Сообщение от Bondonello Посмотреть сообщение
Дальше надо нажать на кнопку и у Вас откроется форма для создания Электронной почты, вы же так и хотели вроде
"Необходимо на форме ЗАКАЗ создать кнопочку, при нажатии на которую открывалась бы форма ЭЛЕКТРОННАЯ ПОЧТА"

Кстати, вы этот фрагмент для сущности Заказ вставили, я надеюсь, и заново импортировали ISV.config? (на всякий случай спросил)
Насчёт "всякого случая"- да
С грехом пополам, кнопочка появилась.Только при нажатии на неё вылезает ошибка:
CRM Parameter Filter - Invalid parameter 'orgname=[назв_кампании]' in Request.QueryString on page /Activities/email/edit.aspx The raw request was 'GET /Activities/email/edit.aspx?orgname=[назв_кампании]&userlcid=1049&orglcid=1049&type=1088&typename=salesorder&id=%7b9A7500B1-837A-DE11-9267-000E0C4BF7BF%7d' called from .
Старый 05.08.2009, 12:25   #9  
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
Цитата:
Сообщение от moskalevas Посмотреть сообщение
Насчёт "всякого случая"- да
С грехом пополам, кнопочка появилась.Только при нажатии на неё вылезает ошибка:
CRM Parameter Filter - Invalid parameter 'orgname=[назв_кампании]' in Request.QueryString on page /Activities/email/edit.aspx The raw request was 'GET /Activities/email/edit.aspx?orgname=[назв_кампании]&userlcid=1049&orglcid=1049&type=1088&typename=salesorder&id=%7b9A7500B1-837A-DE11-9267-000E0C4BF7BF%7d' called from .
PassParams="1" - установите в 0, чтобы вот те все добавки не добалялись в строку.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 05.08.2009, 12:39   #10  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Большое спасибо!Кнопочка для открытия ЭЛЕКТРОННОЙ ПОЧТЫ наконец-таки появилась и работает
Следующим шагом хотелось бы сделать, чтобы автоматически в созданную форму ЭЛЕКТРОННОЙ ПОЧТЫ вкладывался файл с отчётом по данному заказу, из формы которого у нас и вызывается ЭЛЕКТРОННАЯ ПОЧТА.
Это уже необходимо писать плагин?или возможно ещё какими-нибудь способами?
Старый 05.08.2009, 12:59   #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
Цитата:
Сообщение от moskalevas Посмотреть сообщение
Большое спасибо!Кнопочка для открытия ЭЛЕКТРОННОЙ ПОЧТЫ наконец-таки появилась и работает
Следующим шагом хотелось бы сделать, чтобы автоматически в созданную форму ЭЛЕКТРОННОЙ ПОЧТЫ вкладывался файл с отчётом по данному заказу, из формы которого у нас и вызывается ЭЛЕКТРОННАЯ ПОЧТА.
Это уже необходимо писать плагин?или возможно ещё какими-нибудь способами?
Сходу скажу, что такого не получится именно в таком контексте потому что присоединять файлы можно только к уже сохранённой карточке.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: moskalevas (1).
Старый 05.08.2009, 13:05   #12  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Что можете посоветовать?
Старый 05.08.2009, 13:18   #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
Цитата:
Сообщение от moskalevas Посмотреть сообщение
Что можете посоветовать?
Уже ж вроде как отвечал...
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 05.08.2009, 13:34   #14  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Вы насчёт этого?
Пишется кастомная aspx страница. Её алгоритм:
1. Создание (именно создание без отсылки) карточки email и получение её идентификатора.
2. Рендеринг отчёта, вкладывание, как атачмента полученного отчёта в email, созданный в п.1.
3. Редирект на страничку созданного в п.1 email.


Я не совсем представляю как программно всё это реализовать. То есть я должен
создать aspx страничку, на которой бы находилась кнопочка, по нажатию на которую формируется и экспортируется отчёт. Как его и куда вкладывать?
Не могли бы Вы поподробнее расписать?
Старый 05.08.2009, 14:20   #15  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Делаю сначала просто чтобы при нажатии кнопки формировался отчёт.
Для этого создаю aspx страницу, которая формирует и экспортирует отчёт в формате excel.
Возникла проблема. В отчёте используется один параметр(выбор заказа из списка). Как сделать проверку параметра для формирования отчёта?

Привожу код, который имеется на данный момент:

ReportExecutionService rs = new ReportExecutionService();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;

byte[] result = null;
string reportPath = "/Новая папка/Заказы и коммерческие предложения";
string format = "excel";
string historyID = null;
string encoding;
string mimeType;
string extension;
Warning[] warnings = null;
string[] streamIDs = null;

ExecutionInfo execInfo = new ExecutionInfo();
ExecutionHeader execHeader = new ExecutionHeader();
rs.ExecutionHeaderValue = execHeader;
execInfo = rs.LoadReport(reportPath, historyID);

string SessionID = rs.ExecutionHeaderValue.ExecutionID;
result = rs.Render(format, null, out extension, out encoding, out mimeType, out warnings, out streamIDs);
Response.ClearContent();
Response.AppendHeader("content-length", result.Length.ToString());
Response.ContentType = "application/excel";
Response.BinaryWrite(result);
Response.Flush();
Response.Close();
Старый 05.08.2009, 14:45   #16  
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
Цитата:
Сообщение от moskalevas Посмотреть сообщение
Делаю сначала просто чтобы при нажатии кнопки формировался отчёт.
Для этого создаю aspx страницу, которая формирует и экспортирует отчёт в формате excel.
Возникла проблема. В отчёте используется один параметр(выбор заказа из списка). Как сделать проверку параметра для формирования отчёта?

Привожу код, который имеется на данный момент:

ReportExecutionService rs = new ReportExecutionService();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;

byte[] result = null;
string reportPath = "/Новая папка/Заказы и коммерческие предложения";
string format = "excel";
string historyID = null;
string encoding;
string mimeType;
string extension;
Warning[] warnings = null;
string[] streamIDs = null;

ExecutionInfo execInfo = new ExecutionInfo();
ExecutionHeader execHeader = new ExecutionHeader();
rs.ExecutionHeaderValue = execHeader;
execInfo = rs.LoadReport(reportPath, historyID);

string SessionID = rs.ExecutionHeaderValue.ExecutionID;
result = rs.Render(format, null, out extension, out encoding, out mimeType, out warnings, out streamIDs);
Response.ClearContent();
Response.AppendHeader("content-length", result.Length.ToString());
Response.ContentType = "application/excel";
Response.BinaryWrite(result);
Response.Flush();
Response.Close();
Есть параметр в методе Render, который Вы передаёте пустым - Parameters. Для передачи параметров его используйте. Уже возился - обнаружил интересную особенность. При передаче уникальных идентификаторов - обязательно используйте метод ToLower чтобы все буквенные значения уникального идентификатора привести к нижнему реестру, иначе генерируется исключение о неправильно значении параметра.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 05.08.2009, 15:18   #17  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Добавил несколсько строчек:

byte[] result = null;
string reportPath = "/Новая папка/Заказы и коммерческие предложения";
string format = "excel";
string historyID = null;
ParameterValue[] parameters = new ParameterValue[1];
parameters[0] = new ParameterValue();
parameters[0].Name = "Param2";
parameters[0].Value = "ФУА Северодвинска";

string encoding;
string mimeType;
string extension;
Warning[] warnings = null;
string[] streamIDs = null;
ExecutionInfo execInfo = new ExecutionInfo();
ExecutionHeader execHeader = new ExecutionHeader();

rs.ExecutionHeaderValue = execHeader;
execInfo = rs.LoadReport(reportPath, historyID);
rs.SetExecutionParameters(parameters, "en-us");

string SessionID = rs.ExecutionHeaderValue.ExecutionID;

result = rs.Render(format, null, out extension, out encoding, out mimeType, out warnings, out streamIDs);


Теперь формируется отчёт с заданным параметром ФУА Северодвинска.
Как сделать, чтобы можно было выбирать параметры из имеющихся в самом отчёте в Reporting Services?Точнее не выбирать, а брать из поля name в заказах(как раз откуда мы и запускаем сформировать отчёт)
Старый 05.08.2009, 15:25   #18  
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
Цитата:
Сообщение от moskalevas Посмотреть сообщение
Как сделать, чтобы можно было выбирать параметры из имеющихся в самом отчёте в Reporting Services?Точнее не выбирать, а брать из поля name в заказах(как раз откуда мы и запускаем сформировать отчёт)
При формировании строки - передавайте через параметр, чтобы в странице получить это значение чтото вроде:

...page.aspx?AccountName=ФУА Северодвинска

В странице получить этот параметр можно через Request.QueryString["AccountName"].
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 05.08.2009, 15:40   #19  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Цитата:
Сообщение от a33ik Посмотреть сообщение
При формировании строки - передавайте через параметр, чтобы в странице получить это значение чтото вроде:

...page.aspx?AccountName=ФУА Северодвинска

В странице получить этот параметр можно через Request.QueryString["AccountName"].
Не совсем понял...как связать этот параметр с полем в ЗАКАЗ?
Получается ещё надо как-то изменить ICV config?
Старый 05.08.2009, 16:14   #20  
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
Цитата:
Сообщение от moskalevas Посмотреть сообщение
Не совсем понял...как связать этот параметр с полем в ЗАКАЗ?
Получается ещё надо как-то изменить ICV config?
Да. Прийдётся формировать ссылку используя окно из которого будет выполняться открытие этого окна и через window.open открывать новое.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Теги
c#, isv, webservice, reporting services, report

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Электронная почта в через бизнес-процесс deniska Dynamics CRM: Функционал 2 02.04.2009 12:32
Быстрые кампании и электронная почта Dissident Dynamics CRM: Функционал 16 30.10.2008 14:26
Проблемы с ф-ей "Слияние" Dissident Dynamics CRM: Администрирование 2 28.02.2008 11:12
Письма в "Списки ожидания" - "Мои задачи" ДмитрийCол Dynamics CRM: Функционал 0 10.01.2007 09:46
Не отображаються закладки "Продажа" и "Маркетинг" pkost Dynamics CRM: Администрирование 1 31.10.2006 20:30

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

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

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