"this" vs. "element" keyword in X++

Michael Brown picture Michael Brown · Nov 23, 2010 · Viewed 9k times · Source

When writing code in X++ you sometimes need to reference this.functionYouWant() and sometimes it is element.FunctionYouWant(). Sometimes both are in scope. I often try one and if the function I want isn't there I try the other. Is there a rule that explains when to use this and when to use element?

Answer

Allan Iversen picture Allan Iversen · Nov 23, 2010

this can be used in any objects to reference the current object and member methods.

MorphX forms and reports are composite objects.

In forms the collection of objects is contained within a FormRun object. You can reference members in the outer FormRun object by using the element reference.

If your code is placed at the top level there are no functional difference between this and element.

If your code is placed in a FormDataSource this will reference the datasource but element will reference the FormRun.