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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.02.2008, 13:14   #1  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
? Как узнать по объекту RecordSortedList, из какой таблицы в нем записи?
По ходу решения одной задачи возник такой вопрос. Допустим, на вход поступает объект класса RecordSortedList (именно такой, а не SysRecordSortedList), и неизвестно, записи какой таблицы в нем напиханы, но они там есть. Можно ли как-то узнать, с каким tableId был создан этот RecordSortedList? Эксперименты ничего путного не дали, а осмотр метода SysRecordSortedList.pack() наводит на мысль, что не зная загодя tableId, вытащить записи из RecordSortedList не получится. Там для их извлечения используется такой код (tableId - переменная из ClassDeclaration):
X++:
Common  common = new DictTable(tableId).makeRecord();
;
if (! this.first(common))
Т.е. в RecordSortedList.first() передается не просто Common, а именно пустая запись из нужной таблицы. Смотрел, как работает с RecordSortedList, к примеру, класс SalesPurchReport_RU (там ведь внутри используется Map CustVendInvoiceJour), но оказалось, что на момент перебора RecordSortedList этот Map уже ссылает на нужную таблицу - по крайней мере, tableId у него уже "правильный".
Так вот, вопросов, собственно, два:
  • можно ли узнать правильный tableId для RecordSortedList?
  • почему разработчики не предусмотрели в этом классе метода, который бы возвращал tableId, переданный в new()?
Старый 20.02.2008, 13:53   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Когда-то решал похожую задачу.
Забил
Начал просто tableId передавать помимо RecordSortedList
Старый 20.02.2008, 14:24   #3  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Когда-то решал похожую задачу. Забил Начал просто tableId передавать помимо RecordSortedList
А что по поводу второго вопроса? Может, в какой-нить 5-ке добавят в RecordSortedList мега-метод, возвращающий tableId?..
Старый 20.02.2008, 14:41   #4  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Может отдельную ветку создать куда складывать все нужные фишечки к разработчикам Ax следующей версии. Ну в пределах разумного конечно.
Я уже писал про две фишечки которые хотелось бы видеть.
А нельзя ли разработчиков попросить в 5.0
и
Уровень узла в дереве?

Последний раз редактировалось miklenew; 20.02.2008 в 14:45.
Старый 20.02.2008, 15:39   #5  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Нет. в 5ке точно такого не будет - на данном этапе новой функциональности уже почти не добавляют - подготовка к релизу началась
В 6.0 или дальше - кто его знает


P.S. Создал Feature Request для след. версий. Посмотрим, что с ним сделают.

Последний раз редактировалось kashperuk; 20.02.2008 в 15:45.
За это сообщение автора поблагодарили: gl00mie (2).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Два RecId у одной записи таблицы sparur DAX: Программирование 33 18.12.2006 15:56
Как зная название поля таблицы узнать текст, который прописан в Label? Hidden DAX: Функционал 1 03.06.2005 13:52
Как решить проблему с правами на вновь создаваемые записи таблицы. AY DAX: Прочие вопросы 4 02.10.2003 12:44
Прикрепление OLE - объекта к записи таблицы Андре DAX: Программирование 2 12.04.2002 10:02

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

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

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