Свойство: Значение
Тип параметра: Соответствует типу параметра в объектной модели.
Свойство содержит значение параметра фильтра.
Пример кода. См. код в свойствах данного класса.
Свойство: ОтрицаниеУсловия
Тип параметра: Bool (True, False).
Свойство задает отрицание заданного условия фильтра.
Пример кода.
Задача: показать количество оргединиц, у которых название не равно "директор".
Sub ПримерOLE_ФильтрСубъектовБезДиректора() 'Получение объекта приложения Set oleapp = CreateObject("ByteEnterprise.OleApplication") 'Запустить Business Studio в указанной редакции с указанной базой и сервером баз данных. 'В Диспетчере задач появится Business Studio. В панели задач приложения не будет видно. Set client_app = oleapp.ЗапуститьКлиентскоеПриложение("ИмяСервера", "ИмяБазы", "РедакцияПрограммы") 'В панели задач появится приложение 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 в указанной редакции с указанной базой и сервером баз данных. 'В Диспетчере задач появится Business Studio. В панели задач приложения не будет видно. Set client_app = oleapp.ЗапуститьКлиентскоеПриложение("ИмяСервера", "ИмяБазы", "РедакцияПрограммы") 'В панели задач появится приложение 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.ЗапуститьКлиентскоеПриложение("ИмяСервера", "ИмяБазы", "РедакцияПрограммы") 'В панели задач появится приложение 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.ЗапуститьКлиентскоеПриложение("ИмяСервера", "ИмяБазы", "РедакцияПрограммы") 'В панели задач появится приложение oleapp.ПоказатьКлиентскоеПриложение 'Указываем, что дальнейшая работа будет с Показателями SetПоказателиОПУ = oleapp.ПолучитьКорневуюГруппуКласса("БизнесМодель.ПоказателиBSC") 'Создаем фильтр по единицам деятельности SetФильтрПоказатели = ПоказателиОПУ.СоздатьФильтр ФильтрПоказатели.Условия.Параметры.ЕдиницаИзмерения.ТипФильтрации = 3 'Подфильтр 'задаем условия подфильтра по единице измерения показателя 'подфильтр будет по Единицам измерения Set ЕдиницыОПУ = _ oleapp.ПолучитьКорневуюГруппуКласса("База.ЕдиницыИзмеренияЗатрат") 'подфильтр отбирает единицы с сокращением "руб." Set ФильтрЕдиницы = ЕдиницыОПУ.СоздатьФильтр ФильтрЕдиницы.Условия.Параметры.Сокращение.Значение = "руб." 'непосредственное задание условия фильтра Показателя по подфильтру ФильтрПоказатели.Условия.Параметры.ЕдиницаИзмерения.Подфильтр = ФильтрЕдиницы 'Выполняем фильтр по Показателю и определяем количество записей SetРезультатФильтрПоказатели = ФильтрПоказатели.Выполнить КолвоПоказателей = РезультатФильтрПоказатели.КоличествоЭлементов 'Выводим сообщение MsgBox"Количество показателей, которые измеряются в рублях: " + CStr(КолвоПоказателей) End Sub