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

Автоматический запуск бизнес-процесса

Автор Svetok, 19 апр 2012, 16:47

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

Svetok

Добрый день)
как настроить автоматический запуск бизнес-процесса?
мне нужно чтобы при создание внутреннего документа с видом "приказ о распоряжении", автоматический запускался шаблонный бизнес-процесс.
подскажите пожалуйста, как можно решить данную задачу, спасибо)

Vit1501

У бизнес процесса есть метод Старт()
Т. е. можно например в обработчике события призаписи вашего документа создавать новый  бизнеспроцесс и вызываеть его метод Старт()

Svetok

а можно чутка подробней?
т.е. дописать в обработчике условие?
и если да то ка кпримерно оно будет выглядить?

Vit1501

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

Svetok

Спасибо большое)
и еще маленький вопросик, а можно сделать так чтобы он по шаблону заполнился?

Vit1501

Что значит заполниь по шаблону? у бизнес процесса есть реквизиты, если их имена и тип совпадают с именами и типами реквизита вашего документа , то можно воспользоваться процедурой ЗаполнитьЗначениеСвойств(), или можно в модуле бизнес процесса использовать обработчик ОбработкаЗаполнения() и при записи документа тогда не руками заполнять нужные реквизиты а вызывать метод бизнес процесса Заполнить(). Правда второй вариант по количеству кода получится такойже как и в самом первом варианте.

Svetok

просто бизнес-процесс составной...вот в чем соль то(
там идет согласование, утверждение, регистрация, исполнение

Svetok

а что конкретно в скобочках указать?

Svetok

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

Vit1501

а шаблон что из себя представляет? таблицу значений? структуру? или что?

Теги:

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

Рейтинг@Mail.ru

Поиск