Есть БП, в нем есть скрипт. в скрипте выполняется некий код, который использует сервис ReportService. Там берется Connection. Если запускать БП вручную - все работает. Если по плану - выбивает ошибку.
Вопрос: Как в БП передать Get("UserConnection"); в userConnection сервиса ReportService? Есть ряд других сервисов, возможно туда тоже нужно будет это передать....
Нравится
Почему вы решили что UserConnection не передается?
Вы от какого пользователя запускаете БП по расписанию? Есть ли у єтого ползователя права для рабьоты с ReportService?
Добавить комментарий
Григорий Чех,
Автозапуск от пользователя что и обычный запуск, вот ошибка:
System.ServiceModel.ServiceActivationException: Set AspNetCompatibilityEnabled true
в Terrasoft.Web.Common.BaseService.get_UserConnection()
в Terrasoft.Configuration.ReportService.ReportService.GenerateDevExpressReport(String entitySchemaUId, String reportSchemaId, String recordId, String reportParameters)
в Terrasoft.Configuration.ReportService.ReportHelper.CreateReport(String entitySchemaUId, String reportSchemaUId, String templateId, String recordId, String reportParameters, Boolean convertInPDF)
в Terrasoft.Configuration.ReportService.ReportService.CreateReport(String entitySchemaUId, String reportSchemaUId, String templateId, String recordId, String reportParameters, Boolean convertInPDF)
в Terrasoft.Core.Process.UsrAutoSendNightReportMethodsWrapper.ScriptTask1Execute(ProcessExecutingContext context)
в Terrasoft.Core.Process.ProcessFlowElement.Execute(ProcessExecutingContext context)
Функциональность сервиса ReportService была разработана под вызов с веба, а не с сервера. Ряд его логики может не работать при вызове с серверной стороны. С GenerateMSWordReport будет аналогично.
Те определять UserConnectionнужно как для сервиса
userConnection = HttpContext.Current.Session["UserConnection"]
Те определять UserConnectionнужно как для сервиса
userConnection = HttpContext.Current.Session["UserConnection"]
Не работает - проверяли. Подобную проблему решали с генерацией печатной формы в процессе, запускаемом по таймеру. В конце концов плюнули и переписали коробочный сервис без использования контрактов, но с использованим доп. параметра в во всех методах.
Дмитрий Степанов,
тоже делал так, но там нужно было несколько функций тока, а тут хз что нужно будет...
Добрый день!
У меня данная проблема отпала при передаче параметра "UserConnection" конструктору ReportService.
var reportService = new Terrasoft.Configuration.ReportService.ReportService(UserConnection);