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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.08.2005, 17:41   #1  
ahtoh
Гость
 
n/a
Интересные вещи в Аксапте
Выберите номенклатуру.

Я уже не спрашиваю, почему метод modified вызывается 2 раза (попробуйте закоментировать строчку ctrlDate.visible(true);
Больше всего мне интересно, почему второй Leave - с большой буквы !
Вложения
Тип файла: xpo form1.xpo (11.8 Кб, 428 просмотров)
Старый 30.08.2005, 18:16   #2  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
М-да.

Если посмотреть цепочку вызовов, то получится вот что

\Forms\Form1\Data Sources\TmpInventClosing\Fields\ItemId\Methods\modified - line 6
\Classes\FormStringControl\modified
\Classes\FormStringControl\leave
\Forms\Form1\Designs\Design\[Grid:Grid]\StringEdit:TmpInventClosing_ItemId\Methods\leave - line 8
\Classes\FormDateControl\visible
\Forms\Form1\Data Sources\TmpInventClosing\Fields\ItemId\Methods\modified - line 6
\Classes\FormStringControl\Modified

т.е. при внутри visible() происходит вызов leave() для сфокусированного контрола с последующим вызовом modified() для него.

Насчет того, почему различается регист не знаю, но под отладчиком то же самое

первый вызов

\Forms\Form1\Designs\Design\[Grid:Grid]\StringEdit:TmpInventClosing_ItemId\Methods\leave - line 8

второй вызов

\Forms\Form1\Designs\Design\[Grid:Grid]\StringEdit:TmpInventClosing_ItemId\Methods\Leave - line 8
Старый 30.08.2005, 18:17   #3  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,129 / 916 (35) +++++++
Регистрация: 03.04.2002
А для меня странно, почему M-L-L-M, а не L-M-L-M...
__________________
Isn't it nice when things just work?
Старый 30.08.2005, 18:34   #4  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Все дело, как ее готовить

Вот цепочка вызовов

modified()->visible()->leave()->modified()->visible()->возврат в modified()->"M"->возврат в Leave()->"L"->возврат в visible()->leave()->"L"->возврат в modified()->"M"

Получается, что visible() дважды вызывает leave(). Точнее даже не так. В первый раз вызывается leave(), а во второй Leave()
Старый 30.08.2005, 18:37   #5  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Мне кажется, что можно ставить памятник разработчикам Axapta'ы, за то, что в данной случае она вообще не зациклилась.
Старый 30.08.2005, 18:49   #6  
ahtoh
Гость
 
n/a
Вы пока осмысляйте, а завтра я вам еще один фокус покажу
Старый 30.08.2005, 19:41   #7  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Да, кстати, в посте ниже я оказался прав.

Вызовы действительно так и стоят leave() и Leave(). funcname() возвращает наименование метода в таком же виде, как и написано при вызове. Т.е. если бы стояло LeAvE(), то это мы бы и увидели.


2 ahtoh

А что собственно осмыслять? По-моему на все вопросы есть ответы, или не так?

А за вопрос спасибо, особенно в конце рабочего дня.

PS Извиняюсь, я имел в виду в посте выше
Старый 30.08.2005, 20:08   #8  
ahtoh
Гость
 
n/a
ну, главный вопрос, почему visible вызывает leave, остался открытым =)
Старый 30.08.2005, 21:10   #9  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Это удар ниже пояса. Неспортивно.

Для того, что ответить на него точно надо иметь доступ к исходникам FormDateControl
Старый 31.08.2005, 16:17   #10  
ahtoh
Гость
 
n/a
вот пример, где этот косяк вылазиет в Оксапте:
на любой форме, где есть номенклатура и складские аналитики:

к примеру: Форма PurchTable: при изменении itemId вызывается
\Forms\PurchTable\Data Sources\PurchLine\Fields\ItemId\Methods\modified
element.updateDesign(InventDimFormDesignUpdate::FieldChange);
inventDimFormSetup.formSetControls(false);
в итоге вызывается метод
\Classes\InventDimCtrl_Frm\updateControls
где есть такая штука:
fc.visible(!fc.visible());

дальше сами догадайтесь, что происходит
никогда не замечали, почему номенклатура выбирается так долго?
Старый 31.08.2005, 16:23   #11  
ahtoh
Гость
 
n/a
(C) \Forms\PurchTable\Data Sources\PurchLine\Fields\ItemId\Methods\modified - line 18
(C) \Classes\FormStringControl\modified
(C) \Classes\FormStringControl\leave
(C) \Classes\FormStringControl\visible
(C) \Classes\InventDimCtrl_Frm\updateControls - line 26
(C) \Classes\InventDimCtrl_Frm\formSetControls - line 10
(C) \Forms\PurchTable\Methods\updateDesign - line 21
(C) \Forms\PurchTable\Data Sources\PurchLine\Fields\ItemId\Methods\modified - line 18
(C) \Classes\FormStringControl\Modified
Старый 02.02.2009, 14:15   #12  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Кто-то еще может подтвердить, что данная проблема уже не происходит?
Пробовал, пробовал. Вроде все ОК...
Старый 02.02.2009, 14:24   #13  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Кто-то еще может подтвердить, что данная проблема уже не происходит?
В какой версии? В 3.0 происходило.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.
Старый 02.02.2009, 14:33   #14  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Ну, меня интересует самая последняя версия. 2009, даже может SP1
Старый 02.02.2009, 16:09   #15  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Ну, меня интересует самая последняя версия. 2009, даже может SP1
2009 SP1 - практически сэйм шит, разве что Leave пропал куда-то
Цитата:
Сообщение (14:52:54)
modified
leave
modified
Цитата:
[c] \Forms\Form1\Data Sources\TmpInventClosing\Fields\itemId\Methods\modified
[c] \Classes\FormStringControl\modified
[c] \Classes\FormStringControl\leave
[c] \Classes\FormDateControl\visible
[c] \Classes\FormStringControl\Modified
__________________
Zhirenkov Vitaly
Старый 02.02.2009, 16:42   #16  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Хмм. Вы уверены?
У меня на 2009 RTM нет таблицы TmpInventClosing, а у вас на SP1 - есть?
Старый 02.02.2009, 16:57   #17  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Хмм. Вы уверены?
У меня на 2009 RTM нет таблицы TmpInventClosing, а у вас на SP1 - есть?
Нет, нету, я тоже на это нарвался
Просто DS называется по старому, на самом деле там таблица TmpInventAge прописана. Сути это не меняет, мне кажется...
Проект вложить?
__________________
Zhirenkov Vitaly
Старый 02.02.2009, 17:04   #18  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от ZVV Посмотреть сообщение
Нет, нету, я тоже на это нарвался
Просто DS называется по старому, на самом деле там таблица TmpInventAge прописана. Сути это не меняет, мне кажется...
Проект вложить?
Да, было бы здорово
Спасибо
Старый 02.02.2009, 17:15   #19  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Да, было бы здорово
Спасибо
Вложил...

По поводу второго косяка, описанного выше (про форму PurchTable), то я не смог его повторить ни на Ax3 sp3 kr3, на на 2009 sp1.
У меня хоть убей при изменении номенклатуры в строчку "fc.visible(!fc.visible());" не входит...
Вероятно в том случае были ещё какие-то доп. условия... или может более старый СП или КР так вёл себя...
Вложения
Тип файла: xpo Form_Form1.xpo (3.7 Кб, 363 просмотров)
__________________
Zhirenkov Vitaly
За это сообщение автора поблагодарили: kashperuk (5).
Старый 02.02.2009, 17:30   #20  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от ZVV Посмотреть сообщение
Вложил...

По поводу второго косяка, описанного выше (про форму PurchTable), то я не смог его повторить ни на Ax3 sp3 kr3, на на 2009 sp1.
У меня хоть убей при изменении номенклатуры в строчку "fc.visible(!fc.visible());" не входит...
Вероятно в том случае были ещё какие-то доп. условия... или может более старый СП или КР так вёл себя...
Спасибо.
А про PurchTable - у тебя в гриде строк закупки отображены аналитики какие-то?
Возможно это является необходимым условием..
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Обращение к http-сервису в Аксапте Lucky13 DAX: Программирование 31 24.03.2015 19:37
Интересные вещи, которые мне понравились в Ax 4.0 slava09 DAX: Прочие вопросы 86 28.09.2006 16:51
Standart Costing, Direct Costing и механизмы их реализации в Аксапте slava09 DAX: Функционал 55 05.06.2006 11:00
Система оповещений в Аксапте (события в Аксапте) raunio DAX: Прочие вопросы 1 29.09.2005 15:44
Размышления на тему “Системы контроля версий в Аксапте”. Андре DAX: База знаний и проекты 31 07.02.2005 12:29

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 12:19.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.