В системе Ultima Businessware® реализована функция журналирования, которая предоставляет возможность хранения истории изменений, вносимых в несистемные таблицы базы данных. Инструмент поиска по истории изменений можно найти в группе инструментов History.
Настройки журналирования осуществляются с помощью формы "Manage history":
Суть настроек сводится к отметке флагами свойств объектов, изменения которых необходимо журналировать:
•в левом верхнем углу формы флагами можно отметить типы объектов, которые необходимо отображать на закладке "Current":
▪dictionaries – словари;
▪link table – развязочные таблицы;
▪documents – типы документов;
▪table parts – табличные части;
▪other – прочие объекты;
▪totals – итоги;
•в правом верхнем углу формы можно выбрать формат отображения названий объектов (Names from) на закладках "Current" и "Differences": ▪database – названия объектов (таблиц и их колонок) в базе данных; ▪metadata – названия соответствующих объектам классов метаданных; |
•SQL script – по нажатию на кнопку открывается форма, содержащая SQL скрипт, который предназначен для применения сделанных настроек журналирования. Скрипт может быть необходим в случае, если настройки сделаны в не самое оптимальное для их применения время, и их следует выполнить позже:
Скрипт следует выполнить в схеме Kernel в каком-либо приложении для работы с реляционными базами данных, поддерживающем SQL (PL SQL Developer, TOAD и т.п.);
•Apply – по нажатию на кнопку сделанные настройки журналирования будут применены немедленно.
На закладке "Current" в древовидной структуре (объект-родитель и его свойства-потомки) отображаются текущие настройки журналирования для свойств объектов, типы которых отмечены флагами в левом верхнем углу формы. Журналируются все отмеченные флагами свойства. Здесь же можно включить журналирование для новых свойств, отметив их флагами, или снять флаги для свойств, в журналировании которых уже нет необходимости. Названия свойств предваряются иконками, обозначающими их тип:
•N – числовые свойства (number) – типы long, decimal или bool;
•D – даты (date) – типы date или DateTime;
•V – текст (varchar), длинной не превышающий 4'000 символов – типы string, text и LargeText;
•C – текст (clob), длинной превышающий 4'000 символов – тип LargeText;
•B – массивы/бинарные файлы (blob) – тип byte[].
Если в настройки журналирования внесены правки, которые еще не были применены, в заголовке формы будет отображаться соответствующее предупреждение: changed. |
На закладке "Differences" в древовидной структуре отображаются внесенные в настройки журналирования и еще не сохраненные правки:
•зеленым отмечены объекты и их свойства, журналирование которых было включено; •при этом, если зеленым отмечен объект, у которого нет вложенных свойств, значит журналирование было включено для всех свойств этого объекта; •если журналирование было включено не для всех свойств объекта, нежурналируемые свойства будут отмечены серым, при этом сам объект будет отмечен зеленым; |
•красным отмечены объекты и их свойства, журналирование которых было выключено;
•при этом, если красным отмечен объект, у которого нет вложенных свойств, значит журналирование было выключено для всех свойств этого объекта;
•если журналирование было выключено не для всех свойств объекта, по прежнему журналируемые свойства будут отмечены серым (при этом сам объект будет отмечен черным).