Показать сообщение отдельно
Старый 28.03.2007, 10:50   #1  
LRA is offline
LRA
Участник
 
41 / 39 (2) +++
Регистрация: 19.12.2005
Адрес: Москва
Post Как получить значения полей (modifiedDate, modifiedTime, modifiedBy и др.) при работе с объектами AOT типа Map?
Как получить значения полей (modifiedDate, modifiedTime, modifiedBy и др.) при работе с объектами AOT типа Map?
Есть map, пусть это будет CustVendTable. У него есть метод MyMethod1, который может быть только в данном map, но не может быть в CustTable и VendTable.
В CustVendTable, CustTable, VendTable свойства modifiedDate, modifiedTime, modifiedBy, createdDate, createdTime, createdBy установлены в ”Yes”.
Если я инициализирую CustVendTable таким кодом:

CustVendTable сustVendTable;
CustTable custTable;
;
select firstonly custTable;
сustVendTable = custTable;
...
то сustVendTable по существу является экземпляром таблицы custTable. При этом метод MyMethod1, определенный в CustVendTable, ДОСТУПЕН НЕ БУДЕТ.
Если же инициализируем CustVendTable таким кодом:
CustVendTable сustVendTable;
CustTable custTable;
;
select firstonly custTable;
сustVendTable.data(custTable);
сustVendTable.RecId = custTable.RecId;
...
то метод MyMethod1 будет доступен, но при этом нельзя получить значения системных полей modifiedDate, modifiedTime, modifiedBy и др. В сustVendTable все значения этих полей будут нулевыми.
Вопросы:
1. Как из сustVendTable, инициализированного через сustVendTable.data(custTable), определить чьим мэпом он является (CustTable или VendTable).
2. Как из сustVendTable, инициализированного через сustVendTable.data(custTable), красиво определить значения полей modifiedDate, modifiedTime, modifiedBy.
Пока остановились на варианте искать соответствующий RecID, сначала в CustTable, потом в VendTable, но думается, что должен быть более универсальный способ.
PS: Axapta 3.0 SP3. MS SQL