|
![]() |
#1 |
Участник
|
![]()
привет всем ещё раз
Мне надо при открытии каждой формы записать ее открытия в логтаблицу,например открываем форму PurchTable void run() X++: { super(); if (!advanced) tabHeader.tab(2); else tabHeader.tab(1); MyLog::CreateLogForm( "имя открываемый формы"); } X++: Static void CreateLogForm(FormRun _FormRun) { MytLog TableLog; ttsbegin; TableLog.ObjectType=0; //TableLog.ObjectName="имя открываемый формы"; TableLog.Data=systemDateGet(); TableLog.Time=timenow(); TableLog.insert(); ttscommit; } ![]() |
|
![]() |
#2 |
Banned
|
Неправильно.
см \Classes\SysSetupFormRun, \Classes\Info\activate |
|
![]() |
#3 |
Участник
|
...
может вопрос не понятен всем? т.е я хочу в каждой формы в методе run дописать
X++: MyLog::CreateLogForm( "имя открываемый формы"); ![]() |
|
![]() |
#4 |
Участник
|
Также советую не писать:
X++: TableLog.Data=systemDateGet(); TableLog.Time=timenow(); |
|
![]() |
#5 |
Участник
|
В вашем конкретном примере можно использовать element.name(), но если хотите побыстрее перестать быть новичком, то советую внимательно читать советы EVGL.
|
|
![]() |
#6 |
Участник
|
поставь точку останова на
\Classes\Info\activate и будет тебе счастье ![]() тоже относится к методам \Classes\SysSetupFormRun Последний раз редактировалось ice; 01.08.2007 в 15:18. |
|
![]() |
#7 |
Участник
|
Вообще-то, petr уже ответил. Но если его ответ пропустили в спешке, то можно повторить.
Изнутри методов формы можно использовать специальную служебную ссылку "element", чтобы достучаться до свойств и методов текущей формы element.name() - имя текущей формы Также можно использовать ссылку "this" this.name() Но this, в данном случае, будет возвращать ссылку на форму только из методов собственно формы. В методах объектов формы это уже будет ссылка на соответствующий объект формы. А element возвращает ссылку на форму из любых методов любых объектов формы. Ссылка на форму через element и this в процессе работы - это ссылка объект FormRun. |
|
![]() |
#8 |
Участник
|
![]() X++: NatBotLog::CreateLogForm(this); X++: Static void CreateLogForm(FormRun _FormRun) { MyLog TableLog; ; ttsbegin; TableLog.ObjectType=0; TableLog.ObjectName =strfmt("%1%", _FormRun); TableLog.insert(); ttscommit; } ![]() Последний раз редактировалось Daido; 02.08.2007 в 10:03. |
|
![]() |
#9 |
NavAx
|
Static void CreateLogForm(Name _FormRun)
|
|
![]() |
#10 |
Дмитрий Ерин
|
TableLog.ObjectName =strfmt("%1%", _FormRun.name());
|
|
|
![]() |
||||
Тема | Ответов | |||
Имя формы | 8 | |||
Как узнать имя формы | 5 | |||
Можно-ли узнать сетевое имя пользователя? | 8 | |||
что-такое "<имя-формы>_ds"? | 3 | |||
Русская локализация Axapta 3 ? | 59 |
|