IDocumentService.AddSignature — метод (Document, X509Certificate2, Boolean, ICollection<CardFieldSetting>)
Добавляет новую подпись в список подписей карточки и устанавливает ЭП на поля, основные и дополнительные файлы документа.
-
Пространство имён:
DocsVision.BackOffice.ObjectModel.Services
-
Сборка:
DocsVision.BackOffice.ObjectModel.dll
Синтаксис
BaseCardSignature AddSignature(Document document, X509Certificate2 cert, bool signAttachments, ICollection<CardFieldSetting> fields)
- Параметры
-
- document
-
Тип:
Document
Документ
- cert
-
Тип:
System.Security.Cryptography.X509Certificates.X509Certificate2
Сертификат, которым будет выполнено подписание
- signAttachments
-
Тип:
System.Boolean
true
— подписывать дополнительные файлы, иначе —false
- fields
-
Тип:
System.Collections.Generic.ICollection<CardFieldSetting>
Коллекция подписываемых полей типа
CardFieldSetting
, определённых для карточки в Справочнике видов карточек
- Возвращаемое значение
-
Тип:
BaseCardSignature
Подпись
Заметки
Сертификат сотрудника может быть получен из карточки Настроек пользователя. Данный метод инициализирует новую подпись в виде объекта типа BaseCardSignature
, которую использует при непосредственном подписании данных карточки Документ.
Примеры
Ниже приведён пример подписания документа, осуществляемое из скрипта самой карточки
using DocsVision.BackOffice.ObjectModel;
using DocsVision.BackOffice.ObjectModel.Services;
using DocsVision.BackOffice.WinForms.Controls;
namespace BackOffice
{
public class CardDocumentПримерScript : CardDocumentДокументУДScript
{
private void addSignature_ItemClick(System.Object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
IDocumentService documentService = base.CardControl.ObjectContext.GetService<IDocumentService>(); (1)
bool cancel = false;
var certificate = SelectCertificateForm.SelectCertificate(ref cancel, base.CardControl.ObjectContext); (2)
if(cancel) return;
var fields = documentService.GetKindSettings(base.BaseObject.SystemInfo.CardKind).DocumentSignature.Fields; (3)
documentService.AddSignature((base.BaseObject as Document), certificate, false, fields); (4)
}
}
}
1 | Получение сервиса для работы с карточкой Документ. |
2 | Отображение окна выбора сертификата. Простой сертификат может быть установлен, если присвоить certificate значение null . |
3 | Получение из параметров вида карточки полей, для которых предусмотрено подписание. |
4 | Осуществление подписания. |