История изменения исторических значений в атрибутах-связи
Для получения исторических данных по созданию, удалению и изменению значений атрибутов связи, следует использовать следующие view с объединением через union all:
rpt_last_created_expirable_aggregation – в данной view содержаться записи действующих исторических значений атрибутов, которые были добавлены пользователем;
rpt_last_changed_expirable_aggregation – в данной view содержаться записи действующих исторических значений атрибутов, в которых отражено последнее выполненное изменение значения атрибута;
rpt_obsolete_created_values – в данной view содержаться записи архивных актуальных и исторических значений, которые были добавлены пользователем. Чтобы получить только исторические значения, требуется наложить фильтр на записи: (new_validthru is not null);
rpt_obsolete_changed_values – в данной view содержатся записи архивных актуальных и исторических значений атрибутов, в которых отражено с какого на какое значение было выполнено изменение. Чтобы получить только исторические значения, требуется наложить фильтр на записи: (old_validthru is not null);
rpt_obsolete_deleted_values – в данной view содержатся записи архивных актуальных и исторических значений, которые были удалены пользователем. Чтобы получить только исторические значения, требуется наложить фильтр на записи: (old_validthru is not null);
Для получения консолидированного представления по истории значений атрибута связи, необходимо выполнить запрос:
select *, 1 as action_type -- создание значения
from rpt_last_created_expirable_aggregation
union all
select *, 1 as action_type -- создание значения
from rpt_obsolete_created_aggregation where (new_validthru is not null)
union all
select *, 2 as action_type -- изменение значения
from rpt_last_changed_expirable_aggregation
union all
select *, 2 as action_type -- изменение значения
from rpt_obsolete_changed_aggregation where (old_validthru is not null)
union all
select *, 3 as action_type -- удаление значения
from rpt_obsolete_deleted_aggregation where (old_validthru is not null)
Для получения информации о значениях атрибута связи, которые были после создания позиции, необходимо использовать следующие view: rpt_initial_expirable_aggregation и rpt_obsolete_initial_aggregation.
Поля для всех перечисленных выше view полностью идентичны и описаны в таблице ниже.
Наименование поля
Тип данных
Описание поля
Ссылка на таблицу
descriptor
bigint
Дескриптор поизции
item_id
bigint
Идентификатор позиции, для которой было изменено значение атрибута связи
rpt_m2_item.id
propertyid
bigint
Идентификатор атрибута связи, для которого было изменено значение
rpt_m2_aggregation.id
transactionid
bigint
Идентификатор транзакции, в рамках которой было изменено значение атрибута связи
rpt_m2_transaction.id
old_valid_thru
date
Старая дата действия значения атрибута-связи
new_valid_thru
date
Новая дата действия значения атрибута-связи
old_part_id
bigint
Старое значение атрибута связи (ссылка на позицию)
rpt_m2_item.id
new_part_id
bigint
Новое значение атрибута связи (ссылка на позицию)
rpt_m2_item.id
changedate
bigint
Дата изменения значения атрибута связи
account_id
bigint
Идентификатор пользователя, который изменил значение