Microsoft_MVP_banner

Customise code tagging in AX 2012 – MS Dynamics AX Best practice

Code commenting is one of the best practice for any software
development which really helps other team mates or future developers to
understand code quickly. Code comments should be enough expounding for others.
MS Dynamics AX provides diverse possibilities to comment out
code in much better and generic way through scripts. This can be used by right
click in any method within AOT objects as shown;

Here we also have tagging option to use generic way to
comment out our code and this could be really helpful when working on big
projects. MS Dynamics AX uses a class EditorScript behind these scripts tool, I
added a following method under this class for specific code comment pattern.



public void
tagging_CodeModifications(Editor editor)
{
   
#Define.NextLine(‘n’)
    int currentLineNo =
editor.selectionStartLine();
    int currentCol    = editor.selectionStartCol();
    int selectedLine  = editor.selectionEndLine(); 
   
Dialog          dialog          = new
Dialog(“Enter Project Number”);  
    DialogField     dlgExtTypeName  = dialog.addField(extendedTypeStr(Name));
    container       dialogValue; 
    str tab = “”; 
    tab = strRep(‘t’,
currentCol/4);
 
   
dialogValue = xSysLastValue::getValue(curExt(),
curUserId(), UtilElementType::ClassInstanceMethod,
   ‘SaveLastValue’);
    if (dialogValue != conNull())
    {
       
dlgExtTypeName.value(conPeek(dialogValue,
1));
    }
    if (dialog.run())
    {
       
dialogValue = conNull();
 
       
dialogValue += dlgExtTypeName.value();
 
       
xSysLastValue::putValue(dialogValue, curExt(),
curUserId(),
UtilElementType::ClassInstanceMethod, ‘SaveLastValue’);
 
       
editor.gotoLine(currentLineNo – 1);
       
editor.gotoLine(currentLineNo);
       
editor.gotoCol(currentCol);
 
        editor.insertLines(strFmt(‘// Project_%1
%2 %3 —> %4 %5’
, dlgExtTypeName.value(), strReplace(curUserId(),‘I_’,“”), systemDateGet(),
#NextLine, tab));
       
editor.gotoLine(selectedLine + 2);
 
        editor.insertLines(strFmt(‘%1// Project _%2 %3 %4 <—‘, tab,
dlgExtTypeName.value(), strReplace(
curUserId(),‘I_’,“”),
systemDateGet(), #NextLine));

    }
}
Output:

Click OK; following
lines will be added into code.
// Project_CustInvoice
faisal.f 24/12/2014 —>
// Project_CustInvoice
faisal.f 24/12/2014 <— data-blogger-escaped-span=””>

Share:

Send Us A Message

Leave a Reply

Your email address will not be published. Required fields are marked *

FaisalFareed@2025. All rights reserved

Design by T3chDesigns