Skip to content

Instantly share code, notes, and snippets.

@mazzy-ax
mazzy-ax / get-axTables.ps1
Created August 16, 2017 11:21
get Microsoft Dynamics AX7 objects
$aosServiceBin = 'C:\AOSService\webroot\bin'
$packageDir = 'C:\AOSService\PackagesLocalDirectory'
# or
add-type -path (Join-Path $aosServiceBin 'Microsoft.Dynamics.ApplicationPlatform.Environment.dll')
$environment = [Microsoft.Dynamics.ApplicationPlatform.Environment.EnvironmentFactory]::GetApplicationEnvironment()
$packageDir = $environment.get_Aos().get_PackageDirectory()
# it's kind of magic
add-type -path (Join-Path $aosServiceBin 'Microsoft.Dynamics.Ax.Metadata.Storage.dll')
@mazzy-ax
mazzy-ax / getAxTables.xpp
Last active October 9, 2020 19:16
getTables. X++ for Microsoft Dynamics AX7
class getTables
{
public static void Main(Args _args)
{
str packageDir = 'C:\AOSService\PackagesLocalDirectory';
//or
var environment = Microsoft.Dynamics.ApplicationPlatform.Environment.EnvironmentFactory::GetApplicationEnvironment();
packageDir = environment.get_Aos().get_PackageDirectory();
$Path = 'C:\AOSService\PackagesLocalDirectory\'
$Path = 'C:\AOSService\PackagesLocalDirectory\ApplicationSuite'
#$Path = 'C:\AOSService\PackagesLocalDirectory\ApplicationSuite\Foundation\AxForm'
#$Path = 'C:\AOSService\PackagesLocalDirectory\Currency\'
$filter = '*.xml'
# 117592 files - 21 sec
measure-command {
$d =
-- удаляет определение элемента из нижних слоев (ближе к sys),
-- если есть определение этого объекта в слое выше (ближе к usr).
-- после выполнения нельзя будет сравнить слои, поскольку определение останется только в одном слоев.
-- после выполнения этого скрипта выполните реорганизацию базы в MS SQL - model-база существенно уменьшится.
-- Только для тестирования и изучения Аксапты! Не используйте на ПРОДе.
delete from [ModelElementData] -- SELECT TOP (1000) *
where LayerId < 14 -- USR layer
and exists (