Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
ru:technical_manual:import_plugin [2017/02/07 09:32] admin |
ru:technical_manual:import_plugin [2021/10/06 07:07] (текущий) belkin [Порядок выполнения пакета импорта через плагин] |
||
---|---|---|---|
Строка 3: | Строка 3: | ||
===== Введение ===== | ===== Введение ===== | ||
- | Плагин импорта позволяет прочесть информацию из внешней системы и преобразовать его к виду, понятному механизму импорта Business Studio. Пользователю также необходимо настроить пакет импорта, который настраивает правила трансляции данных, полученных плагином, в данные Business Studio. Пользователь может разработать плагин самостоятельно, используя в качестве примера исходный код плагинов, идущих в комплекте Business Studio. | + | Плагин импорта позволяет прочесть информацию из внешней системы и преобразовать его к виду, понятному механизму импорта Business Studio((Функционал доступен в Business Studio, начиная с версии 4.2, только в редакции Enterprise)). Пользователю также необходимо настроить пакет импорта, который настраивает правила трансляции данных, полученных плагином, в данные Business Studio. Пользователь может разработать плагин самостоятельно, используя в качестве примера исходный код плагинов, идущих в комплекте Business Studio. |
===== Интерфейс плагина ===== | ===== Интерфейс плагина ===== | ||
- | Плагин представляет собой скомпилированную библиотеку, которая реализует необходимые методы, которые использует механизм импорта Business Studio. Краткое описание этих методов приведено в Таблице 1. | + | Плагин представляет собой скомпилированную библиотеку, которая реализует необходимые методы, которые использует механизм импорта Business Studio. Краткое описание этих методов см. ниже. |
- | <color grey> %%///%% </summary></color> \\ | + | **Методы** |
- | <color grey> %%///%%</color> <color green>Возвращаемая строка будет отображаться в списке доступных плагинов для формирования пакета импорта.</color> \\ | + | <code> |
- | <color grey> %%///%% </summary></color> \\ | + | |
- | <color grey> %%///%% <returns></color> <color green>Возвращает строку с названием плагина</color><color grey> </returns></color> \\ | + | |
- | <color blue>public static string</color> GetPluginTitle() | + | |
+ | /// </summary> | ||
+ | /// Возвращаемая строка будет отображаться в списке доступных плагинов для формирования пакета импорта. | ||
+ | /// </summary> | ||
+ | /// <returns>Возвращает строку с названием плагина </returns> | ||
+ | public static string GetPluginTitle() | ||
- | <color grey> %%///%% </summary></color> \\ | + | /// </summary> |
- | <color grey> %%///%%</color> <color green>Метод открытия плагина. Запоминает выбранные файлы. Создаёт новое приложение.</color> \\ | + | /// Метод открытия плагина. Запоминает выбранные файлы. Создаёт новое приложение. |
- | <color grey> %%///%% </summary></color> \\ | + | /// </summary> |
- | <color grey> %%///%% <returns></color> <color green>True, если всё прошло без ошибок</color><color grey> </returns></color> \\ | + | /// <returns> True, если всё прошло без ошибок </returns> |
- | <color blue>public static bool</color> Open() | | + | public static bool Open() |
- | | **Методы** | | + | /// <summary> |
- | | %%///%% <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> \\ %%///%% Получает список всех графических классов. \\ %%///%% </summary> \\ %%///%% <param name="partNumber">Номер текущего информационного фрагмента</param> \\ %%///%% <returns>Возвращает графические классы объектов</returns> \\ public static List<string> GetGraphicClasses(int partNumber) | | + | /// <returns>Количество фрагментов информации</returns> |
- | | %%///%% <summary> \\ %%///%% Получает параметры фигур принадлежащие определённому классу. \\ %%///%% </summary> \\ %%///%% <param name="className">Имя класса </param> \\ %%///%% <param name="partNumber">Номер текущего информационного фрагмента</param> \\ %%///%% <returns>Возвращает параметры фигур принадлежащие определённому мастеру</returns> \\ public static List<string> GetParameters(string className, int partNumber) | | + | public static int GetPartsCount() |
- | | %%///%% <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() | | + | |
- | Подробнее о каждом методе можно узнать из исходного кода. Исходные коды плагинов , поставляемых с системой Business Studio см. тамто | + | /// <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, если в данном плагине нет графического импорта. | ||
Строка 52: | Строка 99: | ||
- После выбора плагина вызывается метод Open и плагин предлагает выбрать файлы, которые будут обрабатываться. | - После выбора плагина вызывается метод Open и плагин предлагает выбрать файлы, которые будут обрабатываться. | ||
- После открытия источника и перед чтением метод GetPartsCount определяет количество пакетов информации, с их помощью слишком большие данные разбиваются на части или происходит разбивка по файлам в случае выбора нескольких файлов для импорта. Решение на какие порции разбивать данные принимает плагин. | - После открытия источника и перед чтением метод GetPartsCount определяет количество пакетов информации, с их помощью слишком большие данные разбиваются на части или происходит разбивка по файлам в случае выбора нескольких файлов для импорта. Решение на какие порции разбивать данные принимает плагин. | ||
- | - Затем происходит чтения информации из файлов, по порядку этапов в пакете импорта, сначала идёт объектный импорт, используемые классы -- GetParameters и GetData. На этом этапе создаются объекты и у них заполняются параметры. | + | - Затем происходит чтение информации из файлов по порядку этапов в пакете импорта, сначала идёт объектный импорт, используемые классы -- GetParameters и GetData. На этом этапе создаются объекты и у них заполняются параметры. |
- После объектного импорта, а иногда внутри на определённом этапе, вызывается графический импорт, если в пакете настроен графический импорт и задан набор соответствий в этапе. Используемые классы -- GetGraphicParameters, GetGraphicData. На этом этапе создаются диаграммы и фигуры. После того как фигуры были нарисованы, они связываются с объектами из базы данных. | - После объектного импорта, а иногда внутри на определённом этапе, вызывается графический импорт, если в пакете настроен графический импорт и задан набор соответствий в этапе. Используемые классы -- GetGraphicParameters, GetGraphicData. На этом этапе создаются диаграммы и фигуры. После того как фигуры были нарисованы, они связываются с объектами из базы данных. | ||
- Импорт повторяется для каждого этапа Пакета импорта, пока не будут обработаны все выбранные файлы | - Импорт повторяется для каждого этапа Пакета импорта, пока не будут обработаны все выбранные файлы | ||
Строка 64: | Строка 111: | ||
Если изменения будут вноситься в один из представленных с системой Business Studio плагинов, следует переименовать скомпилированную библиотеку (dll-файл), чтобы ваши наработки не были перезаписаны новой версией плагина из комплекта поставки программы. Пакеты импорта же необходимо скопировать и изменить у них параметр «Plugin», чтобы он соответствовал новому имени библиотеки. | Если изменения будут вноситься в один из представленных с системой Business Studio плагинов, следует переименовать скомпилированную библиотеку (dll-файл), чтобы ваши наработки не были перезаписаны новой версией плагина из комплекта поставки программы. Пакеты импорта же необходимо скопировать и изменить у них параметр «Plugin», чтобы он соответствовал новому имени библиотеки. | ||
+ | |||
+ | ===== Типы плагинов ===== | ||
+ | |||
+ | *[[ru/technical_manual/import_plugin/plugin_visio]] | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | [<contextnavigator>] | ||
+ | |||
+ |