01.08.2007, 15:17 | #1 |
Участник
|
привет всем ещё раз
Мне надо при открытии каждой формы записать ее открытия в логтаблицу,например открываем форму 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 |
Участник
|
Нет. Включите поля Modified Date, Modified Time и Modified Author в таблице, которую вы объявили логом.
Очень странна постановка, когда вы хотите узнать только имя формы. Вообще говоря, было бы гораздо лучше запоминать весь стек вызовов. xSession::xppCallStack() Если вы затеяли программизм только для того, чтобы понять что именно происходит, то лучше разберитесь с: 1. отладчиком 2. профайлером (меню Сервис \ Средства разработки \ Профайле кода) 3. с логом запросов (Главное меню \ Администрирование \ Базы данных \ Журнал трассировки операторов SQL) Не надо программировать впустую. |
|
05.09.2007, 14:28 | #3 |
Участник
|
|
|
12.09.2007, 13:18 | #4 |
Участник
|
element.name();
|
|
24.01.2008, 19:23 | #5 |
Участник
|
Нет необходимости модифицировать каждую форму.
Можно, например, так: в методе \Classes\Info\open добавить обработку (в вашем случае запись в таблицу): Для теста попробуйте так: [codebox]info(formRun.name());[/codebox] |
|