А простое копирование сервиса диаграммы Вы не пробовали? потом в скопированом сервисе убираем или добавляем нужные элементы...
или у Вас БПМ-онлайн? или немного другая задача?
П.С. сорри, с утра туплю:smile: уже сама увидела, что BPM-online..
Обычную схему напрямую скопировать нельзя, единственный доступный способ на текущий момент - выгрузить схему в файл, подправить в нем название и идентификатор, и загрузить снова. Настоятельно рекомендуется пробовать это делать на тестовой базе данных.
Как написала Анна, в файле метаданных процесса достаточно поменять имя процесса (поле "А2" в начале файла) и его уникальный UId (это должен быть GUID). Хочу только подчеркнуть, что UId процесса в файле встречается много раз, так что менять его лучше всего в режиме "Поиск и замена" в каком-нибудь текстовом редакторе. Иначе рискуете получить не открывающуюся в дизайнере процессов схему.
Спасибо,
Только что протестировал, все хорошо работает.
И вопросы на засыпку
1. Получается также можно скопировать и страницы?
2. После создания копии проблем с оригиналом не будет? Например с уникальными гуидами элементов процесса
Как правильно перенести разработки на тестовую базу?
Как у нас сейчас реализована архитектура:
1. База разработки
2. Тестовая база
3. Боевая
Доработки делаются на базе разработки, а потом админы каждую неделю обновляет тестовую(перенос разработки - на тест).
Но бывает, когда надо срочно перенести разработку.
Раньше делали экспорт - импорт - публикация. Но это засоряет сервер приложении при публикации и в таблице "SysSchemaInSolution" создаются 2 копии этого элемента (1- е при импорте, 2-е при публикации)
Потом стали публикавать через VS, чтобы темпы не засоряли сервер. Но изменения происходят после перезагрузки сервера приложении
Как правильно перенести изменения не затрагивая работающих пользователей???
"AlikBory" написал:
2. После создания копии проблем с оригиналом не будет? Например с уникальными гуидами элементов процесса
Если Вы не меняете оригинальный процесс, то проблем с ним не будет.
Если ошибетесь с подменой GUID-ов в копии, то можете получить копию, которую не сможет открыть Дизайнер процессов, или же она откроется, но будет иметь некорректные элементы или связи. Оригинальный процесс при этом не пострадает.
Менять в копии процесса GUID-ы элементов не обязательно, т.к. в текущей реализации важна их уникальность в пределах одной схемы процесса. Два разных процесса могут иметь элементы с одинаковыми Id. Учитывая высокую вероятность наделать ошибок при тотальной замене GUID-ов по всей схеме, я бы настоятельно не рекомендовал это делать :smile:
Как правильно перенести разработки на тестовую базу?
Как правильно перенести изменения не затрагивая работающих пользователей???
Штатным режимом переноса изменений как раз является "экспорт-импорт-публикация". При такой операции новые версии схем подхватываются системой незаметно для других пользователей.
В таблице "SysSchemaInSolution" хранятся все версии всех схем. В результате имеется возможность откатить некорректные изменения.
Если количество старых версий схем в "SysSchemaInSolution" для Вас критично, старые версии можно чистить из этой таблицы. Номер версии хранится в колонке Version, чем больше число - тем новее версия. Главное - чтобы для каждой конфигурации оставалась хотя бы одна запись для каждой схемы.