Как импортировать соглашение об аннулировании
<< Click to Display Table of Contents >> Интеграция с внешними системами > Примеры настройки интеграции Как импортировать соглашение об аннулировании |
Ситуация
Необходимо соглашение об аннулировании передать из внешней системы в Directum RX.
Решение
Чтобы импортировать соглашение об аннулировании (CancellationAgreement) из внешней системы, в среде разработки напишите интеграционную функцию, которая по заданному идентификатору найдет документ и импортирует его. Затем вызовите функцию, передав в нее идентификатор созданного документа из предыдущего ответа сервиса.
Для этого:
1.В среде разработки Directum RX в своем решении добавьте интеграционную функцию для импорта соглашения об аннулировании. Интеграционная функция должна выполняться на сервере. Поэтому в редакторе модуля в группе «Функции» перейдите по ссылке Серверные и создайте функцию ImportCancellationAgreement() с атрибутом [Public(WebApiRequestType = RequestType.Post)]. Для этого добавьте код:
/// <summary\>
/// Импортировать соглашение об аннулировании.
/// </summary\>
/// <param name="body"\>Тело соглашения.</param\>
/// <param name="leadingDocumentId"\>ИД аннулируемого документа.</param\>
/// <param name="reason"\>Причина аннулирования.</param\>
/// <param name="extentionObject"\>Дополнительные параметры.
/// Параметр не используется в базовой функции, добавлен для передачи параметров в перекрытии.</param\>
/// <returns\>ИД соглашения об аннулировании.</returns\>
[Public(WebApiRequestType = RequestType.Post)]
public virtual int ImportCancellationAgreement(byte[] body, int leadingDocumentId, string reason, string extentionObject)
Используемые параметры:
•body – содержимое документа, массив байт;
•leadingDocumentId – ИД аннулируемого документа в Directum RX;
•reason – причина аннулирования;
•extentionObject – дополнительные параметры. Добавлен для передачи параметров в перекрытии. Например, в нем можно указать JSON-строку, в которой можно передать дополнительные параметры и на перекрытии дописать их обработку.
2.Чтобы стартовать созданную задачу, отправьте POST-запрос к функции ImportCancellationAgreement(). В качестве идентификатора используйте идентификатор из ответа сервиса интеграции. Пример кода для запроса:
Передача строки байт
// Импортировать соглашение об аннулировании.
// Добавление строки, закодированной в Base64, в свойство Body версии
// документа.
await odataClient
.For("Exchange")
.Action("ImportCancellationAgreement")
.Set(new
{
body = "PD94bWwgdmVyc2lvbj0iMS4wI",
leadingDocumentId = 3777,
reason = "Оборудование на длительном ремонте",
extentionObject = ""
})
3.Запустите приложение.
В результате в Directum RX создается соглашение об аннулировании с одной версией, в которой находится содержимое в формате XML, а также формируется PDF файл.
Соглашение связывается с ведущим документом связью типа «Прочее», права на созданный документ выдаются аналогично ведущему.
© Компания Directum, 2024 |