В процессе автоматизации документооборота часто возникает задача создать нелинейный маршрут, в котором документ может возвращаться на предыдущие этапы для доработки. Например, если директор не утвердил счет, он должен вернуться финансовому директору, а если тот не согласовал — финансовому менеджеру. Рассмотрим, как реализовать такие циклы в комплексном процессе 1С:Документооборот и что делать, если стандартные инструменты для этого не отображаются в интерфейсе.
Основной и самый наглядный способ создания сложных маршрутов — это использование графической схемы. Однако при попытке настроить такой процесс пользователи иногда сталкиваются с тем, что панель элементов для редактирования схемы (кнопки добавления этапов, условий и т.д.) просто отсутствует. Вместо нее отображается пустое поле.
Проанализируем причину. Чаще всего эта проблема не связана с правами доступа пользователя. Если кнопок нет даже в режиме «Конфигуратор», это верный признак технической ошибки.
Причина: Проблема кроется в нестабильной работе некоторых релизов платформы 1С:Предприятие 8.3. Например, на платформе версии 8.3.11.2867 наблюдалось исчезновение стандартных команд для работы с графическими схемами.
Решение: Обновите платформу 1С:Предприятие до более свежей и стабильной версии (например, 8.3.11.3133 или выше). Как правило, после обновления платформы панель инструментов для редактирования схемы появляется автоматически, без каких-либо дополнительных настроек конфигурации.
Это самый правильный и визуально понятный метод. Он позволяет нарисовать практически любую логику движения документа.
Такая схема полностью автоматизирует маршрутизацию. При отрицательной резолюции новая задача автоматически создается для предыдущего исполнителя в цепочке, и процесс циклически повторяется до тех пор, пока все этапы не будут пройдены успешно.
При использовании стандартных блоков «Согласование» и «Утверждение» нужно учитывать их внутреннюю логику. После того как все исполнители этапа вынесут свою резолюцию, автору этого подпроцесса приходит задача «Ознакомиться с результатом согласования» с кнопками, например, «Повторить» и «Завершить».
В нашей автоматизированной схеме это может создать путаницу. Схема сама вернет процесс на нужный этап, и одновременно с этим автор получит задачу с предложением сделать то же самое вручную. Это может привести к созданию дублирующих задач.
Как быть? Цель — построить схему так, чтобы маршрутизация выполнялась полностью автоматически, без участия автора в выборе дальнейших действий. Вся логика должна быть заложена в блоках «Условие». Исполнители (согласующие и утверждающие) назначаются в настройках соответствующих блоков схемы (можно использовать и пользователей, и роли), а вмешательство автора комплексного процесса в ход его выполнения должно быть исключено.
Если вы по какой-то причине уже используете процесс, настроенный таблицей, и не можете перейти на схему, можно реализовать циклы через настройку порядка выполнения этапов. Это менее наглядно, но работоспособно.
Разберем по шагам:
Для этапа «Согласование (финансовый директор)», который идет под номером 4, в настройках порядка выполнения укажите условие: После завершения 3 ИЛИ если не утверждено 5. (Где 3 - ознакомление, 5 - утверждение).
Для этапа «Ознакомление (финансовый менеджер)», который идет под номером 3, в настройках порядка выполнения укажите условие: После завершения 2 ИЛИ если не согласовано 4. (Где 2 - регистрация, 4 - согласование).
Таким образом, вы вручную прописываете условия, при которых процесс должен вернуться на предыдущие шаги, имитируя циклическое движение.
Еще один подход — использовать стандартные возможности процессов «Согласование» и «Утверждение».
Недостаток этого метода: автором подпроцесса можно назначить только конкретного пользователя, а не роль. Это создает неудобства при отпусках или увольнениях сотрудников и требует ручного администрирования.