БизнесПроцессОбъект.<Имя бизнес-процесса>.Стартован

Свойства · Started

Тип: Булево. Содержит признак старта бизнес-процесса. Истина - стартован.

Полное описание, параметры и ограничения

БизнесПроцессОбъект.<Имя бизнес-процесса>.Стартован (BusinessProcessObject.<Business process name>.Started)

БизнесПроцессОбъект.<Имя бизнес-процесса> (BusinessProcessObject.<Business process name>)

Стартован (Started)

Доступен, начиная с версии 8.0.

Использование:
Чтение и запись.
Описание:
Тип: Булево.
Содержит признак старта бизнес-процесса.
Истина - стартован.
Доступность:

Сервер, толстый клиент, внешнее соединение.

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Различить шесть типов точек сложного маршрута

Находим условие, выбор, разделение, слияние, обработку и вложенный процесс по ссылкам точек. Подписи и геометрию не выдаём за выполнение.

Где и как запускать

Серверный фрагмент для отдельной Учебная85. Не модуль рабочей КА2/УНФ/УТ/БП; маршрут не запускается.

Подготовка

  1. Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.

  2. Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.

  3. Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.

  4. Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.

  5. Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.

  6. Только в отдельной пустой Учебная85 создайте задачу УчебнаяЗадача с номером Строка 9, автонумерацией и наименованием Строка 100. Создайте бизнес-процесс УчебныйСложныйПроцесс, номер Строка 9, автонумерация; его свойство Задача — УчебнаяЗадача.

  7. В редакторе карты создайте Старт → условие ПроверитьКоличество. Выход Да соедините с выбором варианта СпособПолучения, выход Нет — с завершением Финиш. У выбора создайте ровно два варианта Самовывоз и Доставка; оба соедините с разделением ПодготовитьПараллельно.

  8. После разделения нарисуйте две параллельные точки действия ПодготовитьКнигу и СогласоватьАдрес. Обе соедините со слиянием ДождатьсяПодготовки. После него: обработка ПересчитатьИтоги → вложенный бизнес-процесс ВыполнитьВложенный → завершение Финиш.

  9. Расположите точки без перекрытия, дайте всем читаемые исходные подписи. Модули процесса/задачи и обработчики точек оставьте пустыми, обновите конфигурацию базы данных. Это учебный чертёж для исследования API, не готовый исполняемый процесс: условия, варианты, адресация и создание вложенного процесса не реализованы.

  10. Каждый фрагмент запускайте отдельно на сервере в ВыполнитьПример() Экспорт общего модуля УчебныеЗадачи. Он создаёт незаписанный экземпляр и работает с картой в памяти; Записать и Старт не вызываются.

Если Метаданные.БизнесПроцессы.Найти("УчебныйСложныйПроцесс") = Неопределено
    Или Метаданные.Задачи.Найти("УчебнаяЗадача") = Неопределено Тогда
    ВызватьИсключение "Сначала создайте собственный сложный маршрут и задачу";
КонецЕсли;
Процесс = БизнесПроцессы.УчебныйСложныйПроцесс.СоздатьБизнесПроцесс();
Схема = Процесс.ПолучитьКартуМаршрута();
Если ТипЗнч(Схема) <> Тип("ГрафическаяСхема") Тогда
    ВызватьИсключение "Не получена собственная карта";
КонецЕсли;
Условие = Схема.ЭлементыГрафическойСхемы.Найти(БизнесПроцессы.УчебныйСложныйПроцесс.ТочкиМаршрута.ПроверитьКоличество);
Если Условие = Неопределено Тогда
    ВызватьИсключение "Отсутствует собственная точка ПроверитьКоличество";
КонецЕсли;
Если ТипЗнч(Условие) <> Тип("ЭлементГрафическойСхемыУсловие") Тогда
    ВызватьИсключение "У точки ПроверитьКоличество другой тип";
КонецЕсли;
Выбор = Схема.ЭлементыГрафическойСхемы.Найти(БизнесПроцессы.УчебныйСложныйПроцесс.ТочкиМаршрута.СпособПолучения);
Если Выбор = Неопределено Тогда
    ВызватьИсключение "Отсутствует собственная точка СпособПолучения";
КонецЕсли;
Если ТипЗнч(Выбор) <> Тип("ЭлементГрафическойСхемыВыборВарианта") Тогда
    ВызватьИсключение "У точки СпособПолучения другой тип";
КонецЕсли;
Разделение = Схема.ЭлементыГрафическойСхемы.Найти(БизнесПроцессы.УчебныйСложныйПроцесс.ТочкиМаршрута.ПодготовитьПараллельно);
Если Разделение = Неопределено Тогда
    ВызватьИсключение "Отсутствует собственная точка ПодготовитьПараллельно";
КонецЕсли;
Если ТипЗнч(Разделение) <> Тип("ЭлементГрафическойСхемыРазделение") Тогда
    ВызватьИсключение "У точки ПодготовитьПараллельно другой тип";
КонецЕсли;
Слияние = Схема.ЭлементыГрафическойСхемы.Найти(БизнесПроцессы.УчебныйСложныйПроцесс.ТочкиМаршрута.ДождатьсяПодготовки);
Если Слияние = Неопределено Тогда
    ВызватьИсключение "Отсутствует собственная точка ДождатьсяПодготовки";
КонецЕсли;
Если ТипЗнч(Слияние) <> Тип("ЭлементГрафическойСхемыСлияние") Тогда
    ВызватьИсключение "У точки ДождатьсяПодготовки другой тип";
КонецЕсли;
Обработка = Схема.ЭлементыГрафическойСхемы.Найти(БизнесПроцессы.УчебныйСложныйПроцесс.ТочкиМаршрута.ПересчитатьИтоги);
Если Обработка = Неопределено Тогда
    ВызватьИсключение "Отсутствует собственная точка ПересчитатьИтоги";
КонецЕсли;
Если ТипЗнч(Обработка) <> Тип("ЭлементГрафическойСхемыОбработка") Тогда
    ВызватьИсключение "У точки ПересчитатьИтоги другой тип";
КонецЕсли;
Вложенный = Схема.ЭлементыГрафическойСхемы.Найти(БизнесПроцессы.УчебныйСложныйПроцесс.ТочкиМаршрута.ВыполнитьВложенный);
Если Вложенный = Неопределено Тогда
    ВызватьИсключение "Отсутствует собственная точка ВыполнитьВложенный";
КонецЕсли;
Если ТипЗнч(Вложенный) <> Тип("ЭлементГрафическойСхемыВложенныйБизнесПроцесс") Тогда
    ВызватьИсключение "У точки ВыполнитьВложенный другой тип";
КонецЕсли;
Точки = Новый Массив;
Точки.Добавить(Условие);
Точки.Добавить(Выбор);
Точки.Добавить(Разделение);
Точки.Добавить(Слияние);
Точки.Добавить(Обработка);
Точки.Добавить(Вложенный);
Для Каждого Точка Из Точки Цикл
    Точка.Наименование = "Учебная точка: " + Точка.Имя;
    Точка.Подсказка = "Карта в памяти, без запуска и создания задач";
    Точка.Гиперссылка = Ложь;
    Сообщить(Точка.Наименование = "Учебная точка: " + Точка.Имя);
    Сообщить(Точка.Ширина > 0 И Точка.Высота > 0);
    Сообщить(СтрШаблон("%1; ссылка %2; лево %3; верх %4; ширина %5; высота %6", ТипЗнч(Точка), Точка.Значение, Точка.Лево, Точка.Верх, Точка.Ширина, Точка.Высота));
КонецЦикла;
Сообщить(Процесс.ЭтоНовый());
Сообщить(Не Процесс.Стартован);
Сообщить(Процесс.Ссылка.Пустая());

Разбор по шагам

  1. Поиск каждой точки выполняется по ссылке маршрута. Отсутствие точки и несовпадение типа проверяются до чтения свойств.

  2. Условие выбирает логический выход Да/Нет, выбор варианта — один из именованных вариантов. Это разные типы элементов.

  3. Разделение предназначено для параллельных ветвей, слияние — для их объединения; выбранный вариант не равен параллельному запуску обеих ветвей.

  4. Обработка изображает программный этап, вложенный процесс — отдельный подпроцесс. Подпись не выполняет их обработчики.

  5. Имя, Значение и четыре геометрических поля только читаются. Геометрию меняют в редакторе, не присваиванием readonly-свойств.

  6. Три заключительные проверки подтверждают состояние собственного незаписанного экземпляра, не рабочие задачи.

Как проверить результат

  1. На каждую из шести точек два Истина и строка диагностики; затем три Истина о новом процессе.

  2. Имена и типы должны соответствовать вашему собственному чертежу. Положительные размеры не доказывают отсутствие перекрытий.

Ожидаемый результат

Шесть различных точек привязаны к реальному учебному маршруту, без его исполнения.

На что обратить внимание

  1. Для исполняемого процесса ещё нужны обработчики условия/выбора, адресация задач и логика вложенного процесса.

  2. Не запускайте этот учебный чертёж как готовый рабочий процесс.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Перечитать свои временные процесс и задачу, не запуская маршрут

В отменяемой транзакции записываем собственную пару, читаем версии данных и отбросим только несохранённые комментарии. Запись процесса не равна его старту.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.

  2. Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.

  3. Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.

  4. Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.

  5. Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.

  6. В этой отдельной пустой конфигурации Учебная85 добавьте Задачи → УчебнаяЗадача: длина номера 9, тип Строка, автонумерация; наименование длиной 100. Добавьте реквизит Комментарий (Строка, 100), без проверки заполнения.

  7. Добавьте Бизнес-процессы → УчебныйПроцесс: длина номера 9, тип Строка, автонумерация, реквизит Комментарий (Строка, 100), без проверки заполнения. В свойстве Задача выберите УчебнаяЗадача.

  8. Карта маршрута: одна точка старта Старт → одна одиночная точка действия ПодготовитьКнигу → одна точка завершения Финиш. Соедините их стрелками; в представлении точки действия укажите Подготовить учебную книгу.

  9. Адресацию задач, групповые/условные/вложенные точки и обработчики маршрута для этой задачи не добавляйте. Модули задачи и процесса, подписки и внешние действия должны быть пустыми. Обновите конфигурацию базы данных.

  10. Все имена здесь относятся к новым учебным объектам, не к рабочей КА2/УНФ/УТ/БП. Каждый фрагмент запускайте отдельно на сервере в ВыполнитьПример() Экспорт общего модуля УчебныеЗадачи.

Если Метаданные.БизнесПроцессы.Найти("УчебныйПроцесс") = Неопределено
    Или Метаданные.Задачи.Найти("УчебнаяЗадача") = Неопределено Тогда
    ВызватьИсключение "Сначала создайте учебные процесс, задачу и карту маршрута";
КонецЕсли;
Если ТранзакцияАктивна() Тогда
    ВызватьИсключение "Нельзя запускать внутри чужой транзакции";
КонецЕсли;
СсылкаПроцесса = БизнесПроцессы.УчебныйПроцесс.ПолучитьСсылку(Новый УникальныйИдентификатор);
НачатьТранзакцию();
Попытка
    Процесс = БизнесПроцессы.УчебныйПроцесс.СоздатьБизнесПроцесс();
    Процесс.УстановитьСсылкуНового(СсылкаПроцесса);
    Процесс.Дата = Дата(2026, 10, 3, 10, 0, 0);
    Процесс.Комментарий = "Записанный учебный процесс";
    Процесс.Записать();
    СсылкаЗадачи = Задачи.УчебнаяЗадача.ПолучитьСсылку(Новый УникальныйИдентификатор);
    Задача = Задачи.УчебнаяЗадача.СоздатьЗадачу();
    Задача.УстановитьСсылкуНового(СсылкаЗадачи);
    Задача.Наименование = "Самостоятельная учебная задача";
    Задача.Дата = Процесс.Дата;
    Задача.БизнесПроцесс = СсылкаПроцесса;
    Задача.Комментарий = "Записанная учебная задача";
    Задача.Записать();
    Процесс.Комментарий = "Несохранённая правка процесса";
    Задача.Комментарий = "Несохранённая правка задачи";
    Сообщить(Процесс.Модифицированность());
    Сообщить(Задача.Модифицированность());
    Процесс.Прочитать();
    Задача.Прочитать();
    Сообщить(Процесс.Комментарий = "Записанный учебный процесс");
    Сообщить(Задача.Комментарий = "Записанная учебная задача");
    Сообщить(Не Процесс.Модифицированность());
    Сообщить(Не Задача.Модифицированность());
    Сообщить(ТипЗнч(Процесс.ВерсияДанных) = Тип("Строка"));
    Сообщить(ТипЗнч(Задача.ВерсияДанных) = Тип("Строка"));
    Сообщить(Не Процесс.Стартован);
    Сообщить(Не Задача.Выполнена);
    ОтменитьТранзакцию();
Исключение
    Если ТранзакцияАктивна() Тогда
        ОтменитьТранзакцию();
    КонецЕсли;
    ВызватьИсключение;
КонецПопытки;
Сообщить(Не ТранзакцияАктивна());
Сообщить(СсылкаПроцесса.ПолучитьОбъект() = Неопределено);
Сообщить(СсылкаЗадачи.ПолучитьОбъект() = Неопределено);

Разбор по шагам

  1. Запись разрешена только в изолированной новой Учебная85 с пустыми модулями/подписками. Проверяем отсутствие чужой транзакции.

  2. Каждому новому объекту назначена собственная UUID-ссылка. Процесс записывается до связанной учебной задачи.

  3. Меняем комментарии только в памяти и вызываем Прочитать. Записанные комментарии восстанавливаются, локальная модифицированность сбрасывается.

  4. ВерсияДанных — непрозрачная строка; не форматируем её как дату или номер конфигурации.

  5. Все записи откатываем. Ни Старт, ни ВыполнитьЗадачу не вызывались.

Как проверить результат

  1. Десять сравнений в транзакции Истина; после неё ещё три: транзакция закрыта, обе собственные записи отсутствуют.

  2. В учебных списках не осталось созданной пары.

Ожидаемый результат

Проверены запись, чтение и откат двух собственных объектов без исполнения маршрута.

На что обратить внимание

  1. Самостоятельное ручное связывание показано для упражнения чтения, не для проектирования рабочего маршрута.

  2. Откат базы не отменяет внешние действия обработчиков. Поэтому рабочую конфигурацию здесь использовать нельзя.

  3. После отката состояние объекта в памяти не доказывает наличие строки в базе: проверяем по ссылке.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.