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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.08.2009, 12:15   #41  
Kipetcoff is offline
Kipetcoff
Участник
 
136 / 16 (1) ++
Регистрация: 20.05.2009
Адрес: Санкт-Петербург
Цитата:
Сообщение от Bondonello Посмотреть сообщение
Если только начинаете, возможно поможет http://ms-dynamics-crm.com.ua/tag/plug-in/
Принципиальной разницы я не вижу между методом,описанным там и тем что делаю я. Но я все таки сделал как там написано. Там используется шаблон проекта. я его попробовал запустить,но при запуске этого шаблона выдал мне ошибку В общем все та же история.
Миниатюры
Нажмите на изображение для увеличения
Название: error.jpg
Просмотров: 252
Размер:	19.1 Кб
ID:	4960  
Старый 05.08.2009, 12:22   #42  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,117 / 842 (35) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Kipetcoff Посмотреть сообщение
где?
Правой кнопкой в студии на проекте - Properties - Signing - Sign the assembly - Choose a strong name key file - new - указываете имя файла, галочку Protect my key file with a password - снимаете. Сохраняете, пересобираете, регистрируете.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог и twitter
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: Kipetcoff (1).
Старый 05.08.2009, 12:52   #43  
Kipetcoff is offline
Kipetcoff
Участник
 
136 / 16 (1) ++
Регистрация: 20.05.2009
Адрес: Санкт-Петербург
ааа...все я понял..strong name ему прописать. Помогло!!!! a33ik, СПАСИБО за помощь!!!
Старый 05.08.2009, 13:01   #44  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Цитата:
Сообщение от slivka_83 Посмотреть сообщение
На первый вопрос: с помощью яваскрипта можно создать кнопочку при нажатии на которую будет создаваться емейл. По второму: видел код для плагинов , но для JS пока не попадался
Не могли бы кинуть ссылочку по второму вопросу?(код для плагинов)Буду очень благодарен.
Старый 05.08.2009, 13:57   #45  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
Цитата:
Сообщение от moskalevas Посмотреть сообщение
Не могли бы кинуть ссылочку по второму вопросу?(код для плагинов)Буду очень благодарен.
http://blog.powerobjects.com/2008/06...o-note-crm-40/
и вот еще что-то похожее http://www.programmerworld.net/artic...ilactivity.php
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
Старый 06.08.2009, 11:56   #46  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Цитата:
Сообщение от a33ik Посмотреть сообщение
Добрый день. Сразу скажу, что простыми кастомизациями - не обойдёшься. Рекомендую написать кастомный WorkFlow action (пример тут), который будет:
1. Собственно формировать отчёт и экспортировать его в файл. Посмотрите это.
2. Создавать письмо и вкладывать в него сформированный на шаге 1 файл.
3. Отправлять созданное в п.2 письмо.
Пробую воспользоваться вашим примером: http://a33ik.blogspot.com/2009/08/cu...h-renders.html
Регистрирую, создаю бизнес-процесс, который отправляет отчёт "Прайс-лист"(отчёт без всяких парметров) из формы ЗАКАЗЫ. но почему-то никакое письмо не отправляется
Не пойиу в чём проблема.
Старый 06.08.2009, 12:09   #47  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,117 / 842 (35) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от moskalevas Посмотреть сообщение
Пробую воспользоваться вашим примером: http://a33ik.blogspot.com/2009/08/cu...h-renders.html
Регистрирую, создаю бизнес-процесс, который отправляет отчёт "Прайс-лист"(отчёт без всяких парметров) из формы ЗАКАЗЫ. но почему-то никакое письмо не отправляется
Не пойиу в чём проблема.
Код приведите, пожалуйста и сценарий использования.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог и twitter
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 06.08.2009, 12:26   #48  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Создал проект Class Project, добавил необходимые References, как и в примере, добавил код:
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Crm.Sdk;
using Microsoft.Crm.SdkTypeProxy;
using Microsoft.Crm.Workflow;
using System.Workflow.Activities;
using System.Workflow.ComponentModel;
using System.ServiceModel;
using System.Security.Principal;

namespace SendReportAction
{
[CrmWorkflowActivity("Execute and send a report")]
public class SendReport : SequenceActivity
{
protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
{

if (MailRecipient != null && !MailRecipient.IsNull && !MailRecipient.IsNullSpecified)
{
//создание email***************************************************************************************
IContextService contextService = (IContextService)executionContext.GetService(typeof(IContextService));
IWorkflowContext workflowContext = contextService.Context;
ICrmService crmservice = workflowContext.CreateCrmService();
email mail = new email();

activityparty fromparty = new activityparty();
fromparty.partyid = new Lookup();
fromparty.partyid.type = EntityName.systemuser.ToString();
fromparty.partyid.Value = workflowContext.UserId;
mail.from = new activityparty[] { fromparty };

activityparty toparty = new activityparty();
toparty.partyid = new Lookup();
toparty.partyid.type = EntityName.systemuser.ToString();
toparty.partyid.Value = workflowContext.UserId;
mail.to = new activityparty[] { toparty };
mail.subject = "Report Subscription";
mail.sender = "babayan@mail.ru";
mail.description = "Report Subscription";
mail.ownerid = new Owner();
mail.ownerid.type = EntityName.systemuser.ToString();
mail.ownerid.Value = workflowContext.UserId;
Guid createdEmailGuid = crmservice.Create(mail);
//*****************************************************************************************************

//формирование и экспорт отчёта************************************************************************
Reporting.SessionHeader sessionheader = null;
byte[] result;
string encoding;
string mimetype;
Reporting.ParameterValue[] parametersUsed = null;
Reporting.Warning[] warnings;
string[] streamids;
BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly);
binding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.UserName;
binding.Security.Mode = BasicHttpSecurityMode.TransportCredentialOnly;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Windows;
binding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.None;
binding.Security.Transport.Realm = string.Empty;
EndpointAddress endpoint = new EndpointAddress(ServiceURL);

Reporting.ReportingServiceSoapClient client = new Reporting.ReportingServiceSoapClient(binding, endpoint);
client.ClientCredentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Impersonation;

client.Render(ref sessionheader, ReportName, "Excel", null, null, null, null, null, out result,
out encoding, out mimetype, out parametersUsed, out warnings, out streamids);
//*****************************************************************************************************

//прикрепление отчёта к письму*************************************************************************
activitymimeattachment attach = new activitymimeattachment();
attach.activityid = new Lookup(EntityName.email.ToString(), createdEmailGuid);
attach.body = System.Convert.ToBase64String(result);
attach.subject = "Report Subscription";
attach.filename = "Report.xls";
attach.filesize = new CrmNumber(result.Length);
attach.mimetype = @"application/vnd.ms-excel";
crmservice.Create(attach);
//*****************************************************************************************************

//отправка письма**************************************************************************************
SendEmailRequest sendrequest = new SendEmailRequest();
sendrequest.EmailId = createdEmailGuid;
sendrequest.TrackingToken = "";
sendrequest.IssueSend = true;
crmservice.Execute(sendrequest);
}
return ActivityExecutionStatus.Closed;
}

//объявляем URL of Reporting Service
public static DependencyProperty ServiceURLProperty = DependencyProperty.Register("ServiceURL", typeof(string),
typeof(SendReport));
[CrmInput("ServiceURL")]
public string ServiceURL
{
get
{
return (string)base.GetValue(ServiceURLProperty);
}
set
{
base.SetValue(ServiceURLProperty, value);
}
}

//объявляем ReportName
public static DependencyProperty ReportNameProperty = DependencyProperty.Register("ReportName", typeof(string),
typeof(SendReport));
[CrmInput("ReportName")]
public string ReportName
{
get
{
return (string)base.GetValue(ReportNameProperty);
}
set
{
base.SetValue(ReportNameProperty, value);
}
}

//объявляем MailRecipient (получатель письма)
public static DependencyProperty MailRecipientProperty = DependencyProperty.Register("MailRecipient", typeof(Lookup),
typeof(SendReport));
[CrmInput("MailRecipient")]
[CrmReferenceTarget("systemuser")]
public Lookup MailRecipient
{
get
{
return (Lookup)base.GetValue(MailRecipientProperty);
}
set
{
base.SetValue(MailRecipientProperty, value);
}
}
}
}


Далее застронгнеймил сборку и опубликовал. В Dynamics CRM создаю бизнес-процесс. Объект - ЗАКАЗ. В ServiceURL:http://[назва_сервера]/Reportserver/ReportService.asmx, ReportName:/Новая папка/Прайс-лист, MailRecipient:[имя получателя]. Опубликовал бизнес-процесс. На форме ЗАКАЗ появилась кнопка Выполнить бизнес-процесс, но e-mail не отсылается.
Старый 06.08.2009, 12:31   #49  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,117 / 842 (35) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
На кнопку - Выполнить - нажимали?
Отчёт - параметризирован?
Под какой учётной записью запущен Асинхронный Сервис CRM?
Рекомендую посмотреть логи Асинхронного Сервиса, думаю, что ответ почему письмо не отправлено - кроется именно там.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог и twitter
Пользуйтесь моим Ultimate Workflow Toolkit

Последний раз редактировалось a33ik; 06.08.2009 в 12:33.
Старый 06.08.2009, 13:14   #50  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Пытаюсь сформировать и экспортировать отчёт без параметров.
Асинхронный Сервис CRM вроде как запущен под учётной записью того человека, который ставил это всё.
Как просмотреть логи Асинхронного Сервиса?
При регистрации надо было регистрировать Stepы?

Последний раз редактировалось moskalevas; 06.08.2009 в 13:19.
Старый 06.08.2009, 13:22   #51  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,117 / 842 (35) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от moskalevas Посмотреть сообщение
Пытаюсь сформировать и экспортировать отчёт без параметров.
Асинхронный Сервис CRM вроде как запущен под учётной записью того человека, который ставил это всё.
Как просмотреть логи Асинхронного Сервиса?
1. В моём решении - отчёт без параметров.
2. Вроде как - недостоверно. Надо знать точно. На то я в самом конце статьи и написал, что асинхронный сервис должен быть запущен под учёткой человека, у которого есть права на просмотр того самого отчёта.
3. Включаете трейс (это уже в данном форуме показывалось как), открываете каталог [каталог установки сервера CRM]\Trace и ищете самый свежий файл вида SQL-CRM-CrmAsyncService-bin-20090806-1.log. Открываете его, исследуете.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог и twitter
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 06.08.2009, 13:53   #52  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
на форме ЗАКАЗ слева в сведениях есть "Бизнес-процесс".Почему то после нажатия на кнопку "Запустить Бизнес-процесс" даже там он не отображается...
Ассинхронный Сервис запущен под учёткой человека,который имеет право читать отчёт.
Старый 06.08.2009, 13:57   #53  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,117 / 842 (35) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от moskalevas Посмотреть сообщение
на форме ЗАКАЗ слева в сведениях есть "Бизнес-процесс".Почему то после нажатия на кнопку "Запустить Бизнес-процесс" даже там он не отображается...
Ассинхронный Сервис запущен под учёткой человека,который имеет право читать отчёт.
Значится, что чтото некорректно настроено. Можете привести скриншот самого бизнес процесса, как у меня в статье?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог и twitter
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 06.08.2009, 14:15   #54  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Вот, что у меня.
Миниатюры
Нажмите на изображение для увеличения
Название: 1.JPG
Просмотров: 217
Размер:	33.1 Кб
ID:	4964   Нажмите на изображение для увеличения
Название: 3.JPG
Просмотров: 206
Размер:	57.7 Кб
ID:	4965  

Нажмите на изображение для увеличения
Название: Безымянный.JPG
Просмотров: 212
Размер:	59.1 Кб
ID:	4968  

Последний раз редактировалось moskalevas; 06.08.2009 в 14:20.
Старый 06.08.2009, 14:21   #55  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,117 / 842 (35) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от moskalevas Посмотреть сообщение
Вот, что у меня.
А промежуточный? Как на том скриншоте, что я выложил?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог и twitter
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 06.08.2009, 14:24   #56  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Цитата:
Сообщение от a33ik Посмотреть сообщение
А промежуточный? Как на том скриншоте, что я выложил?
добавил
Старый 06.08.2009, 14:27   #57  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,117 / 842 (35) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от moskalevas Посмотреть сообщение
добавил
Можете удостовериться, что Асинхронный сервис - запущен?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог и twitter
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 06.08.2009, 15:06   #58  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Он действительно был не запущен.
Теперь во вкладке "Бизне-процессы" на форме ЗАКАЗ появляется процес, но его состояние:ожидание. При этом email создаётся, но без вложенного файла...
Старый 06.08.2009, 15:10   #59  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,117 / 842 (35) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от moskalevas Посмотреть сообщение
Он действительно был не запущен.
Теперь во вкладке "Бизне-процессы" на форме ЗАКАЗ появляется процес, но его состояние:ожидание. При этом email создаётся, но без вложенного файла...
Вот теперь посмотрите логи асинхронного сервиса. Скорее всего, что при выполнении - произошла ошибка в коде сборки. Как найдёте ошибку - выкладывайте сюда, постараюсь помочь, чем смогу.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог и twitter
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 06.08.2009, 15:16   #60  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
А можно ссылочку как просматривать логи этого самого сервиса, пожалуйста?
Теги
c#, custom workflow action, plugin, workflow, reporting services, report

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
mscrm4ever: CRM 4.0 Concatenating Fields Plug-In Blog bot Dynamics CRM: Blogs 0 14.02.2009 14:05
Microsoft Dynamics CRM Team Blog: Member, Static variable and Thread safety in Plug-in for CRM 4.0 Blog bot Dynamics CRM: Blogs 0 19.11.2008 00:05
Microsoft Dynamics CRM Team Blog: Microsoft Dynamics CRM Plug-in Template for Visual Studio Blog bot Dynamics CRM: Blogs 0 27.10.2008 23:05
Microsoft Dynamics CRM Team Blog: Storing Configuration Data for Microsoft Dynamics CRM Plug-ins Blog bot Dynamics CRM: Blogs 0 24.10.2008 22:05
Microsoft Dynamics CRM Team Blog: Accessing a SQL Database from a Microsoft Dynamics CRM Plug-in Blog bot Dynamics CRM: Blogs 0 14.07.2008 13:05
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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