![]() |
#1 |
Участник
|
sashanazarov: Figuring out where some table field is modified
Источник: http://sashanazarov.blogspot.com/201...-field-is.html
============== Sometimes I need to find out where a particular table field is modified in the X++ code. Normally, I call "Used by" form, filter records out by Reference = Write, put manually breakpoints in the corresponding X++ lines and then run the scenario to see which breakpoint is eventually hit. However, if there are too many cross-references, I don't bother adding breakpoints manually. Instead, I add a button to xRefReferencesUsedByTypedTree form, set its Label property to "Add breakpoint" and MultiSelect to "Yes", and then override its clicked method like this: void clicked() { container breakpoints; boolean enable = true; xRefReferences xRefReferencesLocal; breakpoints = infolog.breakpoint(); for (xRefReferencesLocal = XRefReferences_ds.getFirst(true) ? XRefReferences_ds.getFirst(true) : XRefReferences_ds.cursor(); xRefReferencesLocal; xRefReferencesLocal = XRefReferences_ds.getNext()) { if (xRefReferencesLocal.line > 0) { breakpoints += [xRefReferencesLocal.path()]; breakpoints += [xRefReferencesLocal.line]; breakpoints += [enable]; } } infolog.breakpoint(breakpoints); } Now, after opening "Used by" form, I simply click "Ctrl+A" and then the new "Add breakpoint" button, so all required breakpoints are in place. Источник: http://sashanazarov.blogspot.com/201...-field-is.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|