Класс "Система.МетаКласс"

К классу "Система.МетаКласс" относится любой объект системы.

Свойство ИмяПараметра

Свойство: <ИмяПараметра>

Тип параметра: object (соответствует типу параметра в Объектной модели).

Обращение к значениям (параметрам) объектов осуществляется по имени параметра из объектной модели Business Studio.

Пример кода.

Задача: вывести сообщение о заданном показателе, а также некоторые его параметры.

Sub ПримерOLE_РаботаСПараметрами()

 

   'Получение объекта приложения

   Set oleapp = CreateObject("ByteEnterprise.OleApplication")

   'Запустить Business Studio в редакции и базой на сервере, указанными ранее.

   'В Диспетчере задач появится Business Studio. В панели задач приложения не будет видно.

   Set client_app = oleapp.ЗапуститьКлиентскоеПриложение("ИмяСервера", "ИмяБазы", "Enterprise")

   'В панели задач появится приложение

   oleapp.ПоказатьКлиентскоеПриложение

 

   'Обращаемся к показателю с заданным названием

   ИмяПоказателя = "Издержки на запасы (% от общих издержек)"

   Set СписокПоказателей = oleapp.ПолучитьОбъекты("БизнесМодель.ПоказателиBSC", "Название", ИмяПоказателя)

   Set МойПоказатель = СписокПоказателей.ПолучитьЭлемент(0)

 

   'Считываем параметрам показателя

   ЦельДата = МойПоказатель.ЦелеваяДата

   ЦельЗначение = CStr(МойПоказатель.ЦелевоеЗначение) 'Вещественное значение сразу преобразовываем в строку

   Измерение = МойПоказатель.ЕдиницаИзмерения

 

      'Определение периодичности измерения показателя. Периодичность - это перечисление

      ПериодичностьТекст = _

      МойПоказатель.Параметры.ПолучитьЭлемент("Периодичность").ЗначениеВСтроку

 

   'Выводим сообщение с данными показателя

   MsgBox "Показатель: " + ИмяПоказателя + Chr(13) + _

   "Периодичность измерения: " + ПериодичностьТекст + Chr(13) + _

   "Единица измерения: " + Измерение + Chr(13) + _

   "Целевое значение и дата: " + ЦельЗначение + " на " + ЦельДата

 

End Sub

Метод НайтиПараметр

Синтаксис: НайтиПараметр(string "<ИмяПараметра>")

Возвращаемый результат: Система.Параметр (см. Класс "Система.Параметр")

Метод для получения параметра. Используется, если нет возможности обратиться к параметру напрямую, например, для обращения к параметрам типа "ДатаВремя" или к пользовательским параметрам.

Пример кода. См. код в методе "СоздатьОбъект" (Mетод СоздатьОбъект).

Метод СоздатьФильтр

Синтаксис: СоздатьФильтр()

Возвращаемый результат: Система.Фильтр (см. Класс "Система.Фильтр").

Создает Фильтр по объекту-группе.

Внимание!

Рекомендуется использовать для корневых групп класса (ОПУ).


Пример кода.

Задача: вывести сообщение, показывающее количество должностей в бизнес-модели.

Sub ПримерOLE_СоздатьФильтр()

   'Получение объекта приложения

   Set oleapp = CreateObject("ByteEnterprise.OleApplication")

   'Запустить Business Studio в редакции и с базой на сервере, указанными ранее.

   'В Диспетчере задач появится Business Studio. В панели задач приложения не будет видно.

   Set client_app = oleapp.ЗапуститьКлиентскоеПриложение("ИмяСервера", "ИмяБазы", "Enterprise")

   'В панели задач появится приложение

   oleapp.ПоказатьКлиентскоеПриложение

 

'Дальнейшая работа будет с Субъектами

Set ВсеСубъекты = oleapp.ПолучитьКорневуюГруппуКласса("БизнесМодель.Субъекты")

 

'Создать фильтр, отбирающий только должности

Set ФильтрДолжности = ВсеСубъекты.СоздатьФильтр

ФильтрДолжности.Условия.Параметры.ТипСубъекта.Значение = "Должность"

 'строка выше может быть и такой:

 'ФильтрДолжности.Условия.Параметры.ТипСубъекта.Значение = 2 ' 2 - Должность

 

'Выполняем фильтр и определяем количество записей

Set РезультатФильтрДолжности = ФильтрДолжности.Выполнить

КолвоДолжностей = РезультатФильтрДолжности.КоличествоЭлементов

 

'Выводим сообщение

MsgBox "Количество должностей: " + CStr(КолвоДолжностей)

 

End Sub

Метод Сохранить

Синтаксис: Сохранить()

Возвращаемый результат: не возвращает.

Сохраняет изменения объекта в базу данных.

Пример кода. См. код в методах "СоздатьОбъект" (Mетод СоздатьОбъект) и "СоздатьГруппу" (Mетод СоздатьГруппу).

Метод Обновить

Синтаксис: Обновить()

Возвращаемый результат: не возвращает.

Обновляет текущий объект, зачитывает свойства объекта из базы данных, при этом все произведенные изменения будут утеряны. Актуализирует состояние класса при наличии сохраненных изменений в объекте, внесенных в другом экземпляре Business Studio.

Пример кода.

Set Субъекты = oleapp.ПолучитьОбъекты("БизнесМодель.Субъекты", "Название", "Директор")

Set НужныйСубъект = Субъекты.ПолучитьЭлемент(0)

НужныйСубъект.Обновить

Метод Удалить

Синтаксис: Удалить()

Возвращаемый результат: не возвращает.

Помечает объект на удаление. Выполнение метода соответствует удалению объекта вручную, при котором не происходит очистки ссылок на удаляемый объект.

Пример кода.

Задача: из организационной структуры удалить юриста.

Sub ПримерOLE_Удалить()

   'Получение объекта приложения

   Set oleapp = CreateObject("ByteEnterprise.OleApplication")

   'Запустить Business Studio в редакции и базой на сервере, указанными ранее.

   'В Диспетчере задач появится Business Studio. В панели задач приложения не будет видно.

   Set client_app = oleapp.ЗапуститьКлиентскоеПриложение("ИмяСервера", "ИмяБазы", "Enterprise")

   'В панели задач появится приложение

   oleapp.ПоказатьКлиентскоеПриложение

 

   'Определяем субъект для удаления

   GuidСубъекта = "23e3bc1b-1b6b-46b6-80c1-3508d9d06b6f" 'Соответствует 'Юрист" в демо-базе

   Set Субъект = oleapp.ПолучитьОбъекты("БизнесМодель.Субъекты", "guid", GuidСубъекта)

   Set СубъектЮрист = Субъект.ПолучитьЭлемент(0)

 

   'Удаляем субъект

   СубъектЮрист.Удалить

End Sub

Метод УдалитьСОчисткойСсылок

Синтаксис: УдалитьСОчисткойСсылок ()

Возвращаемый результат: не возвращает.

Помечает объект на удаление. Выполнение метода соответствует удалению объекта вручную, при котором происходит очистка ссылок на удаляемый объект.

Пример кода.

Задача: из организационной структуры удалить заместителя директора по качеству.

Sub ПримерOLE_УдалитьСОчисткойСсылок ()

   'Получение объекта приложения

   Set oleapp = CreateObject("ByteEnterprise.OleApplication")

   'Запустить Business Studio в редакции и базой на сервере, указанными ранее.

   'В Диспетчере задач появится Business Studio. В панели задач приложения не будет видно.

   Set client_app = oleapp.ЗапуститьКлиентскоеПриложение("ИмяСервера", "ИмяБазы", "Enterprise")

   'В панели задач появится приложение

   oleapp.ПоказатьКлиентскоеПриложение

 

   'Определяем субъект для удаления

   GuidСубъекта = "6b5a65bd-b0b3-4395-997d-e317472eb116" 'Соответствует "Заместитель директора по качеству" в демо-базе

   Set Субъект = oleapp.ПолучитьОбъекты("БизнесМодель.Субъекты", "guid", GuidСубъекта)

   Set СубъектЗамДирКачество = Субъект.ПолучитьЭлемент(0)

 

   'Удаляем субъект

   СубъектЗамДирКачество.УдалитьСОчисткойСсылок

End Sub

Метод УдалитьСЗаменойСсылок

Синтаксис: УдалитьСЗаменойСсылок(object <Объект>)

Возвращаемый результат: не возвращает.

Помечает объект на удаление. Выполнение метода соответствует удалению объекта вручную, при котором происходит переназначение ссылок на другой объект.

Пример кода.

Задача: из организационной структуры удалить заместителя директора по качеству, переназначив ссылки на юриста.

Sub ПримерOLE_УдалитьСЗаменойСсылок ()

   'Получение объекта приложения

   Set oleapp = CreateObject("ByteEnterprise.OleApplication")

   'Запустить Business Studio в редакции и базой на сервере, указанными ранее.

   'В Диспетчере задач появится Business Studio. В панели задач приложения не будет видно.

   Set client_app = oleapp.ЗапуститьКлиентскоеПриложение("ИмяСервера", "ИмяБазы", "Enterprise")

   'В панели задач появится приложение

   oleapp.ПоказатьКлиентскоеПриложение

 

   'Определяем субъект для переназначения ссылок

   GuidСубъекта1 = "23e3bc1b-1b6b-46b6-80c1-3508d9d06b6f" 'Соответствует 'Юрист" в демо-базе

   Set Субъект1 = oleapp.ПолучитьОбъекты("БизнесМодель.Субъекты", "guid", GuidСубъекта1)

   Set СубъектЮрист = Субъект1.ПолучитьЭлемент(0)

 

   'Определяем субъект для удаления

   GuidСубъекта2 = "6b5a65bd-b0b3-4395-997d-e317472eb116" 'Соответствует "Заместитель директора по качеству" в демо-базе

   Set Субъект2 = oleapp.ПолучитьОбъекты("БизнесМодель.Субъекты", "guid", GuidСубъекта2)

   Set СубъектЗамДирКачество = Субъект2.ПолучитьЭлемент(0)

 

   'Удаляем субъект и переназначаем ссылки

   СубъектЗамДирКачество.УдалитьСЗаменойСсылок (СубъектЮрист)

 

End Sub
« ПредыдущаяНа уровень вышеСледующая »
Актуальные новости, публикации и практики для бизнес-архитекторов и аналитиков
Driven by DokuWiki