Задача [0462]: Добавление в лист подписей действия и его результата

Формулировка проблемы. Для включенной опции документооборота «Подписывать...» в данный момент подписывается результат процесса (утверждения, согласования, ознакомления), как положительный, так и отрицательный. При отрицательном ответе наличие подписи становится неочевидным для пользователей. Необходимо отображать в листе подписей действие и его результат.

Используются:

Связанные задачи:

Решение: общим решением данной задачи является фиксирование с подписью выполненного действия (тип процесса) и его результат (положительный либо отрицательный).

Ввиду наличия в платформе нескольких вариантов использования листов подписей, необходимы доработки в каждой из них:

Лист подписей в карточке документа, включая его печатную версию

Во-первых, необходимо переименовать столбец листа подписей «Подписи» в «Тип подписи».

Во-вторых, необходимо переименовать столбец печатной версии листа подписей и полной карточки документа «Подпись» в «Тип подписи».

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

  • Действие - соответствует полю «Наименование» в настройках процесса. Отображаемое значение столбца зависит от языка авторизации пользователя, поле мультиязычное.

    Если подпись была добавлена не с процессом, а кнопкой «Подписать», то результатом будет являться значение «Подпись» (ru) / «Қолтаңба» (kz) / «Sign» (en).

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

    • Согласование

    • Утверждение

    • Ознакомление

    • Подпись

  • Результат действия - соответствует полю «Положительный ответ» либо «Отрицательный ответ» в настройках процесса, в зависимости от успешности результата выполненного процесса. Отображаемое значение столбца зависит от языка авторизации пользователя, поле мультиязычное.

    Если подпись была добавлена не с процессом, а кнопкой «Подписать», то результатом будет являться значение «Подписано» (ru) / «Қолтаңба қойылған» (kz) / «Signed» (en).

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

    • Согласовано / Не согласовано

    • Утверждено / Отказ в утверждении

    • Ознакомлен

    • Подписано

Итоговый порядок следования столбцов листа подписей:

№ п/п Фамилия И.О. Должность Дата Тип подписи Действие Результат действия

...

...

...

...

...

...

...

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

Пример использования.

Условия:

  • Наличие Пользователя1, Пользователя2 на Должности2.

  • Настройка «Подписывать утверждения» включена.

  • Наличие произвольной Формы1.

  • Наличие Реестра1 на основе Формы1. Маршрут активации реестра содержит процесс утверждения с Пользователем2.

  • У Пользователя1 есть права доступа на Реестр1.

  • Пользователь1 и Пользователь2 авторизованы в клиентской части.

  1. Пользователь1 открывает Реестр1 и создает новую запись реестра.

  2. Пользователь1 вводит необходимые данные и запускает маршрут активации. Создалась работа-утверждение от Пользователя1 Пользователю2.

  3. Пользователь2 открывает работу-утверждение из п.2 и отказывает в утверждении. Работа-утверждение завершилась неуспешно, но подпись Пользователя2 к документу добавилась.

  4. Пользователь1 в карточке документа открывает «Лист подписей»:

№ п/п Фамилия И.О. Должность Дата Тип подписи Действие Результат действия

1

Пользователь2

Должность2

23:59:59 31.12.16

Обычная

Утверждение

Отказ в утверждении

  1. Пользователь1 в карточке документа отправляет на печать «Лист подписей»: таблица аналогична п.4.

  2. Пользователь1 в карточке документа отправляет на печать «Полную карточку документа»: таблица листа подписей в ней также аналогична п.4.

Компонент формы "Лист подписей", включая печатное представление

Все настройки, описываемые в данном подразделе, выполняются в настройках компонента формы «Лист подписей» только с типом данных «Лист подписей».

Во-первых, столбец с кодом signature для вновь добавляемых компонентов формы «Лист подписей» необходимо переименовать в «Тип подписи» (ru) / «Қолтаңба түрі» (kz) / «Signature type» (en).

При обновлении системы, во всех текущих формах, где данный компонент уже используется, необходимо переименовать этот столбец только в том случае, если все 3 его перевода не изменялись и соответствуют значениям по умолчанию («Подпись» (ru) / «Қолтаңба» (kz) / «Signature» (en)).

Во-вторых, столбец с кодом signature_type для вновь добавляемых компонентов формы «Лист подписей» необходимо переименовать в «Действие» (ru) / «Іс-әрекет» (kz) / «Action» (en).

При обновлении системы, во всех текущих формах, где данный компонент уже используется, необходимо переименовать этот столбец только в том случае, если все 3 его перевода не изменялись и соответствуют значениям по умолчанию («Тип подписи» (ru) / «Қолтаңба түрі» (kz) / «Signature type» (en)).

Примечание.

В результате обновления системы в компоненте «Лист подписей» 2 столбца могут получить одинаковые переводы, и это не будет являться ошибкой Synergy.

В-третьих, необходимо доработать возможные значения столбца с кодом signature_type. Текущие значения жестко заданы и неизменяемы:

  • Согласование

  • Утверждение

  • Ознакомление

  • Подпись

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

Если подпись была добавлена не с процессом, а кнопкой «Подписать», то результатом будет являться значение «Подпись» (ru) / «Қолтаңба» (kz) / «Sign» (en).

Примечание.

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

В-четвертых, после столбца с кодом signature_type с той же нумерацией необходимо добавить новый столбец с кодом result и переводами «Результат действия» (ru) / «Іс-әрекет нәтижесі» (kz) / «Action result» (en). По умолчанию, для вновь добавляемых компонентов формы «Лист подписей» его отображение включено. Но при обновлении системы для обратной совместимости во всех текущих формах, где данный компонент уже используется, его отображение должно быть выключено.

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

Если подпись была добавлена не с процессом, а кнопкой «Подписать», то результатом будет являться значение «Подписано» (ru) / «Қолтаңба қойылған» (kz) / «Signed» (en).

Все изменения в настройке компонента формы «Лист подписей», в т.ч. новые значения переводов по умолчанию для некоторых столбцов приведены в таблице:

Столбец Рус.яз Каз.яз Англ.яз Отображать

1

number

...

...

...

нет

2

full_name

...

...

...

да

2

full_name_current

...

...

...

нет

2

full_name_saved

...

...

...

нет

3

position

...

...

...

да

3

position_current

...

...

...

нет

3

position_saved

...

...

...

нет

4

date

...

...

...

да

5

signature_type

Действие

Іс-әрекет

Action

да

5

result

Результат действия

Іс-әрекет нәтижесі

Action result

да

6

comment

...

...

...

да

7

signature

Тип подписи

Қолтаңба түрі

Signature type

да

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

Примечание.

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

Пример использования.

Условия:

  • Наличие Методолога, Пользователя1, Пользователя2 на Должности2.

  • Настройка «Подписывать утверждения» включена.

  • Наличие произвольной Формы1.

  • Наличие Реестра1 на основе Формы1. Маршрут активации реестра содержит процесс утверждения с Пользователем2.

  • У Пользователя1 есть права доступа на Реестр1.

  • Методолог авторизован в конфигураторе, а Пользователь1 и Пользователь2 авторизованы в клиентской части.

  1. Методолог открывает на редактирование Форму1 и добавляет компонент «Лист подписей».

  2. Методолог настраивает компонент следующим образом:

Столбец Название на русском Отображать

1

number

№ п/п

да

2

full_name

Фамилия И.О.

да

2

full_name_current

Фамилия И.О.

нет

2

full_name_saved

Фамилия И.О.

нет

3

position

Должность

да

3

position_current

Должность

нет

3

position_saved

Должность

нет

4

date

Дата

да

5

signature

Тип подписи

да

6

signature_type

Действие

да

7

result

Результат действия

да

8

comment

Комментарий

нет

  1. Методолог создает шаблон печатного представления формы. Для компонента «Лист подписей» с идентификатором cmp вставляет следующую таблицу:

№ п/п Фамилия И.О. Должность Дата Тип подписи Действие Результат действия

cmp.number

cmp.full_name

cmp.position

cmp.date

cmp.signature

cmp.signature_type

cmp.result

  1. Методолог загружает шаблон из п.3, включает формат «PDF» и сохраняет изменения.

  2. Пользователь1 открывает Реестр1 и создает новую запись реестра.

  3. Пользователь1 вводит необходимые данные и запускает маршрут активации. Создалась работа-утверждение от Пользователя1 Пользователю2.

  4. Пользователь2 открывает работу-утверждение из п.2 и отказывает в утверждении. Работа-утверждение завершилась неуспешно, но подпись Пользователя2 к документу добавилась.

  5. Пользователь1 открывает запись реестра из п.4. В компоненте «»Лист подписей» на форме отображается:

№ п/п Фамилия И.О. Должность Дата Тип подписи Действие Результат действия

1

Пользователь2

Должность2

23:59:59 31.12.16

Обычная

Утверждение

Отказ в утверждении

  1. Пользователь1 отправляет форму на печать (в формате «PDF»): таблица листа подписей аналогична п.8.

Экспорт документов, а также прочие XML и API сервисы
Экспорт документов

Исходная задача здесь.

При экспорте документа в файле с его информацией (metadata.xml) в секции с данными подписей (<signs>) необходимо добавить новые атрибуты:

  • action - соответствует столбцу «Действие»;

  • actionResult- соответствует столбцу «Результат действия».

Пример секции <signs>:

  <signs>
    <sign>
      <authorId>3df7c226-e5cc-4860-bff3-d4a843f29acb</authorId>
      <login>Белкач</login>
      <fullname>Белка Белка Белка</fullname>
      <positions>
        <position departmentName="Белки" positionName="Белка"/>
        <position departmentName="Белки" positionName="synergy 528"/>
      </positions>
      <signDate>2015-05-29 14:14:46</signDate>
      <signature>XS49l5pPW2Q1sqMZoZ5wT302cvo=</signature>
      <certificate>aGFzaA==</certificate>
      <action>Утверждение</action>
      <actionResult>Отказ в утверждении</actionResult>
    </sign>
  </signs>
API-сервис проверки экспортированных документов

Исходная задача здесь.

Необходимо доработать метод API rest/api/docflow/checkdocument таким образом, чтобы наличие либо отсутствие новых полей в файле экспортированного документа игнорировалось. Таким образом, валидными будут оба варианта файла.

Кроме того, в секции <signs> выходного JSON необходимо добавить новые параметры:

  • action - соответствует столбцу «Действие»;

  • actionResult- соответствует столбцу «Результат действия».

XML-сервис для предоставления данных о подписях документа

Исходная задача здесь и здесь.

В DataSource.xml в секции с данными подписей (<signatures>) только для типа type = -1 необходимы следующие изменения:

  • signType теперь должен возвращать наименование процесса (аналогично столбцу «Действие»);

  • signResult теперь должен возвращать код результата действия:

    • 0 - неуспешно;

    • 1 - успешно;

  • новый параметр actionResult должен возвращать формулировку результата действия (аналогично столбцу «Результат действия»).

Пример секции <signatures>:

    <signatures>
        <signature>
            <userID>7b953be8-bddb-4ce4-bbfd-ae9548f69c7f</userID>
            <userName>Абдрешен Л.С.</userName>
            <position>Руководитель отдела</position>
            <signDate>06.06.2016 12.00.57</signDate>
            <comment/>
            <signType>Утверждение</signType>
            <signResult>0</signResult>
            <actionResult>Отказ в утверждении</actionResult>
            <value>Обычная</value>
        </signature>
    </signatures>
API получения списка подписей документа

Исходная задача здесь.

В методе API rest/api/docflow/doc/sign_list необходимо добавить новые выходные параметры:

  • action - соответствует столбцу «Действие»;

  • actionResult- соответствует столбцу «Результат действия».

Пример возвращаемого массива:

[
  {
    "userID": "179bda2e-6d55-4ed5-b1be-890ffad280ba",
    "userName": "Калиев И.О.",
    "userPosition": "Генеральный директор",
    "date": "2015-05-19 11:12:13",
    "comment": "",
    "actionType": "APPROVAL_ITEM",
    "signType": "SIMPLE",
    "action": "Утверждение",
    "actionResult": "Отказ в утверждении"
  }
]