Добрый день столкнулся с проблемой , что при выполнении бп выдало ошибку
Terrasoft.Common.NullOrEmptyException: Невозможно получить экземпляр схемы типа "Terrasoft.Core.Process.PldLeadManagementIdentification2PaladinPackage3Schema"
в Terrasoft.Core.SchemaManager`1.InitializeSchema(ISchemaManagerItem schemaManagerItem, Assembly assembly)
в Terrasoft.Core.SchemaManagerItem`1.get_Instance()
в Terrasoft.Core.Process.BaseProcessElementFactory.CreateSubProcessInstance(ProcessSchemaSubProcess schemaSubProcess)
в Terrasoft.Core.Process.ProcessElementFactory.CreateFlowElementInstance(ProcessSchemaBaseElement schemaElement)
в Terrasoft.Core.Process.ProcessComponentSet.CreateFlowElementInstance(String schemaElementName, Boolean isReExecution)
в Terrasoft.Core.Process.ProcessComponentSet.ForceGetFlowElementInstance(String schemaFlowElementName)
в Terrasoft.Core.Process.ProcessComponentSet.Execute(String elementName, FlowContext flowContext)
в Terrasoft.Core.Process.TaskService.Terrasoft.Core.Process.IHandler.Receive(ExecuteProcessElementRequest message)
в Terrasoft.Core.Process.MediatorBuilder.Mediator.Send[TMessage](TMessage message)
в Terrasoft.Core.Process.FlowVisitor.ProcessQueueItem(FlowVisitorQueueItem queueItem)
в Terrasoft.Core.Process.FlowVisitor.Dequeue()
в Terrasoft.Core.Process.FlowService.<>c__DisplayClass32_0..Receive>b__0()
в Terrasoft.Core.Process.FlowService.InvokeWithHandleCancelRequestedEvent(FlowVisitor visitor, Action action)
в Terrasoft.Core.Process.FlowService.Terrasoft.Core.Process.IHandler.Receive(ExecuteProcessElementResponse message)
в Terrasoft.Core.Process.MediatorBuilder.Mediator.Send[TMessage](TMessage message)
в Terrasoft.Core.Process.TaskService.ProcessFlowElementExecuted(Object sender, ProcessActivityAfterEventArgs args)
в Terrasoft.Core.Process.ProcessFlowElement.OnExecuted(ProcessActivityAfterEventArgs e)
в Terrasoft.Core.Process.ProcessUserTask.OnExecuted(ProcessActivityAfterEventArgs e)
в Terrasoft.Core.Process.ProcessActivity.CompleteExecuting(Object[] parameters)
в Terrasoft.Core.Process.Configuration.ActivityUserTask.CompleteExecuting(Object[] parameters)
в Terrasoft.Core.Process.ProcessActivity.Complete(Object[] parameters)
в Terrasoft.Core.Process.ProcessEngineImpl.CompleteExecutingInternal(Guid elementUId, IReadOnlyDictionary`2 parameterValues, ContinueProcessCommand command, Boolean removeMessageFromStore, Object[] parameters)
После обращение тп выяснилось, что в бп устарел метод GetParentApplicationUrl(HttpRequest)
И посоветовали просто переименовать его в GetParentApplicationUrl(Terrasoft.Web.Http.Abstractions.HttpRequest)
Но проблема осталась, может кто сталкивался с такой проблемой ?
Нравится
Максим, этот процесс Вы сами создавали? Из каких элементов он состоит, на каком вылетает ошибка? Процесс и его подпроцессы в отдельных схемах перед этим сохранили и публиковали?
Функция GetParentApplicationUrl, скорее всего, у Вас использована для получения адреса сайта.
Если просто закомментировать код с GetParentApplicationUrl или заменить его вызов на строку с реальным адресом (или читать из системной настройки), всё остальное работает?
А по поводу устарения, это относится к совместимости доработок с сайтами на Net Core, там нужно всё делать через классы из Terrasoft.Web.Http.Abstractions. Возможно, в новых версиях будет только так и работать.
В ходе доступа к сайту поддержки выяснилось, что причина, по которой происходит ошибка при публикации процесса, заключается в вызове метода GetParentApplicationUrl, а именно в параметре, который нужно передавать в метод.
Передавать нужно экземпляр класса HttpRequest из namespace Terrasoft.Web.Http.Abstractions, который можно определить так: HttpContext.Current.Request, например:
HttpRequest request = HttpContext.Current.Request; applicationUrl = Terrasoft.Web.Common.WebUtilities.GetParentApplicationUrl(request);
При этом нужно добавить namespace "Terrasoft.Web.Http.Abstractions" и убрать "System.Web".
Вторая ошибка связана с LeadId и появляется по причине использования неизвестного параметра. Получить параметр в методе можно так:
Get<Guid>("Код параметра")
Зверев Александр,
Все прикрепили согласно инструкциям, заменили аргументы, но всеравно ловим ошибку непонятно из-за чего такое ощущение что просто не видит изменений
На всякий случай ещё раз сохраните и опубликуйте.
Откройте исходный код схемы и найдите строки с этими номерами.
Может, не везде в коде исправили.