Изменение вида журнала изменений

Добрый день.

Нужно изменить вид журнала изменений.
В кратце - добавить, удалить некоторые поля, которых нет в оригинальной таблице.

Ознакомился с логикой работы журнала: https://community.terrasoft.ua/forum/topic/2345
Создание триггеров я еще могу изменить,
однако есть вопросы по работе приложения:
Цытата п.2:
"При сохранении такой таблицы создается специальная таблица tbl_MyTableLog, в которой создаются все поля основной таблицы..."

А если Мне нужно другую структуру. Создание таблицы tbl_MyTableLog делается в конфигурации или на уровне ядра?. Как это обойти?

Нравится

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

Здравствуйте Руслан,
Создание таблицы tbl_XXXLog происходит средствами ядра при установке галочки
1
и последующего сохранении таблицы, по сути отрабатывает хранимая процедура tsp_TableTrigger которая по сути пересоздает триггера и таблицы логирования

Подобная тема обсуждалась в http://www.community.terrasoft.ru/forum/topic/5602

Также опишите более подробно Вашу задачу.
Простым решением будет редактирование триггеров таблицы, таким образом что бы Вы писали изменения в выделенную таблицу необходимые строки после чего подменить сервис tbl_XXXLog на вашу таблицу. Но тут возникнут проблеммы если таблицу пересохранить.

Спасибо Алексей.

Все дело в том что средствами ядра практически создается копия логгируемой таблицы. Так?

У меня задача использовать свои поля, с другими названиями, которые будут содержать другие данные.
Триггеры же мне дадут возможность управлять данными. но не механизмом создания таблиц.
Можно конечно создать структуру таблицы tbl_XXXLog как мне нужно, но ведь она при первом же изменении чек боксов - пересохраниться.

Руслан, в частном случае вы можете решить задачу написав исключения в хранимых процедурах tsp_CreateDeleteTrigger,tsp_CreateUpdateTrigger так что бы в случае этой таблицы таблица tbl_XXXLog не пересоздавалась, это можно сделать дописав в тело хранимых процедур проверки вида :

  if (@Table = 'tbl_Account')
  begin
    return
  end
Показать все комментарии