ElectronicDocuments – документы
<< Click to Display Table of Contents >> Объектная модель > Content – управление документами ElectronicDocuments – документы |
Для программной работы с документами используется репозиторий Sungero.Content.ElectronicDocuments.
Методы
Имя |
Описание |
---|---|
CreateDocumentWithCreationDialog() + 2 перегрузки |
Создать документ с выбором типа документа |
CreateFrom() + 2 перегрузки |
Создать документ из файла или шаблона |
IElectronicDocument – электронный документ
Методы
Имя |
Описание |
---|---|
Сменить тип документа |
|
Создать версию документа |
|
CreateVersionFrom() + 2 перегрузки |
Создать версию документа из файла, где path – имя файла, или из потока. Подробнее о потоке см. в документации Microsoft статью «Stream Класс» |
Удалить версию документа. Где version – версия, которая будет удалена |
|
Редактировать документ |
|
Export() + 2 перегрузки |
Экспортировать документ в файл |
Import() + 3 перегрузки |
Импортировать файл в последнюю версию документа |
Open() + 2 перегрузки |
Открыть документ |
Print() + 2 перегрузки |
Отправить версию документа на печать. По умолчанию на печать отправляется последняя версия документа в исходном формате |
Обновить параметры шаблона в содержимом последней версии документа |
Свойства
Имя |
Тип |
Описание |
---|---|---|
AccessRights |
Права доступа |
|
AssociatedApplication |
Приложение-обработчик, с помощью которого открывается содержимое. Не заполнено, если у документа нет содержимого |
|
Author |
Автор документа |
|
Created |
Nullable<DateTime> |
Дата создания документа |
HasPublicBody |
Nullable<bool> |
Признак того, что для последней версии документа есть отображаемое представление |
HasRelations |
bool |
Признак того, что у документа есть связанные документы |
HasVersions |
bool |
Признак того, что у документа есть хотя бы одна версия |
bool |
Признак того, что документ зашифрован |
|
LastVersion |
Последняя версия документа |
|
LastVersionApproved |
Nullable<bool> |
Признак того, что последняя версия подписана ЭП с результатом Утверждено |
LastVersionSignatureType |
Int |
Тип подписи последней версии документа |
Modified |
Nullable<DateTime> |
Дата и время последнего изменения содержимого |
Name |
string |
Имя документа |
IChildEntityCollection<Интерфейс сущности>. Например, IChildEntityCollection<IElectronicDocumentParameters> |
Параметры для автозаполнения шаблона. Является свойством-коллекцией |
|
Relations |
Связи с документами |
|
State |
<Интерфейс сущности>State. Например, IOfficialDocumentState |
Состояние документа |
Versions |
IChildEntityCollection<IElectronicDocumentVersions> |
Список версий документа. Является свойством-коллекцией |
VersionsLocked |
bool |
Признак того, что все версии документа заблокированы |
Пример 1. Создание документа из шаблона
// Получить шаблон по наименованию.
var template = Sungero.Content.ElectronicDocumentTemplates.GetAll(t => t.Name.Contains("Microsoft Word")).FirstOrDefault();
// Создать простой документ.
if (template != null)
var document = Sungero.Docflow.SimpleDocuments.CreateFrom(template);
Пример 2. Экспорт документа в указанный файл
document.Export("C:\Document.doc");
Пример 3. Открытие исходного содержимого документа
doc.Open(DocumentBodySource.Original);
Пример 4. Отправка документа на печать
// Отправить документ на печать.
_obj.Print();
// Отправить исходное содержимое документа на печать.
_obj.Print(DocumentBodySource.Original);
// Отправить последнюю версию документа на печать.
_obj.LastVersion.Print();
// Отправить последнюю версию отображаемого представления документа на печать.
_obj.LastVersion.Print(DocumentBodySource.Public);
Пример 5. Добавление связи при копировании документа
Если необходимо, чтобы при копировании документа создавалась связь, то добавьте код в событии сущности «Создание».
Например, связь создается при копировании входящего счета:
public override void Created(Sungero.Domain.CreatedEventArgs e)
{
base.Created(e);
if (_obj.State.IsInserted && _obj.Contract != null)
_obj.Relations.AddFrom(Constants.Module.AccountingDocumentsRelationName, _obj.Contract);
}
Пример 6. Программное шифрование приказов при создании
Шифрование документов возможно, если развернут сервис ключей.
Если необходимо, чтобы при создании приказа он автоматически шифровался, то перекройте тип документа «Приказ» (Sungero.RecordManagement.Order) и добавьте код в событии сущности «Создание».
ВАЖНО. Шифруется и содержимое версии документа (Body), и его представление (PublicBody).
public override void Created(Sungero.Domain.CreatedEventArgs e)
{
base.Created(e);
_obj.IsEncrypted = true;
}
© Компания Directum, 2024 |