![]() |
#12 |
Участник
|
Вобщем так у меня проблема с вложением отчёта в письмо и не разрешается...
Письмо само вкладывается, а данных там так и нет. Попытался сделать немного по-другому(не как у вас в примере): ksdb3.ReportExecutionService rs = new ksdb3.ReportExecutionService(); rs.Credentials = System.Net.CredentialCache.DefaultCredentials; string format = "Excel"; byte[] result = null; string reportPath = "/Новая папка/Прайс-лист"; string encoding; string mimeType; string extension; ksdb3.Warning[] warnings = null; string[] streamIDs = null; ksdb3.ExecutionInfo execInfo = new ksdb3.ExecutionInfo(); ksdb3.ExecutionHeader execHeader = new ksdb3.ExecutionHeader(); rs.ExecutionHeaderValue = execHeader; execInfo = rs.LoadReport(reportPath, null); string SessionID = rs.ExecutionHeaderValue.ExecutionID; result = rs.Render(format, null, out extension, out encoding, out mimeType, out warnings, out streamIDs); Всё равно то же самое. Сейчас хочу cохранить в файл, вообще, что получает result. Для этого дальше помещаю следующий код: [I]int i; StreamWriter sw = new StreamWriter("C:\\temp.txt"); for (i = 0; i < result.Length; i++) { sw.WriteLine(result); } sw.Close(); В логах асинхронного сервиса пишет: [2009-08-11 16:18:33.2] Process:CrmAsyncService |Organization:e26d7e2d-33b0-417e-8875-7e0c045fda3e |Thread: 4 |Category: Platform.Workflow |User: 00000000-0000-0000-0000-000000000000 |Level: Error | WorkflowHost.OnWorkflowTerminated >Workflow terminated: {5615DD03-7186-DE11-9267-000E0C4BF7BF} - System.UnauthorizedAccessException: Отказано в доступе по пути "C:\temp.txt". в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) в System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) в System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options) в System.IO.StreamWriter.CreateFile(String path, Boolean append) в System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize) в System.IO.StreamWriter..ctor(String path) в SendReportAction.SendReport.Execute(ActivityExecutionContext executionContext) в System.Workflow.ComponentModel.ActivityExecutor`1.Execute(T activity, ActivityExecutionContext executionContext) в System.Workflow.ComponentModel.CompositeActivityExecutor`1.Execute(T activity, ActivityExecutionContext executionContext) в System.Workflow.ComponentModel.ActivityExecutor`1.Execute(Activity activity, ActivityExecutionContext executionContext) в System.Workflow.ComponentModel.ActivityExecutionFilter.Execute(Activity activity, ActivityExecutionContext executionContext) в System.Workflow.ComponentModel.FaultAndCancellationHandlingFilter.Execute(Activity activity, ActivityExecutionContext executionContext) в System.Workflow.ComponentModel.ActivityExecutorOperation.Run(IWorkflowCoreRuntime workflowCoreRuntime) в System.Workflow.Runtime.Scheduler.Run() Почему отказано в доступе не пойму... P.S. При запуске отчёта под пользователем, под учётной записью которого работает асинхронный сервис - в отчёт попадают данные. Зато при запуске Асинхронного сервиса от имени пользователя, который ставил всё(то есть имеет все права) письмо даже не создаётся. В логах пишет следующее: [2009-08-11 16:57:44.0] Process:CrmAsyncService |Organization:e26d7e2d-33b0-417e-8875-7e0c045fda3e |Thread: 21 |Category: Platform.Async |User: 00000000-0000-0000-0000-000000000000 |Level: Error | AsyncOperationCommand.Execute >Exception while trying to execute AsyncOperationId: {1C98A682-7686-DE11-9267-000E0C4BF7BF} AsyncOperationType: 1 - в System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) в System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) в Microsoft.Crm.SdkTypeProxy.CrmService.Retrieve(String entityName, Guid id, ColumnSetBase columnSet) в Microsoft.Crm.Asynchronous.SdkTypeProxyCrmServiceWrapper.Retrieve(String entityName, Guid id, ColumnSetBase columnSet) в Microsoft.Crm.Asynchronous.SdkPluginDescriptionProvider.GetPluginTypeDescription(Guid pluginTypeId, IOrganizationContext context) в Microsoft.Crm.Caching.PluginTypeCacheLoader.LoadCacheData(Guid key, IOrganizationContext context) в Microsoft.Crm.Caching.CrmMultiOrgCache`2.CreateEntry(TKey key, IOrganizationContext context) в Microsoft.Crm.Caching.CrmSharedMultiOrgCache`2.LookupEntry(TKey key, IOrganizationContext context) в Microsoft.Crm.Caching.PluginTypeCache.LookupEntry(Guid pluginTypeId, IOrganizationContext context) в Microsoft.Crm.Asynchronous.AsyncOperationCommand.GetPluginType(Guid pluginTypeId) в Microsoft.Crm.Asynchronous.EventOperation.InternalExecute(AsyncEvent asyncEvent) в Microsoft.Crm.Asynchronous.AsyncOperationCommand.Execute(AsyncEvent asyncEvent) |
|
Теги |
c#, custom workflow action, plugin, workflow, reporting services, report |
|
|