Смена статуса жизненного цикла документа в сценарии
Для того, чтобы поменять статус жизненного цикла документа в сценарии, необходимо полю Status документа присвоить новое значение типа LifeCycleStatus.
Пример сценария с использованием PublicAPI
Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA до 3.12.1 включительно.
Контекстные переменные:
context.Dokument - переменная типа Документ.
Пространство имен:
using EleWise.ELMA.API;
Текст сценария:
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
Пространства имен:
using EleWise.ELMA.Documents.Models; using EleWise.ELMA.Model.Managers;
Текст сценария:
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();