Добрый день!

Подскажите, как можно реализовать Логирование кнопки Сохранить и Печать в реестре (v.3.3)? Обработчиков нажатия данных кнопок нет.

Нравится

1 комментарий

Здравствуйте.

Такой возможности нет, события отрабатывают на уровне ядра.

Вы можете запретить Печать и Экспорт данных для всего приложения (за это отвечают системные настройки GridCanPrint и GridCanExport), а в базовый реестр, wnd_BaseGridArea, добавить свои кнопки Печати и Экспорта и в них реализовать логирование.

Показать все комментарии

На детали "Журнал изменений" последней записью является текущая запись из таблицы. Для неё дата изменений проставляется текущей датой. При обновлении детали эта дата меняется, даже если никакие изменения не производились. Это иногда вводит пользователей в заблуждение. Кроме того последняя запись в некотором смысле является избыточной, так как её можно просмотреть в реестре раздела.
Для того чтобы на детали отображались только записи из таблицы изменений, достаточно внести небольшие изменения  в скрипт scr_DatabaseLogUtils. В функции BuildChangesLogWindow после
  var SelectQuery = Services.GetNewItemByUSI(SelectQueryLogUSI);
  if (IsUndefined(SelectQuery)) {
   return false;
  }
вставить SelectQuery.Items(1).IsEnabled = false; 
Эта строчка отключает UNION, который выбирает данные из основной таблицы.

Нравится

Поделиться

3 комментария

Лучше дать юниону нормальнеое имя и отключать по имени.

И еще - если не отображать текущее значение, то визуально не видно, что же собственно изменилось в записи при последнем редактировании (ячейки не раскрашиваются).

В 3.3.2 журналирование изменено.
Теперь в таблицы журнала записываются данные при добавлении записей.
При обновлении записей в журнал записываются новые данные записи.
Таким образом запрос к таблице журнала теперь не содержит юниона с журналируемой таблицей. И время изменения у последней записи (содержащей текущее состояние журналируемой записи) больше не меняется.

Показать все комментарии