Смена статуса жизненного цикла документа в сценарии
Для того, чтобы поменять статус жизненного цикла документа в сценарии, необходимо полю Status документа присвоить новое значение типа LifeCycleStatus.
Пример сценария с использованием PublicAPI
Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA до 3.12.1 включительно.
Контекстные переменные:
context.Dokument - переменная типа Документ.
Пространство имен:
1 | using EleWise.ELMA.API; |
Текст сценария:
1 2 3 4 5 | var lcs = PublicAPI.Docflow.Objects.LifeCycleStatus.Find(FetchOptions.All).Where(c => c.Name == "Начало" ).FirstOrDefault(); if (lcs != null ) { PublicAPI.Docflow.Document.ChangeStatus(context.Dokument, lcs); } |
Пример сценария без использования PublicAPI
Для корректной работы сценария необходимо подключить сборки:
EleWise.ELMA.Documents
EleWise.ELMA.Documents.Docflow
Пространства имен:
1 2 | using EleWise.ELMA.Documents.Models; using EleWise.ELMA.Model.Managers; |
Текст сценария:
1 2 3 4 5 6 7 8 9 | LifeCycleStatus new_status = null ; var statusFilter = InterfaceActivator.Create<Filter>(); statusFilter.Query = "Name LIKE ’Начало’" ; //поиск нужного статуса жизненого цикла документа new_status = EntityManager<LifeCycleStatus>.Instance.Find(statusFilter, null ).FirstOrDefault(); //смена статуса документа if (new_status != null ) context.Dok.Status = new_status; //сохранение нового состояния документа context.Dok.Save(); |