20.02.2008, 13:14
|
#1
|
Участник
Регистрация: 28.11.2005
Адрес: Москва
|
Как узнать по объекту 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()?
|
|