Согласование документов

Функция предназначена для согласования документов между сотрудниками одной организации.

  1. Наделение сотрудника правами на согласование документов.
  2. Передача на согласование.
  3. Согласование пакета документов.
  4. Отказ в согласовании пакета документов.
  5. Снятие с согласования пакета документов.

Передавать документы на согласование может любой сотрудник организации.

Согласовывать документы может сотрудник, наделенный правами на согласование. По умолчанию функция согласовывать документы отключена у сотрудников.

Внимание: Права на согласование документов настраивает Администратор.

Для наделения сотрудника правом на согласование:

Пример:

// Настройка прав доступа на согласование сотруднику 
var getOrganizationEmployeeResult = 
  api.GetOrganizationEmployee(token, employeeId);
var employee = getOrganizationEmployeeResult.Result;
employee.IsApprovalReviewer = true;
var apprivalOrganizationEmployee =
  api.SaveOrganizationEmployee(token, employee);

Передача документа на согласование.

Передача на согласование доступна для черновиков и входящих документов.

Для создания черновика используйте метод CreateDraft (guid token, primaryDraft).

Прим.: Для передачи входящих документов на согласование сначала выполните получение списка входящих документов .

Документы на согласование передаются пакетами. В состав пакета может входить произвольное количество файлов общим объёмом до 30 Мбайт.

Для передачи пакета документов на согласование используйте метод SendApprovalPackage ()

Синтаксис:

SendApprovalPackage (parameters SendApprovalPackageParameters)

Параметры

Табл. 1.
Параметр Тип Значение
SendApprovalPackageParameters parameters Параметры для отправки на согласование SendApprovalPackageParameters
Свойство Reviewer Type - тип получателя внутреннего документооборота может принимать значения:
  • none - не задан
  • employee - сотрудник
  • department - подразделение
  • headDepartment - головное подразделение

Пример:

// Передача на согласование черновика
// Создание черновика 
var primaryDraft = new PrimaryDraft
{
	FileName = fileInfo.Name,
	FileContent = correctContent,
	DocflowTypeCode = (int)docflowType,
	DocumentInfo = additionalInfo,
	Description = comment
};

var  сreateDraft.Result = api.CreateDraft (token, primaryDraft); 
var idDraft = сreateDraft.Result;

// заполнение параметров согласования
var sendApprovalPackageParameters = new SendApprovalPackageParameters
{
	Token = token,
       Documents = List<Guid> { idDraft },
	ReviewerType = InternalDocflowReceiverType.HeadDepartment,
	CreationComment = comment,
	CheckDuplicate = true
};
// Передача на согласование пакета документов
var  sendApprovalPackage.Result =  
  api.SendApprovalPackage(sendApprovalPackageParameters);

Принятие решения по согласованию документа

Получить список внутренних документов одним из методов
Прим.: Свойство AllowedStates - состояние пакетов внутреннего документооборота может принимать значения
  • None = 0 - не задан
  • InProgress = 1 - в процессе выполнения (на согласовании/требуется согласование)
  • Succeed = 2 - завершен успешно
  • Failure = 3 завершен отказом
  • Canceled = 4 отменен

По документам со статусом "Требуется согласование" пользователь должен принять решение согласовать либо отказать в согласовании.