Режим черновика

Назначение черновиков

Для безопасной работы с данными и со структурой данных система Юниверс MDM использует черновики. Черновики создают безопасную среду для новых изменений, накапливают изменения и защищают данные от незавершенных изменений, способных повлиять на целостность данных.

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

Черновики используются для следующих объектов системы:

  • Запись.

  • Модель данных.

  • Правила сопоставления.

  • Правила качества

  • Бизнес-процессы

Черновик записи

Работа с черновиками записей не требует специальных условий. Механизм черновика записи будет срабатывать при создании новых записей в разделе "Данные". В окне черновика записи, пользователь указывает необходимые данные в карточке записи и сохраняет их. После публикации черновика, запись становится актуальной частью реестра или справочника.

Чтобы начать работу с черновиком записи:

  1. Откройте раздел "Данные" и выберите реестр/справочник, в который хотите добавить запись.

  2. Нажмите кнопку "Создать запись" расположенную в верхнем правом углу экрана.

  3. В результате действия откроется окно черновика записи.

  4. Заполните необходимые данные в карточки записи.

  5. Опубликуйте черновик. Доступны 2 способа публикации: простая или публикация с приоритетом. После публикации черновик удаляется.

Особенности:

  • На событие публикации записи может быть настроен бизнес-процесс, запускающий процедуру согласования записи.

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

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

  • Если на черновик записи настроен бизнес-процесс, то запускается задача публикации. Когда БП успешно завершен, в ответ происходит публикация черновика.

  • В консолидации участвуют только опубликованные записи, черновики к ней не относятся. Тоже самое касается истории записи - черновик с ней не связан.

  • Функцию клонирования и сравнения черновиков записи осуществить нельзя.

  • Черновик записи автоматически удаляется после своего согласования.

  • Имя черновика можно редактировать.

  • Дата в имени черновика не обязательно является актуальной информацией о времени его создания.

Черновик модели данных

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

Чтобы начать работу с черновиком модели данных:

  1. Откройте раздел "Модель данных" и нажмите кнопку image1 "Черновик", расположенную в верхней части списка реестра/справочников. Кнопка изменит состояние, и откроется список черновиков (Рисунок 1).

  2. В выпадающем окне откроется список черновиков. Создайте новый черновик или откройте существующий.

  3. Выберите необходимый для работы реестр/справочник или создайте новый.

  4. После внесения данных, опубликуйте черновик.

Особенности:

Публикация черновика

Чтобы опубликовать черновик нажмите кнопку image3 "Опубликовать", расположенную в нижней части списка объектов (Рисунок 2).

В открывшемся окне выберите способ публикации:

  • Простая используется в случае, если модель данных за период работы над черновиком либо не менялась другими пользователями, либо менялась незначительно. Если пытаться публиковать черновик после значительных изменений модели, то некоторые конфликты в модели могут привести к ошибке и остановке публикации.

  • С приоритетом игнорирует любые предыдущие изменения и перезаписывает модель.

Принцип слияния данных при публикации:

Ранее если из одной ревизии создавалось 2 или более черновиков (например, разными сотрудниками), то в таком случае, если первый черновик был опубликован, то его изменения не попадали во второй черновик. А при публикации второго черновика (не содержащего изменений, сделанных при публикации первого черновика), изменения, внесенные первым черновиком, затирались состоянием второго черновика.

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

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

Измененные объекты определяются с помощью сравнения ревизий (сравнение происходит с той ревизией, из которой был создан черновик):

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

  • Проверяется версия объекта.

  • При изменении в черновике объект получает версию равную ревизии, из которой был создан черновик, увеличенную на 1.

  • При публикации, если версия объекта в модели данных меньше, чем версия объекта в черновике, то это значит, что последние изменения объекта были сделаны в черновике, и такой объект можно заменить объектом из черновика. В этом случае черновик будет опубликован, а в модели данных будут затерты объекты, которые были изменены в черновике. Группа объекта черновика (группы реестров/справочников) всегда в приоритете.

  • Если версия объекта в модели данных больше, чем версия в черновике, то это значит, что в черновике содержатся неактуальные данные, следовательно нельзя затирать объект в модели данных объектом из черновика. В этом случае отобразится системная ошибка.

Принцип слияния групп реестров/справочников:

При публикации черновика происходит слияние групп реестров/справочников.

В случае если группа объектов удаляется из черновика, происходит проверка изменения группы объектов по ее версии. Если удаляемая группа была переименована или перемещена в будущих версиях, то запрещается публиковать черновик с удалением этой группы. При попытке публикации черновика отобразится системная ошибка.

В остальных случаях происходит слияние. Положение групп черновика всегда в приоритете. Общий принцип алгоритма слияния см. в статье.

Переключение в режим черновика

Рисунок 1 – Переключение в режим черновика (на примере черновика Модели данных)

Кнопка публикации черновика в разделе "Модель данных"

Рисунок 2 – Кнопка публикации черновика в разделе "Модель данных"