AX dynamics debugging

I still encounter some problems during training, so I think it will get worse when I play with big children: warnings in the dynamics are not as accurate and informative as VS, there are no mouse tips, and exceptions to show me exactly where I am wrong. I'm just too accustomed to Visual Studio, it's intellisense and all the tools (the dynamics are completely new compared to Visual Studio)

More than solving simple code problems, I would like to learn how to solve problems that may occur in my code written by me or something else that I could solve in 3 minutes in Visual Studio, as well as tips on how to survive in ax dynamics without all Visual Studio tools.

+5
source share
4 answers

The Dynamics AX code editor has some intellisense by entering the name of the table or class variable that follows. or :: will provide you with a list of fields or methods available for this element. After entering (to start a method call, a tooltip pops up with the parameters available for this method. When you start a new line, you can right-click and list tables, list classes, list types, etc. Most of these commands are also accessible via Shortcut Keys Please note that intellisense only works if all the code in the method to the location of your cursor is syntactically correct.

, (/ / //). , , , , AOT Add-Ins/Cross-reference/Used , , .

/ / , , , , .

, / , "" . , , , SalesFormLetter FormLetter, RunBaseBatch.

/ .

, infolog, :

  • Info.add(). , , , , infolog . , , . .

  • / /Label/Label editor search . , "", , .

+8
+4

.

, AX , , . , , , , , p- IL, COM-, Enterprise- ..

, - - , , , .

, , .

< > :

  • Windows AD ( )
  • IL, MorphX, VS.
  • World Wide Web Publishing Service EP.

, , AX7 (Dynamics 365 for Operations). . x ++, , VS.

+2

EditorScripts , AX "". intellisense, , : , "mycom" "tab"

public void template_flow_mycom(Editor editor)
    {
        xppSource   xppSource   = new xppSource(editor.columnNo());
        int         currentline = editor.currentLineNo();
        int         currentcol = editor.columnNo();

        Source      template = "//Partner comment "+date2str(today(),123,2,1,3,1,4, DateFlags::FormatAll )+" at "+time2str(timenow(), 1, 1)+" by MAX - Begin\n";
        template+=strRep(" ", currentcol)+ "\n";
        template+=strRep(" ", currentcol)+ "//Partner comment "+date2str(today(),123,2,1,3,1,4, DateFlags::FormatAll )+" at "+time2str(timenow(), 1, 1)+" by MAX - End\n";

        editor.insertLines(template);
        //move cursor to the empty line between the comments
        editor.gotoLine(currentline+2);
        editor.gotoCol(currentcol+4);
    }
0

Source: https://habr.com/ru/post/1727260/


All Articles