[ELMA3] Получение папки по умолчанию у типа документа для использования в сценариях
При создании документа в сценарии требуется указать папку, в которую будет сохранен документ.
Для получения папки, настроенной в типе документа, как папка по умолчанию, можно использовать следующий сценарий:
var metadata = (DocumentMetadata)MetadataLoader.LoadMetadata(doc.TypeUid);
var profile = DocumentMetadataProfileManager.Instance.LoadByDocumentType(metadata.ImplementationUid);
if (profile.Folder != null)
{
doc.Folder = (Folder)profile.Folder;
}
где doc – переменная с создаваемым/существующим документом.
Для работы необходимо подключить пространство имен:
using EleWise.ELMA.Documents.Models;
using EleWise.ELMA.Documents.Managers;
using EleWise.ELMA.Documents.Metadata;
Можно добавить в сценарий условие, что если папка по умолчанию в типе документа не указана, сохранять в папку Мои документы какого-либо пользователя. Пример с использованием PublicAPI:
var metadata = (DocumentMetadata)MetadataLoader.LoadMetadata(doc.TypeUid);
var profile = DocumentMetadataProfileManager.Instance.LoadByDocumentType(metadata.ImplementationUid);
if (profile.Folder != null)
{
doc.Folder = (Folder)profile.Folder;
}
else
{
var user = PublicAPI.Portal.Security.User.GetCurrentUser();
var folderMy = PublicAPI.Docflow.Folder.GetMyDocumentFolder(user);
doc.Folder = (Folder)folderMy;
}
Для работы необходимо подключить пространство имен:
using EleWise.ELMA.API;
using EleWise.ELMA.Documents.Models;
using EleWise.ELMA.Documents.Managers;
using EleWise.ELMA.Documents.Metadata;