Во вложении - вспомогательный класс для итератора, обновленный для использования в AX 2009.
PS. Для себя я сделал класс DEV_FormHelpers используемым в итераторе по умолчанию в тех случаях, когда в качестве метода обратного вызова указывается статический, а не экземплярный метод (т.е. _callbackObject == null):
X++:
public static client boolean DEV_iterateThroughFormControls(
Object _parentControl,
Object _callbackObject,
identifiername _callbackObjectMethodName,
Set _setOfClassIds2InvokeOn,
boolean _recursive = true,
classId _staticCallbackMethodClassId = classnum(DEV_FormHelpers)
)