Помогите, пожалуйста, справиться с бизнес-процессом. В УТ 10.3.10.4 добавлен бизнес-процесс, который использует «ЗадачиПользователя». Создана карта маршрута: точка входа, одна за другой 3 точки действия, точка завершения. При старте БП первая точка действия становится активной и создается задача. При выполнении задачи на схеме первая точка действия становится заштрихованной, т.е. считается пройденной, но следующая активной не становится.
#1 by Irbis
А задача для следующей точки сгенерирована?
#2 by acsent
вручную задачи выполняешь?
#3 by Dem1urg
Задачи для точки создаются автоматом или ты переопределил событие? Если переопределил проверь создается ли задача
#4 by BlueBird
Задача не сгенерирована
#5 by BlueBird
при выполнении задачи заполняются реквизиты ДатаВыполнения, Исполнитель
#6 by Irbis
Так генерируй!
#7 by BlueBird
задачи создаются автоматом. Если для этого же бизнес-процесса создать новый объект «Задача», БП переходит по точкам и создает все задачи. А с типовой «ЗадачиПользователя» не переходит :(.
Бизнес-процесс «Привлечение клиента» в 1С
#8 by BlueBird
хочется использовать стандартную обработку, чтоб сами генерировались
#9 by GROOVY
НЕ НАДО устанавливать у задачи галку «Выполнена».
#10 by GROOVY
Надо жмякать на кнопку. Или использовать метод «Выполнить задачу».
#11 by BlueBird
Не знаю, в этом ли было дело (т.к. не помню, что я раньше нажимала), но, после изменения обратно на «Задачи пользователя», БП стал продвигаться дальше первой точки действия. Спасибо
Источник: avprog.ru
1с документооборот комплексный процесс не переходит на следующий шаг
Как запустить автоматический старт процесса по документу при наступлении определенных условий?
В системе 1С: Документооборот существует понятие бизнес-событий (событий произошедших в программе). Для того чтобы можно было использовать этот механизм, необходимо его включить в настройках программы:
Для классификации таких событий есть специальный справочник «Виды бизнес событий» (сами же события система записывает в регистр сведений «Произошедшие бизнес-события»). Также важными частями механизма бизнес-событий являются детекторы бизнес-событий и обработчики бизнес-событий, но о них ниже.
Создадим вид для бизнес-события, которое будет формироваться при наступлении данного условия.
Теперь нужно добавить «Детектор бизнес-события». Детектор бизнес-события — это как раз та часть механизма, которая отслеживает выполнение условия и создает соответствующее событие в системе.
Почему бизнес-процессы «не работают» — разбираемся за 6 минут
Добавим новый детектор в справочнике «Детекторы бизнес-событий». В его карточке укажем вид бизнес-события, который создали ранее. В поле «Выражение на встроенном языке» необходимо написать код, который проверяет, есть ли хотя бы один объект, для которого условие истинно. Если есть, то переменной «Результат» нужно присвоить значение Истина. В этом случае система создаст бизнес-событие с указанным видом.
ВАЖНО: Если не установлен флаг «Детектор включен», код детектора исполняться не будет!
В нашем случае нужен запрос, который проверяет, что есть документы с выполненным условием (к документу приложен файл, подписанный электронной подписью и по этому документу нет процессов обработки). Если такие документы есть — значит наше событие произошло. Таким образом событие будет сгенерировано, когда в системе есть один или несколько документов, для которых все условия выполнились, и по ним нужно стартовать процесс.
Код детектора:
ВидыДокументов = Новый Массив;
ВидыДокументов.Добавить(Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию(«Служебная записка», Истина));
Запрос = Новый Запрос;
«ВЫБРАТЬ ПЕРВЫЕ 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С:Документооборота».
Как в 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С:Документооборота».