GetFieldCondition method (ITrackingLayer)

Возвращает условие фильтра слоя трекинга для заданного поля.

Применяется к:

ITrackingLayer

Синтаксис:

Visual Basic:

Function GetFieldCondition(sField As String, Reserved As Long) As String

sField - имя поля.

Reserved - зарезервирован, должен быть 0.

Описание:

Возвращает то, что было задано методом SetFieldCondition для этого поля. Если условия нет, метод отдаёт пустую строку — то же самое возвращается и для поля, которого в слое не существует, так что отличить одно от другого по результату нельзя.

Синтаксис условия совпадает с синтаксисом «Запроса по образцу» — того, что задаётся в окне браузера баз данных на закладке Запрос.

Интерфейс возвращается для любого слоя, а не только для слоя трекинга. Определить тип слоя заранее нельзя: отдельного значения для слоя трекинга в eLayerType нет, а сами такие слои размещаются на ZuluServer. Судить приходится по возвратам: на слое, который слоем трекинга не является, все методы задания фильтров возвращают -1, методы чтения — пустую строку, а GetDevicesNothing.

Пример:

Visual Basic:

Sub ITrackingLayer_GetFieldCondition
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set TR = L.TrackingLayer
TR.SetFieldCondition "Филиал", "Филиал N1", 0
MsgBox "Условие по полю Филиал: '" & TR.GetFieldCondition("Филиал", 0) & "'"
End Sub

Python:

import zulu

def Macro_ITrackingLayer_GetFieldCondition():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    TR = L.TrackingLayer
    TR.SetFieldCondition("Филиал", "Филиал N1", 0)
    print("Условие по полю Филиал:", repr(TR.GetFieldCondition("Филиал", 0)))