2.19. История изменений объектов
Окно «История изменений объектов» позволяет просматривать историю добавления, редактирования и удаления объектов тематических слоев, справочников, интервалов и других таблиц с данными, а также восстанавливать из истории изменений ранее внесенные данные по объектам. Возможности просмотра истории изменений и восстановления данных распространяются на таблицы данных, при создании или редактировании которых была подключена функция ведения истории изменений (подробнее в разделе Создание и редактирование таблиц).
Для просмотра истории изменений объектов таблиц с данными необходимо выбрать вкладку «История изменений…» раздела меню «Инструменты» главного окна Программы. Откроется окно «История изменений» (Рис. 2.239), содержащее информацию об изменениях атрибутивных и геометрических данных всех объектов.
Для просмотра истории изменений объектов конкретной таблицы данных в поле «Выберите таблицы для поиска» из списка (Рис. 2.240) можно выбрать название таблиц (слоев, справочников, интервалов или других таблиц с данными). В списке будут содержаться названия только тех таблиц с данными, к которым была подключена функция ведения истории изменений (раздел Создание и редактирование таблиц).
Просмотреть историю изменений объектов конкретной таблицы данных можно также путем выбора вкладки «История…» раздела меню «Правка» окна «Таблица». Откроется окно «История изменений», в котором поле «Выберите таблицы для поиска» будет неактивным (Рис. 2.241), и в нем будет отображено название рассматриваемой таблицы.
Для просмотра истории изменений по конкретному объекту таблицы данных необходимо выбрать вкладку «История…» раздела меню «Правка» окна «Объект». Откроется окно «История изменений», которое будет содержать информацию об изменениях выбранного объекта. Поле «Таблица» также будет неактивным, и в нем будет отображено название таблицы, к которой принадлежит рассматриваемый объект.
Для просмотра истории изменений за определенный временной промежуток необходимо выбрать период времени, указав в верхней части окна две даты: дату начала периода в поле «Дата начала» и дату завершения периода в поле «Дата окончания» (Рис. 2.242). Задать даты можно с использованием календаря, расположенного справа от поля, либо набрать даты вручную (в формате «ДД.ММ.ГГГГ»).
При просмотре истории изменений без выбора конкретных пользователей (из списка поля «Выберите пользователей для поиска») отобразится список изменений, внесенных всеми пользователями Программы. При выборе пользователей из списка отобразится информация по изменениям, внесенным этими пользователями (Рис. 2.243).
Кнопка «Очистить» позволит удалить введенные параметры (выбранные даты, таблицы данных и пользователей).
После заполнения полей необходимо нажать кнопку «Найти», которая находится в верхней части окна. В окне появится список дат изменения объектов таблицы (Рис. 2.244).
В Программе реализована возможность автоматического построения отчета по истории изменений. Отчет будет выполнен с помощью дизайнера отчетов «FastReport.NET». Для формирования отчета следует задать необходимые параметры («Дата начала», «Дата окончания», при необходимости выбрать таблицу/таблицы данных и пользователей) и нажать кнопку «Экспорт», расположенную в левом нижнем углу окна. Отчет отобразится в отдельном окне (Рис. 2.245) в виде таблицы со столбцами:
«Таблица»,
«Пользователь»,
«Дата изменения»,
«Тип» (тип изменения),
«ID объекта» (id измененного объекта).
Готовый отчет доступен для просмотра, печати, экспорта в различные форматы для последующего редактирования, архивирования, пересылки по электронной почте и др.
Для отображения списка действий пользователей необходимо щелкнуть левой кнопкой мыши по интересующей дате (Рис. 2.246). Действия пользователя будут обозначены значками, стоящими слева на каждой строке списка изменений. Знак «Плюс» означает добавление объекта пользователем, знак «Обновление» (две стрелки) означает редактирование объекта пользователем, знак «Крест» означает удаление объекта пользователем.
Для открытия списка внесенных, отредактированных или удаленных данных по конкретному изменению объекта необходимо щелкнуть кнопкой мыши по соответствующей строке списка (Рис. 2.247).
В правой части окна отобразится таблица изменений со столбцами «Поля», «Значение до», «Значение после» и «Актуальное значение» (Рис. 2.247). Атрибутивные поля с измененными значениями будут выделены красной рамкой. При отсутствии галочки в поле «Показать актуальное состояние» (Рис. 2.248) столбец «Актуальное значение» отображаться не будет (по умолчанию данный столбец отображается в таблице). Зеленым цветом в таблице будут выделены наименования атрибутивных полей дочерних таблиц, использованные для связи с родительскими таблицами данных, а также наименования атрибутивных полей таблиц данных, связанных со справочниками (разделы Связи между таблицами данных, Справочники). Голубым цветом в таблице будут выделены наименования атрибутивных полей таблиц данных, связанных с интервалами (Использование интервала). Галочка в поле «Показать только с изменениями» позволит отобразить в таблице только измененные атрибутивные и геометрические данные об объекте.
В списке полей для каждого объекта слоя будет содержаться поле «Геометрия», которое предназначено для отображения внесенных в геометрию объекта изменений. Поле «Геометрия» может содержать одно из двух значений — «Есть значение» (для объектов, сохраненных в Программе с геометрией) и «Пусто» (для объектов, сохраненных без геометрии). Выделение полей геометрии в столбцах «Значение после», «Актуальное состояние» красной рамкой будет свидетельствовать о редактировании геометрии объекта (Рис. 2.249).
Галочка в поле «Показать» в столбцах «Значение до», «Значение после» и «Актуальное значение» позволит отобразить на карте геометрию объекта до изменений, после изменений и на данный момент времени, соответственно. Геометрия объекта до изменений будет отображена на карте зеленым цветом, геометрия объекта после изменений — синим цветом, актуальное состояние геометрии — коричневым цветом (Рис. 2.250).
Для восстановления значения конкретного поля (атрибутивного или поля геометрии) достаточно выделить его в таблице галочкой и нажать кнопку «Восстановить состояние до» или «Восстановить состояние после» (Рис. 2.251). Выбор кнопки для восстановления данных состояния зависит от того, какое значение поля требуется восстановить. Можно выделить несколько полей для единовременного восстановления их значений. По умолчанию выделенными для восстановления являются все атрибутивные поля и поле геометрии.
После восстановления выйдет информационное сообщение о том, что поля восстановлены (Рис. 2.252). При этом в окне «История изменений объектов» появится дополнительная запись, соответствующая восстановленному состоянию объекта.