Сравнение документа с маской

antifraud-compare-with-mask-1Элемент становится доступен в дизайнере бизнес-процессов после подключения Модуля антифрод. Применяется для работы с документами, сгенерированными по шаблону и затем отредактированными вручную. Позволяет с помощью искусственного интеллекта сравнить отредактированный договор с его исходной версией и отобразить изменения в отдельном файле.

При работе этого блока с помощью ИИ выполняется проверка на неразрешённые правки:

  • документ сопоставляется с подготовленной маской — файлом, основанным на шаблоне документа, с указанием доступных для редактирования областей. Это позволяет проверить, что пользователь не внёс в текст неразрешённых изменений или дополнений;
  • в документе выявляются значения переменных, подставленные во время генерации по шаблону, такие как контрагент, срок действия договора, сумма и т. д. Они сравниваются с данными полей из карточки документа. Это помогает убедиться, что пользователь не изменял сведения в файле вручную. Если редактирование данных напрямую в тексте допустимо, эту проверку можно не учитывать, разрешив изменение значений во входных переменных блока.

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

начало внимание

Действие доступно только для документов в формате .docx.

конец внимание

Сравнение применяется к документу, сформированному на основе данных из элемента приложения. Например, сотрудник вносит данные в приложение Договоры оказания услуг. Запускается бизнес-процесс, в ходе которого на основе этих данных генерируется файл договора. Затем сотрудник вручную вносит в файл дополнительные данные. Перед согласованием документ сопоставляется с исходной версией и маской. Результат сравнения отображается в задаче согласующего. Он может не только просмотреть финальную версию, но и открыть файл сравнения, чтобы увидеть все внесённые правки.

Для корректной работы перед настройкой блока Сравнение документа с маской нужно:

Добавить входные и выходные переменные

Для настройки блока нужно заранее создать определённый набор свойств. Они указываются в настройках блока в полях, которые подразделяются на:

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

Для упрощения настройки рекомендуем использовать названия, совпадающие с атрибутами из настроек блока.

  1. Добавление входных переменных.

Добавьте в контекст бизнес-процесса переменные:

  • Маска (тип Файлы) — файл маски, соответствующей шаблону, по которому сгенерирован документ. Участвует в сравнении и используется для проверки документа на неразрешённые изменения;
  • Отредактированный документ (тип Файлы) — отредактированный документ для сравнения в формате .docx;
  • Исходный документ (тип Файлы) — исходная версия документа, сгенерированная по шаблону, в формате .docx. С ней сопоставляется отредактированный документ;
  • Переменные (типа Строка) — данные документа, сериализованные в JSON. Свойство используется на сервере ИИ, чтобы проверить данные в файле. Они сравниваются со сведениями из карточки документа, на основе которых сгенерирована исходная версия. Создание строки в ходе процесса описано в разделе «Сформировать JSON-строку для проверки данных документа»;
  • Разрешены ли изменения переменных (тип Выбор «да/нет») —  при работе блока выполняется проверка данных, подставленных в документ при генерации. Они сопоставляются со сведениями из карточки документа. Это позволяет проверить, что при редактировании файла вручную пользователь не вносил изменения в значения переменных.

Вы можете не учитывать эту проверку при определении неразрешённых изменений, передав в данном свойстве значение Да. Тогда будет проверяться только соответствие документа маске.

Обратите внимание, входные переменные нужно заполнить данными до того, как ход процесса дойдёт до шага Сравнение документа с маской. Это делается с помощью других графических элементов. Например, файл маски можно записать из карточки документа с помощью блока Присваивание, а разрешить или запретить изменения в переменных может сотрудник в рамках блока Задача.  

  1. Добавление выходных переменных.

Свойства для сопоставления с выходными атрибутами добавляются:

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

Создайте следующие переменные, в которые запишется информация:

  • Документ результата сравнения (тип Файлы) — файл обработанного документа, в котором добавленный текст выделен зелёным цветом, удалённый — красным, изменения в значениях переменных — синим;
  • Ответ сервера AI (тип Строка) — текст ответа, полученного с сервера ИИ. Его может использовать администратор для анализа ошибок, возникших при обработке документа на сервере. Например, чтобы узнать, какая проблема возникла при распознавании значений в JSON-строке с данными документа;
  • Неразрешённые изменения (типа Выбор «да/нет») — наличие неразрешённых правок тексте документа;
  • Статус запроса на сервер (тип Число) — код состояния HTTP, полученный с сервера ИИ. Переменную можно использовать для определения следующего шага процесса в зависимости от успешности сравнения. Подробнее читайте в разделе «Настроить обработку ошибок». Также на основе кода администратор может анализировать возникшие ошибки;
  • Отредактированный документ без подсветки (тип Файлы) — изначальный документ, загруженный для сравнения.

Настроить обязательные шаги в процессе

Разместите блок Сравнение документа с маской в том месте на схеме процесса, где нужно сформировать файл с указанием изменений.

Чтобы блок работал корректно, в ходе процесса нужно подготовить JSON-строку для проверки документа на сервере ИИ и настроить обработку ошибок. Для этого применяются другие графические элементы. Рассмотрим их использование.

antifraud-compare-with-mask-2

Сформировать JSON-строку для проверки данных документа

При выполнении сравнения на сервере ИИ сопоставляются значения переменных в файле и данные элемента приложения, по которым он сгенерирован. Таким образом документ проверяется на изменения. Для этого используется JSON-строка со свойствами из карточки документа и их значениями. Она передаётся во входных переменных блока Сравнение документа с маской, поэтому её нужно сформировать до шага сравнения.

Для этого разместите на схеме графический элемент Скрипт, представьте свойства приложения в виде объекта Map и переведите их в JSON. Затем запишите результат в переменную процесса.

Пример скрипта для преобразования переменных приложения в JSON-строку

Настроить обработку ошибок

  1. Ошибки в работе блока. Во время работы блока могут возникать критические ошибки, к примеру, если Модуль антифрод оказывается отключён. Такие случаи обрабатываются с помощью дополнительного исходящего перехода из блока Сравнение документа с маской. Например, при его активации процесс может завершаться. Добавьте переход на схему, чтобы позже при настройке блока указать его на вкладке Обработка ошибок.
  1. Ошибки на сервере ИИ. Во время сравнения также могут возникать ошибки на стороне сервера. Нужно предусмотреть дальнейшие действия, которые будут выполняться при неуспешной обработке документа. Например, добавить задачу, в которой пользователь может запустить сравнение повторно.

Чтобы задать точку, в которой процесс может продолжиться по разным веткам, используется шлюз.

antifraud-compare-with-mask-3

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

antifraud-compare-with-mask-4

Настройка блока

После выполнения предварительных действий дважды нажмите на блок Сравнение документа с маской на схеме процесса и задайте настройки на трёх вкладках: Основное, Входные и выходные атрибуты, Обработка ошибок.

Вкладка «Основное»

Заполните основные настройки блока:

antifraud-compare-with-mask-5

  • Название — введите название блока, которое будет отображаться на схеме процесса;
  • Название задачи — блок Сравнение документа с маской выполняется автоматически без назначения задачи на пользователя. Поэтому настраивать формирование названия задачи не требуется, и поле можно оставить пустым;
  • Присвоить выходные атрибуты в — укажите, куда будет записываться результат исполнения блока:
    • контекст процесса — отметьте эту опцию, если вы создали переменные, в которые запишется результат работы блока, в контексте процесса;
    • приложение — выберите опцию, а затем в поле Переменная* укажите приложение, добавленное в контекст процесса, в поля которого будет записан результат работы блока.

Вкладка «Входные и выходные атрибуты»

На этой вкладке заранее созданные свойства связываются с настройками блока, которые делятся на:

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

Описание свойств и их типы приведены в разделе «Добавить входные и выходные переменные».

Сопоставление может выглядеть так:

antifraud-compare-with-mask-6

Вкладка «Обработка ошибок»

Определите, по какой ветке направится ход бизнес-процесса при возникновении ошибки в работе блока, например, если модуль отключён. Также вы можете настроить оповещение пользователей об ошибке.

antifraud-compare-with-mask-7

  • Оповещение — включите опцию и укажите пользователей, которым будет отправляться оповещение об ошибке в процессе. Вы можете выбрать пользователя, группу пользователей, элемент оргструктуры, а также указать контекстную переменную, например инициатора процесса;
  • Прервать — для корректной работы блока необходимо включить опцию, а затем в поле Переход указать, по какой ветке направится процесс в случае ошибки. Указанный в этих настройках переход будет отмечен на схеме процесса значком error-connector-icon.

После завершения настройки нажмите кнопку Сохранить.