Задает фильтр по полю UserID.
Visual Basic:
Function SetUserIDFilter(sFilter As String) As Long
sFilter - фильтр для поля UserID.
Метод принимает ровно один аргумент. Несколько пользователей перечисляются в одной строке через запятую.
Синтаксис условия совпадает с синтаксисом «Запроса по образцу» — того, что задаётся в окне браузера баз данных на закладке Запрос.
Прочитать заданный фильтр можно методом GetUserIDFilter, снять — тем же ClearFieldConditions.
Интерфейс возвращается для любого слоя, а не только для слоя трекинга. Определить тип слоя заранее нельзя: отдельного значения для слоя трекинга в eLayerType нет, а сами такие слои размещаются на ZuluServer. Судить приходится по возвратам: на слое, который слоем трекинга не является, все методы задания фильтров возвращают -1, методы чтения — пустую строку, а GetDevices — Nothing.
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 SubPython:
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()))