Секреты успешного создания приказов

Пошаговое руководство, для создания приказов с параграфами

В качестве аннотации

Для создания приказа в СОУДе нужно, как минимум, пройти 5 шагов:

  1. Создание приказа
  2. Прикрепление печатной формы
  3. Создание списка визирующих лиц 
  4. Создаем правила постобработки (авто-регистрация приказа)
  5. Отправка на визирование

Ссылка на документацию по API 

1. Создание приказа

в API по адресу .../client-api/dokumenty/prikazy методом POST 

В заголовках:

X-TPU-CLIENT-ID идентификатор  приложения
X-TPU-API-KEY токен авторизации пользователя

В теле запроса:

{
  "dokumentType": "Prikaz",
  "tipPrikaza": {
    "classifierType": "Classifier",
    "id": 5
  },
  "upravlenie": {
    "id": 6686
  },
  "isHidden": 1,
  "sposobFormirovaniya": {
    "classifierType": "Classifier",
    "id": 2
  },
  "kratkoeSoderzhanie": "Приказ на коллектив проекта № 857785-34585-2025",
  "paragrafy": {
    "listType": "ParagrafPrikazaList",
    "data": [
      {
        "nomer": 1,
        "tekst": "Вывести из состава коллектива проекта № ХЗ-56755-2025 Чубика Петра Савельевича",
        "tipDeystviyaPoParagrafuPrikaza": {
          "listType": "TipDeystviyaPoParagrafuPrikazaList",
          "data": [
            {
              "tipParagrafaPrikaza": {
                "classifierType": "Classifier",
                "id": 96
              },
              "paragrafPrikazaPoLichnosti": {
                "listType": "ParagrafPrikazaPoLichnostiList",
                "data": [
                  {
                    "lichnost": {
                      "id": 62013
                    },
                    "sotrudnik": {
                      "id": 336684
                    }
                  }
                ]
              }
            }
          ]
        }
      },
      {
        "nomer": 2,
        "tekst": "Ввести в состава коллектива проекта № ХЗ-56755-2025 Дядика Валерия Феодосовича в качестве исполнителя",
        "tipDeystviyaPoParagrafuPrikaza": {
          "listType": "TipDeystviyaPoParagrafuPrikazaList",
          "data": [
            {
              "tipParagrafaPrikaza": {
                "classifierType": "Classifier",
                "id": 95
              },
              "paragrafPrikazaPoLichnosti": {
                "listType": "ParagrafPrikazaPoLichnostiList",
                "data": [
                  {
                    "lichnost": {
                      "id": 57458
                    },
                    "sotrudnik": {
                      "id": 336379
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  }
}
В случае успеха должны получить ответ с Идентификатором созданного приказа:
{
  "dokumentType": "Prikaz",
  "id": 525207
}

2. Прикрепление печатной формы

в API по адресу .../client-api/dokumenty/525207/files-as-stream методом POST 

передаем параметры:

addBookmarks true
specStrBegin <!
specStrEnd !>

Должна получиться следующая строка:

.../client-api/dokumenty/525207/files-as-stream?addBookmarks=true&specStrBegin=<!&specStrEnd=!>

В заголовках:

X-TPU-CLIENT-ID идентификатор  приложения
X-TPU-API-KEY токен авторизации пользователя
Content-Type multipart/form-data

В теле запроса form-data:

имя переменной значение комментарий
vidSvyaziFailaId 1 Печатная форма
opisanieFaila Приказ на коллектив проекта Описание файла
opisanieSvyazi Печатная форма Описание связи
file <файл в формате PDF> Бинарный файл
В случае успеха должны получить ответ с Идентификатором созданного приказа:

{
    "id": 117972
}

В PDF файле в том месте где должны появиться дата и номер приказа должны быть указаны следующие переменные

nomer и дата обрамленные тегами из полей specStrBegin и specStrEnd

image.png

3. Создаем список визирующих лиц

в API по адресу .../client-api/punkty-vizirovaniya методом POST 

В заголовках:

X-TPU-CLIENT-ID идентификатор  приложения
X-TPU-API-KEY токен авторизации пользователя

В теле запроса:

[
            {
            "etap": 1,
            "dokument": {
            "dokumentType": "Dokument",
            "id":  525208
            },
            "primechanie": "Надо согласовать",
            "viziruyschayaLichnost": {"id": 156156}
            },
            {
            "etap": 2,
            "etapDSA":2,
            "mustVidDigSig":{"classifierType": "Classifier",  "id": 2  },
            "dokument": {
            "dokumentType": "Dokument",
            "id": 525208
            },
            "primechanie": "Очень надо согласовать подписываем только КЭП",
            "viziruyschayaLichnost": {"id": 8295}
            }
]
где etap - номер этапа согласования [1,2.3,...]
"dokument": { "dokumentType": "Dokument", "id": 525207 }, - номер документа на 1 шаге
"viziruyschayaLichnost": {"id": 8295} - личность ид сотрудника ТПУ который должен согласовать документ на этом этапе
В случае успеха должны получить ответ с Идентификаторами пунктов списка визирующих лиц:
{
  "listType": "PunktyVizirovaniyaList",
  "offset": 0,
  "limit": 2147483647,
  "data": [
    {
      "id": 49966
    },
    {
      "id": 49967
    }
  ]
}

4. Создаем правила постобработки (авто-регистрация приказа)

в API по адресу .../dokumenty/{id}/post-processing-settings методом POST 

В path параметрах:

{id} идентификатор документа на 1 шаге (например: 525208)


В заголовках:

X-TPU-CLIENT-ID идентификатор  приложения
X-TPU-API-KEY токен авторизации пользователя

В теле запроса:

{
"dokument": {
      "dokumentType": "Dokument",
      "id": 525208
    },
"sostoyanie" : {"classifierType": "Classifier",  "id": 2  },
"tipKontrolyaDokumenta" : {"classifierType": "Classifier",  "id": 2  }
}
В случае успеха должны получить ответ с Идентификатором созданного приказа:
{
    "dokument": {
        "dokumentType": "Dokument",
        "id": 525208
    }
}

5. Отправка на визирование

в API по адресу .../client-api/dokumenty/525207/na-vizirovanie методом POST 

передаем параметры:

createPechatnayaForma false
createPunktyVizirovaniya false
createAvtoViza true

Должна получиться следующая строка:

.../client-api/dokumenty/525207/na-vizirovanie?createPechatnayaForma=false&createPunktyVizirovaniya=false&createAvtoViza=true

В заголовках:

X-TPU-CLIENT-ID идентификатор  приложения
X-TPU-API-KEY токен авторизации пользователя
В случае успеха должны получить ответ с Идентификатором созданного приказа:
{
    "dokumentType": "Dokument",
    "id": 525208
}

Итог

после подписания и регистрации приказа можно увидеть в СОУДе следующий документ

7OOimage.png

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

image.png