Показать сообщение отдельно
Старый 23.09.2011, 06:07   #5  
KingPeas is offline
KingPeas
Участник
Аватар для KingPeas
 
163 / 35 (2) +++
Регистрация: 09.01.2007
Адрес: Россия, Новосибирск
!
Что-то сам перечитал темку и понял что ничего толком то и не объяснил про плагин.
Основная задача фиксировать изменения которые делались в 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 (Акты выполненных работ для поставщиков)

}
Естественно все это фиксируется в журнале и всегда можно перейти к коду прямо из журнала. Чтобы не плодить строки изменения фиксируются по одному элементу AOT для одного типа изменения не больше одного раза в сутки. То есть если в один метод вносим 10 изменений в программный код в разные места то в журнале будет одна запись, но найти все изменения не составит труда, поскольку весь код отмечен однообразными комментариями.Также можно скажем выделить десяток полей таблицы которые были модифицированы и хоть тысячу раз нажимать кнопку "Изменен". В журнале будет одна запись по каждому объекту.

В последующем добавил еще один журнал маркеров. По сути то же самое, но позволяет сохранить для себя некие закладки по которым можно найти узловые элементы анализа при работе с системой. Например разбираемся с неким модулем и копаемся среди классов. Бывает так зароешься в код, что количество страниц потеряется. Вспоминаешь что где то тут был нужный метод и уже не так просто его найти. А так пометил маркером и через журнал легко всегда его найдешь)

Ведение учета не требует больших усилий. А главный плюс который чувствуется со временем, так это возможность всегда вернутся к проекту и не вспоминать мучительно что же ты здесь делал. Опять же если проект сделан кем то другим, намного проще разбираться что было сделано.
А еще он нам очень пригодился когда проводился Аудит на предприятии нашей ИС. Мы с легкостью предоставили аудиторам полную информацию по тем проектам которые выполнялись в рамках сопровождения по запросам пользователей: от описания по проекту, до перечня изменений выполненных в системе для обработки запроса.

Пример: Поступает запрос ну скажем восстановить форму которая была откорректирована месяц назад программистом который уже уволился. Уже не надо искать старый запрос, находить какой проект для него был создан, искать в проекте что и когда изменялось по запросу. Открываем журнал изменений, через поиск находим требуемый проект и смотрим список того что делалось.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ.

Последний раз редактировалось KingPeas; 23.09.2011 в 06:14.
За это сообщение автора поблагодарили: belugin (5), Ace of Database (3), lev (4), gl00mie (3), S.Kuskov (5).