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

Предположим, что в типовом маршруте требуется обеспечить аннулирование документа с последующим отражением этой информации в учетной системе. Выполните действия:

1.Добавьте параметры типового маршрута:
RevokedDoc типа «Электронный документ» для указания аннулируемого документа;
RevokeLifeStage типа «Строка» для изменения стадии жизненного цикла аннулируемого документа на соответствующую, например, Аннулирован. В свойстве сохраняется имя стадии ЖЦ;
RevokeAbort типа «Логическое значение», где указывается необходимость программного прекращения задач по аннулированию документа;
RevokeSendList типа «Список пользователей» для указания пользователей, которым придет уведомление об аннулировании документа.
2.В событии типового маршрута «Возможность старта» программно определите параметр RevokedDoc, укажите для него аннулируемый документ.

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

 

RevokeAgreementDoc : IEDocument.DISIAgreementOfRevocation = NULL

 

foreach Record in IncomingMessageDS

  Document = EDocuments.GetObjectByID(Record.DocT)

  // Найти первый документ в списке.

  DocName = IfThen(DocName == ''; Document.Name; DocName)

  DocInfo = Document.Info

  if DocInfo.CardType.Code == 'DISIAgreementOfRevocation'

    RevokeAgreementDoc = Document

    exitfor

  endif

endforeach

 

if not VarIsNull(RevokeAgreementDoc)

  RevokeID = RevokeAgreementDoc.IntegerNum2

  RevokedDocInfo = EDocuments.ObjectInfo(RevokeID)

  Params.ValueByName('RevokedDoc').Value = RevokedDocInfo

Endif

 

3.В группе «Управление деловыми процессами» выберите блок типа «Расширенное задание» и добавьте его на схему. Для добавленного блока:
при необходимости в свойствах блока заполните Результаты выполнения задания по аннулированию документа, например, Принято (документ требуется аннулировать) или Отказано;
в событии «После запроса параметров» добавьте вычисления для нужного варианта выполнения задания, который предполагает аннулирование документа:

 

  // Проверить, что требуемые документы подписаны

  DISICheckIncomingDocuments(Object; 'P'; MessageInfo)

  // Запросить параметры аннулирования

  DISIAskRevocationParam()

 

4.Последовательно добавьте блоки «Уведомление», «Аннулирование» и «Задание для синхронизации с учетной системой».
5.Для блока «Уведомление»:
в свойстве Исполнитель укажите тип значения Параметр и значение Список рассылки по аннулируемому документу;
в событии типового маршрута «Старт» добавьте код для формирования темы уведомления:

 

RevokedDoc : IEDocumentInfo =

  Object.WorkflowParams.ValueByName('RevokedDoc').Value  

if not VarIsNull(RevokedDoc)

  SubjectProperty =

    Sender.Properties.ValueByName(NOTICE_BLOCK_SUBJECT_PROPERTY)

  SubjectProperty.Value =

    LoadStringFmt('DIR27331B4D_63CD_478D_ACDA_E79491CFD602'; 'DISI';

      RevokedDoc.Name)

endif

 

6.Для блока «Задание для синхронизации с учетной системой»:
укажите в параметре типового маршрута Бухгалтер роль БухгалтерПоПервичнымУчетнымДокументам;
при необходимости скорректируйте срок или список документов на рассмотрение;
в событии типового маршрута «Старт» добавьте код для формирования темы задания:

 

RevokedDoc : IEDocumentInfo =

  Object.WorkflowParams.ValueByName('RevokedDoc').Value

if not VarIsNull(RevokedDoc)

  SubjectProperty =

    Sender.Properties.ValueByName(JOB_BLOCK_SUBJECT_PROPERTY)

  SubjectProperty.Value =

    LoadStringFmt('DIR3C825035_1E28_40D5_A013_8EF4B75520C8'; 'DISI';

      RevokedDoc.Name)

endif

После выполнения задания по рассмотрению соглашения об аннулировании (в рамках функции DISIAskRevocationParam) откроется диалог с запросом параметров:

список заинтересованных сотрудников для рассылки уведомления об аннулировании;
стадия жизненного цикла, в которую нужно перевести документ;
признак, прекращать задачи по аннулируемому документу или нет.

Сотрудник заполняет параметры аннулирования и нажимает на кнопку ОК. В результате:

заинтересованным лицам отправятся уведомления об аннулировании документа;
прекращаются все задачи по аннулируемому документу, и документ переходит в соответствующую стадию жизненного цикла;
формируется задача для бухгалтера на занесение информации об аннулировании документа в учетную систему.
© Компания DIRECTUM, 2018 Сообщество пользователей DIRECTUM
.navbar > a:hover { background: #FFD73B; }