Показать сообщение отдельно
Старый 20.09.2016, 05:48   #2  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
885 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Как вариант:
  1. Все таблицы в списке - журналируемые
  2. В Application при старте считываем и храним в Set'е список таблиц
  3. При выполнении логгирования в журнал БД (Application.log<всякое>) и нахождения логгируемой таблы в списке из п.2 - запускаем определенный обработчик

Всякие validate'ы не перехватишь, но тем не менее проверить и прервать по необходимости выполняемую операцию над записью получится.

Я тут уже пару раз упоминал про нашу модификацию финансовой аналитики, построенной на прямых ссылках по RecId на аналитические справочники - описывать подобное рамках AOT было катастрофой (сейчас около 50 справочников используется, и для каждого из 8 уровней используемой аналитики описывать 50 релейшенов - не есть гуд). Для сохранения ссылочной целосности в такой архитектуре используем вышеприведенный способ - 4-й год уже, полет нормальный.
Главное не слишком долгие обработчики делать
__________________
Мы летаем, кружимся, нагоняем ужасы ...

Последний раз редактировалось TasmanianDevil; 20.09.2016 в 06:04.