<< Click to Display Table of Contents >> Разработка > Элементы разработки > Разработка задач и заданий > Настройка схемы задачи Изменение схемы |
В правом верхнем углу редактора схем отображается выпадающий список для работы с версиями. При создании типа задачи у схемы одна версия (V1), и на ней отображаются только элементы начала и завершения схемы.
Первую версию схемы можно редактировать, но нельзя удалить.
При перекрытии типа задачи в узле «Схема» отображается базовая версия схемы – это последняя версия схемы в базовом слое. В списке версий она отмечена как base.
Базовую версию схемы нельзя редактировать и удалять. Чтобы доработать схему, нужно создать новую версию схемы. В нее можно вносить любые изменения. Чтобы идентификаторы блоков при обновлении схемы не пересекались, в перекрытых типах задач идентификатор блока состоит из номера блока и названия решения, например, 42BusinessTrips.
При первом перекрытии у блоков, унаследованных от базовой версии схемы, идентификатор состоит только из номера. При следующих перекрытиях на схеме могут быть блоки с идентификаторами, которые состоят только из номера, и с идентификаторами, состоящими из номера и названия решения. Например, разработчик в своем решении перекрыл тип задачи из базового решения Directum RX, создал версию схемы и добавил блоки. После чего передал свое решение в качестве базового разработчику в другую компанию. Второй разработчик после перекрытия типа задачи видит на схеме блоки с номерами и блоки с номерами и названием решения первого разработчика. Блоки, которые добавит второй разработчик, будут с номером и именем его решения. Таким образом по идентификатору можно понять, какие блоки добавлены на вашем слое.
Когда нужно создавать версию схемы
До публикации в продуктивную систему можно как угодно изменять последнюю версию схемы в новой и перекрытой задаче: добавлять и удалять блоки, создавать ветки, изменять свойства блоков и обработчики событий. После публикации в продуктивную систему, чтобы доработать обработчики событий, нужно создать новую версию схемы.
ВАЖНО. Если не создать версию задачи и внести в обработчики событий изменения, то после публикации в продуктивную систему ранее стартованные задачи могут выполняться с ошибками.
Чтобы создать версию, в выпадающем списке версий нажмите на ссылку Создать версию. Перед созданием учитывайте следующее:
•в перекрытии не получится создать версию схемы, если в родительском типе задачи в параметрах установлен флажок Запретить создавать версии схемы задачи в перекрытиях;
•каждая новая версия создается на основе предыдущей. То есть третья версия создается на основе второй, ее нельзя создать на основе первой версии;
•редактировать можно только последнюю версию схемы. Предыдущие версии доступны для просмотра и остаются для поддержки работоспособности уже существующих стартованных задач;
•обработчики событий блоков схемы не версионируются и хранятся в пределах слоя. Код обработчика, который должен выполняться в определенной версии схемы, необходимо заключать в условия:
if (_obj.GetStartedSchemeVersion() == LayerSchemeVersions.V1)
{
//...
}
if (_obj.GetStartedSchemeVersion() == LayerSchemeVersions.V2)
{
//...
}
Проверить, что задача стартована по схеме ниже или выше определенной версии можно так:
if (_obj.GetStartedSchemeVersion() < LayerSchemeVersions.V2)
{
//...
}
•с помощью метода GetStartedSchemeVersion() получить информацию о версии схемы можно в обработчиках событий блоков, типов задач, заданий и уведомлений, а также в серверных, клиентских и разделяемых функциях типов задач, заданий и уведомлений. Если код пишется в обработчике для типа задания или уведомления, то получить версию схемы можно только через саму задачу (Task). Т.е. код должен выглядеть следующим образом:
if (_obj.Task.GetStartedSchemeVersion() == LayerSchemeVersions.V1) {}
•для проверки работы предыдущей версии схемы, необходимо выбрать версию и опубликовать в локальной системе Directum RX. Версия станет текущей для схемы.
В продуктивную систему по умолчанию публикуется последняя версия схемы. После публикации уже запущенные задачи продолжают работу по схеме, которая была до обновления. Новые задачи стартуют по доработанной схеме.
Подробнее см. «Пример создания версии схемы».
Как удалить версию схемы
Важно. Не рекомендуется удалять версии схем, по которым в продуктивной системе Directum RX стартованы задачи, так как они перестанут работать.
Удалите версию схемы, например, если она была тестовой. Для этого в выпадающем списке Версия выберите нужную версию и нажмите .
В результате после удаления:
•предыдущая версия станет доступна для изменения;
•номер удаленной версии не будет использоваться при создании следующих версий.
© Компания Directum, 2024 |