Показать сообщение отдельно
Старый 25.05.2007, 10:46   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Dimitry Посмотреть сообщение
При записи или апдейте любой таблицы в аксапта необходимо вызвать одим метод. Подскажите как это сделать?
В такой формулировке - никак.
потому что запись (insert?) и апдейт может выполняться при помощи методов doInset и doUpdate.
SysDatabaseLog не вызывается даже для настроенных таблиц, если перед записью был вызван skip-метод.
Есть еще операции, работающие с рекордсетами, которые могут изменять данные, но ядром опять же не обрабатываемые (поскольку обновление идет непосредственно в СУБД)
Кроме того, некоторые таблицы система обновляет сама из ядра (например, SQLdictionary)

Средствами Аксапты нельзя перехватить ВСЕ записи и обновления. Можно перехватить только некоторые.
Либо ставьте триггера напрямую в СУБД, либо добавить вызов вашего обработчика в методы insert/update.

Кроме того, учтите!
Что как только вы ставите обработчик в Аксапту, то Аксапта тут же перестает отправлять групповые запросы на сервер и начинает обрабатывать каждую запись самостоятельно. См. хелп "What prevents fast SQL operations?"

В общем, Dimitry, вы хотите странного.
Скорее всего, то, что вы хотите вам не нужно, а нужно что-то совсем другое.
Но если вы настаиваете, то, что вы хотите сделать лучше делать на уровне СУБД, а не Аксапты.
__________________
полезное на axForum, github, vk, coub.