Создает новый бизнес-процесс копированием существующего.
Синтаксис
Скопировать()Примеры платформы
Объект = ВыбБизнесПроцесс.Скопировать();Полное описание, параметры и ограничения
БизнесПроцессОбъект.<Имя бизнес-процесса>.Скопировать (BusinessProcessObject.<Business process name>.Copy)
БизнесПроцессОбъект.<Имя бизнес-процесса> (BusinessProcessObject.<Business process name>)
Скопировать (Copy)
Доступен, начиная с версии 8.0.
Синтаксис:
Скопировать()
Возвращаемое значение:
Тип: БизнесПроцессОбъект.<Имя бизнес-процесса>.
Описание:
Создает новый бизнес-процесс копированием существующего.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Примечание:
Использование метода не приводит к записи созданного объекта в базу данных.
Пример:
Объект = ВыбБизнесПроцесс.Скопировать();
См. также:
БизнесПроцессОбъект.<Имя бизнес-процесса>, событие ПриКопировании
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Скопировать комментарии, не клонируя исполненный маршрут
Получаем новые экземпляры процесса и задачи. Меняем их учебные комментарии и имя задачи, проверяя исходные значения и новое состояние копий.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.
В этой отдельной пустой конфигурации Учебная85 добавьте Задачи → УчебнаяЗадача: длина номера 9, тип Строка, автонумерация; наименование длиной 100. Добавьте реквизит Комментарий (Строка, 100), без проверки заполнения.
Добавьте Бизнес-процессы → УчебныйПроцесс: длина номера 9, тип Строка, автонумерация, реквизит Комментарий (Строка, 100), без проверки заполнения. В свойстве Задача выберите УчебнаяЗадача.
Карта маршрута: одна точка старта Старт → одна одиночная точка действия ПодготовитьКнигу → одна точка завершения Финиш. Соедините их стрелками; в представлении точки действия укажите Подготовить учебную книгу.
Адресацию задач, групповые/условные/вложенные точки и обработчики маршрута для этой задачи не добавляйте. Модули задачи и процесса, подписки и внешние действия должны быть пустыми. Обновите конфигурацию базы данных.
Все имена здесь относятся к новым учебным объектам, не к рабочей КА2/УНФ/УТ/БП. Каждый фрагмент запускайте отдельно на сервере в ВыполнитьПример() Экспорт общего модуля УчебныеЗадачи.
Если Метаданные.БизнесПроцессы.Найти("УчебныйПроцесс") = Неопределено
Или Метаданные.Задачи.Найти("УчебнаяЗадача") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебные процесс, задачу и карту маршрута";
КонецЕсли;
Процесс = БизнесПроцессы.УчебныйПроцесс.СоздатьБизнесПроцесс();
Задача = Задачи.УчебнаяЗадача.СоздатьЗадачу();
Процесс.Комментарий = "Подготовка трёх книг";
Задача.Наименование = "Подготовить учебную книгу";
Задача.Комментарий = "Первый учебный экземпляр";
КопияПроцесса = Процесс.Скопировать();
КопияЗадачи = Задача.Скопировать();
КопияПроцесса.Комментарий = "Отдельная учебная копия";
КопияЗадачи.Наименование = "Подготовить учебную тетрадь";
КопияЗадачи.Комментарий = "Второй учебный экземпляр";
Сообщить(Процесс.Комментарий = "Подготовка трёх книг");
Сообщить(Задача.Наименование = "Подготовить учебную книгу");
Сообщить(Задача.Комментарий = "Первый учебный экземпляр");
Сообщить(КопияПроцесса.ЭтоНовый());
Сообщить(КопияЗадачи.ЭтоНовый());
Сообщить(КопияПроцесса.Ссылка.Пустая());
Сообщить(КопияЗадачи.Ссылка.Пустая());Разбор по шагам
Комментарий — собственный реквизит, явно созданный в подготовке, не обязательное поле всех бизнес-процессов.
Скопировать возвращает новые экземпляры. Присваивание другого имени/комментария не меняет исходный объект.
Проверяем новое состояние и пустые ссылки копий; Записать отсутствует.
Урок не переносит историю исполнения, адресацию и выполненные задачи рабочего процесса.
Как проверить результат
Семь сравнений Истина. Исходные комментарии/имя сохранены, копии новые.
Новые строки в списках задач и процессов не появились.
Ожидаемый результат
Получены независимые учебные копии данных двух незаписанных объектов.
На что обратить внимание
Не используйте копирование как способ восстановить выполненный маршрут.
Обработчики ПриКопировании типовой конфигурации могут иначе заполнять данные; здесь их нет.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.