Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 02:11

Бизнес-процесс не двигается по этапам

Автор lcnw, 03 мая 2016, 18:19

0 Пользователей и 1 гость просматривают эту тему.

lcnw

В "1С: Бухгалтерия Предприятия 8.3" делаю Бизнес-процесс, в котором создается некий договор, указывается поэтапная последовательность, в которой пользователи должны согласовывать документ. В табличной части мы указываем номер этапа, и пользователей, которым будут созданы задачи на этом этапе.

Проблема в том, что БП работает только на первом этапе. На первом этапе создается либо одна задача, если один пользователь, либо несколько, если несколько пользователей указано на первом этапе. А на следующие этапы БП не переходит, и завершается сразу после выполнения всех задач первого этапа. Как это исправить?

Вот код модуля Бизнес-процесса, карта маршрута состоит из трех элементов - Старт, Точка Действия - "Созание Задач", и Завершение.

Процедура СозданиеЗадачПередСозданиемЗадач(ТочкаМаршрутаБизнесПроцесса, ФормируемыеЗадачи, СтандартнаяОбработка)
    Для Каждого Элемент Из Согласованность Цикл
        Если Элемент.Этап=ТекущийЭтап Тогда
            НоваяЗадача=Задачи.ЗадачаДляКурсовой.СоздатьЗадачу();
            НоваяЗадача.БизнесПроцесс=ЭтотОбъект.Ссылка;
            НоваяЗадача.ТочкаМаршрута=БизнесПроцессы.БПКурсовой.ТочкиМаршрута.СозданиеЗадач;
            НоваяЗадача.Наименование="Согласование "+Элемент.Согласователь;
            НоваяЗадача.Ответственный=Элемент.Согласователь;
            НоваяЗадача.Этап=ТекущийЭтап;
            НоваяЗадача.Дата=ТекущаяДата();
            НоваяЗадача.Записать();
            ФормируемыеЗадачи.Добавить(НоваяЗадача);
        КонецЕсли;
    КонецЦикла;
    Записать();
    СтандартнаяОбработка=Ложь;
КонецПроцедуры

Процедура СтартПередСтартом(ТочкаМаршрутаБизнесПроцесса, Отказ)
    Сообщить("Старт БП!");
    Согласованно=Перечисления.СтатусДоговора.НаСогласовании;
    ТекущийЭтап=1;
КонецПроцедуры

Процедура ЗавершениеПриЗавершении(ТочкаМаршрутаБизнесПроцесса, Отказ)       
    Дгвр=Справочники.ДоговорДляСогласования.НайтиПоНаименованию(Договор).ПолучитьОбъект();
    Если Согласованно=Перечисления.СтатусДоговора.Согласован Тогда
        Дгвр.Согласован=Перечисления.СтатусДоговора.Согласован;
    Иначе
        Дгвр.Согласован=Перечисления.СтатусДоговора.Отклонен;
    КонецЕсли;
    Дгвр.Записать();
КонецПроцедуры


vitasw

Цитата: lcnw от 03 мая 2016, 18:19карта маршрута состоит из трех элементов - Старт, Точка Действия - "Созание Задач", и Завершение.
Цитата: lcnw от 03 мая 2016, 18:19номер этапа, и пользователей, которым будут созданы задачи на этом этапе.

карта маршрута и ваша хотелка не совпадают. задачи создаются только по карте БП.

lcnw

Цитата: vitasw от 04 мая 2016, 06:39
карта маршрута и ваша хотелка не совпадают. задачи создаются только по карте БП.
Имеется в виду карта маршрута самого Бизнес-процесса

vitasw

Так  о том же. Согласно карте вашего БП у вас только одна задача и сразу завершение. то что вы там программно ваяете - это народное творчество и к текущему БП дела не имеет.

lcnw

Цитата: vitasw от 04 мая 2016, 10:33
Так  о том же. Согласно карте вашего БП у вас только одна задача и сразу завершение. то что вы там программно ваяете - это народное творчество и к текущему БП дела не имеет.
Мне нужно добавить больше точек действия в карту, для моих задач? Что именно нужно исправить в данном случае?

vitasw

Карту маршрута конечно. Каждая задача вашего БП отражается картой. нет карты = нет задачи.

lcnw

Цитата: vitasw от 04 мая 2016, 12:42
Карту маршрута конечно. Каждая задача вашего БП отражается картой. нет карты = нет задачи.
Извините заранее за глупый вопрос, но мне надо получше в этом разобраться. Вот у нас есть Бизнес-процесс, который должен создавать задачи пользователям. Когда мы запускаем Бизнес-Процесс, он идет по карте маршрута, доходит до точки действия, в которой должен создавать задачи, создает их, ждет их выполнения пользователями, и завершается. Я правильно логику работы понимаю?
В точке действия Бизнес-Процесса мы можем создать только одну задачу или неограниченное?

Теги:

Похожие темы (1)

Рейтинг@Mail.ru

Поиск