УДК 519.72
РАЗРАБОТКА PLM-КОМПОНЕНТЫ ДЛЯ ИНТЕГРАЦИ 1С:РБМ С ДРУГИМИ
СИСТЕМАМИ
В.Ф. Барабанов, В.В. Сафронов, Э.Е. Прудников, С.А. Коваленко
В статье рассмотрен механизм разработки PLM-компонешы для системы 1С:PDM Ключевые слова: PLM-компонента, интеграция, программные продукты, COM-соединение
При работе с любой информационной системой пользователь или администратор данной системы всегда сталкиваются с вопросом интеграции программных продуктов (I II I). Вопрос интеграции I II I возникает всегда, иногда на старте внедрения системы, иногда уже в ходе эксплуатации.
В данной статье рассмотрим возможности расширения функционала системы 1C:PDM через PLM-компоненты, а также механизм разработки собственных компонент.
Необходимость разработки собственных PLM компонент для 1C:PDM связана с тем, что в 1C:PDM не всегда имеется требуемый функционал. Разработчики 1C:PDM периодически выпускают новые обновления программы, но не всегда в обновлении реализован требуемый функционал [6]. Так в версии 2.0 появилась новая система интеграции с CAD системами. Появились компоненты работы с SolidWorks, SolidEdge, КОМПАС, Pro/E, Autodesk Invertor и др.
Но периодически у организаций, работающих с 1С: PDM, возникают задачи интеграции системы с другими программными продуктами, для которых средства интеграции еще не разработаны, например с программной системой ANSYS.
Данная задача интеграции возможно в дальнейшем будет реализована разработчиками, но не всегда известно, как скоро она появится. Отсюда возникает задача разработки собственных механизмов интеграции или дополнительных PLM-компонент.
Рассмотрим основные принципы создания PLM-компоненты, которые позволят разработчику доработать компоненту под требуемый
программный продукт.
Разработанная PLM-компонента представляет собой файл динамически подключаемой библиотеки (файл с расширением *.dll). Данная библиотека разрабатывается с учетом возможности регистрации для COM-взаимодействия.
Барабанов Владимир Федорович - ВГТУ, д-р техн. наук, профессор, e-mail: [email protected]
Сафронов Виталий Владимирович - ВГТУ, канд. техн. наук, доцент, e-mail: [email protected]
Прудников Эдуард Евгеньевич - ВГТУ, магистрант, e-mail: [email protected]
Коваленко Сергей Александрович - ВГТУ, магистрант, e-mail: [email protected]
Настройка регистрации для COM-взаимодействия при разработке PLM-компоненты на Microsoft Visual Studio 2012 (С#) представлена на рис. 1.
Таким образом, в PLM-компоненте используется объектная модель компонентов или Component Object Model (COM), разработанная компанией Microsoft 1993 году.
При использовании технологии COM-взаимодействия появляется возможность зарегистрировать разработанную PLM-компоненту в системе как отдельный COM-объект.
При разработке компоненты разработчик может реализовать несколько интерфейсных классов (COM-интерфейсов), в которых будут собраны процедуры и функции нужного назначения [1]. На рис. 2 представлена часть программного кода, показывающего создание класса.
После регистрации PLM-компоненты в системе появиться возможность обращения к зарегистрированному COM-объекту и к конкретному COM-интерфейсу [2]. При правильной разработке компоненты и ее регистрации в реестре операционной системы Windows появляется соответствующий COM-объект, с указанием класса (интерфейса) к которому можно обращаться.
Следует заметить, что данная технология (COM) доступна только для операционных систем семейства Windows. Т.е. на операционных системах семейства Linux данная технология не реализована.
Также следует отметить, что если имеется клиент-серверный вариант работы 1C:PDM, где серверная часть работает под управлением операционной системы семейства Linux, а клиентские машины работают под управлением операционной системой семейства Windows, то данная технология будет работать в полном объеме [3]. Т.к. в таком случае будет задействоваться COM-объект не на сервере, а на локальной машине, где будет осуществляться обращение к разработанной PLM-компоненте.
Проанализировав в редакторе реестра операционной системы Windows строку DlLFor1C.MyClass можно сделать вывод, что в операционной системе зарегистрирован COM-объект (или иными словами разработанная PLM-компонента), который имеет один COM-интерфейс
(или класс). DllFor1C - COM-объект, MyClass -COM-интерфейс. На рис. 3 представлен редактор
реестра операционной системы Windows 8.1 с зарегистрированной компонентой DllFor1C.
Приложение
События построения Отладка Ресурсы Службы Параметры Пути для ссылок Подписывание Анализ кода
Конфигурация: |Активный (Release) Платформа: |Активный (Any CPU)
Общие -
Символы условной компиляции: Г~ Определить константу DEBUG W Определить константу TRACE Конечная платформа: |Апу CPU
V Предпочтительно: 32-разрядн. Г~ Разрешить небезопасный код W Оптимизировать код Ошибки и предупреждения —
Уровень предупреждений: Отключить предупреждения:
F
Г
Обрабатывать предупреждения как ошибки (* Никакие С Все
С' Следующие: Вывод -
~3
~3
Путь вывода:
Г" XML-файл документации:
|binV^elease\ [
W Регистрация для СОМ-взаимодействия d н
Создание сборки сериализации: 1^БТ0
1 .г
Рис. 1. Настройка регистрации для COM-взаимодействия в PLM-компоненте
ПЪ. объявляем интерфейс для класса, создаем (¡иш [Guid(,'lв5c44Э7-eab0-4«S0-SeЭe-4Ь2fefЬЭBSЬS,')]
Рис. 2. Пример объявление COM-интерфейса
{¿'I Редактор реестра
Файл Правка Вид Избранное Справка
+ h J. DirecKFile DiskManagement. Connection
+ i. DiskManagement. Control
+ J. DiskManagement. DataObject
+ i DiskManagement. Snapln
+ J. DiskManagement. SnapInAbout
+ j. DiskManagement. SnapInComponent
+ J. DiskManagement. SnapInExtension
+ X DiskManagement. UITasks
+ J. Dispatch. UACDispatch
+ h Dispatch. UACDispatch. 1
+ J> DispatchMapper. DispatchMapper
+ It DispatchMapper.DispatchMapper. 1
+ h DisplayPage. DisplayCplExt
+ DisplayPage. DisplayCplExt, 1
+ J. DjVu, Document
+ 1 dllfile
+ J. 1С. MyClass
+ J. DIIHostlnitializer
Рис. 3. Просмотр зарегестрированных COM-объектов в системе через редактор реестра
При обращении к PLM-компоненте из системы 1C:PDM следует указывать к какому классу (интерфейсу) требуется обратиться.
Далее в статье будет рассмотрен конкретный пример расширения функционала системы 1C:PDM через собственную PLM-компоненту.
Например, требуется реализовать возможность управления дисководом из 1С: PDM (открывать или закрывать CD-ROM).
Данная возможность средствами
1С:Предприятие не реализована, т.е. в конфигураторе системы 1С нет такой функции или процедуры, которая позволила бы выполнить данное действие.
Поэтому данная процедура реализуется средствами стороннего языка программирования внутри PLM-компоненты, после чего нужная процедура вызывается из системы 1С: PDM. На рис. 4 представлен соответствующий программный код на языке программирования C#.
Так как разработанная PLM-компонента зарегистрирована в операционной системе как COM-объект, то в 1C:PDM будет достаточно выполнить обращение к соответствующему COM (с указанием класса) [4]. После чего методы и свойства соответствующего COM-интерфейса становятся доступны в 1С.
//процедур» ДЛ» сткр*гтнр/икр*гтир CD-Rf>Tfl HI 1С
public vdU H)fVM)
•ilMriStrtniCitt 4оог в^л-р П„!1, е, ШПМп);
Siil^tf dif Kill* S, TntPTr.Itl4)i
Рис. 4. Код процедуры открытия или закрытия CD-ROM (C#)
Пример вызова процедуры открытия или закрытия CD-ROM из 1С представлен на рисунке 5.
Технология внешних компонент расширяет возможности разработки, а также интеграции различных программных продуктов с программами семейства 1С [5-11].
4 НаОрмре В Грэисуте "ei TPilHfl-tiEGCFi i)
МойГЛН - Коанй CCHoe»eKT(4lllforie,MyClaas"| :
НочООН-СтеяСОнИства);
Рис. 5. Открытие CD-ROM из 1С
Используя описанный механизм разработки PLM-компоненты разработчик, может реализовать необходимую функциональность для системы 1C:PDM или других конфигураций, используя возможности других языков программирования.
Работа выполнена по договору № 1450/300-13 от 24 февраля между ОАО «Турбонасос» и ФГБОУ ВПО «Воронежский государственный технический университет» в рамках проекта «Создание высокотехнологичного производства
магистральных нефтяных насосов нового поколения с использованием методов многокритериальной оптимизации и уникальной экспериментальной базы» (Постановление Правительства Российской Федерации №218 от 9.04.2010)
Литература
1. Гончаров, Д.И. Технологии интеграции «1С:Предприятия 8.2» [Текст] / Д.И. Гончаров, Е.Ю. Хрусталева. - М.: ООО «1С-Паблишинг», 2011. - 358 с.
2. Создание электронного архива средствами PDM-систем [Текст] / А.М. Нужный, В.В. Сафронов, А.В. Барабанов, А.В Гаганов // Вестник Воронежского государственного технического университета. - 2013. - Т. 9. - № 6.1. - С. 23-27.
3. Барабанов, А.В. Разработка конфигурации учета корреспонденции на базе системы 1С:Предприятие 8 [Текст] / А.В. Барабанов, Н.И. Гребенникова, Э.Е. Прудников // Вестник Воронежского государственного технического университета. - 2015. - Т. 11. - № 3. - С. 63-65.
4. Прудников, Э.Е. Разработка модуля администрирования для информационной базы 1С:Предприятие 8 [Текст] / Э.Е. Прудников, А.В. Барабанов, Н.И. Гребенникова // Международная научная школа «Парадигма» Лято-2015. - 2015. - Т.2 - С. 238243.
5. Алгоритм запуска сторонних приложений из системы 1&PDM [Текст] / А.И. Сукачев, А.М. Нужный, А.В. Гаганов, Н.И. Гребенникова, А.В. Ачкасов // Вестник Воронежского государственного технического университета. - 2014. - Т. 10. - № 5. - С. 10-13.
6. Карточка решения - 1&PDM Управление инженерными данными [Электронный ресурс] : Режим доступа : World Wide Web. URL : http:// www. solutions. 1c.ru/ catalog/ pdm/ support.
7. Подвальный, С.Л. Многоальтернативные системы: обзор и классификация [Текст] / С.Л. Подвальный // Системы управления и информационные технологии. - 2012. - Т. 48. - № 2. - С. 4-13.
8. Подвальный, С.Л. Сопряженные системы и градиент при оптимизации динамических систем [Текст] / С.Л. Подвальный // Вестник Воронежского государственного технического университета. - 2012. - Т.
8. - № 12-1. - С. 4-13.
9. Barabanov, A.V. Structural Modeling of Continuous Multi-Center Polymerization Processes [Text] / A.V. Barabanov, S.L. Podval'nyi // Automation and Remote Control. - 2012. - Т. 73. - № 7. С. 1265-1268.
10. Подвальный, С.Л. Модульная структура системы многоальтернативного моделирования процессов полимеризации [Текст] / С.Л. Подвальный, А.В. Барабанов // Вестник Воронежского государственного технического университета. - 2013. - Т.
9. - № 5-1. - С. 41-43.
11. Подвальный, С.Л. Особенности поисковой градиентной оптимизации сложных объектов с использованием сопряженных систем [Текст] / С.Л. Подвальный // Системы управления и информационные технологии. - 2014. - Т. 56. - № 2. - С. 18-22.
Воронежский государственный технический университет
DEVELOPMENT PLM-COMPONENTS TO INTEGRATE 1C:PDM WITH OTHER
SYSTEMS
V.F. Barabanov, V.V. Safronov, E.E. Prudnikov, S.A. Kovalenko
The article describes the mechanism of the development of PLM-components for system 1C:PDM Key words: PLM-component integration, software, COM-connect