22.09.2011, 13:42 | #1 |
Участник
|
Плагин к Tabax DEV_RegisterChange
Делалось достаточно давно еще когда работал на прежнем месте работы изначально под 3.0, потом переделывал под 4.0. Для работы необходим Tabax. Инструкцию, иконки и сам проект прикладываю в архиве (пока к сожалению версия только под 4).
Единственное что требуется для вмешательство в систему дописать в Editor один метод и дополнить один существующий. Свой исключил из проекта, поскольку у нас много мусора в нем. Создаем PHP код:
PHP код:
PHP код:
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ. |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
22.09.2011, 18:38 | #2 |
Участник
|
Хмм. Интересно. Мастер создания проектов уж очень похож на мой
|
|
|
За это сообщение автора поблагодарили: KingPeas (1). |
22.09.2011, 18:58 | #3 |
Участник
|
А это он и есть. Немного допилил чтобы не изобретать велосипед. На авторство не претендую).
По сути весь Плагин построен на использовании Мастера проектов, AxPath и доступ к Editor через инструментарий AxAssist. Больше ничего нового не выдумывал, воспользовался тем что было.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ. |
|
23.09.2011, 02:24 | #4 |
Участник
|
А - тогда прикольно. Как говориться, приятно свой код видеть "используемым"
|
|
23.09.2011, 06:07 | #5 |
Участник
|
Что-то сам перечитал темку и понял что ничего толком то и не объяснил про плагин.
Основная задача фиксировать изменения которые делались в AOT. Немного истории. Мы (то бишь программисты) в отделе вели учет что сделано и фиксировали основные задачи выполненные по запросам от пользователей (своих и наших клиентов) в файле Excel. Дело неблагодарное, заводить всю эту информацию руками. Наш архитектор предложил перенести все это дело в систему и заодно фиксировать все выполняемые в рамках проекта изменения. В качестве отправной точки взял Мастер проектов от kashperuk(за что Ивану отдельное спасибо) и при создании проектов добавил журнал проектов чтобы хранить информацию по запросам в рамках проекта. Ну а дальше используя приемы Tabax и AxAsist добавил функции чтобы фиксировать три события: Создание, Изменение и Удаление в AOT. Все изменения фиксируются в рамках текущего проекта. Журнал ведется непосредственно в Axapta. Изменения фиксируются при помощи кнопок вынесеных на панель Tabax. Просто выделяем в AOT измененные узлы и жмем кнопку которая фиксирует в журнал характер изменения.В журнал сохраняется характер изменений и адрес (AxPath) к изменяемому узлу, что позволяет легко перейти к объекту прямо из журнала. При внесении изменений в код методов используется общий шаблон комментария с указанием номера проекта, даты изменения, автора и небольшого описания. Например: X++: public void init() { ; common = element.args().record(); super(); element.initXRouteTemplateId();//den sibant_249 // >> EGurl(SIBANT) 29 Июл 2011 Shared:GEV_553_Cont (Акты выполненных работ для поставщиков) this.initStrList(); // << EGurl(SIBANT) 29 Июл 2011 Shared:GEV_553_Cont (Акты выполненных работ для поставщиков) } В последующем добавил еще один журнал маркеров. По сути то же самое, но позволяет сохранить для себя некие закладки по которым можно найти узловые элементы анализа при работе с системой. Например разбираемся с неким модулем и копаемся среди классов. Бывает так зароешься в код, что количество страниц потеряется. Вспоминаешь что где то тут был нужный метод и уже не так просто его найти. А так пометил маркером и через журнал легко всегда его найдешь) Ведение учета не требует больших усилий. А главный плюс который чувствуется со временем, так это возможность всегда вернутся к проекту и не вспоминать мучительно что же ты здесь делал. Опять же если проект сделан кем то другим, намного проще разбираться что было сделано. А еще он нам очень пригодился когда проводился Аудит на предприятии нашей ИС. Мы с легкостью предоставили аудиторам полную информацию по тем проектам которые выполнялись в рамках сопровождения по запросам пользователей: от описания по проекту, до перечня изменений выполненных в системе для обработки запроса. Пример: Поступает запрос ну скажем восстановить форму которая была откорректирована месяц назад программистом который уже уволился. Уже не надо искать старый запрос, находить какой проект для него был создан, искать в проекте что и когда изменялось по запросу. Открываем журнал изменений, через поиск находим требуемый проект и смотрим список того что делалось.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ. Последний раз редактировалось KingPeas; 23.09.2011 в 06:14. |
|
|
За это сообщение автора поблагодарили: belugin (5), Ace of Database (3), lev (4), gl00mie (3), S.Kuskov (5). |
23.09.2011, 08:33 | #6 |
Участник
|
А вообще для этих целей есть контроль версий. Я даже свой писал для трёшки а в 2009 есть из коробки. Плюс в том, что можно использовать кучу стандартных инструментов, например кто и зачем изменил вот эту строчку кода
|
|
|
За это сообщение автора поблагодарили: lev (1). |
23.09.2011, 08:36 | #7 |
Участник
|
К сожалению ни в одной из контор где мне приходилось работать версионность не использовали. Поэтому пришлось выкручиваться по своему.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ. |
|
23.09.2011, 08:55 | #8 |
Участник
|
А разработка ведётся в реальном приложении или в отдельном? Если в отдельном, то каким образом вы переносите свои изменения, проектами, слоем? А журнал изменений переносите в реальную базу?
|
|
23.09.2011, 08:58 | #9 |
Участник
|
Разрабатываем в разработке. Тестируем на тесте. Работаем на реальном. Все как положено. Изменения переносим проектами между приложениями. А журнал изменений у нас переносится периодически через группу определений. Просто выгружаем стандартным способом через экспорт/импорт данных.
В планах было сделать что нибудь чтобы автоматом выгружалось и грузилось все на рабочее, но пока это только планы...
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ. |
|
27.09.2011, 09:23 | #10 |
Участник
|
Конечно сие не есть хорошо, но у меня в коде прописан Шаблон формирования комментария. Там указано наше предприятие, поэтому кому будет нужда правим под себя код класса DEV_Scripts, а именно методы commentChangeMethod и commentCreateMethod.
Помимо всего прочего в документации не описано что в формах Настройки проектов и Реестр изменений двойной щелчок по полю Проект приводит к открытию проекта в отдельном окне. А в форме реестр изменений двойной щелчок по наименованию элемента открывает объект, а по коду открывает указанный метод.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ. |
|
24.10.2011, 05:35 | #11 |
Участник
|
Прошу помощи чтобы исправить небольшой баг. Сегодня с утра получил письмо в личку, товарищ жалуется что у него после регистрации комментариев в редакторе кода становится неактивным панель управления и он не может сохранить изменения. У меня наблюдается такая же штука, но я привык сохраняться по Ctrl+S поэтому сильно никогда и не мучился. Полез искать как с этим разобраться не смог найти как заставить окошко перерисоваться.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ. |
|
Теги |
tabax, законченный пример |
|
|