AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
NAV
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.12.2025, 06:25   #1  
oleggy is offline
oleggy
Участник
 
287 / 36 (2) +++
Регистрация: 03.12.2019
Адрес: Россия
AX2009: Как перехватить DS методы у формы Обозреватель таблиц?
Привет.
Среда AX 2009.
Есть цель журналировать обновления InventTrans но не через настройку из формы SysDatabaseLogSetup (через нее как раз журналирование InventTrans отключено) а при открытии InventTrans через обозреватель таблиц и если через данную форму будет изменена какая либо запись в таблице InventTrans.
Я так понял у данной формы "Обозреватель таблиц" надо перекрыть DS метод update.
Но ведь нюанс что данная форма открывает все виды таблиц и там наверное нет привязки DS ?
Старый 09.12.2025, 10:34   #2  
oleggy is offline
oleggy
Участник
 
287 / 36 (2) +++
Регистрация: 03.12.2019
Адрес: Россия
Добавлю, что если перекрыть метод в DS Common - write, не срабатывает.
Старый 09.12.2025, 10:55   #3  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
4,017 / 3301 (119) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Может лучше application.logUpdate
А так в форме перекройте write датасорса.
Должно сработать
Старый 10.12.2025, 11:38   #4  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,732 / 1220 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Вносить "локальные" модификации в "глобальный" объект - плохая практика. Почему не сделать модификацию напрямую в триггерах InventTrans.update() и InventTrans.insert()?

Есть методы, позволяющие определить, что изменения вызваны из формы. Посмотрите методы на таблицах BOMTable, BOMVersion. Там есть вызов вот таких методов

this.isFormDataSource()
this.DataSource()

Напрямую проводки обычно не редактируются, значит, изменения из формы, скорее всего, это из обозревателя. Но можно уточнить примерно так

X++:
if (this.isFormDataSource())
{
	formName = this.dataSource().formRun().name();
	// Имя формы обозревателя для dax2012
	if (formName == 'SysTableBrowser')
	{
		// обновление запущено из формы обозревателя
	}
}
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
В AX2009 не вызываются методы insert/update/delete временной таблицы S.Kuskov DAX: Программирование 14 24.06.2011 19:24
Методы контролов формы matew DAX: Программирование 2 06.05.2008 11:41
Создание Lookup формы Maxim Gorbunov DAX: База знаний и проекты 9 26.06.2007 16:44
Экспорт таблиц и форм с указанием слоя Zepp DAX: Администрирование 8 31.10.2005 20:16
Динамические Lookup формы. Андрей Василюк DAX: База знаний и проекты 0 07.12.2001 07:07

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:53.