Метод GetDocumentOperations (Получение информации по операциям по документу )
Формат вызова:
DocOperationInfo[] GetDocumentOperations(long docId, bool withSigns)
Параметры:
§ docId – идентификатор документа;
§ withSigns – возвращать ли подписи в результате.
Результат выполнения операции:
Возвращает массив, состоящий из отдельных информаций по каждой операции
Метод MarkDocumentOperation (Проставление отметки на операцию по документу)
Формат вызова:
MarkDocumentOperation(long docId, long operTypeId, long userId)
Параметры:
§ docId – идентификатор документа;
§ operTypeId – идентификатор типа создаваемой операции;
§ userId – идентификатор пользователя создаваемой операции.
Результат выполнения операции:
Должно быть право на редактирование документа. При отсутвии права - AccessDenied
Если документ заблокирован другим пользователем - метод выводит ошибку Locked.
Метод MoveDocumentOperation (Перемещение операции по документу)
Формат вызова:
MoveDocumentOperation(long docId, long operTypeId, long userId, int position)
Параметры:
§ docId – идентификатор документа;
§ operTypeId – идентификатор типа создаваемой операции;
§ userId – идентификатор пользователя создаваемой операции;
§ position– позиция, на которую необходимо переместить операцию.
Результат выполнения операции:
Должно быть право на редактирование документа.
Если документ заблокирован другим пользователем - метод выводит ошибку Locked.
При отсутствии ДПО для данного пользователя и операции – она будет создана
Описание структур данных
DocumentInfo
Структура содержит данные по документу, прикрепленному к поручению.
| Название поля
| Тип
| Описание
|
| DocumentID
| Int
| Идентификатор документа
|
| CardID
| Int
| Идентификатор гибкой карточки (тип документа)
|
| RegistrationDate
| DateTime опц.
| Дата регистрации документа
|
| RegistrationNumber
| String
| Регистрационный номер
|
| Name
| String
| Название документа
|
| JournalID
| Int
| Идентификатор журнала, в котором содержится документ
|
| CreatedDate
| DateTime
| Дата создания записи о документе (регистрационной карточки)
|
| LastModifiedDate
| DateTime
| Дата последней модификации регистрационной карточки
|
FolderInfo
Структура предоставляет информацию об отдельной папке поручений. Папка может быть как созданная пользователем, так и системная папка.
| Название поля
| Тип
| Описание
|
| ID
| Int
| Идентификатор папки
|
| Name
| String
| Название папки
|
| ParentFolderID
| Int
| Идентификатор родительской папки
|
| Type
| FolderType
| Тип папки – одно из значений перечисления FolderType
|
| Comments
| String
| Описание папки, введенное пользователем
|
| Creator
| String
| Имя создателя папки
|
| CreatedDateTime
| DateTime
| Время создания папки
|
| Enabled
| Bool
| Разрешен ли доступ к папке в модуле LanDocs: Администратор. По идеологии LanDocs, это разрешение введено для удобства пользователя, а не для ограничения доступа. Приложения могут скрывать папки, у которых Enabled = false
|
InstructionInfo
Структура является контейнером-заголовком, описывающим общие свойства пакета поручений. В зависимости от флагов, переданных в метод OpenInstruction, может включать в себя описание либо одного поручения, либо нескольких поручений, сформированных из одного проекта.
| Название поля
| Тип
| Описание
|
| InstructionID
| Int
| Идентификатор основного поручения в пакете: идентификатор проекта, идентификатор поручения ответственного исполнителя
|
| Kind
| InstructionKind
| Тип объекта: поручение, сообщение, отчет
|
| ERCID
| Int (опц.)
| Идентификатор присоединенного документа
|
| DocumentCopyID
| int (опц.)
| Идентификатор бумажной копии документа, если таковая имеется
|
| SendType
| SendType
| Тип рассылки: цепочка, веер, с ответственным исполнителем, без ответственного исполнителя
|
| ReportToExecutive
| Bool
| Надо ли направлять отчеты ответственному исполнителю. Если флаг выставлен, это предполагает, что соисполнители отчитываются перед ответственным исполнителем, а тот – перед получателем отчета по своему поручению
|
| PriorityID
| Int
| Приоритет отправки поручения, может также использоваться для выставления признака «На контроле»
|
| PriorityName
| String
| Название режима приоритета
|
| AttachedDocument
| DocumentInfo
| Структура, описывающая присоединенный документ, если таковой имеется
|
| Instruction
| SingleInstructionData[]
| Подробные описания отдельных поручений из пакета
|
InstructionListItem
Структура описывает основные свойства, необходимые для отображения поручения в списках.
| Название поля
| Тип
| Описание
|
| InstructionID
| Int
| Идентификатор поручения
|
| Kind
| InstructionKind
| Класс поручения (сообщение/поручение/отчет)
|
| InstructionTypeID
| Int
| Идентификатор типа поручения
|
| InstructionTypeName
| String
| Название типа поручения
|
| State
| InstructionState
| Состояние поручения
|
| PriorityID
| Int
| Приоритет поручения, используется также для задания флага “На контроле”, используемого в некоторых сценариях
|
| PriorityName
| String
| Название приоритета
|
| SentDateTime
| DateTime (опц.)
| Дата отправки поручения, если оно было отправлено
|
| CreateDateTime
| DateTime
| Дата создания поручения
|
| ERCID
| Int (опц.)
| Идентификатор присоединенного документа
|
| CreatorID
| Int
| Идентификатор пользователя, создавшего поручение
|
| CreatorName
| String
| Имя пользователя, создавшего поручение
|
| ReceiverID
| Int
| Идентификатор получателя поручения
|
| ReceiverName
| String
| Имя получателя поручения
|
| Subject
| String
| Название поручения
|
| ResultID
| Int (опц.)
| Идентификатор результат выполнения получения
|
| ResultName
| String
| Результат выполнения поручения
|
InstructionSign
Структура содержит сведения о подписи, наложенной на поручение.
| Название поля
| Тип
| Описание
|
| Version
| Int
| Версия формата подписи поручения
|
| OperationTypeID
| Int
| Идентификатор операции, которая выполнялась над поручением при наложении подписи
|
| InstructionSign
| Byte[]
| Тело подписи поручения
|
| OperationSign
| Byte[]
| Тело подписи операции над поручением: при наложении используется подпись поручения и тип операции
|
InstructionTypeInfo
Структура описывает тип поручения.
| Название поля
| Тип
| Описание
|
| ID
| Int
| Идентификатор типа поручения
|
| Name
| String
| Название типа поручения
|
| OperationID
| Int (опц.)
| Идентификатор связанной делопроизводственной операции
|
| Operation
| String
| Название связанной делопроизводственной операции
|
| Text
| String
| Текст поручения по умолчанию
|
| ReportFlag
| Bool
| Является ли отчетом поручение данного типа
|
| UseControl
| Bool
| Является ли поручением поручение данного типа
|
DocOperationInfo
Структура содержит информацию по операции
| Название поля
| Тип
| Описание
|
| DocumentID
| long
| Идентификатор документа
|
| OperationID
| long
| Идентификатор делопроизводственной операции
|
| OperationTypeID
| long
| Идентификатор типа операции
|
| UserID
| long
| Идентификатор пользователя
|
| UserName
| string
| Имя пользователя
|
| State
| DocOperationState
| Состояние (Executing,Signed, Marked,Denied)
|
| Order
| Int
| Порядок сдедования в списке согласования
|
| Sign
| OperationSignInfo
| Подпись операции
|
Markant
Структура содержит сессионный ключ для расшифровки конфиденциальных объектов.
| Название поля
| Тип
| Описание
|
| UserID
| Int
| Идентификатор пользователя
|
| KeyID
| Int
| Идентификатор ключа пользователя
|
| Markant
| Byte[]
| Значение сессионного ключа. Для web-сервисов это просто бинарный массив, который должен будет передан в подсистему безопасности
|
ObjectSignData
Структура содержит подпись объекта.
| Название поля
| Тип
| Описание
|
| | ObjectID
| Int
| Идентификатор объекта
| |
| | Sign
| Byte[]
| Значение электронной подписи
| |
| | | | | |
OperationSignData
Структура содержит информацию о подписи операции над объектом. Подписанная операция всегда считается выполненной успешно (т.е. не отклоненной).
| Название поля
| Тип
| Описание
|
| ObjectID
| Int
| Идентификатор объекта
|
| OperationTypeID
| Int
| Идентификатор операции
|
| ChildObjectSign
| ObjectSignData[]
| Подписи дочерних объектов, которые связанны с этой операцией (например, подписи файлов, прикрепленных к документу)
|
| Sign
| Byte[]
| Значение электронной подписи
|
OperationSignInfo
Структура, содержащая подробную информацию о подписанной операции над объектом и подписи дочерних объектов.
| Название поля
| Тип
| Описание
|
| OperationID
| int
| Идентификатор операции: записи о выполненной операции
|
| OperationName
| string
| Название операции
|
| OperationTypeID
| int
| Тип операции
|
| ObjectID
| int
| Идентификатор объекта, над которым выполнена операция
|
| ObjectTypeID
| int
| Идентификатор типа объекта
|
| ObjectTypeName
| string
| Тип объекта, над которым выполнена операция
|
| UserID
| int
| Идентификатор пользователя, от имени которого выполнена операция. В режиме замещения этот идентификатор может не совпадать с идентификатор физического пользователя
|
| PhysicalUserID
| Int (опц.)
| Идентификатор пользователя, который физически выполнял операцию
|
| UserSID
| string
| Идентификатор пользователя в системе безопасности
|
| KeyID
| Int (опц.)
| Не заполняется
|
| SignDate
| DateTime
| Не заполняется
|
| Version
| Int (опц.)
| Версия формата ЭП, примененная при наложении подписи
|
| SignBody
| byte[]
| Тело подписи операции
|
| ChildObjectSign
| SignInfo[]
| Подписи дочерних объектов, которые использовались при формировании ЭП операции
|
ReportInfo
Структура содержит информацию об отчете по поручению.
| Название поля
| Тип
| Описание
|
| ReportID
| Int
| Идентификатор отчета
|
| InstructionID
| Int
| Идентификатор поручения, к которому относится отчет
|
| CreatorID
| Int
| Идентификатор пользователя, создавшего отчет
|
| CreatorName
| String
| Имя пользователя, создавшего отчет
|
| CreateDateTime
| DateTime
| Время создания отчета
|
| ReceiverName
| String
| Имя получателя отчета
|
| ReportStateID
| Int
| Идентификатор статуса отчета как он хранится в базе данных
|
| ReportState
| String
| Статус отчета
|
| AttachedDocument
| DocumentInfo
| Данные по документу, прикрепленному к отчету
|
| BaseERCID
| Int (опц.)
| Идентификатор базового документа, т.е. документа, прикрепленного к исходному поручению
|
| BaseDocument
| DocumentInfo
| Данные по базовому документу, т.е. документу, прикрепленному к исходному поручению
|
| Files
| FileInfo[]
| Данные о версиях файлов, связанных с данным отчетом
|
| ESigns
| SignInfo[]
| ЭП операций выполненных над отчетом.
В версиях старше 3.0.2.139 и 3.1.0.29 оставлен для совместимости. Его формирование и отправку можно отключить через BMService.SetSessionParameters или передав соответствующую версию клиента.
|
| OperationESigns
| OperationSignInfo[]
| Список ЭП операций, выполненных над отчетом. Доступен с версий 3.0.2.139 и 3.1.0.29.
Список невелик, так как обычно операции выполняются над поручением.
|
| Confidential
| Bool
| Является ли отчет конфиденциальным. Конфиденциальные отчеты шифруются, и каждому, кто должен его прочитать, выдается ключ. Ключ передается в закрытом виде в структурах типа Markant
|
| ReceiverID
| Int
| Идентификатор получателя отчета
|
| Text
| String
| Текст поручения
|
| Subject
| String
| Название поручения
|
| ERCID
| Int (опц.)
| Идентификатор документа, прикрепленного к отчету
|
| DocumentCopyID
| Int (опц.)
| Идентификатор бумажной копии документа, связанной с отчетом
|
| ExecutionDate
| DateTime (опц.)
| Фактическое время выполнения задания
|
| Markant
| Markant[]
| Сессионные ключи для расшифровки конфиденциальных сообщений
|
SendInstructionSign
Структура содержит информацию о подписи поручения, накладываемой при отправке проекта.
| Название поля
| Тип
| Описание
|
| InstructionID
| Int
| Идентификатор поручения
|
| Version
| Int
| Версия формата подписи поручения
|
| OperationTypeID
| Int
| Идентификатор операции, которая выполнялась над поручением при наложении подписи
|
| InstructionSign
| Byte[
| Тело подписи поручения
|
| OperationSign
| Byte[
| Тело подписи операции над поручением: при наложении используются подпись поручения и тип операции
|
SignInfo
Структура содержит подробную информацию о подписанной операции над объектом.
| Название поля
| Тип
| Описание
|
| OperationID
| Int
| Идентификатор операции: записи о выполненной операции
|
| OperationName
| String
| Название операции
|
| OperationTypeID
| Int
| Тип операции
|
| ObjectID
| Int
| Идентификатор объекта, над которым выполнена операция
|
| ObjectTypeID
| Int
| Идентификатор типа объекта
|
| ObjectTypeName
| String
| Тип объекта, над которым выполнена операция
|
| UserID
| Int
| Идентификатор пользователя, от имени которого выполнена операция. В режиме замещения этот идентификатор может не совпадать с идентификатором физического пользователя
|
| PhysicalUserID
| Int (опц.)
| Идентификатор пользователя, который физически выполнял операцию
|
| UserSID
| String
| Идентификатор пользователя в системе безопасности
|
| KeyID
| Int (опц.)
| Идентификатор ключа, который использовался при наложении подписи.
|
| SignDate
| DateTime
| Время наложения подписи
|
| Version
| Int (опц.)
| Версия формата ЭП, примененная при наложении подписи
|
| SignBody
| Byte[]
| Тело подписи операции
|
SingleInstructionData
Структура описывает отдельное поручение.
| Название поля
| Тип
| Описание
|
| InstructionID
| Int
| Идентификатор поручения
|
| ParentID
| Int (опц.)
| Идентификатор родительского поручения, если есть
|
| Order
| Int (опц.)
| Порядок поручения в пакете/проекте/цепочке
|
| CreatorID
| Int
| Идентификатор пользователя, создавшего поручение
|
| CreatorName
| String
| Полное имя пользователя, создавшего поручение
|
| CreateDateTime
| DateTime
| Время создания поручения
|
| ExecAuditorName
| String
| Имя контролера исполнения
|
| ReceiverName
| String
| Имя получателя поручения
|
| ReportReceiverName
| String
| Имя получателя отчета по поручению
|
| WorkerName
| String
| Имя исполнителя
|
| SendTypeID
| Int (опц.)
| Идентификатор типа рассылки, хранящийся в базе данных. Не рекомендуется использовать его во внешнем приложении, корректнее полагаться на поле SendType из InstructionInfo
|
| SentType
| String
| Название типа рассылки
|
| InstructionTypeID
| Int
| Идентификатор типа поручения
|
| InstructionType
| String
| Название типа поручения
|
| InstructionStateID
| Int
| Состояние поручения, как оно хранится в базе данных. Не рекомендуется использовать его во внешнем приложении, корректнее полагаться на поле State
|
| OperationID
| Int (опц.)
| Идентификатор делопроизводственной операции, связанной с данным поручением.
Как правило, если пользователь не выбрал другое, то при отправке отчета по поручению выполняется данная делопроизводственная операция над документом, прикрепленным к исходному поручению
|
| Operation
| String
| Название связанной делопроизводственной операции
|
| State
| InstructionState
| Состояние поручения
|
| VersionCount
| Int (опц.)
| Количество версий файлов, связанных с поручением
|
| InstructionResult
| String
| Результат выполнения данного поручения
|
| ReportID
| Int (опц.)
| Идентификатор отчета, связанного с данным поручением, если он есть. С поручением не может быть связанно более одного отчета
|
| ViewFlag
| Bool
| Флаг «Просмотрел ли пользователь данное поручение».
При открытии поручения через web-сервисы этот флаг автоматически не выставляется. Его нужно выставить явно, используя метод BMService.SetReadFlag
|
| Files
| FileInfo[]
| Список версий файлов прикрепленного документа, связанных с поручением
|
| ESigns
| SignInfo[]
| Список ЭП по операциям выполненных по поручениям.
В версиях старше 3.0.2.139 и 3.1.0.29 оставлен для совместимости. Его формирование и отправку можно отключить через BMService.SetSessionParameters или передав соответствующую версию клиента.
|
| OperationESigns
| OperationSignInfo[]
| Список ЭП операций, выполненных над поручением. Доступен с версий 3.0.2.139 и 3.1.0.29.
|
| Confidential
| Bool
| Является ли поручение конфиденциальным.
Конфиденциальные поручения хранятся в зашифрованном виде, отдельно для каждого получателя
|
| Comments
| String
| Комментарии к поручению
|
| ExecAuditorID
| Int (опц.)
| Идентификатор контролера исполнения
|
| InitiatorID
| Int (опц.)
| Идентификатор пользователя, выдавшего поручение.
Пользователь, выдавший поручение, не всегда является создателем поручения. Пользователь, указанный в этом поле, обладает такими же правами на поручение, как и его создатель
|
| ReceiverID
| Int
| Идентификатор получателя поручения/сообщения/отчета
|
| StartDate
| DateTime (опц.)
| Дата начала выполнения поручения
|
| ExecutionDate
| DateTime (опц.)
| Дата окончания выполнения поручения
|
| ExecInterval
| Int (опц.)
| Число дней, в течение которых поручение должно быть выполнено
|
| ReportReceiverID
| Int (опц.)
| Идентификатор получателя отчета
|
| Text
| String
| Текст поручения
|
| Subject
| String
| Заголовок поручения
|
| WorkerID
| Int (опц.)
| Идентификатор исполнителя по поручению.
Исполнитель не обязательно является получателем поручения. К примеру, возможны случаи, когда поручение отправлено на подразделение, и исполнителем будет тот, кто первым взял поручение в работу
|
| Markant
| Markant[]
| Список ключей для расшифровки конфиденциальных сообщений. Для каждого получателя создается свой, персональный ключ
|
UpdateInstructionData
Структура содержит данные для обновления/создания пакета поручений.
| Название поля
| Тип
| Описание
|
| InstructionTypeID
| Int
| Идентификатор типа поручения
|
| ERCID
| Int (опц.)
| Идентификатор прикрепленного документа
|
| DocumentCopyID
| Int (опц.)
| Идентификатор бумажной копии поручения
|
| SendType
| SendType
| Тип рассылки
|
| ReportToExecutive
| Bool
| Направлять ли отчет ответственному исполнителю.
Имеет смысл только для типов рассылки с ответственным исполнителем. Если этот флаг выставлен, то соисполнители должны направлять отчеты ответственному исполнителю, а тот уже отчитывается перед автором поручения
|
| PriorityID
| Int
| Идентификатор приоритета поручения
|
| MainInstruction
| UpdateSingleInstructionData
| Поручение для ответственного исполнителя или первое поручение в веере. Поле является обязательным
|
| CoExecutorInstruction
| UpdateSingleInstructionData[]
| Поручения для соисполнителей.
Этот массив надо заполнять, даже если данные совпадают для различных получателей
|
UpdateReportData
Структура содержит данные для отчета по поручению.
| Название поля
| Тип
| Описание
|
| ExactFileList
| Bool
| Является ли список версий, переданный в массиве FileVersion, точным.
Если признак имеет значение Да, то никакой обработки списка производиться не будет. Если список пуст, то никакие версии файлов не будут связанны с отчетом.
Если признак имеет значение Нет, то возможен поиск лучших вариантов. Например, пустой список будет заменен на последние актуальные версии файлов, прикрепленных к документу.
Для приложений, использующих ЭП, лучше всегда использовать точный список версий
|
| FileVersion
| Int[]
| Версии файлов, прикрепленных к отчету. Если список непустой, то ERCID должен быть задан, и все файлы должны принадлежать этому документу
|
| ESign
| InstructionSign
| Подпись отчета
|
| Confidential
| Bool
| Является ли отчет конфиденциальным.
Конфиденциальные отчеты шифруются, и каждому, кто должен его прочитать, выдается ключ. Ключ передается в закрытом виде в структурах типа Markant
|
| ReceiverID
| Int
| Идентификатор получателя отчета
|
| Text
| String
| Текст поручения
|
| Subject
| String
| Название поручения
|
| ERCID
| Int (опц.)
| Идентификатор документа, прикрепленного к отчету
|
| DocumentCopyID
| Int (опц.)
| Идентификатор бумажной копии документа, связанной с отчетом
|
| ExecutionDate
| DateTime (опц.)
| Фактическое время выполнения задания
|
| Markant
| Markant[]
| Сессионные ключи для расшифровки конфиденциальных сообщений
|
Воспользуйтесь поиском по сайту: