AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.01.2007, 20:43   #1  
blitzkrieg is offline
blitzkrieg
Участник
Аватар для blitzkrieg
 
33 / 16 (1) ++
Регистрация: 19.10.2006
Шаблон комментария
Часто в коде приходится вручную добавлять комментарии начала и конца вносимого изменения, а также дату и свой логин.
Неужели в Аксе нет специального шаблона?

Последний раз редактировалось blitzkrieg; 19.01.2007 в 21:06.
Старый 19.01.2007, 20:45   #2  
kvg6 is offline
kvg6
program-ёр
Аватар для kvg6
1C
 
160 / 81 (3) ++++
Регистрация: 27.09.2005
Адрес: Moscow forever
Попробуйте правой кнопкой мыши Scripts/VCS/Checkin и проч. Оно?
__________________
Становись лучше

Последний раз редактировалось kvg6; 20.01.2007 в 12:01.
За это сообщение автора поблагодарили: e@gle (1), aidsua (2), Gustav (2), blitzkrieg (1), cleverMan (1), Prophetic (1).
Старый 19.01.2007, 21:00   #3  
blitzkrieg is offline
blitzkrieg
Участник
Аватар для blitzkrieg
 
33 / 16 (1) ++
Регистрация: 19.10.2006
Ага
А как эти скрипты редактировать?
Старый 19.01.2007, 21:21   #4  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
См. класс EditorScripts.
__________________
Андрей.
За это сообщение автора поблагодарили: aidsua (2), blitzkrieg (1), cleverMan (1), Prophetic (1).
Старый 20.01.2007, 12:59   #5  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
-> Classes\EditorScripts\comments_projectTxt
Вот такой скрипт использую я:

X++:
//<EditorExtensions_ikash date=2007-01-20 txt='Inserts a comment with current date, userId and comments on the modification'>
#define.StartComment("//<\%1_\%2 date=\%3 txt='\%4'>\n")
#define.EndComment  ("//</\%1_\%2>\n")
#define.CurrentVersion(1)
void comments_projectTxt(Editor e)
{
    Dialog          dialog = new Dialog("Вставка комментариев", this);
    DialogField     dlgFieldMod = dialog.addField(typeId(FreeText), "Введите код модификации");
    DialogField     dlgFieldTxt = dialog.addField(typeId(SourceLine), "Введите комментарий к коду");
    int             start, end, firstSym;
    container       packedData;
    SourceLine      projectDescription;
    FreeText        projectCode;
    int             version;
    ;
    packedData = xSysLastValue::getValue(curExt(), curUserId(), UtilElementType::Class, classId2Name(classIdGet(this)), funcName());
    try
    {
        if (conLen(packedData) && conPeek(packedData, 1) == #CurrentVersion)
            [version, projectCode, projectDescription] = packedData;
    }
    catch
    {
        projectCode = '';
        projectDescription = '';
    }
    dlgFieldMod.value(projectCode);
    dlgFieldTxt.value(projectDescription);
    if (dialog.run())
    {
        projectCode         = dlgFieldMod.value();
        projectDescription  = dlgFieldTxt.value();
        start = e.selectionStartLine();
        end   = e.selectionEndLine();
        e.gotoLine(start);
        firstSym = strnfind(e.currentLine(), " ", 1, strlen(e.currentLine()));
        e.unmark();
        if (start > 1)
        {
            e.gotoLine(end + 1);
            e.gotoCol(1);
            e.insertLines(strrep(" ", firstSym - 1) + strfmt(#EndComment, projectCode, curUserId()));
        }
        e.gotoLine(start);
        e.gotoCol(1);
        e.insertLines(strrep(" ", firstSym - 1) + strfmt(#StartComment, projectCode, curUserId(),
                                                                        date2str(SystemDateGet(),321,2,3,2,3,4), projectDescription));
        xSysLastValue::putValue([#CurrentVersion, projectCode, projectDescription], curExt(), curUserId(), UtilElementType::Class,
                                classId2Name(classIdGet(this)), funcName());
    }
}

Последний раз редактировалось kashperuk; 20.01.2007 в 13:00. Причина: Исправил кракозяблики
За это сообщение автора поблагодарили: kvg6 (1), aidsua (2), cleverMan (1), Prophetic (1).
Старый 22.01.2007, 08:47   #6  
blokva is offline
blokva
Пенсионер
Аватар для blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Регистрация: 04.06.2003
Адрес: Беларусь
Цитата:
Сообщение от blitzkrieg Посмотреть сообщение
Ага
А как эти скрипты редактировать?
Простите за банальность но как часто говорят на форумах "Поиск рулит"
собственно вся ветка
ссылка на себя любимого
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
Старый 06.11.2010, 06:54   #7  
player is offline
player
Участник
 
107 / 69 (3) ++++
Регистрация: 25.08.2007
Пользуясь на версии 2009 "в лоб" столкнулся с "уплыванием" строк после вставляемых комментариев, вида
было:
X++:
    InventSum inventSum;
    InventDim inventDim;
    InventTable inventTable;
стало:
X++:
    //<-- begin
        InventSum inventSum;
    //--> end
        InventDim inventDim;
    InventTable inventTable;
Исправляю это так:
X++:
/// <summary>
/// Обрамляет выделенную область в тексте комментарием об авторстве и дате изменения данного блока текста
/// </summary>
/// <param name="e">
/// текущий редактор
/// </param>
/// <remarks>
/// Для версии 2009
/// </remarks>
#define.StartComment("//--> \%1, \%2")
#define.EndComment("//<-- \%1, \%2")
public void comments_insertDevComment(Editor e)
{
    int start = e.selectionStartLine();
    int end   = e.selectionEndLine();
    int firstSym;
    str tmpLine;
    ;

    e.gotoLine(start);
    firstSym = strnfind(e.currentLine(), " ", 1, strlen(e.currentLine()));
    e.unmark();
    //Нижний комментарий
    e.gotoLine(end + 1);
    e.gotoCol(0);
    e.insertLines("\n");
    e.gotoLine(end +1);
    e.gotoCol(0);
    e.insertLines(strrep(" ", firstSym - 1) +
                  strfmt(#EndComment,
                            strupr(curUserId()),
                            date2str(today(),123,2,1,3,1,4, DateFlags::FormatAll )));
    //Верхний комментарий
    e.gotoCol(0);
    e.gotoLine(start);
    e.gotoCol(0);
    e.insertLines("\n");
    e.gotoLine(start);
    e.gotoCol(0);
    e.insertLines(strrep(" ", firstSym - 1) +
                  strfmt(#StartComment,
                            strupr(curUserId()),
                            date2str(today(),123,2,1,3,1,4, DateFlags::FormatAll )));
    e.gotoLine(end + 3);
    e.gotoCol(firstSym);
}

Последний раз редактировалось player; 06.11.2010 в 08:11.
За это сообщение автора поблагодарили: leva (1).
Теги
editor script, комментарий, программно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как открыть шаблон в OpenOffice? PT DAX: Программирование 28 16.12.2010 06:13
экспорт в шаблон excel Dimk DAX: База знаний и проекты 9 29.04.2009 18:11
Не найден шаблон отчета... Prof DAX: Программирование 7 06.09.2005 10:59
Как открыть готовый шаблон Excel в ActiveX Microsoft Office Spreadsheet 10.0? chi DAX: Программирование 0 16.11.2004 15:33
Кошерный шаблон (Light Edition) PlasticinE DAX: База знаний и проекты 21 21.03.2003 17:48
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:32.