Копировать ссылку на страницу Перейти в предыдущий раздел Перейти в следующий раздел

Постановка задачи

Необходимо реализовать механизм отправки документов контрагентам.

Решение

Для отправки документов через системы обмена используйте диалог «Отправка документов»:

Щелкните для увеличения изображения

Если диалог должен вызываться в рамках типового маршрута, например, по согласованию документа, в нужный блок маршрута добавьте код, связав его с вариантом выполнения:

Событие «После запроса параметров»

 

Dialog = Dialogs.DISISendDocuments.CreateNew()

Dialog.Int = Object.SYSREQ_ID

ShowDialog(Dialog)  

if Dialog.Result <<>> mrOk 

  Exit()

endif

Для заполнения реквизитов диалога, например, документов для отправки, используйте функцию DISIFillDialogParamsByTM<Код типового маршрута>. В тексте функции получите задачу, на основе которой заполните реквизиты диалога.

Вычисление функции

 

DELIMITER = ','

Task = Tasks.GetObjectByID(TaskID)

 

// Заполнить реквизит диалога "Документы для отправки" документами из вложения.

Attachments = Task.GetAttachments(FALSE)

DocsIDs : IStringList = CreateStringList()

DocsIDs.Delimiter = DELIMITER

// Заполнить список документов для отправки из вложения задачи.

foreach Attachment in Attachments

  AttachmentInfo = Attachment.ObjectInfo

  if AttachmentInfo.ComponentType = ctEDocument

    DocsIDs.Add(AttachmentInfo.ID)

  endif

endforeach

Dialog.String = DocsIDs.DelimitedText

/* Если не требуется подписание контрагентом,

   то очистить список документов для подписания. */

PatnerSigned = Task.WorkflowParams.ValueByName('PatnerSigned').Value

if not PatnerSigned

  Dialog.String2 = ''

endif

DocsIDs = nil

Attachments = nil

Task = nil

В результате для всех блоков типового маршрута будет действовать одинаковая логика по отправке документов в систему обмена. Если требуется иное поведение, доработайте функцию, чтобы определить, какое задание находится в работе.

Если диалог должен вызываться не в рамках типового маршрута, реквизиты диалога нужно заполнить перед его вызовом.

© Компания DIRECTUM, 2018 Сообщество пользователей DIRECTUM
.navbar > a:hover { background: #FFD73B; }