Ignore best practice errors

Temporary to check in object

1. Set break point at the end of method
\Classes\SysTreeNode\allowCheckIn
And in debugger change return value from false to true.
2. Set Accept in Version Control -> General -> Best practice settings -> Best practice errors. Check object in and then restore previous setting.

Permanently

Add new entry to SysBPCheckIgnore marcos. Please be aware that changes in SysBPCheckIgnore will take affect only after client restart.
SysBPCheckIgnore marco is really heavy and takes long time to load and in most cases will hang the system when you try to compare it.
It is reasonable to make your own version of this macro.
There is how you can do that
1. Create your own macro: SLNSysBPCheckIgnore
2. Duplicate following method and give it name like SLNinitIgnoreMap
\Classes\SysBPCheck\initIgnoreMap
3. Make changes as in bold to newly created method:
public static void SLNinitIgnoreMap(XppPrePostArgs _args)
{
->  #define.IgnoreMacro("\\macros\\SLNSysBPCheckIgnore")
    int             errorCode;
    str             errorCodeStr;
    TreeNodePath    path;
    Set             set;
    Set             ignoreSet;
    SetEnumerator   enum;
    XmlReader       xmlReader;
    Map             errorCodeMap = new Map(Types::String, Types::Integer);
    TreeNode        macroNode;
->  TreeNode        bpIgnoreMacroNode = TreeNode::findNode(#IgnoreMacro);
->  //TreeNode        bpStyleExceptionsMacroNode = TreeNode::findNode(#pathForStyleExceptionList);
    Array           macroArray = new Array(Types::Class);
    int             i;
->  SysBPCheck      sysBPCheck = _args.getThis();
->  Map             ignoreMap;

->  //ignoreMap = new Map(Types::Integer, Types::Class);
->  ignoreMap       = sysBPCheck.parmIgnoreMap();

    if (!bpIgnoreMacroNode)
    {
->      throw error("@SYS28152", #IgnoreMacro);
    }

->  //if (!bpStyleExceptionsMacroNode)
->  //{
->  //    throw error("@SYS28152", #pathForStyleExceptionList);
->  //}

    macroArray.value(1, bpIgnoreMacroNode);
->  //macroArray.value(2, bpStyleExceptionsMacroNode);
4. Add new Post Event Handler Subscription at method
\Classes\SysBPCheck\initIgnoreMap
And point it to SLNinitIgnoreMap created in previous steps

Job to reload SysBPCheckIgnore macro without client restart.

static void sysBPCheckIgnoreReload(Args _args)
{
    SysCompilerOutput::updateParm();
}

Support The Author

 If you found value in what I share, I've set up a Buy Me a Coffee page as a way to show your support.

Buy Me a Coffee

Post a Comment


All Comments


No comments. Be the first one to comment on this post.

Search

About

DaxOnline.org is free platform that allows you to quickly store and reuse snippets, notes, articles related to Dynamics 365 FO.

Authors are allowed to set their own "buy me a coffee" link.
Join us.

Blog Tags