Это старая версия документа.
Свойство: Значение
Тип параметра: Соответствует типу параметра в объектной модели.
Свойство содержит значение параметра фильтра.
Пример кода. См. код в свойствах данного класса.
Свойство: ОтрицаниеУсловия
Тип параметра: Bool (True, False).
Свойство задает отрицание заданного условия фильтра.
Пример кода.
Задача: показать количество субъектов, у которых название не равно «директор».
Sub ПримерOLE_ФильтрСубъектовБезДиректора()
'Получение объекта приложения
Set oleapp = CreateObject("ByteEnterprise.OleApplication")
'Запустить Business Studio в редакции и с базой на сервере, указанными ранее.
'В Диспетчере задач появится Business Studio. В панели задач приложения не будет видно.
Set client_app = oleapp.ЗапуститьКлиентскоеПриложение("ИмяСервера", "ИмяБазы", "Enterprise")
'В панели задач появится приложение
oleapp.ПоказатьКлиентскоеПриложение
'Указываем, что дальнейшая работа будет с Субъектами
Set ВсеСубъекты = oleapp.ПолучитьКорневуюГруппуКласса("БизнесМодель.Субъекты")
'Создать фильтр, отбирающий только должности
Set ФильтрНеДиректор = ВсеСубъекты.СоздатьФильтр
ФильтрНеДиректор.Условия.Параметры.Название.Значение = "Директор"
ФильтрНеДиректор.Условия.Параметры.Название.ОтрицаниеУсловия = True
'Выполняем фильтр и определяем количество записей
Set РезультатФильтрНеДиректор = ФильтрНеДиректор.Выполнить
КолвоСубъектов = РезультатФильтрНеДиректор.КоличествоЭлементов
'Выводим сообщение
MsgBox "Количество субъектов без Директора: " + CStr(КолвоСубъектов)
End Sub
Свойство: ТипФильтрации
Результат: Int (целое число от 0 до 4)
Свойство задает тип фильтрации. При задании условия по умолчанию устанавливается тип фильтрации "Значение".
Допустимые варианты:
0 - Значение,
1 - Диапазон,
3 - Подфильтр,
4 - Нет.
Задание типа фильтрации отличного от умолчания (Значение) может осуществляться по номеру.
Пример кода.
Задача: определить список показателей, к целевому значению которых будет стремиться компания в указанных год.
Sub ПримерOLE_РаботаСФильтромДиапазон()
' Получение объекта приложения
Set oleapp = CreateObject("ByteEnterprise.OleApplication")
'Запустить Business Studio Enterprise с базой под именем demo_ole на сервере
U6S\SQLEXPRESS2005. В Диспетчере задач появится Business Studio. В панели задач приложения не будет видно.
Set client_app = oleapp.ЗапуститьКлиентскоеПриложение("ИмяСервера", "ИмяБазы", "Enterprise")
'В панели задач появится приложение
oleapp.ПоказатьКлиентскоеПриложение
'Указываем, что дальнейшая работа будет с Показателями
Set ПоказателиОПУ = oleapp.ПолучитьКорневуюГруппуКласса("БизнесМодель.ПоказателиBSC")
'Создать фильтр, показывающий количество показателей, к достижению которых стремимся в 2014 г.
Set ФильтрПоказатели = ПоказателиОПУ.СоздатьФильтр
'Задание условий
ФильтрПоказатели.Условия.Параметры.ЦелеваяДата.ТипФильтрации = 1 'Диапазон
ФильтрПоказатели.Условия.Параметры.ЦелеваяДата.Мин = CDate("01.01.2014")
ФильтрПоказатели.Условия.Параметры.ЦелеваяДата.ВключатьМин = True
ФильтрПоказатели.Условия.Параметры.ЦелеваяДата.Макс = CDate("31.12.2014")
ФильтрПоказатели.Условия.Параметры.ЦелеваяДата.ВключатьМакс = True
'Выполняем фильтр
Set Результат = ФильтрПоказатели.Выполнить
КолвоПоказатель = Результат.КоличествоЭлементов
MsgBox "Количество показателей, к достижению которых стремимся в 2014: " + CStr(КолвоПоказатель)
End Sub
Свойство: ОператорСравнения
Результат: Int (целое число от 0 до 5)
Оператор сравнения для типа фильтрации "Значение" (см. Cвойство ТипФильтрации). По умолчанию "Равно".
Возможные варианты:
0 - Больше,
1 - БольшеИлиРавно,
2 - Меньше,
3 - МеньшеИлиРавно,
4 - Равно,
5 - Подобный (только для строковых параметров).
Задание оператора сравнения отличного от умолчания (Равно) может осуществляться по номеру.
Пример кода.
Задача: показать количество субъектов, у которых в названии есть слово «директор».
Sub ПримерOLE_СоздатьФильтрОператорСравнения()
'Получение объекта приложения
Set oleapp = CreateObject("ByteEnterprise.OleApplication")
'Запустить Business Studio в редакции и с базой на сервере, указанными ранее.
'В Диспетчере задач появится Business Studio. В панели задач приложения не будет видно.
Set client_app = oleapp.ЗапуститьКлиентскоеПриложение("ИмяСервера", "ИмяБазы", "Enterprise")
'В панели задач появится приложение
oleapp.ПоказатьКлиентскоеПриложение
'Указываем, что дальнейшая работа будет с Субъектами
SetВсеСубъекты = oleapp.ПолучитьКорневуюГруппуКласса("БизнесМодель.Субъекты")
'Создать фильтр, отбирающий только должности
SetФильтр = ВсеСубъекты.СоздатьФильтр
'Условие - в названии субъекта содержится слово "директор"
Фильтр.Условия.Параметры.Название.ОператорСравнения = 5 'строковый параметр, соответствует «~»
Фильтр.Условия.Параметры.Название.Значение = "%директор%"
'Выполняем фильтр и определяем количество записей
SetРезультатФильтр = Фильтр.Выполнить
КолвоДолжностей = РезультатФильтр.КоличествоЭлементов
'Выводим сообщение
MsgBox"Количество субъектов, у которых в названии есть слово 'директор' : " + CStr(КолвоДолжностей)
End Sub
Свойство: Мин
Свойство: Макс
Тип параметра: Соответствует типу параметра в объектной модели.
Минимальное и максимальное значения параметра фильтра для типа фильтрации "Диапазон" (см. Cвойство ТипФильтрации).
Пример кода. См. код в свойстве «ТипФильтрации» (Cвойство ТипФильтрации).
Свойство: ВключатьМин
Свойство: ВключатьМакс
Тип параметра: Bool (True, False)
Свойство логики, управляющей включением минимального и максимального значения в результат фильтрации при типе фильтрации "Диапазон" (см. Cвойство ТипФильтрации). Если логика включена, граничное значение войдет в результат фильтрации. По умолчанию логика включена.
Пример кода. См. код в свойстве «ТипФильтрации» (Cвойство ТипФильтрации).
Свойство: Подфильтр
Тип параметра: Система.Фильтр (см. Класс "Система.Фильтр").
Свойство задает вложенный фильтр для данного параметра фильтра. Используется с типом фильтрации "Подфильтр" (см. Cвойство ТипФильтрации). Только для объектных и списковых параметров. Подфильтр строится по тому классу, которому принадлежит параметр.
Пример кода.
Задача:
Sub ПримерOLE_СоздатьФильтрСПодфильтром()
'Получение объекта приложения
Set oleapp = CreateObject("ByteEnterprise.OleApplication")
'Запустить Business Studio в редакции и с базой на сервере, указанными ранее.
'В Диспетчере задач появится Business Studio. В панели задач приложения не будет видно.
Set client_app = oleapp.ЗапуститьКлиентскоеПриложение("ИмяСервера", "ИмяБазы", "Enterprise")
'В панели задач появится приложение
oleapp.ПоказатьКлиентскоеПриложение
'Указываем, что дальнейшая работа будет с Показателями
SetПоказателиОПУ = oleapp.ПолучитьКорневуюГруппуКласса("БизнесМодель.ПоказателиBSC")
'Создаем фильтр по процессам
SetФильтрПоказатели = ПоказателиОПУ.СоздатьФильтр
ФильтрПоказатели.Условия.Параметры.ЕдиницаИзмерения.ТипФильтрации = 3 'Подфильтр
'задаем условия подфильтра по единице измерения показателя
'подфильтр будет по Единицам измерения
Set ЕдиницыОПУ = _
oleapp.ПолучитьКорневуюГруппуКласса("БизнесМодель.ЕдиницыИзмеренияЗатрат")
'подфильтр отбирает единицы с сокращением "руб."
Set ФильтрЕдиницы = ЕдиницыОПУ.СоздатьФильтр
ФильтрЕдиницы.Условия.Параметры.Сокращение.Значение = "руб."
'непосредственное задание условия фильтра Показателя по подфильтру
ФильтрПоказатели.Условия.Параметры.ЕдиницаИзмерения.Подфильтр = ФильтрЕдиницы
'Выполняем фильтр по Показателю и определяем количество записей
SetРезультатФильтрПоказатели = ФильтрПоказатели.Выполнить
КолвоПоказателей = РезультатФильтрПоказатели.КоличествоЭлементов
'Выводим сообщение
MsgBox"Количество показателей, которые измеряются в рублях: " + CStr(КолвоПоказателей)
End Sub