Различия

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

Ссылка на это сравнение

ru:technical_manual:import_plugin [2017/02/06 16:33]
admin
ru:technical_manual:import_plugin [2021/10/06 07:07] (текущий)
belkin [Порядок выполнения пакета импорта через плагин]
Строка 1: Строка 1:
 ====== Плагины импорта ====== ====== Плагины импорта ======
  
-====== Введение ======+===== Введение =====
  
-Плагин импорта позволяет прочесть информацию из внешней системы и преобразовать его к виду, понятному механизму импорта Business Studio.  Пользователю также необходимо настроить пакет импорта, который настраивает правила трансляции данных, полученных плагином, в данные Business Studio. Пользователь может разработать плагин самостоятельно, используя в качестве примера исходный код плагинов, идущих в комплекте Business Studio.+Плагин импорта позволяет прочесть информацию из внешней системы и преобразовать его к виду, понятному механизму импорта Business Studio((Функционал доступен в Business Studio, начиная с версии 4.2, только в редакции Enterprise)).  Пользователю также необходимо настроить пакет импорта, который настраивает правила трансляции данных, полученных плагином, в данные Business Studio. Пользователь может разработать плагин самостоятельно, используя в качестве примера исходный код плагинов, идущих в комплекте Business Studio.
  
-====== Интерфейс плагина ======+===== Интерфейс плагина =====
  
-Плагин представляет собой скомпилированную библиотеку, которая реализует необходимые методы, которые использует механизм импорта Business Studio. Краткое описание этих методов приведено в Таблице 1.+Плагин представляет собой скомпилированную библиотеку, которая реализует необходимые методы, которые использует механизм импорта Business Studio. Краткое описание этих методов см. ниже.
  
-|  **Методы**  | +**Методы** 
-| %%///%% </summary\\ %%///%% Возвращаемая строка будет отображаться в списке доступных плагинов для формирования пакета импорта. \\ %%///%% </summary> \\ %%///%% <returns>Возвращает строку с названием плагина</returns> \\ public static string GetPluginTitle() | +<code>
-| %%///%% <summary> \\ %%///%% Метод открытия плагина. Запоминает выбранные файлы. Создаёт новое приложение. \\ %%///%% </summary> \\ %%///%% <returns>True, если всё прошло без ошибок</returns> \\ public static bool Open() | +
-| %%///%% <summary> \\ %%///%% Определяет количество фрагментов информации. \\ %%///%% </summary> \\ %%///%% <returns>Количество фрагментов информации</returns> \\ public static int GetPartsCount() | +
-| %%///%% <summary> \\ %%///%% Получает список всех классов, используемых на диаграммах. \\ %%///%% </summary> \\ %%///%% <param name="partNumber">Номер текущего информационного фрагмента</param>  \\ %%///%% <returns>Возвращает  список всех классов</returns> \\ public static List<string> GetClasses(int partNumber) | +
-| %%///%% <summary> \\ %%///%% Получает список всех графических классов. \\ %%///%% </summary> \\ %%///%% <param name="partNumber">Номер текущего информационного фрагмента</param> \\ %%///%%  <returns>Возвращает графические  классы  объектов</returns> \\ public static List<string> GetGraphicClasses(int partNumber) | +
-| %%///%% <summary> \\ %%///%% Получает параметры фигур принадлежащие определённому  классу. \\ %%///%% </summary> \\ %%///%% <param name="className">Имя класса </param> \\ %%///%% <param name="partNumber">Номер текущего информационного фрагмента</param> \\ %%///%% <returns>Возвращает параметры фигур принадлежащие определённому мастеру</returns> \\ public static List<string> GetParameters(string className, int partNumber) | +
-| %%///%% <summary> \\ %%///%% Получает список значений параметров от фигур заданного мастера. \\ %%///%% </summary> \\ %%///%% <param name="className">Имя класса</param> \\ %%///%% <param name="partNumber">Номер текущего информационного фрагмента</param> \\ %%///%% <returns>Возвращает список значений параметров от фигур заданного класса</returns> \\ public static List<string[]> GetData(string className, int partNumber) | +
-| %%///%% <summary> \\ %%///%% Получает графические параметры фигур принадлежащие определённому классу. \\ %%///%% </summary> \\ %%///%% <param name="className">Имя класса. Получаем заголовки параметров у объектов данного класса</param> \\ %%///%% <param name="partNumber">Номер текущего информационного фрагмента</param> \\ %%///%% <returns>Возвращает параметры фигур принадлежащие определённому мастеру</returns> \\ public static List<string> GetGraphicParameters(string className, int partNumber) | +
-| %%///%% </summary> \\ %%///%% Получает значения графических параметров фигур определённого класса. \\ %%///%% <param name="className">Имя класса</param> \\ %%///%% <param name="partNumber">Номер текущего информационного фрагмента</param> \\ %%///%% <returns>Возвращает коллекцию содержащую список массивов со значениями параметров</returns> \\ public static List<string[]> GetGraphicData(string className, int partNumber) | +
-| %%///%% <summary> \\ %%///%% Метод используется для освобождения ресурсов после окончания работы с плагином. \\ %%///%% </summary> \\ public static void Close() |+
  
-\\  +/// </summary> 
 +/// Возвращаемая строка будет отображаться в списке доступных плагинов для формирования пакета импорта. 
 +/// </summary> 
 +/// <returns>Возвращает строку с названием плагина </returns> 
 +public static string GetPluginTitle()
  
-Подробнее о каждом методе можно узнать из исходного кода. Исходные коды плагинов , поставляемых с системой Business Studio см. тамто+/// </summary> 
 +/// Метод открытия плагина. Запоминает выбранные файлы. Создаёт новое приложение. 
 +/// </summary> 
 +/// <returns> True, если всё прошло без ошибок </returns> 
 +public static bool Open() 
 + 
 +/// <summary>   
 +/// Определяет количество фрагментов информации.   
 +/// </summary>   
 +/// <returns>Количество фрагментов информации</returns>   
 +public static int GetPartsCount() 
 + 
 +/// <summary>   
 +/// Получает список всех классов, используемых на диаграммах.   
 +/// </summary>   
 +/// <param name="partNumber">Номер текущего информационного фрагмента</param>    
 +/// <returns>Возвращает  список всех классов</returns>   
 +public static List<string> GetClasses(int partNumber) 
 + 
 +/// <summary>   
 +/// Получает список всех графических классов.   
 +/// </summary>   
 +/// <param name="partNumber">Номер текущего информационного фрагмента</param>   
 +///  <returns>Возвращает графические  классы  объектов</returns>   
 +public static List<string> GetGraphicClasses(int partNumber) 
 + 
 +/// <summary>  
 +/// Получает параметры фигур принадлежащие определённому  классу.   
 +/// </summary>  /// <param name="className">Имя класса </param>   
 +/// <param name="partNumber">Номер текущего информационного фрагмента</param>   
 +/// <returns>Возвращает параметры фигур принадлежащие определённому мастеру</returns>  
 +public static List<string> GetParameters(string className, int partNumber) 
 + 
 +/// <summary>   
 +/// Получает список значений параметров от фигур заданного мастера.   
 +/// </summary>  /// <param name="className">Имя класса</param>   
 +/// <param name="partNumber">Номер текущего информационного фрагмента</param>   
 +/// <returns>Возвращает список значений параметров от фигур заданного класса</returns>   
 +public static List<string[]> GetData(string className, int partNumber) 
 + 
 +/// <summary>   
 +/// Получает графические параметры фигур принадлежащие определённому классу.   
 +/// </summary>   
 +/// <param name="className">Имя класса. Получаем заголовки параметров у объектов данного класса</param>   
 +/// <param name="partNumber">Номер текущего информационного фрагмента</param>   
 +/// <returns>Возвращает параметры фигур принадлежащие определённому мастеру</returns>   
 +public static List<string> GetGraphicParameters(string className, int partNumber)  
 + 
 +/// </summary>   
 +/// Получает значения графических параметров фигур определённого класса.   
 +/// <param name="className">Имя класса</param>   
 +/// <param name="partNumber">Номер текущего информационного фрагмента</param>   
 +/// <returns>Возвращает коллекцию содержащую список массивов со значениями параметров</returns>  
 +public static List<string[]> GetGraphicData(string className, int partNumber) 
 + 
 +/// <summary>   
 +/// Метод используется для освобождения ресурсов после окончания работы с плагином  
 +/// </summary>   
 +public static void Close()  
 +</code> 
 + 
 +Подробнее о каждом методе можно узнать из исходного кода. Ссылки на скачивание архивов с исходными кодами плагинов, поставляемых с системой Business Studio, приведены в разделах по этим плагинам. Ссылки на разделы по конкретным плагинам приведены в конце данной статьи, в разделе [[ru/technical_manual/import_plugin#типы_плагинов|Типы плагинов]].
  
 Все методы обязательны, однако методы GetGraphicClasses, GetGraphicParameters и GetGraphic могут возвращать null, если в данном плагине нет графического импорта. Все методы обязательны, однако методы GetGraphicClasses, GetGraphicParameters и GetGraphic могут возвращать null, если в данном плагине нет графического импорта.
  
-====== Порядок создания нового пакета импорта: ======+===== Порядок создания нового пакета импорта =====
  
 Плагин импорта используется на этапе создания пакета импорта, читая перечень необходимых классов и параметров из файлов примера, что облегчает создание и настройку пакета импорта. Плагин импорта используется на этапе создания пакета импорта, читая перечень необходимых классов и параметров из файлов примера, что облегчает создание и настройку пакета импорта.
Строка 37: Строка 93:
   - Настраивается графический импорт, если плагин его поддерживает, устанавливаются соответствия между графическимим классами файла примера и элементами диаграмм Business Studio.   - Настраивается графический импорт, если плагин его поддерживает, устанавливаются соответствия между графическимим классами файла примера и элементами диаграмм Business Studio.
  
-====== Порядок выполнения пакета импорта через плагин: ======+===== Порядок выполнения пакета импорта через плагин =====
  
 После настройки пакета импорта можно использовать его как шаблон для многократной загрузки файлов импорта, используя правила трансляции, заданные в пакете. После настройки пакета импорта можно использовать его как шаблон для многократной загрузки файлов импорта, используя правила трансляции, заданные в пакете.
Строка 43: Строка 99:
   - После выбора плагина вызывается метод Open и плагин предлагает выбрать файлы, которые будут обрабатываться.   - После выбора плагина вызывается метод Open и плагин предлагает выбрать файлы, которые будут обрабатываться.
   - После открытия источника и перед чтением метод GetPartsCount определяет количество пакетов информации, с их помощью слишком большие данные разбиваются на части или происходит разбивка по файлам в случае выбора нескольких файлов для импорта. Решение на какие порции разбивать данные принимает плагин.   - После открытия источника и перед чтением метод GetPartsCount определяет количество пакетов информации, с их помощью слишком большие данные разбиваются на части или происходит разбивка по файлам в случае выбора нескольких файлов для импорта. Решение на какие порции разбивать данные принимает плагин.
-  - Затем происходит чтения информации из файловпо порядку этапов в пакете импорта, сначала идёт объектный импорт, используемые классы -- GetParameters и GetData. На этом этапе создаются объекты и у них заполняются параметры.+  - Затем происходит чтение информации из файлов по порядку этапов в пакете импорта, сначала идёт объектный импорт, используемые классы -- GetParameters и GetData. На этом этапе создаются объекты и у них заполняются параметры.
   - После объектного импорта, а иногда внутри на определённом этапе, вызывается графический импорт, если в пакете настроен графический  импорт и задан набор соответствий в этапе.  Используемые классы -- GetGraphicParameters, GetGraphicData. На этом этапе создаются диаграммы и фигуры. После того как фигуры были нарисованы, они связываются с объектами из базы данных.   - После объектного импорта, а иногда внутри на определённом этапе, вызывается графический импорт, если в пакете настроен графический  импорт и задан набор соответствий в этапе.  Используемые классы -- GetGraphicParameters, GetGraphicData. На этом этапе создаются диаграммы и фигуры. После того как фигуры были нарисованы, они связываются с объектами из базы данных.
   - Импорт повторяется для каждого этапа Пакета импорта, пока не будут обработаны все выбранные файлы   - Импорт повторяется для каждого этапа Пакета импорта, пока не будут обработаны все выбранные файлы
   - После окончания импорта вызывается метод Close, закрывает открытые файлы и освобождает память от используемых плагином ресурсов.   - После окончания импорта вызывается метод Close, закрывает открытые файлы и освобождает память от используемых плагином ресурсов.
  
-====== Создание плагина и внедрение в систему Business Studio: ======+===== Создание плагина и внедрение в систему Business Studio =====
  
 Для установки плагина необходимо скомпилировать проект(.sln) плагина, затем полученный файл dll разместить в подпапке Plugins папки, куда установлена Business Studio. Если требуется, чтобы плагин устанавливался автоматически при установке Business Studio, то плагин нужно разместить в папке Plugins дистрибутива. Для установки плагина необходимо скомпилировать проект(.sln) плагина, затем полученный файл dll разместить в подпапке Plugins папки, куда установлена Business Studio. Если требуется, чтобы плагин устанавливался автоматически при установке Business Studio, то плагин нужно разместить в папке Plugins дистрибутива.
Строка 55: Строка 111:
  
 Если изменения будут вноситься в один из представленных с системой Business Studio плагинов, следует переименовать скомпилированную библиотеку (dll-файл), чтобы ваши наработки не были перезаписаны новой версией плагина из комплекта поставки программы. Пакеты импорта же необходимо скопировать и изменить у них параметр «Plugin», чтобы он соответствовал новому имени библиотеки. Если изменения будут вноситься в один из представленных с системой Business Studio плагинов, следует переименовать скомпилированную библиотеку (dll-файл), чтобы ваши наработки не были перезаписаны новой версией плагина из комплекта поставки программы. Пакеты импорта же необходимо скопировать и изменить у них параметр «Plugin», чтобы он соответствовал новому имени библиотеки.
 +
 +===== Типы плагинов =====
 +
 +  *[[ru/technical_manual/import_plugin/plugin_visio]]
 +
 +
 +
 +
 +
 +[<contextnavigator>]
 +
 +
Актуальные новости, публикации и практики для бизнес-архитекторов и аналитиков
Driven by DokuWiki