IE2017

1С:EDT ("Eclipse-Конфигуратор"). Пример разработки плагина

Программирование - Практика программирования

Видеоматериал, демонстрирующий пример разработки несложного работоспособного плагина для 1C:Enterprise Development Tools

Конфигуратор нового поколения 1C:Enterprise Development Tools на базе платформы Eclipse (1С:EDT) обладает одной принципиально новой возможностью - он позволяет расширять функциональность Конфигуратора путем добавления подключаемых модулей (плагинов).

Вниманию сообщества предлагается изложение опыта разработки такого плагина для бета-версии EDT.

Автор видеоматериалов - сам "чайник" в Java-программировании вообще и в разработке Eclipse-плагинов в частности. Цель предлагаемого материала - выработка уверенности в этом новом для 1С-программиста деле.

Материал состоит из пяти видеороликов, демонстрирующих по шагам разработку плагина для EDT.

К сожалению, иногда сбивались настройки микрофона и качества звука в некоторых местах не совсем удовлетворительное.

Часть 1. Коротко о EDT. Возможность разработки "скриптов Конфигуратора" - плагинов. Коротко об архитектуре Eclipse. Понятие зависимости и точки расширения. Необходимые дистрибутивы. Рабочая среда. Среда разработки, настройка среды разработки. Среда отладки, настройка среды отладки. (~23 мин.)

Часть 2. Начало разработки плагина. Файлы манифеста. Мастер плагинов Eclipse, создание заготовки нашего плагина по шаблону. Настройка точек расширения демоверсии плагина. (~18 мин.)

Часть 3. Настройка точек расширения демоверсии плагина (продолжение). Тестирование демоверсии плагина в среде отладки. Сборка исполняемого файла демоверсии плагина, тестирование его в рабочей среде. Настройка точек расширения для окончательной версии плагина - создание пункта контекстного меню редактора программного модуля Конфигуратора. Тестирование работы пункта контекстного меню в среде отладки. (~23 мин.)

Часть 4. Разработка программного Java-кода плагина. (~18 мин.)

Часть 5. Разработка программного кода (продолжение). Отладчик Eclipse, отладка Java-кода. Сборка исполняемого файла окончательного варианта плагина. Тестирование плагина в рабочей среде. (~23 мин.)

Скачать файлы

Наименование Файл Версия Размер
Исходники и исполняемый файл
.zip 16,37Kb
22.12.16
10
.zip 16,37Kb 10 Скачать

См. также

Комментарии
1. Евгения Карук (ekaruk) 2967 22.12.16 15:21 Сейчас в теме
Спасибо.
Полезная тема. Пора уже начинать ее развивать.
Пробовала разрабатывать плагины к Eclipse, но знаний в этом направлении очень не хватает.
kaa_; CyberCerber; boln; +3 Ответить 1
2. Николай Больсунов (boln) 927 22.12.16 16:14 Сейчас в теме
(1) Я так и понял, что многие уже хотели бы начать разработку плагинов, но концентрированной информации нет.

Советую начать тренировки уже на EDT 1.4 beta "Silver", она только что вышла, потому что неизвестно, что можно ожидать в отношении плагинов в следующих версиях :)
3. г. Казань Рустем Гумеров (Rustig) 803 23.12.16 09:12 Сейчас в теме
(0) к существующей 1c 8.2 ОФ и 8.3 УФ как это относится?
корум; +1 1 Ответить 1
4. Николай Больсунов (boln) 927 23.12.16 13:20 Сейчас в теме
(3) Пока никак. Конфигуратор EDT на данный момент находится в стадии бета-тестирования.
5. MSConfig Infostart (MSConfig) 24.12.16 01:05 Сейчас в теме
Спасибо. Подписался на ваш канал.
6. Николай Больсунов (boln) 927 24.12.16 10:58 Сейчас в теме
(5) Спасибо Вам. Правда, на ближайшее время нет планов еще что-либо записывать, но будущее покажет.
7. Олег Николаев (o.nikolaev) 193 25.12.16 10:43 Сейчас в теме
Николай, отличный материал, спасибо! На мой взгляд EDT - потрясающе перспективная вещь. Навскидку, например - скорее всего можно будет разработать плагин, с помощью которого удобно разрабатывать и, самое главное, отлаживать правила обмена.
8. Николай Больсунов (boln) 927 25.12.16 13:29 Сейчас в теме
(7) Олег, согласен. Вещь очень перспективная. Производительности бы побольше, но, я полагаю, у Java есть резервы повышения производительности.
9. Олег Николаев (o.nikolaev) 193 25.12.16 14:08 Сейчас в теме
(8)
я полагаю, у Java есть резервы повышения производительности.

Я только Графит себе ставил пока, на мой взгляд производительность была типичная для Eclipse, впрочем, это конечно субъективное мнение. Жду не дождусь рабочую версию, намерен как можно быстрее перейти на EDT.
10. Николай Больсунов (boln) 927 25.12.16 14:50 Сейчас в теме
(9) Я могу чисто субъективно предположить, что разработчики ЕDT будут действовать так. Бета-версии делать чисто на Java, а в боевой версии, когда будут отлажены основные алгоритмы, для реализации критических по производительности процессов (загрузка-выгрузка конфигурации и т. п.) привлечь нативный код на C++. Благо, уже есть куча dll для обычного Конфигуратора, где эти алгоритмы уже реализованы и работают. Почему бы их не запрячь?.. Правда, кроссплатформенность ставит тут свои новые задачи... Впрочем, это только мои досужие рассуждения.
11. Олег Николаев (o.nikolaev) 193 25.12.16 15:06 Сейчас в теме
(10) Интересная мысль. Для Java существуют инструменты оптимизации, тот же Exelsior например. Поживем, увидим, как говорится. :-)
12. Николай Больсунов (boln) 927 25.12.16 15:09 Сейчас в теме
(11) Ну да, я тоже думаю, что EDT делает толковая команда и они сделают все, чтобы новое детище предстало во всем блеске :)
13. Александр Орефков (orefkov) 1467 25.12.16 16:45 Сейчас в теме
(10)
Так ведь сейчас так и происходит - загрузка/выгрузка конфигурации делается нативными средствами 1С-Предприятия, написанными на С++, разве нет?
14. Николай Больсунов (boln) 927 25.12.16 17:02 Сейчас в теме
(13) Сомнительно, Александр. Я дал поиск dll по всему каталогу с EDT, нашлось всего 9 dll, из них 4, судя по названию, относятся к swt, 2 - к http, одна - эклипсовская и две называются localfile. Косвенно по буквам в названии можно судить о их назначении. Вряд ли.
15. Николай Больсунов (boln) 927 25.12.16 19:18 Сейчас в теме
(13) Вы частично правы.
Документация:
В том случае, если EDT выполняет загрузку из xml-файлов или информационной базы «1С:Предприятия», используются файлы, которые формируются в конфигураторе системы «1С:Предприятие» (команда Конфигурация – Выгрузить конфигурацию в файлы) или с помощью аналогичной команды пакетного запуска конфигуратора.

Выходит, загрузка сейчас происходит через предварительную выгрузку конфигурации в файлы, которую делает установленная версия 1С:Предприятие, затем эти файы загружаются в рабочее пространство EDT - а тут уже работает Java. Вот где кошмар и ужас, вот почему загрузка типовых происходит по несколько часов.

Решением здесь будет, видимо, создание собственного механизма EDT для загрузки-выгрузки с использованием нативного кода.
16. Вадим Мориков (vadim1011985) 43 28.12.16 00:02 Сейчас в теме
Здравствуйте , разбираю Ваше первое видео, не получается импортировать проект в среду отладки - выдает сообщение следующего содержания

"Some project cannot bo imported because they already exist in workspace or their project description file is corrupted"

Поэтому возник вопрос - должны ли совпадать пути к папке рабочего пространства (workspace) для среды отладки и среды разработки ?

Р.S. - тут разобрался , пересоздал среду запуска и запустил по умолчанию ничего не стал менять ( до этого зачем-то поменял путь к папке workspace) поэтому были глюки , но теперь проблема в другом

при запуске импортирования вылетает ошибка старта сервисов проекта.
Прикрепленные файлы:
17. artem vashkevich (artem_from_minsk) 28.12.16 00:44 Сейчас в теме
Эх, забыл я уже про eclipse. Прошлый век. Лучше бы jetBrainse дали по колдовать над EDT. Не было бы это началом конца.
18. Николай Больсунов (boln) 927 28.12.16 12:42 Сейчас в теме
(16)
Здравствуйте , разбираю Ваше первое видео, не получается импортировать проект в среду отладки - выдает сообщение следующего содержания

"Some project cannot bo imported because they already exist in workspace or their project description file is corrupted"

Поэтому возник вопрос - должны ли совпадать пути к папке рабочего пространства (workspace) для среды отладки и среды разработки ?
Нет, должны быть разные WS. И еще: не надо, чтобы конфигурация 1С жила в среде разработки - будут проблемы. Мой опыт показал, что нужны именно три среды: Рабочая (где конфигурация), Разработка, Отладка - все с разными WS.

при запуске импортирования вылетает ошибка старта сервисов проекта.
Переполнение стека?! Вот странно... Возможно, глюк бета-версии, а возможно, и нет. Попробуйте сделать сначала, с тремя средами, как я написал выше. Если будет повторяться, напишите, пожалуйста, вместе подумаем. Кстати, какая у Вас версия? Берите Бета, 1.3 или 1.4, ознакомительную не берите, ну ее.
19. Николай Больсунов (boln) 927 28.12.16 12:48 Сейчас в теме
(17)
Эх, забыл я уже про eclipse. Прошлый век. Лучше бы jetBrainse дали по колдовать над EDT. Не было бы это началом конца.
Однако же, Эклипс жива :) Вот уже Neon в дело пошла, EDT пока на Mars. Если за 17 лет не умерла, значит, живучая. Может, дустом ее? :)))
20. Вадим Мориков (vadim1011985) 43 28.12.16 13:51 Сейчас в теме
(18) Спасибо за совет. я взял послледюю версию с сайта users - 1.4 silver. Вечером дома попробую с 3-мя средами потестить
21. Александр Давыдов (davydoff) 8 03.01.17 18:29 Сейчас в теме
Спасибо за видеоурок. Особенно понравилась надпись "Мы победили")
22. Николай Больсунов (boln) 927 03.01.17 20:36 Сейчас в теме
(21) Спасибо, что досмотрели кино до конца :)
23. Владимир Семенов (kruglay) 84 09.01.17 14:05 Сейчас в теме
Отлично и очень подробно объясняете, благодарю!!!
24. Николай Больсунов (boln) 927 09.01.17 14:07 Сейчас в теме
(23) Благодарю на добром слове! Ну, я все же преподаватель профессиональный :)
25. Николай Больсунов (boln) 927 12.01.17 16:16 Сейчас в теме
"Хорошая мысля́ приходит опосля́".
Настраивать среду Отладки совсем не обязательно, можно каждый раз компилировать плагин в Рабочую среду и запускать ее. По времени - практически то же самое, но эксперименты получаются более чистыми.
26. Николай Больсунов (boln) 927 20.01.17 11:19 Сейчас в теме
1С выложила развернутое описание возможностей последнего бета-релиза EDT 1.4:
http://v8.1c.ru/overview/release_IDE_beta_14/
27. Котэ Пруидзе (kote) 458 05.02.17 15:00 Сейчас в теме
(26) Пробовал разрабатывать на Эклипсе.. в Виндовс 7- ошибки сыпятся (но я лет 5 не переустанавливал его.. может на чистом будет лучше?)
А вот в Линуксе (Убунту) - всё совсем грусно.. даже пустая конфа не создалась :(

Так что я пока отложил момент близкого знакомства.
28. Николай Больсунов (boln) 927 05.02.17 16:32 Сейчас в теме
(27)
Так что я пока отложил момент близкого знакомства.
А пока непосредственной необходимости нет, так и интереса не будет к этой теме. Появится необходимость и интерес - сразу все проблемы разрулите как по волшебству :)
29. Николай Больсунов (boln) 927 05.02.17 16:59 Сейчас в теме
(25)
"Хорошая мысля́ приходит опосля́".
Настраивать среду Отладки совсем не обязательно, можно каждый раз компилировать плагин в Рабочую среду и запускать ее. По времени - практически то же самое, но эксперименты получаются более чистыми.
Ляпнул не подумав :(
Ведь в этом случае мы лишаемся возможности работать в Java-отладчике. Так что совет получился далеко не универсальный.
Оставьте свое сообщение