Имя: Пароль:
1C
 
Бизнес процесс "Исполнение" в конфигурации Документооборот
0 Tolstiy Beremenniy
 
22.11.18
12:48
Есть документ Заявка.
Заявка создается постановщиком и адресуется Адресату.
Адресат адресует заявку Исполнителю и создает бизнес процесс
по кнопке командной панели формы документа.

Исполнитель видит бизнес процесс в списке мои задачи.
И исполняет его по кнопке исполнить. В результате чего
меняется статус у документа заявка, на завершена.

Нормальная ли такая реализация? Встраивание в типовой бизнес процесс?
То есть адресация исполнителю и его исполнение.

Вопрос возник. так как это ещё не очень все отлажено и
протестировано. И так же посмотрел карту БИ Исполнение.
Там много разных блоков и ветвлений!!!

Процедура создание БП с формы документа:


//
&НаСервере
Процедура СоздатьБПНаСервере()
    //
    БП                                           = БизнесПроцессы.Исполнение.СоздатьБизнесПроцесс();
    БП.Дата                                      = ТекущаяДата();
    //
    БП.Важность                                  = Перечисления.ВариантыВажностиЗадачи.Обычная;
    БП.ВариантИсполнения                         = Перечисления.ВариантыМаршрутизацииЗадач.Последовательно;
    БП.ВариантУстановкиСрокаОбработкиРезультатов = Перечисления.ВариантыУстановкиСрокаИсполнения.ОтносительныйСрок;
    //
    БП.Наименование                              = "Заявка управлению информатизации и связи";
    БП.Описание                                  = Объект.ОписаниеЗаявки;
    //
    // ТАБЛИЧНАЯ ЧАСТЬ ПРЕДМЕТЫ
    СтрокаПредметы                               = БП.Предметы.Добавить();
    СтрокаПредметы.ИмяПредмета                   = Справочники.ИменаПредметов.НайтиПоНаименованию("LS_ЗаявкаУИиС");
    //СтрокаПредметы.ИсходноеИмяПредмета           = Справочники.ИменаПредметов.НайтиПоНаименованию("LS_ЗаявкаУИиС");
    //СтрокаПредметы.ИмяПредметаОснование =
    //СтрокаПредметы.Описание                      = СТРОКА(Объект.Ссылка);
    СтрокаПредметы.Предмет                       = Объект.Ссылка;
    СтрокаПредметы.РольПредмета                  = Перечисления.РолиПредметов.Вспомогательный;
    // ТАБЛИЧНАЯ ЧАСТЬ ИСПОЛНИТЕЛИ
    Если ЗначениеЗаполнено(Объект.Адресат) И Не ЗначениеЗаполнено(Объект.Исполнитель) Тогда
        СтрокаИсполнители                       = БП.Исполнители.Добавить();
        СтрокаИсполнители.Исполнитель         = Объект.Адресат;
        СтрокаИсполнители.ПорядокИсполнения   = Перечисления.ПорядокВыполненияЗадач.ВместеСПредыдущим;
        //
        СтрокаИсполнители.Пройден             = Ложь;
        СтрокаИсполнители.Ответственный       = Ложь;
        //СтрокаИсполнители.СрокИсполненияИстек = Ложь;
        //СтрокаИсполнители.Шаг                 = 1;
        //
        //СтрокаИсполнители.СрокИсполнения    = Объект.Дата;
        // - //
        БП.Проверяющий                          = Объект.Подготовил;
        БП.Контролер                            = Объект.Подготовил;
    ИначеЕсли ЗначениеЗаполнено(Объект.Адресат) И ЗначениеЗаполнено(Объект.Исполнитель) Тогда    
        СтрокаИсполнители                       = БП.Исполнители.Добавить();
        СтрокаИсполнители.Исполнитель         = Объект.Исполнитель;
        СтрокаИсполнители.ПорядокИсполнения   = Перечисления.ПорядокВыполненияЗадач.ВместеСПредыдущим;
        //
        СтрокаИсполнители.Пройден             = Ложь;
        СтрокаИсполнители.Ответственный       = Ложь;
        //СтрокаИсполнители.СрокИсполненияИстек = Ложь;
        //СтрокаИсполнители.Шаг                 = 2;
        //
        //СтрокаИсполнители.СрокИсполнения    = Объект.Дата;
        // - //
        БП.Проверяющий                          = Объект.Адресат;
        БП.Контролер                            = Объект.Подготовил;
    КонецЕсли;
    // ТАБЛИЧНАЯ ЧАСТЬ ПРЕДМЕТЫ ЗАДАЧ
    СтрокаПредметыЗадач               = БП.ПредметыЗадач.Добавить();
    СтрокаПредметыЗадач.ИмяПредмета   = Справочники.ИменаПредметов.НайтиПоНаименованию("ЗаявкаУИиС");
    СтрокаПредметыЗадач.ТочкаМаршрута = БизнесПроцессы.Исполнение.ТочкиМаршрута.ОтветственноеИсполнение;
    //
    СтрокаПредметыЗадач               = БП.ПредметыЗадач.Добавить();
    СтрокаПредметыЗадач.ИмяПредмета   = Справочники.ИменаПредметов.НайтиПоНаименованию("ЗаявкаУИиС");
    СтрокаПредметыЗадач.ТочкаМаршрута = БизнесПроцессы.Исполнение.ТочкиМаршрута.Исполнить;
    //
    СтрокаПредметыЗадач               = БП.ПредметыЗадач.Добавить();
    СтрокаПредметыЗадач.ИмяПредмета   = Справочники.ИменаПредметов.НайтиПоНаименованию("ЗаявкаУИиС");
    СтрокаПредметыЗадач.ТочкаМаршрута = БизнесПроцессы.Исполнение.ТочкиМаршрута.Контролировать;
    //
    СтрокаПредметыЗадач               = БП.ПредметыЗадач.Добавить();
    СтрокаПредметыЗадач.ИмяПредмета   = Справочники.ИменаПредметов.НайтиПоНаименованию("ЗаявкаУИиС");
    СтрокаПредметыЗадач.ТочкаМаршрута = БизнесПроцессы.Исполнение.ТочкиМаршрута.Проверить;
    //
    
    БП.СрокОбработкиРезультатов       = Объект.Дата;
    БП.КоличествоИтераций             = 1;
    //
    БП.Автор                          = ПараметрыСеанса.ТекущийПользователь;
    БП.Записать();
    БП.Старт();
    //
    Объект.БП = БП.Ссылка;
    Записать();
КонецПроцедуры
//