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

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

Документ согласуется внутри организации в системе Directum в формате DOC. После согласования документ необходимо преобразовать в формат PDF.

Решение

Чтобы преобразование выполнялось автоматически, необходимо в типовой маршрут согласования документа добавить прикладной блок на основе базового блока «Сценарий». Прикладной блок будет преобразовывать документ в формат PDF и помещать PDF-документ в новую версию существующего.

Блоку необходимо задать свойство EDocument типа «Документ». Свойство должно содержать информацию о документе, который нужно преобразовать.

Необходимо задать следующие результаты выполнения блока:

Преобразование не выполнено (N);
Преобразование выполнено успешно (C).

В свойстве Script блока нужно задать приведенный ниже программный код.

Программный код

 

  BlockProperties = Sender.Properties

  EDocumentProperty = BlockProperties.ValueByName('EDocument')

  ConvertingFailed = FALSE

  try

    EDocumentInfo = EDocumentProperty.Value

    EDocument = EDocumentInfo.Document

  except

    ConvertingFailed = TRUE  

  endexcept

  if not ConvertingFailed

    try

     /* Преобразовать последнюю версию документа, указанного в параметре EDocument, в формат PDF с настройками по

        умолчанию. В параметре TransformationName функции FCConvertEDocumentToPDF задается способ преобразования в

        PDF. В качестве значения параметра указывается имя записи из справочника Настройки преобразования в PDF.

        Если параметр не задан, применяются настройки из записи справочника, используемой по умолчанию. */

     FCConvertEDocumentToPDF(EDocument;;TRUE; 'Версия для подписания')

    except

      ConvertingFailed = TRUE

    endexcept

  endif

  if ConvertingFailed

 

    // Преобразование не выполнено.

    Result = 'N'

  else

 

    // Преобразование выполнено успешно.

    Result = 'C'

  endif

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