Тема: Перемешение объектов в базе
Здравствуйте.
Необходимо переместить кучу объектов в другой определенный объект, по типу корзины, в связи с появлением отмененных объектов. И до тех пор пока в силу не вступят методы, предотвращающие появление мусора, необходимо все прибрать. Но возникла загвоздка в методах.
Т.е. "Переместить в..." не подходит по определению, очень много действий, в том числе диалог выбора. Объект известен, нужно выбрать только перемещаемый объект. Учитывая условия, что все объекты состава являются лишь ссылками, то применим, на первый взгляд, следующий способ:
set Obj = ThisObject Set Parent = ThisObject.Parent set ColPar = Parent.Objects set Rec = Parent.ContentAll.ObjectsByDef("OBJECT_RECICLER").item(0) Set ColRec = Rec.Objects ColPar.Remove Obj ColRec.add Obj
НО! ColPar.Remove Obj срабатывает как надо, а вот ColRec.add Obj добавляет в корзину ССЫЛКУ на объект, с потерей всех связей с родителем. Т.е. те свойства о составе, которые мы можем получить из объекта, изначально созданного в составе, полностью утрачиваются при любом перемещении объекта. Так об этом говорит значок ссылки у объекта в окне состава родителя.
Таким образом я более не имею возможности перемещать объект стандартными методами, обращаясь к его родителю, потому как такового более не существует, и перемещенный объект по сути своей превращается в хлам, к которому нельзя получить доступ напрямую. И любое перемещение, как у вас сказано, ссылки на объект, создает ссылку на ссылку, и данное действие: билет в один конец.
Можете подсказать более действенный метод? Или таковых не существует?