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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.08.2007, 15:17   #1  
Didar is offline
Didar
Участник
 
17 / 10 (1) +
Регистрация: 27.06.2007
Адрес: Astana
привет всем ещё раз
Мне надо при открытии каждой формы записать ее открытия в логтаблицу,например открываем форму PurchTable
void run()
X++:
{
super();
if (!advanced)
tabHeader.tab(2);
else
tabHeader.tab(1);
MyLog::CreateLogForm(тут "имя открываемый формы");

}
а в лог таблице создал метод CreateLogForm
X++:
Static void CreateLogForm(FormRun _FormRun)
{
MytLog TableLog;
ttsbegin;
TableLog.ObjectType=0;
//TableLog.ObjectName="имя открываемый формы";
TableLog.Data=systemDateGet();
TableLog.Time=timenow();
TableLog.insert();
ttscommit;
}
ваще я правильно делаю? как узнать имя открываемый формы????
Старый 01.08.2007, 16:03   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Didar_kz Посмотреть сообщение
ваще я правильно делаю? как узнать имя открываемый формы????
Нет. Включите поля Modified Date, Modified Time и Modified Author в таблице, которую вы объявили логом.

Очень странна постановка, когда вы хотите узнать только имя формы.
Вообще говоря, было бы гораздо лучше запоминать весь стек вызовов.
xSession::xppCallStack()


Если вы затеяли программизм только для того, чтобы понять что именно происходит,
то лучше разберитесь с:
1. отладчиком
2. профайлером (меню Сервис \ Средства разработки \ Профайле кода)
3. с логом запросов (Главное меню \ Администрирование \ Базы данных \ Журнал трассировки операторов SQL)

Не надо программировать впустую.
__________________
полезное на axForum, github, vk, coub.
Старый 05.09.2007, 14:28   #3  
SFa is offline
SFa
Участник
 
9 / 10 (1) +
Регистрация: 04.04.2006
Цитата:
Сообщение от mazzy Посмотреть сообщение
Очень странна постановка, когда вы хотите узнать только имя формы.
Действительно непонятно зачем это нужно....

Думаю это поможет:

Код:
info(this.name());
Старый 12.09.2007, 13:18   #4  
Gorynych_imported is offline
Gorynych_imported
Участник
 
16 / 10 (1) +
Регистрация: 24.10.2005
element.name();
Старый 24.01.2008, 19:23   #5  
Mykola Galak is offline
Mykola Galak
Участник
 
40 / 39 (2) +++
Регистрация: 24.01.2008
Адрес: Copenhagen
Нет необходимости модифицировать каждую форму.
Можно, например, так:
в методе \Classes\Info\open добавить обработку (в вашем случае запись в таблицу):

Для теста попробуйте так:
[codebox]info(formRun.name());[/codebox]
 


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

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

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