almaGRID API

Свойства #

CommonTags #

Overview
Общие теги объектов, находящихся в коллекции.

CommonTags   : List

Значение свойства (ReadOnly)
Тип: List
Коллекция путей тегов.

VBScript

set CommonTagsList = ObjCollection1.CommonTags

almaGRID API

Count #

Overview
Количество элементов, содержащихся в коллекции.

Count   : Integer

Значение свойства (ReadOnly)
Тип: Integer
Количество элементов.

VBScript

LastItem = ObjCollection1(ObjCollection1.Count-1)
MsgBox ObjCollection1.Count

almaGRID API

Item #

Overview
Элемент коллекции по указанному индексу.

Item  ( Index  Integer  )Obj

Значение свойства
Тип: Obj
Экземпляр объекта базы данных.

Параметры

Index Integer Отсчитываемый от нуля индекс списка.

VBScript

set FirstObj = ObjCollection1.Item(0)
set FirstObj = ObjCollection1(0)

almaGRID API

ObjIds #

Overview
Создает копию коллекции ObjId объектов коллекции.

ObjIds   : List

Значение свойства (ReadOnly)
Тип: List
Коллекция строк ObjId объектов коллекции.

VBScript

s = ""
for each ObjId in ObjCollection1.ObjIds
  s = s & ObjId & " " 
next
MsgBox s

almaGRID API

Методы #

Add #

Overview
Добавляет объект базы данных в конец коллекции. Если в коллекции уже содержтся объект с таким же ObjId или набором тегов (см. параметр ReplaceObjWithSameTags), то он заменяется на добавляемый объект.

Add  ( Obj  Obj , [ReplaceObjWithSameTags  Boolean  = True ] )

Параметры

Obj Obj Объект базы данных.

ReplaceObjWithSameTags Boolean Необязательный параметр. Значение по умолчанию True .

Если True, то проверка присутствия добавляемого объекта в коллекции выполняется как по свойству Obj.ObjId, так и набора тегов объекта Obj.TagPaths.
Если False, то проверка выполняется только по свойству Obj.ObjId.

VBScript

ObjCollection1.Add(Obj1)

almaGRID API

AddRange #

Overview
Добавляет элементы указанной коллекции в конец списка. Если в коллекции уже содержатся объекты с такими же ObjID или набором тегов (см. параметр ReplaceObjWithSameTags), то они заменяются на добавляемые объекты.

AddRange  ( ObjCollection1  ObjCollection , [ReplaceObjWithSameTags  Boolean  = True ] )

Параметры

ObjCollection1 ObjCollection Коллекция объектов, которые будут добавлены в конец списка.

ReplaceObjWithSameTags Boolean Необязательный параметр. Значение по умолчанию True .

Если True, то проверка присутствия добавляемого объекта в коллекции выполняется как по свойству Obj.ObjId, так и набора тегов объекта Obj.TagPaths.
Если False, то проверка выполняется только по свойству Obj.ObjId.

VBScript

ObjCollection1.AddRange(ObjCollection2)

almaGRID API

Clear #

Overview
Удаляет все элементы коллекции.

Clear  

VBScript

ObjCollection1.Clear

almaGRID API

CreateGraph #

Overview
Создает граф из объектов коллекции.

CreateGraph  ( [PrmXML  String  = '' ], [tsStart  TagSet  = null ], [tsFinish  TagSet  = null ] )Graph

Возвращаемое значение
Тип: Graph
Экземпляр графа.

Параметры

PrmXML String Необязательный параметр. Значение по умолчанию '' .

Строка параметров в виде <prm name1='value1' name2='value2' ... nameN='valueN'/>

Параметры:

maxChainsLength - Integer - максимальная длина пути (цепочки на графе). Значение по умолчанию: 100000.

createChains - Boolean. Если True, то в графе будет создана коллекция цепочек ChainCollection (см. свойство Graph.Chains). Если False - то коллекция цепочек будет пустой. Значение по умолчанию: False.

autoAttachArrowToFinishTags - Boolean. Если True, то к каждому тегу коллекции tsFinish будет добавлен префикс '=>' (признак конца дуги). Значение по умолчанию: True.

tsStart TagSet Необязательный параметр. Значение по умолчанию null .

Коллекция тегов, которые в графе будут узлам в которых будут начинаться пути (цепочки) на графе.

tsFinish TagSet Необязательный параметр. Значение по умолчанию null .

Коллекция тегов, которые в графе будут узлам в которых будут завершаться пути (цепочки) на графе.

Комментарии

Если будет задан только один из параметров tsStart или tsFinish, то возникнет ошибка.

Если onlyChainedNodes=True и/или createChains=True, то обязательно задание параметров tsStart и tsFinish.

VBScript

BaseTagPath = "sda4a3eff52294e35bf864aa4915e78fasdf132ca656bd44b5a6be88f8402b0e4as"

'Создаем правила поиска в базе данных связей между узлами дерева тегов. 
Set ts1 = ag.app.NewObject("TagSet")
ts1.Add BaseTagPath, "", 10, "AnyOne"
ts1.Add BaseTagPath, "", 10, "ArrowAnyOne"

'Ищем дуги (связи между узлами) в базе данных. 
Set oc1 = ag.objects.Aggregate(ts1)

'Создаем набор начальных узлов из 'листьев' дерева тегов
Set tsStart = ag.tags.DeployTag(BaseTagPath, "", 100, "EndOne")

'Создаем набор конечных узлов. В данном случае он состоит из единственного 'корневого' тега.
Set tsFinish = ag.app.NewObject("TagSet", Array("sdf132ca656bd44b5a6be88f8402b0e4as"))

'Создаем связанный, направленный граф
Set g1 = oc1.CreateGraph("<prm maxChainsLength='100' />", tsStart, tsFinish)

almaGRID API

ObjById #

Overview
Объект коллекции с указанным идентификатором.

ObjById  ( ObjId  String  )Obj

Возвращаемое значение
Тип: Obj
Экземпляр объекта базы данных или null, если такого объекта в коллекции нет.

Параметры

ObjId String Идентификатор объекта базы данных (дуги графа).

Строка длинной не более 32 символов. Идентификато содержит цифры от 0 до 9 и латинские буквы 'a', 'b', 'c', 'd', 'e' и 'f'. В идентификаторе, определенном пользователем, должен присутствовать хотя бы один буквенный символ. Например, 'fa0234'.

Идентификатор должн быть уникальным.

VBScript

Set Obj1 = ObjCollection1.ObjById("af123")

almaGRID API

Remove #

Overview
Удаляет объект базы данных из коллекции.

Remove  ( Obj  Obj  )Boolean

Возвращаемое значение
Тип: Boolean
True, если операция выполнена без ошибок; в противном случае False. Этот метод также возвращает False, если элемент не найден в коллекции.

Параметры

Obj Obj Объект базы данных.

VBScript

'удаляем 2-й объект из коллекции
MsgBox ObjCollection1.Remove(ObjCollection1(1))

almaGRID API

RemoveByIds #

Overview
Удаляет из коллекции объекты по их идентификаторам.

RemoveByIds  ( ObjIds  Array  )

Параметры

ObjIds Array Массив String идентификаторов объектов. Если в коллекции отсутствует объект с указанным ObjId, то такой ObjId игнорируется.

VBScript

ObjCollection1.RemoveByIds Array("af123", "cd456")

almaGRID API

RemoveByTags #

Overview
Удаляет из коллекции объекты, хотя бы один из тегов которых входит в заданный список.

RemoveByTags  ( TagSet1  TagSet , [AlsoWithArrows  Boolean  = True ] )Boolean

Возвращаемое значение
Тип: Boolean
True, если операция выполнена без ошибок; в противном случае False

Параметры

TagSet1 TagSet Список тегов.

AlsoWithArrows Boolean Необязательный параметр. Значение по умолчанию True .

Если True, то также из коллекции будут удалены объекты с тегами из ts, к которым добавлен префикс '=>'.

VBScript

ObjCollection1.RemoveByTags ts1

almaGRID API

RemoveRange #

Overview
Удаляет из коллекции объекты, входящие в заданный список.

RemoveRange  ( ObjCollection1  ObjCollection  )Boolean

Возвращаемое значение
Тип: Boolean
True, если операция выполнена без ошибок; в противном случае False.

Параметры

ObjCollection1 ObjCollection Список объектов.

VBScript

ObjCollection1.RemoveRange oc1

almaGRID API

Пример #

Пример использования ‘ObjCollection’ #

VBScript

'подключаемся к базе данных almaGRID как пользователь "Administrator", с паролем "111" с использованием языка модели "Russian"
if ag.err.ErrorCode = 0 then
  ag.database.AprjOpen "test.aprj", "Administrator", "111", "Russian"
end if

'В базе данных находятся объекты
'Теги			Значения	ObjID
'[a1]AND[a11]	1			a121
'[a1]AND[a12]	2			a122
'[a1]AND[a13]	3			a123
'[b1]AND[b11]	44			b121
'[b1]AND[b12]	45			b122


'ищем объекты базы данных модели, содержащие тег "a1"
set ObjCollection1 = ag.objects.Find("<prm><tag label='a1'/></prm>")

'ищем объекты базы данных модели, содержащие тег "b1"
set ObjCollection2 = ag.objects.Find("<prm><tag label='b1'/></prm>")

'выводим ObjID первой коллекции в цикле "for each"
s = ""
for each Obj in ObjCollection1
	s = s & Obj.ObjID & " "
next
ag.app.MsgBox s
'-> a121 a122 a123

'выводим ObjValue второй коллекции в цикле "for"
s = ""
for i = 0 to ObjCollection2.Count -1
	s = s & ObjCollection2.Item(i).ObjValue & " "
next
ag.app.MsgBox s
'-> 44 45

'добавляем объекты второй коллекции к первой
ObjCollection1.AddRange(ObjCollection2)
ag.app.Msgbox ObjCollection1.Count
'-> 5

'выводим теги объектов коллекции 
s = ""
for each Obj in ObjCollection1
	s = s & Obj.TagLabels.Item(0) & " " & Obj.TagLabels.Item(1) & chr(13)
next
ag.app.MsgBox s
'-> [a1] [a11]
'   [a1] [a12]
'   [a1] [a13]
'   [b1] [b11]
'   [b1] [b12]

'удаляем 2-й объект из коллекции
ag.app.MsgBox ObjCollection1.Remove(ObjCollection1(1))

'выводим ObjValue коллекции 
s = ""
for each ObjID in ObjCollection1.ObjIDs
	s = s & ObjID & " " 
next
ag.app.MsgBox s
'-> a121 a123 b121 b122

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: