Create a table with 2 fields.
Table --> ObjectsListTable
Fields --> 1.ObjectType
2.ObjectName
Run below class.
internal final class ObjectsListClass
{
public static void main(Args _args)
{
str axUpdateName;
ObjectsListTable objectsListTable;
var environment = Microsoft.Dynamics.ApplicationPlatform.Environment.EnvironmentFactory::GetApplicationEnvironment();
str packageDir = environment.get_Aos().get_PackageDirectory();
var runtimeProviderConfiguration = New Microsoft.Dynamics.AX.Metadata.Storage.Runtime.RuntimeProviderConfiguration(packageDir);
var metadataProviderFactory = New Microsoft.Dynamics.AX.Metadata.Storage.MetadataProviderFactory();
var provider = metadataProviderFactory.CreateRuntimeProvider(runtimeProviderConfiguration);
delete_from objectsListTable;
//Tables
var updatesEnumerator = provider.Tables.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'Table';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
//Table extensions
updatesEnumerator = provider.TableExtensions.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'Table extension';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
updatesEnumerator = provider.Classes.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'Class';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
updatesEnumerator = provider.DataEntityViews.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'Data entitiy';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
updatesEnumerator = provider.DataEntityViewExtensions.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'Data entity extension';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
updatesEnumerator = provider.Forms.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'Form';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
updatesEnumerator = provider.FormExtensions.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'Form extension';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
//MI
updatesEnumerator = provider.MenuItemDisplays.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'MenuItem Display';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
updatesEnumerator = provider.MenuItemDisplayExtensions.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'MenuItem Display extension';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
updatesEnumerator = provider.MenuItemActions.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'MenuItem Action';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
updatesEnumerator = provider.MenuItemActionExtensions.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'MenuItem Action extension';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
updatesEnumerator = provider.MenuItemOutputs.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'MenuItem Output';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
updatesEnumerator = provider.MenuItemOutputExtensions.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'MenuItem Output extension';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
//Service
updatesEnumerator = provider.Services.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'Service';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
updatesEnumerator = provider.ServiceGroups.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'Service Group';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
//Security
updatesEnumerator = provider.SecurityRoles.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'Role';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
updatesEnumerator = provider.SecurityRoleExtensions.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'Role extension';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
updatesEnumerator = provider.SecurityDuties.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'Duty';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
updatesEnumerator = provider.SecurityDutyExtensions.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'Duty extension';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
updatesEnumerator = provider.SecurityPrivileges.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'Privilege';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
updatesEnumerator = provider.SecurityPolicies.ListObjectsForModel('CGINormet').GetEnumerator();
while (updatesEnumerator.moveNext())
{
axUpdateName = updatesEnumerator.get_Current();
objectsListTable.clear();
objectsListTable.ObjectType = 'Security Policy';
objectsListTable.ObjectName = axUpdateName;
objectsListTable.insert();
}
}
}
No comments:
Post a Comment