SetUserIDFilter method (ITrackingLayer)

Задает фильтр по полю UserID.

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

ITrackingLayer

Синтаксис:

Visual Basic:

Function SetUserIDFilter(sFilter As String) As Long

sFilter - фильтр для поля UserID.

Описание:

Метод принимает ровно один аргумент. Несколько пользователей перечисляются в одной строке через запятую.

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

Прочитать заданный фильтр можно методом GetUserIDFilter, снять — тем же ClearFieldConditions.

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

Пример:

Visual Basic:

Sub ITrackingLayer_SetUserIDFilter
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
Set TR = L.TrackingLayer
'Фильтр по одному пользователю
MsgBox "Код возврата: " & TR.SetUserIDFilter("392")
'Несколько пользователей перечисляются через запятую
TR.SetUserIDFilter "123456,678910,5678"
MsgBox "Фильтр сейчас: '" & TR.GetUserIDFilter & "'"
End Sub

Python:

import zulu

def Macro_ITrackingLayer_SetUserIDFilter():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    TR = L.TrackingLayer
    # Фильтр по одному пользователю
    print("Код возврата:", TR.SetUserIDFilter("392"))
    # Несколько пользователей перечисляются через запятую
    TR.SetUserIDFilter("123456,678910,5678")
    print("Фильтр сейчас:", repr(TR.GetUserIDFilter()))