logo

[ELMA3] Создание документа при помощи сценария

Скрипт, который создает документ типа Reglament в бизнес-процессе.

Пример сценария с использованием PublicAPI

Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA до 3.15.38 включительно.

Контекстные переменные:

context.Naimenovanie – переменная типа Строка;
context.Fayl – переменная типа Системные Файл;
context.Dokument – переменная типа Документ.

Пространство имен:

using EleWise.ELMA.API;

Текст сценария:

//Новый документ типа Договор
context.Dokument = PublicAPI.Docflow.Types.Contract.Create(context.Fayl, PublicAPI.Docflow.Folder.Load(33), context.Naimenovanie);

Пример сценария без использования PublicAPI

Используемые контекстные переменные:

context.FaylReglamenta – переменная типа Файл;
context.NaimenovanieReglamenta – переменная типа Строка.

Пространства имен:

using EleWise.ELMA.Model.Services;
using EleWise.ELMA.Documents.Models;
using EleWise.ELMA.Documents.Managers;
using EleWise.ELMA.Documents.Docflow;

Текст сценария:

//Новый документ
var doc = InterfaceActivator.Create<Reglament>();         
//Определяем папку
doc.Folder = (Folder)FolderManager.Instance.Load(35);
//Формируем версию
var version =  InterfaceActivator.Create<DocumentVersion>();
version.Document = doc;
doc.Versions.Add(version);
//Устанавливаем статус версии - Текущая
version.Status = DocumentVersionStatus.Current;
// Прикрепляем файл версии
version.File = context.FaylReglamenta;
//Задаем название
doc.Name = context.NaimenovanieReglamenta;
//Для формирования названия из шаблона
//doc.Name = DocumentManager.Instance.GenerateName(doc, null, true); 
//Сохраняем
doc.Save(); 
// Сопоставляем созданный документ с контекстной переменной процесса
context.Reglament = (Reglament)doc;