Справочное руководство по TDMS 7.0 API
TDMSObject Объект
Смотри также  Члены класса  Отправить замечание

Glossary Item Box

Описание

Объект - базовое понятие TDMS.

Объект в TDMS - это информационная единица, модель конкретной сущности реального мира (предмет, явление, процесс или их часть). Создается по описанию, заложенному в соответствующем типе объекта (другими словами, объект является экземпляром некоторого типа); однотипные объекты обладают одинаковой структурой, поведением и отношением (связями) с объектами других типов. 

Объектами в TDMS могут быть любые материальные, финансовые или людские ресурсы, различные виды документации (чертежи, спецификации, ...), работы различных уровней (проекты, этапы, задания, ...). Объект в TDMS описывается набором значений его свойств (атрибутов) и в каждый момент времени находится в определенном состоянии (статусе); он обладает заданным набором способов перехода из текущего состояния в следующее; может иметь в своем составе другие объекты и/или файлы (обычно используются для представления документов и чертежей). Набор свойств объекта TDMS состоит из нескольких предопределенных системных свойств и произвольного набора дополнительных атрибутов.


Объектная модель

TDMSObject ОбъектTDMSUser ОбъектTDMSGroup ОбъектTDMSAttributes КоллекцияTDMSCommands КоллекцияTDMSObjects КоллекцияTDMSObjects КоллекцияTDMSObjects КоллекцияTDMSUser ОбъектTDMSObject ОбъектTDMSObject ОбъектTDMSEvents КоллекцияTDMSFiles КоллекцияTDMSIcon ОбъектTDMSAttributes КоллекцияTDMSLinks КоллекцияTDMSUser ОбъектTDMSObjectDef ОбъектTDMSObjects КоллекцияTDMSObject ОбъектTDMSPermissions ОбъектTDMSQueries КоллекцияTDMSObjects КоллекцияTDMSRoles КоллекцияTDMSRoles КоллекцияTDMSRoles КоллекцияTDMSRoles КоллекцияTDMSSign ОбъектTDMSSigns КоллекцияTDMSStatus ОбъектTDMSUser ОбъектTDMSObjects КоллекцияTDMSUser ОбъектTDMSVersions Коллекция

Заметки

Для редактирования свойств объекта (атрибутов, файлов и т.д.) пользователь должен иметь соответствующие права. Исключение составляет обращение во внутренних скриптах через специальную переменную ThisObject - это дает пользователю права системного администратора на объект. Замечания к назначению прав пользователям см. также в разделах TDMSPermissions Объект, TDMSRole Объект, TDMSStatus Объект.

Ссылка на API-объект "TDMSObject" может быть получена разными способами: из коллекции (например, Parent.Content, Object.Uplinks) или напрямую из базы данных (например, методом ThisApplication.GetObjectByGUID). От того, как была получена ссылка, зависит поведение некоторых свойств и методов объекта (например, свойство TDMSObject.Order Свойство не имеет смысла для объектов, не принадлежащих коллекции). В каждом конкретном случае см. замечания к свойствам и методам.

При работе с объектами через API следует учитывать особенности многопользовательских систем. Желательно перед обращением к свойствам запрашивать обновление из базы данных, а затем блокировать объект от изменений другими пользователями:

ThisObject.Description = "Old description"
MsgBox ThisObject.Description ' "Old description"
MsgBox "Please, wait..." 'Вы послушались и ушли обедать.
'Кто-нибудь изменил описание объекта: ThisObject.Description = "New description"
MsgBox ThisObject.Description ' "Old description" - мы работаем с локальной необновленной копией объекта
' Чтобы такого не произошло, сначала надо обновить информацию об объекте:
ThisObject.Update 'Свойства объекта перезачитаны из базы.
MsgBox ThisObject.Description ' "New description" - мы получили последние данные
'Перед редактированием надо заблокировать объект:
ThisObject.Lock
'Редактирование...
ThisObject.Description = "Old description, I sad" 'Новое описание немедленно сохранено
'Даже если Вы отлучились, никто не может изменить объект пока он не разблокирован:
ThisObject.Unlock 'Не забыть разблокировать объект.

Пример

Смотри также

© 2023 CSoft Development. Все права защищены.