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

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

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

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

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

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

Пример кода.

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

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

 

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

   Set oleapp = CreateObject("ByteEnterprise.OleApplication")

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

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

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

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

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

 

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

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

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

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

 

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

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

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

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

 

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

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

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

 

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

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

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

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

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

 

End Sub

Свойство Группа

Свойство: OLE_Группа

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

Свойство позволяет переместить объект в другую папку.

Пример кода.

Задача: перенести заданный фильтр из папки "Фильтры правил получения объектов" в папку "Пользовательские фильтры".

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

    

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

    Set oleapp = CreateObject("ByteEnterprise.OleApplication") 

  

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

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

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

  

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

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

  

'Обращаемся к фильтру с заданным названием 

    ИмяФильтра = "Оргединицы" 

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

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

  

'Указываем папку, в которую будем перемещать объект 

    Set СписокПапкаФильтр = oleapp.ПолучитьОбъекты("База.ХранимыеФильтры", "Название", "Пользовательские фильтры") 

    Set ПапкаНужная = СписокПапкаФильтр.ПолучитьЭлемент(0) 

  

'Переносим требуемый объект в нужную папку 

   МойФильтр.OLE_Группа = ПапкаНужная 

   МойФильтр.Сохранить 
  
End Sub

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

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

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

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

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

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

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

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

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

Внимание! Рекомендуется использовать для корневых групп класса.


Пример кода.

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

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

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

   Set oleapp = CreateObject("ByteEnterprise.OleApplication")

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

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

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

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

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

 

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

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

 

   'Создать фильтр, отбирающий только цели с периодичностью месяц

   Set ФильтрЦели = ВсеЦели.СоздатьФильтр

   ФильтрЦели.Условия.Параметры.Периодичность.Значение = "Месяц"

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

   'ФильтрЦели.Условия.Параметры.Периодичность.Значение = 3 ' 3 - Месяц

 

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

   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.ЗапуститьКлиентскоеПриложение("ИмяСервера", "ИмяБазы", "РедакцияПрограммы")

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

   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.ЗапуститьКлиентскоеПриложение("ИмяСервера", "ИмяБазы", "РедакцияПрограммы")

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

   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.ЗапуститьКлиентскоеПриложение("ИмяСервера", "ИмяБазы", "РедакцияПрограммы")

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

   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