1с документооборот комплексный процесс не переходит на следующий шаг
Регламентируйте работу, используя типовые (шаблонные) и уникальные процессы, задавая жесткую маршрутизацию документов, настраивая запуск процессов по бизнес-событиям. Отслеживайте иерархию процессов, собирая их в цепочки, выстраивайте необходимую последовательность работ. Оценивайте эффективность работы сотрудников по различным показателям: соблюдение сроков и успешность исполнения, количество переносов сроков, результаты согласования и другим.
Готовые шаблоны согласования, рассмотрения, исполнения
В «1С:Документообороте 8» уже предусмотрены 9 готовых процессов: согласование, утверждение, регистрация, рассмотрение, исполнение, ознакомление, приглашение, составные процессы, комплексный процесс. Для каждого процесса предусмотрена своя схема работы, которая легко настраивается под специфику вашего предприятия. Например, процесс согласования может идти параллельно, последовательно, в смешанном режиме и даже по условиям.
Процесс «Согласование». Используется для согласования с ответственными лицами исходящих, внутренних документов, файлов, а также решения других вопросов, требующих согласования. Для процесса «Согласование» предусмотрено три варианта маршрутизации:
- всем сразу (параллельное согласование);
- по очереди (последовательное согласование);
- смешано (параллельно-последовательное согласование).
В качестве согласующих лиц можно указать пользователя или роль, например, «Юрист». Срок согласования может быть общим или индивидуальным для каждого согласующего лица. В рамках процесса согласования могут быть приняты положительные решения «Согласовано», «Согласовано с замечаниями» либо отрицательное — «Не согласовано». Если результат согласования отрицательный («Не согласовано»), после доработки документа процесс можно запустить на следующий цикл согласования. Ведется подсчет всех циклов согласования и сохранение истории всех виз на каждом цикле. Результат согласования можно подписать электронной подписью.
Процесс «Рассмотрение». Используется для направления ответственному лицу на рассмотрение, например, входящих документов или служебных записок. Рассмотреть документ можно тремя различными способами:
После этого документ получает статус «Рассмотрен» и принятая резолюция отображается в его карточке. Резолюцию можно подписать электронной подписью. При направлении на рассмотрение сотрудник может указать проект резолюции. Тексты резолюций можно быстро выбирать из заранее подготовленных шаблонов.
Процесс «Исполнение». Этот процесс используется для направления на исполнение документов или иных поручений. Успешность исполнения определяет проверяющий, если указан. Список исполнителей может содержать как конкретных пользователей, так и роли (например, «Секретарь»).
- всем сразу (параллельное исполнение);
- по очереди (последовательное исполнение);
- смешано (параллельно-последовательное исполнение). В этом случае можно указать порядок исполнения (одновременно либо после предыдущего исполнителя).
- общий срок для всех исполнителей;
- персональный срок для каждого исполнителя;
- общий срок для всех и, дополнительно, персональный срок для некоторых исполнителей.
Срок исполнения можно указать с точностью до минут. Одного из исполнителей можно назначить ответственным. Он будет отвечать за результат исполнения всего процесса в целом.
Запуск процессов по шаблону
«1С:Документооборот 8» можно настроить так, чтобы в некоторых случаях процессы запускались программой автоматически без каких-либо действий со стороны пользователей. Для жесткого запуска процессов по шаблону:
- нужно привязать процесс к виду документа;
- при необходимости указать условие автостарта;
- установить флажок «Запретить изменение процессов»;
- выбрать событие, при котором произойдет автозапуск, например, «Создание внутреннего документа».
После такой настройки процесс будет запущен автоматически, без участия пользователя, в момент нажатия на кнопку «Записать и закрыть» в карточке документа.
Иерархия и история процессов
Все задачи и процессы, созданные по документу, можно посмотреть прямо из карточки документа и увидеть:
- кто сейчас работает с документом;
- какие процессы и задачи запущены по документу;
- какие из них исполнены, с каким результатом, в какие сроки;
- какие не исполнены и просрочены.
Программа показывает всю иерархию процессов, начиная от исходного и заканчивая подпроцессами, которые были созданы исполнителями во исполнение своих задач.
Контроль процессов
Любой процесс можно поставить на контроль. Процесс, в карточке которого указан Контролер, ставится на контроль автоматически. Предметы (документы, файлы и т. п.) процессов наследуют признак контроля от процессов. Например, если по приказу запущен процесс Исполнение, поставленный на контроль, то приказ тоже отображается как контрольный. На контроль можно поставить не только весь процесс, но и отдельную задачу.
Что можно поставить на контроль? Все, что угодно: входящие, исходящие и внутренние документы, файлы, письма, процессы и задачи, мероприятия, проекты и проектные задачи, и даже то, чего нет в программе. Контроль позволяет следить за сроками и ходом выполнения работ. Программа сама отследит истекающий или пропущенный срок контроля и сообщит об этом по почте.
Как поставить на контроль? Чтобы поставить объект на контроль, просто щелкните на картинке «К» или в колонке «К» в списке. Сразу откроется новая контрольная карточка:
- установите срок контроля;
- напишите примечания для себя;
- и нажмите «Поставить на контроль».
Поставленные на контроль объекты отмечаются значком «К» зеленого или красного цвета.
- показывает все контрольные карточки, в которых сотрудник является контролером;
- удобно отслеживать и переносить контрольные сроки, снимать объекты с контроля, выводить отчеты, создавать на основании контрольных карточек письма или записи календаря;
- выводит самые просроченные объекты в первых строках вверху.
Мониторинг и аналитика
Мониторинг процессов. В «1С:Документообороте 8» есть автоматическая служба мониторинга процессов. Она сама отслеживает и контролирует более 100 показателей по всем процессам, например:
- время просрочки;
- количество просроченных процессов;
- число циклов согласований;
- средние трудозатраты и другие.
При росте или снижении показателей ниже порогового значения программа будет информировать вас по почте.
Создать шаблон комплексного процесса в «1С:Документообороте» очень просто. Для начала нужно перейти в меню «Управление процессами» и нажать на «Шаблоны процессов».
В открывшемся окне будет представлен список различных процессов. Для создания комплексного процесса нужно выбрать пункт «Комплексный процесс» из списка и нажать на кнопку «Создать».
При создании комплексного процесса система спросит о том, какой нужно использовать способ настройки маршрута: схема или таблица. Здесь нужно выбрать подходящий вам способ и нажать «Готово». Окно настройки шаблона состоит из трёх вкладок: «О шаблоне», «Настройки процесса» и «Предметы процесса».
Вкладка «О шаблоне»
Во вкладке «О шаблоне» нужно ввести название комплексного процесса, указать ответственного, т.е. автора шаблона комплексного процесса. Затем в поле «Рабочая группа шаблона» нужно добавить пользователей, которым будет доступен данный шаблон. Если никого в этом поле не указать, то шаблон комплексного процесса будет доступен всем сотрудникам.
Вкладка «Настройки процесса»
Во вкладке «Настройки процесса» нужно в верхнюю строку ввести наименование, которое будет отображаться у пользователей, когда им будет поступать какая-либо задача по процессу. Галочка «Добавлять предметы в наименование» позволяет указать будет ли отображаться у пользователей название документа после наименования задачи по процессу. Далее нужно заполнить общее описание процесса.
Вкладка «Предметы процесса»
В этой вкладке нужно создать предметы процесса. Для этого нужно нажать на кнопку «Добавить». Система предложит выбор из трёх вариантов: «Основной» (предмет, чей статус будет меняться в ходе процесса, к примеру, «Согласован», «На доработке» и т.д.), «Вспомогательный» (предмет, чей статус меняться не будет) и «Заполняемый» (предмет, при обработке которого, нужно будет заполнить дополнительные реквизиты). Для примера выберем основной предмет. Откроется окно, в котором нужно вписать имя предмета и указать тип предмета, который будет обрабатываться (например, исходящий документ).
На этом всё. Таким образом можно создать очень полезные для компании процессы, ускоряя и упрощая работу сотрудникам. Убедитесь сами, записавшись на демонстрацию или попробовав демоверсию на нашем сайте.
В системе 1С: Документооборот существует понятие бизнес-событий (событий произошедших в программе). Для того чтобы можно было использовать этот механизм, необходимо его включить в настройках программы:
Для классификации таких событий есть специальный справочник «Виды бизнес событий» (сами же события система записывает в регистр сведений «Произошедшие бизнес-события»). Также важными частями механизма бизнес-событий являются детекторы бизнес-событий и обработчики бизнес-событий, но о них ниже.
Создадим вид для бизнес-события, которое будет формироваться при наступлении данного условия.
Теперь нужно добавить "Детектор бизнес-события". Детектор бизнес-события - это как раз та часть механизма, которая отслеживает выполнение условия и создает соответствующее событие в системе.
Добавим новый детектор в справочнике «Детекторы бизнес-событий». В его карточке укажем вид бизнес-события, который создали ранее. В поле «Выражение на встроенном языке» необходимо написать код, который проверяет, есть ли хотя бы один объект, для которого условие истинно. Если есть, то переменной «Результат» нужно присвоить значение Истина. В этом случае система создаст бизнес-событие с указанным видом.
ВАЖНО: Если не установлен флаг «Детектор включен», код детектора исполняться не будет!
В нашем случае нужен запрос, который проверяет, что есть документы с выполненным условием (к документу приложен файл, подписанный электронной подписью и по этому документу нет процессов обработки). Если такие документы есть — значит наше событие произошло. Таким образом событие будет сгенерировано, когда в системе есть один или несколько документов, для которых все условия выполнились, и по ним нужно стартовать процесс.
Код детектора:
ВидыДокументов = Новый Массив;
ВидыДокументов.Добавить(Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("Служебная записка", Истина));
Запрос = Новый Запрос;
"ВЫБРАТЬ ПЕРВЫЕ 1
| Справочник.ВнутренниеДокументы КАК ВнутренниеДокументы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Файлы КАК Файлы
| ПО ВнутренниеДокументы.Ссылка = Файлы.ВладелецФайла
| ЛЕВОЕ СОЕДИНЕНИЕ БизнесПроцесс.КомплексныйПроцесс.Предметы КАК КомплексныйПроцессПредметы
| ПО ВнутренниеДокументы.Ссылка = КомплексныйПроцессПредметы.Предмет
| КомплексныйПроцессПредметы.Предмет ЕСТЬ NULL
| И ВнутренниеДокументы.ВидДокумента В(&ВидыДокументов)
| И НЕ ВнутренниеДокументы.ПометкаУдаления
| И Файлы.ПодписанЭП = ИСТИНА
| И НЕ Файлы.ПометкаУдаления";
Если Не РезультатЗапроса.Пустой() Тогда
Далее необходимо выполнить обработку сформированных бизнес-событий. В нашем случае это запуск процессов по документам. Для обработки бизнес-события в программе используется справочник "Дополнительные обработчики-бизнес событий".
В нем также необходимо написать код на встроенном языке, который будет выполнять необходимые действия. В нашем случае фрагмент кода должен находить конкретные документы, для которых выполнились условия, и создавать для них процессы.
ВидыДокументов.Добавить(Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("Служебная записка", Истина));
Запрос = Новый Запрос;
| Справочник.ВнутренниеДокументы КАК ВнутренниеДокументы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Файлы КАК Файлы
| ПО ВнутренниеДокументы.Ссылка = Файлы.ВладелецФайла
| ЛЕВОЕ СОЕДИНЕНИЕ БизнесПроцесс.КомплексныйПроцесс.Предметы КАК КомплексныйПроцессПредметы
| ПО ВнутренниеДокументы.Ссылка = КомплексныйПроцессПредметы.Предмет
| КомплексныйПроцессПредметы.Предмет ЕСТЬ NULL
| И ВнутренниеДокументы.ВидДокумента В(&ВидыДокументов)
| И НЕ ВнутренниеДокументы.ПометкаУдаления
| И Файлы.ПодписанЭП = ИСТИНА
| И НЕ Файлы.ПометкаУдаления";
Если Не РезультатЗапроса.Пустой() Тогда
ШаблонПроцесса = Справочники.ШаблоныКомплексныхБизнесПроцессов.НайтиПоНаименованию("Обработка записок", Истина);
Пока Выборка.Следующий() Цикл
БизнесПроцессОбъект.ЗаполнитьПоШаблонуИПредмету(ШаблонПроцесса, Документ, Документ.Подготовил);
Если ПолучитьФункциональнуюОпцию("ИспользоватьФоновыйСтартПроцессов") Тогда
Обработчик бизнес-события и бизнес-событие необходимо связать между собой при помощи команды Подписки в панели навигации обработчика. В открывшемся списке нужно нажать Создать и указать ссылку на созданный ранее вид бизнес-события.
После этого необходимо проверить работу детектора и обработчика, если код написан без ошибок - новые события будут появляться и обрабатываться встроенным механизмом.
Отлаживать же механизм можно частями - проконтролировать появление новых событий можно, открыв регистр сведений «Произошедшие бизнес события» (все события механизм запишет сюда), срабатывание обработчика можно увидеть тут-же по появлению флага «Обработано», а саму правильность кода обработчика — по появлению запланированного результата (в нашем примерe - создан процесс по документу).
Для тестирования программы 1С:Документооборот вам достаточно заполнить форму, нажав на кнопку ниже.
Как в 1С:Документообороте поставить на паузу процесс до выполнения условия?
В статье используются следующие механизмы 1С:Документооборот КОРП версии 2.1.18.11: комплексный процесс в виде схемы, эскалации, этапы обработки документов.
Очень часто комплексный процесс (или ветку процесса) нужно поставить на паузу, пока не выполнится определенное условие. В данной статье показан один из способов реализации данного функционала.
Видео-урок "Как поставить на паузу процесс до выполнения условия" доступен в теме Бизнес-процессы видеокурса Самоучитель 1С:Документооборот для специалистов и администраторов.
Открываем демо версию 1С:Документооборот 8 КОРП под пользователем Администратор.
Открываем Виды документов в разделе НСИ.
Находим вид внутреннего документа Договор аренды оборудования. В нем установлена нужная нам настройка Использовать этапы обработки документа.
И обращаем внимание на этапы обработки документа, заданные у вида документа.
В шаблоне комплексного процесса (КП) сделаем два параллельных вложенных КП. В одной ветке у нас будут этапы 2-5, 8. В другой ветке 6 и 7, причем этап 7 должен начаться только после того, как в параллельной ветке завершится этап 5.
Переходим в раздел Управление процессами и открываем Шаблоны процессов.
Создаем новый комплексный процесс в виде схемы 1с документооборота.
На схему добавим две параллельные ветки (два вложенных комплексных процесса):
- Согласование и подписание договора.
- Получение и оплата счета.
Первая ветка содержит этапы 2, 3, 4, 5, 8.
Вторая ветка содержит этапы 6 и 7.
Однако этап 7 "Оплатить счет" надо запускать только после этапа 5 "Подписания договора" в параллельной ветке.
Для решения этой задачи создадим новую роль Робот. И сделаем промежуточный шаг на эту роль "Ожидание подписания договора".
Позже настроим правила эскалации по выполнению этой задачи, если договор подписан. Но пока вернемся в первую ветку и после шага подписания договора будем проставлять признак выволнения этапа 5 "Подписание у директора".
Чтобы из кода скрипта не искать этап по наименованию (а наименование этапа может со временем измениться), лучше использовать механизм локальных констант. Как их сделать рассказано в видеокурсе для специалистов и администраторов в теме Бизнес-события.
Также локальные константы уже реализованы одной из функций в продукте "Академическое гиперрасширение для 1С:Документооборота".
Мы воспользуемся расширением (его можно бесплатно тестировать 3 дня). Загрузим его на нашу базу и получим демо-лицензию.
После этого открываем локальные константы.
Создадим новую локальную константу ЭтапПодписатьУДиректора.
Далее нам нужно написать скрипт, который проставляет у документа, что этот этап пройден. В том же расширении имеется встроенный эмулятор скриптов. Воспользуемся им для написания скрипта.
Вставляем скрипт в эмулятор скриптов и меняем название константы на ЭтапПодписатьУДиректора. Выбираем любой запущенный комплексный процесс и проверяем, проставилось ли прохождение нашего этапа.
Пройденность этапа заполнилась скриптом. Полный текст скрипта можно взять в библиотеке скриптов. Этот скрипт входит в список тех скриптов, которые находятся в свободном доступе.
Док = Процесс.Предметы[ 0 ].Предмет ; Этап = lvv_ВызовСервера.lvv_ПолучитьЗначениеДопПараметра ( "ЭтапПодписатьУДиректора" ) ; Сообщить ( Этап ) ; НаборЗаписей = РегистрыСведений.ЭтапыОбработкиДокументов.СоздатьНаборЗаписей ( ) ; НаборЗаписей.Отбор.Документ.Установить ( Док ) ; НаборЗаписей.Отбор.Этап.Установить ( Этап ) ; НаборЗаписей.Прочитать ( ) ; Если НаборЗаписей.Количество ( ) = 0 Тогда Сообщить ( 0 ) ; НЗ = НаборЗаписей.Добавить ( ) ; НЗ.Документ = Док ; НЗ.Этап = Этап ; НЗ.ДатаПрохождения = ТекущаяДата ( ) ; НЗ.Пройден = Истина ; ИначеЕсли НаборЗаписей.Количество ( ) = 1 Тогда Сообщить ( 1 ) ; НЗ = НаборЗаписей[ 0 ] ; НЗ.Документ = Док ; НЗ.Этап = Этап ; НЗ.ДатаПрохождения = ТекущаяДата ( ) ; НЗ.Пройден = Истина ; КонецЕсли ; НаборЗаписей.Записать ( ) ;
Острой проблемой при работе документооборота стал повторный запуск комплексного процесса. Пользователи несколько раз запускали один и тот же комплексный процесс по документу, не убедившись, что этот же процесс уже запущен. В результате наступил хаос, все возмущались и недоумевали, почему один и тот же документ приходил на согласование и исполнение несколько раз.
Приступив к внедрению «1С Документооборота» на предприятии, я столкнулся с некоторыми проблемами и неудобствами в работе с данной программой:
Не блокируется повторный запуск комплексного процесса по документу, если предыдущий процесс не закончен.
Проблему повторного запуска процессов удалось победить дополнительной проверкой вновь создаваемого комплексного процесса.
Данная доработка не мешает дальнейшему обновлению конфигурации. Она была внедрена на версии 2.0.7 и по текущий релиз, 2.1.7 работает без замечаний.
Порядок внедрения данной доработки:
1. Создаем общий модуль "ДополнительныеПроверкиСервер", содержание модуля в загружаемом файле.
2. Создаем подписку на событие "ПередЗаписью" для "БизнесПроцессОбъект.КомплексныйПроцесс" с обработчиком "ДополнительныеПроверкиСервер.ПроверкаНовогоПроцесса"
Теперь программа будет блокировать создание дубликата комплесного процесса, если предудущий аналогичный процесс не завершен.
Дополнение к версии 1.2: Производиться проверка и блокировка повторного запуска процесса только по одному и тому же шаблону. Если в начале названия комплексного процесса есть знак "*", то проверка повторного запуска не производиться.
Читайте также: