SendableDiadocDocument
Данная точка расширения позволяет настроить поведение обработчика исходящих в Диадок документов.
Наследование необходимо делать именно от класса SendableDiadocDocument , а не от интерфейса ISendableDiadocDocument .
namespace ITino.ELMA.Documents.Diadoc.Components
///
/// Точка расширения для документов, которые можно отправить в Диадок
///
public class SendableDiadocDocument : ISendableDiadocDocument
{
///
/// Обработчик включен
///
public virtual bool Enabled { get; }
///
/// Тип документа Диадок
///
public virtual DiadocDocumentType DocumentType { get; }
///
/// Тип документа в системе
///
public virtual Guid TypeUid { get; }
///
/// Типы документа в системе
///
public virtual IEnumerable TypeUids { get; }
///
/// Можно ли отправить документ
///
/// Документ
public virtual EODiadocCanSendStatus CanSendDocument(IDocument doc);
///
/// Получить отправителя (наша организация)
///
/// Документ
public virtual IContractor GetSender(IDocument doc);
///
/// Отправить документ в Диадок в Головное подразделение
///
/// Документ
/// Комментарий (опционально)
public virtual ICODiadocDocument Send(IDocument doc, string comment = null);
///
/// Отправить документ в Диадок в подразделении любому с правом подписи
///
/// Документ
/// Подразделение в Диадоке
/// Комментарий (опционально)
public virtual ICODiadocDocument Send(IDocument doc, Guid? departmentId, string comment = null);
///
/// Отправить документ в Диадок
///
/// Документ
/// Подразделение в Диадоке
/// Сотрудник в Диадоке
/// Комментарий (опционально)
public virtual ICODiadocDocument Send(IDocument doc, Guid? departmentId, Guid? userId, string comment = null);
}
Пример реализации: Обработка исходящего Договора с физ. лицом