[ELMA3] Регистрация документа в системе от прошедшей даты в сценарии
В данной статье приведено описание сценария, с помощью которого можно зарегистрировать документ в системе от прошедшей даты.
Пример процесса, в ходе которого используется данный сценарий, приведен на рис. 1.
Рис. 1. Пример процесса, в котором используется сценарий регистрации от прошедшей даты
Первой задачей в данном процессе является задача заполнения данных о документе и месте регистрации. На основе введенных в данной задаче данных будет осуществлена регистрация документа (рис. 2).
Рис. 2. Форма задачи ввода параметров регистрации
Следует отметить, что для корректной работы бизнес-процесса резервирование регистрационного номера и регистрация документа должны выполняться в разных сценариях (рис. 1).
Контекстные переменные, используемые в сценариях:
- context.Dokument – регистрируемый документ;
- context.RegNumber – регистрационный номер для резервирования и регистрации;
- context.Delo – дело для резервирования и регистрации (Depository);
- context.Dokumentopotok – документопоток для регистрации (DocumentFlowType);
- context.DateReg – дата, на которую будет создана регистрация;
- context.ZarezervirovannyyNomer – переменная для хранения зарезервированного номера перед регистрацией.
Сценарий "Резервирование номера":
var newReg = ReservedRegNumberManager.Instance.Create ();
newReg.RegNumber = context.RegNumber;
newReg.Depository=context.Delo;
newReg.Save ();
context.ZarezervirovannyyNomer = (ReservedRegNumber)newReg;
Сценарий "Регистрация документа" (с использованием PublicApi):
Актуальная документация по PublicAPI доступна по ссылке.
Необходимые пространства имен:
using EleWise.ELMA.API;
using EleWise.ELMA.Documents.Managers;
using EleWise.ELMA.Documents.Models.Nomenclature;
Текст сценария:
var regNumber = PublicAPI.Docflow.Document.Register(context.Dokument, context.Delo, context.Dokumentopotok.Value, context.ZarezervirovannyyNomer);
context.ZarezervirovannyyNomer = null;
context.Dokument.RegistrationCard.FirstOrDefault ().RegistrationDate = context.DateReg;
C другими примерами сценариев для регистрации документов можно ознакомиться в статье https://www.elma-bpm.ru/kb/article-5550.html