Сохранение изменений


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

Записи VCS

Каждое действие (создание, удаление, обновление) над объектом версионируемой таблицы, ведет к созданию новой записи в таблице Запись VCS (sys_vcs_record). В этой таблице содержится информация об изменениях, совершенных во всех приложениях на платформе.

  • Записи VCS невозможно создать, обновить или удалить вручную. Они автоматически создаются системой и доступны для чтения только пользователям с ролью admin
  • Администратор (admin) системы может также редактировать поля Локальный пакет и Игнорировать флаг Protected.

ПолеОписание
Наименование таблицы

Системное имя целевой таблицы записей.

ЗаписьУникальный ID исходной записи, которая была изменена.
Запись документа

Содержит ссылку на запись таблицы, для которой создана текущая запись. 

Копия записи (JSON)

В этом поле хранятся атрибуты целевой записи в формате JSON в виде ассоциативного массива.

Пример
{"value": "Report Item", "policy": "Open", "sys_id": 159653803414986194, "column_id": 156941403909472422, "record_id": 159653803414985080, "language_id": 156628684306541141, "application_id": 155931135900000002, "sys_created_at": "2020-08-04 10:47:14", "sys_created_by": 155931135900000001, "sys_updated_at": "2020-08-04 10:47:14", "sys_updated_by": 155931135900000001}
АктуальнаяФлажок установлен, если данная версия является текущей.
Кем созданоПользователь, совершивший изменение.
Когда созданоДата и время создания записи.
Локальный пакетЛокальный пакет, в котором находится запись.
Импортированный пакетИмпортированный пакет, к которому относится запись.
Восстановлена версияУникальный ID версии записи, из которой текущая запись была восстановлена.
Действие

Тип действия. Возможные значения:

  • Создание
  • Обновление
  • Удаление
Политика защиты

Текущая политика защиты записей после завершения действия. Возможные варианты:

  • Открыта
  • Изменена
  • Защищена
Игнорировать флаг ProtectedЕсли установлен флажок, текущая запись будет записана поверх существующей версии с политикой Защищено.

Все изменения хранятся в локальном пакете, выбранном в Настройках администратора локальном пакете (в поле Локальный пакет). Также сделать пакет текущим можно на форме самого локального пакета. Читайте статью Сборка локальных пакетов, чтобы узнать больше об управлении записями VCS.

О том, как импортировать записи VSC и использовать функцию предпросмотра, читайте в статье Импорт конфигурационных пакетов.

Политика защиты


Атрибут Protection policy отвечает за защиту данных. После создания записи в версионируемой таблице политика защиты этой записи становится Открыта. После обновления записи значение поля Политика защиты становится Изменена. Эти значения переносятся в поле Политика защиты в соответствующей записи VCS, то есть версия записи имеет ту же политику, что и сама запись.

Администратор (admin) системы может редактировать поля Локальный пакет и Игнорировать флаг Protected записей с любой политикой защиты.

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

Политика защиты исходной записиПолитика защиты целевой записи Результат
Защищена

ЗащищенаУспешно
ОткрытаУспешно
ИзмененаУспешно
Изменена

ЗащищенаОшибка. Для продолжения установите флажок Игнорировать флаг Protected.
ОткрытаУспешно
ИзмененаУспешно
Открыта

ЗащищенаОшибка. Для продолжения установите флажок Игнорировать флаг Protected.
ОткрытаУспешно
ИзмененаОшибка. Для продолжения установите флажок Игнорировать флаг Protected.

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

Идентификация компании-клиента


Для возможности идентификации компании-клиента при развертывании вендором для экземпляра системы устанавливается идентификатор клиента – префикс, который добавляется к именам таблиц, созданных клиентом. Эта мера позволяет избежать путаницы в названиях в случае, когда клиент создает таблицу с названием, аналогичным названию таблицы уже существующей в приложении по умолчанию. Для решения этой задачи в продуктах SimpleOne префикс приложения стоит перед префиксом клиента. Например, есть таблица График работы (Work schedule), которая существует в приложении Simple (префикс sys), а клиент (префикс client) создает таблицу с таким же названием "График работы" в том же приложении. В результате созданной клиентом таблице присваивается системное наименование sys_client_work_schedule.

Общий шаблон наименования таблиц следующий:

префиксПриложения_префиксКлиента_названиеТаблицы

Чтобы получить префикс называния таблицы, используйте в скрипте метод ss.getTablePrefix().

  • No labels

1 Comment

  1. Importing Configuration Packages.
    перевод?