30.03.2006, 12:08
|
#4
|
Участник
Регистрация: 28.11.2005
Адрес: Москва
|
changeCompany() не работает?..
Цитата:
Сообщение от gl00mie
Представляется обновление InventTableModule сделать примерно так: - определить, через какую виртуальную компанию в данной компании доступна таблица InventTable
- пройтись по списку других компаний в этой виртуальной компании
- в каждой из них создать/удалить соотв.записи для InventTable.ItemId
Все же что-то у меня последний пункт не выходит Я наивно полагал, что сработает просто этоX++: changeCompany(virtualDataAreaList.id) {
super();
} ан - фигу! Компания, конечно, сменяется (если в блоке распечатать curext(), то он показывает то, что нужно), только вот this.dataAreaId у InventTableModule как был в старой компании, так и остался, и вызываемый super() ессно ругается, что запись уже есть. xApplication.setDefaultCompany() дает тот же результат... Если в контексте другой компании (внутри блока changeCompany) сделать новый InventTableModule и скопировать в него this, то он тоже получает dataAreaId из исходонй компании, а не из той, куда делается changeCompany Что делать, как побороть? Неужто вместо простого вызова super() в InventTableModule в контексте другой компании придется "плясать с бубном", создавать новый экземпляр объекта и копировать в него нужные данные?..
|
|