- Object1
- Порядковый номер, ссылка на объект TDMSObject Объект, дескриптор TDMSObject.Handle Свойство, TDMSObject.GUID Свойство или описание TDMSObject.Description Свойство первого объекта.
- Object2
- Порядковый номер, ссылка на объект TDMSObject Объект, дескриптор TDMSObject.Handle Свойство, TDMSObject.GUID Свойство или описание TDMSObject.Description Свойство второго объекта.
1. Если коллекция не является составом объекта (TDMSObject.Content Свойство или TDMSObject.Objects Свойство), а создана виртуальной, действие метода имеет силу только на время выполнения скрипта.
2. Метод выполяет перемещение объекта в локальной копии коллекции, без обращения к базе данных. Для того, чтобы изменения были сохранены, необходимо вызвать метод TDMSObjects.Update Метод (иначе редактирование будет потеряно).
' Правильно:
Set Coll = ThisObject.Content ' Запрошена локальная копия коллекции
Coll.Swap obj1, obj2 ' Переставить объекты
Coll.Update ' Обновить информацию в базе - изменения сохранены.
'Неправильно:
ThisObject.Content.Swap obj1, obj2 'При обращении ThisObject.Content запрашивается коллекция, в ней выполняется перестановка
ThisObject.Content.Update 'Теперь коллекция запрашивается снова и выполняется запрос на обновление
'Все изменения потеряны.
3. Нумерация элементов в коллекции начинается с 0. Для определения максимально допустимой позиции нужно использовать свойство TDMSObjects.Count Свойство.
4. Вызывать метод может только пользователь с правами на редактирование состава объекта-владельца коллекции (если есть).
Исключение: для скриптов при обращении через переменную ThisObject.