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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.10.2005, 11:55   #1  
novic is offline
novic
Axapta Retail User
Axapta Retail User
 
168 / 25 (0) +++
Регистрация: 14.04.2005
Обьясните механизм
1. Обьясните, пожалуйста, механизм сохранения фильтров пользователей в axapte.
2. Как в ClassFactory получить название вызывающего обьекта (класс, форма, отчет ).?
Старый 24.10.2005, 12:14   #2  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
1. Методы Pack(), Unpack()
2. xsession::xppCallStack(); Пример использования Global::callStack2infolog()
__________________
Axapta v.3.0 sp5 kr2
Старый 24.10.2005, 13:52   #3  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,656 / 1158 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Утоянения к ответу AndyD
1. Физически - это таблица SysLastValue. В ней просто сохранятся все настройки пользователя (метод Pack()), а потом они же считываются (метод Unpack()). Одна запись этой таблицы - один комплект настроек для текущего класса, формы и т.п.
2. Для версии AXAPTA 2.5 - никак
Старый 24.10.2005, 16:16   #4  
novic is offline
novic
Axapta Retail User
Axapta Retail User
 
168 / 25 (0) +++
Регистрация: 14.04.2005
Спасибо!
Еще вот тут нашел информацию. к делу относящуюся -
http://www.axforum.info/forums/show...ht=sysLastValue

2. я имел ввиду как получить название элемента из AOT ?
скажем /Form/Myform - если вызывается формой
Старый 24.10.2005, 21:39   #5  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от novic
2. я имел ввиду как получить название элемента из AOT ?
скажем /Form/Myform - если вызывается формой
xsession::xppCallStack() возвращает стек вызовов в виде "путь AOT до метода"\"имя метода". Например, "\Forms\InventJournalTransfer\Methods\init". Разберите строку и получите, что желаете. Учтите только, что вызывающий метод будет третьим в контрейнере
__________________
Axapta v.3.0 sp5 kr2
Старый 01.11.2005, 18:07   #6  
novic is offline
novic
Axapta Retail User
Axapta Retail User
 
168 / 25 (0) +++
Регистрация: 14.04.2005
Все же не очень понятно, Вы не могли бы поподробнее разьяснить.

в методе callStack2infolog непонятно мне одно. в нем стек вызовов попадает в контейнер вот так:
Код:
container			 stack = xSession::xppCallStack();
а как можно сделать чтобы путь к обьекту в AOT попадал в контейнер, имея скажем имя обьекта?
Старый 01.11.2005, 19:32   #7  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Наверное я туплю, но уже несколько раз перечитал вопрос и никак его не пойму.

То что возвращает xSession::xppCallStack() вы изменить не можете, но можете обрабатывать данные после вызова фукции как вам нужно

Напишите подробнее, что хотите сделать
__________________
Axapta v.3.0 sp5 kr2
Старый 02.11.2005, 11:21   #8  
novic is offline
novic
Axapta Retail User
Axapta Retail User
 
168 / 25 (0) +++
Регистрация: 14.04.2005
Нет, скорее всего я некорректно ставлю вопрос, поскольку не силен пока в Axapte.
У меня есть имя обьекта - скажем форма, (или отчет, или класс) откуда вызывается метод моего класса.
Я бы хотел получать путь к этому обьекту в виде AOT/Forms/MyForm , так же как в
xSession::xppCallStack() - возвращается путь к методу, его вызывающего.
\Forms\MyForm\Methods\run Layer: usr
Старый 02.11.2005, 11:28   #9  
novic is offline
novic
Axapta Retail User
Axapta Retail User
 
168 / 25 (0) +++
Регистрация: 14.04.2005
Примерно скажем вот так:
Код:
	container			   stack = xSession::xppCallStack();
	counter				 n;
	TreeNodePath			Path;
	int					 line;
	;
	setPrefix(_prefix);
	for (n = 3; n <= conLen(stack); n += 2)
	{
		Path = conPeek(stack, n);
	}
 
	return path;
ТОлько в данном случае в контейнере содержится путь к методу, а мне нужен путь к обьекту.
Старый 02.11.2005, 11:31   #10  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Получать путь где - в форме или классе?

На самом деле непонятно, что вы хотите сделать в принципе. Передавайте в параметрах метода или инициализируйте перед его вызовом переменные класса нужными вам данными и делайте обработку. Завязываться на стек вызовов стоит только в информационных целях, так его формат не определен и может изменяться от версии к версие
__________________
Axapta v.3.0 sp5 kr2
Старый 02.11.2005, 11:56   #11  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Цитата:
Сообщение от novic
У меня есть имя обьекта - скажем форма, (или отчет, или класс) откуда вызывается метод моего класса.
Я бы хотел получать путь к этому обьекту в виде AOT/Forms/MyForm
Что-то типа этого:
Код:
info(xUtilElements::getNodePath(xUtilElements::find(UtilElementType::Form, "SalesTable")));
__________________
Андрей.

Последний раз редактировалось Dron AKA andy; 02.11.2005 в 12:34.
Старый 02.11.2005, 11:57   #12  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Если по научному
X++:
 container               stack = xSession::xppCallStack();
TreeNodePath            Path;
 TreeNode    tn;
;
 Path = conPeek(stack, 3);
 if (Path)
 {
     tn = TreeNode::findNode(Path);
     while (tn && !tn.AOTObjectNode())
         tn = tn.AOTparent();
 
     if (tn)
         Path = tn.treeNodePath();
     else
         Path = "";
 }
 return path;
__________________
Axapta v.3.0 sp5 kr2

Последний раз редактировалось AndyD; 02.11.2005 в 12:08.
Старый 02.11.2005, 13:07   #13  
novic is offline
novic
Axapta Retail User
Axapta Retail User
 
168 / 25 (0) +++
Регистрация: 14.04.2005
Спасибо большое!
По - научному, то что надо
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
механизм динамич.-статич.сводных планов sev DAX: Функционал 7 27.02.2006 09:18
Механизм нескольких касс алексей DAX: Функционал 0 23.11.2005 11:04
Механизм отката операций chi DAX: Программирование 15 20.09.2005 15:34
Механизм определения свободного места в ячейке Sirius DAX: Функционал 7 15.07.2005 21:01
Как устроен в Аксапте механизм стронирования документов? =DeaD= DAX: Функционал 14 29.01.2004 13:43

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

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

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