Добрый день.
Нужно изменить вид журнала изменений.
В кратце - добавить, удалить некоторые поля, которых нет в оригинальной таблице.
Ознакомился с логикой работы журнала: https://community.terrasoft.ua/forum/topic/2345
Создание триггеров я еще могу изменить,
однако есть вопросы по работе приложения:
Цытата п.2:
"При сохранении такой таблицы создается специальная таблица tbl_MyTableLog, в которой создаются все поля основной таблицы..."
А если Мне нужно другую структуру. Создание таблицы tbl_MyTableLog делается в конфигурации или на уровне ядра?. Как это обойти?
Нравится
Здравствуйте Руслан,
Создание таблицы tbl_XXXLog происходит средствами ядра при установке галочки
и последующего сохранении таблицы, по сути отрабатывает хранимая процедура 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