使用XML文件配置AX

AX允许管理员使用含有配置命令的XML文件来配置AX,同时也可以结合XML文件在AX启动后进行测试及运行代码。这样做的好处就是我们可以在不需要人工干预的情况下配置测试AX,之后只要查看配置文件就可以了,相当方便。

以下是一个简单的配置文件:

<AxaptaAutoRun exitWhenDone="true" version="5.0" logFile="C:/Axapta/AxaptaAutorun.log">

 <CompileApplication crossReference="false" />

 <LicenseInformation file="C:/MBS.txt" />

 <Configuration>

    <ConfigurationKey name="SysUserLog" enabled="true" />

    <ConfigurationKey name="PBA_AdvancedProductBuilder"

        enabled="false" />

 </Configuration>

 <AdjustGlobalTypes>

    <AccountNum length="24" adjustRight="false" />

    <AmountMst displayLength="12" decimals="10" />

 </AdjustGlobalTypes>

 <Synchronize />

 <UpdateCrossReference />

 <UserGroups>

    <UserGroup id="sales" name="Sales force" />

 </UserGroups>

 <Users>

  <User id="MaryN"

      name="Mary North"

      email="someone@example.com"

      language="en-us"

      companyId="ex"

      osAccount="MaryN"/>

 </Users>

 <CompanyAccounts>

     <Company id="NWT" name="Northwind Traders" overwrite="true" />

 </CompanyAccounts>

 <XpoImport

     file="d:/axapta/setup/XPO/Logger/Enum_TestLogEntryType.xpo" />

 <DataImport companyId="BVT" file="d:/axapta/basedata.dat" />

 <Run type="class" name="RunMyTests" method="main" />

 <PreventCheckList />

</AxaptaAutoRun>

 

假设文件名为 axsetup.xml,路径为c:/axsetup.xml

则可以使用如下语法来执行配置:

Ax32.exe _StartupCmd=AutoRun c:/axsetup.xml

下面我们来解释这些标签及他们的属性。

(1)     根标签AxaptaAutoRun,拥有4个属性:

属性

值类型

解释

 

ExitWhenDone

True,false

在执行完文件所指定任务后是否退出AX客户端

 

LogFile

String

存放日志文件的文件名及路径

 

Version

4.05.0

AX版本

 

LogToScrean

 

 

?

 

(2)     标签SyncServiceUserAccountCreate the synchronization service admin user account.

属性

值类型

解释

 

useDomainUser

True,false

是否使用传递进来的参数中的域用户名作为同步服务的用户名

 

domainUserAlias

String

 

 

domainName

String

 

 

axUserId

string

 

?

参考:http://msdn.microsoft.com/en-us/library/cc568656.aspx

(3)     标签WorkflowExecutionUserAccount,创建工作流执行用户。

属性

值类型

解释

 

useDomainUser

True,false

是否使用传递进来的参数中的域用户名作为工作流的用户名

 

domainUserAlias

String

 

 

domainName

String

 

 

axUserId

string

 

?

参考:http://msdn.microsoft.com/en-us/library/cc603321.aspx

(4)     标签WorkflowSystemUserAccount,创建工作流系统用户。

属性

值类型

解释

 

useDomainUser

True,false

是否使用传递进来的参数中的域用户名作为工作流系统用户名

 

domainUserAlias

String

 

 

domainName

String

 

 

axUserId

string

 

 

参考:http://msdn.microsoft.com/en-us/library/cc573462.aspx

(5)     标签CompileApplication,编译应用程序或AOT上的某一个节点,有两个属性:

属性

可选值

解释

Optional

Node

节点字符串

AOT上的节点

Yes

CrossReference

False,true

 

Yes

如果不指定任何Node,会编译所有对象,如果指定了Node,则只编译指定了的对象。如果需要指定多个Node

E.G.:

<CompileApplication node="/classes/Tax" crossReference="true" />

<CompileApplication node="/classes/FieldList" crossReference="true" />

         参考:http://msdn.microsoft.com/en-us/library/aa617759.aspx

(6)     标签LicenseInformation,安装License文件,有一个属性:

属性

 

 

Optional

File

string

License文件路径

No

E.G.:

<LicenseInformation file="//server/share/license.txt" />

参考:http://msdn.microsoft.com/en-us/library/aa852484.aspx

(7)     标签Configuration,用于修改的配置键,可以结合标签ConfigurationKey使用。如果只指定该标签不会配置任何键,如:

<Configuration>

(8)     标签ConfigurationKey,用于修改配置键,有两个属性:

属性

 

 

Optional

Name

String

配置键的名称

No

Enabled

False,true

 

No

只会配置指定的配置键,E.G.

<Configuration>

    <ConfigurationKey name="SysUserLog" enabled="true" />

    <ConfigurationKey name="PBA_AdvancedProductBuilder" enabled="false" />

          </Configuration>

配置键可以在DataDictionary下的Configuration Keys下找到。

参考:http://msdn.microsoft.com/en-us/library/aa628842.aspx

(9)     标签AdjustGlobalTypes,用于修改全局数据类型的属性,全局数据类型指会被用到多个公司的EDT。该标签有四个属性:

属性

Description of attribute

length

String

Sets the StringSize property.

adjustRight

String

Sets the Adjustment property to Right.

displayLength

Real

Sets the DisplayLength property.

decimals

Real

Sets the NoOfDecimals property.

使用方式如下:

<AdjustGlobalTypes>

    <AccountNum length="24" adjustRight="false" />

    <AmountMst displayLength="12" decimals="10" />

          </AdjustGlobalTypes>

其中AccountNumAmountMst都是GlobalTypes.可以在Form SysEDTSetup下查看所有GlobalTypes

参考:http://msdn.microsoft.com/en-us/library/aa582156.aspx

(10)  标签CheckList,检查Install CheckListUpdate Checklist是否完成,如果没有完成就启动checklist。该标签只有一个属性:type

属性

value

Description of attribute

type

"installation" or "upgrade"

E.G.

<CheckList type="installation" />

参考:http://msdn.microsoft.com/en-us/library/aa657793.aspx

(11)标签PreventCheckList,在AX启动时不显示Check list,只是不显示,并不阻止运行。可以用于这种情况下:我们执行了一部分CheckList而不想执行其余的checklist,并且在启动时不想看到checklist了。这个时候我们使用该标签就可以在启动时不显示checklist了。

E.G.:

<PreventCheckList />

参考:http://msdn.microsoft.com/en-us/library/aa618627.aspx

(12)  标签Synchronize,如果在xml中出现该标签,则将AOT中的表与数据库中的表进行同步。

E.G.

<Synchronize />

参考:http://msdn.microsoft.com/en-us/library/aa638124.aspx

(13)标签PostSynchronizeDataUpgrade,表示在做数据更新后做同步。

参考:http://msdn.microsoft.com/en-us/library/aa884023.aspx

(14)标签PreSynchronizeDataUpgrade,表示在做数据更新前先做同步。

参考:http://msdn.microsoft.com/en-us/library/aa857077.aspx

(15)  标签UserOptions,配置用户权限,有两个属性:

属性

 

 

 

UserId

String

要被更新权限的用户名

 

CopyFromUserId

String

权限被复制的用户

 

每个UserOptions可以有一到多个UserOption标签,用来设置特定权限,也就是说我们将CopyFromUserId的权限拷给UserId,但其中一些权限需要修改,这时候就使用UserOption.使用方法如下:

<UserOptions userId="John" copyFromUserId="Admin">

 <UserOption name="DeleteMain" enabled="false" />

 <UserOption name="UpdateMain" enabled="true" />

 <UserOption name="DeleteMiscellaneous" enabled="false" />

 <UserOption name="UpdateMiscellaneous" enabled="false" />

 <UserOption name="DeleteParameter" enabled="false" />

 <UserOption name="UpdateParameter" enabled="false" />

 <UserOption name="DeleteGroup" enabled="false" />

 <UserOption name="UpdateGroup" enabled="false" />

 <UserOption name="DeleteTransaction" enabled="false" />

 <UserOption name="UpdateTransaction" enabled="false" />

 <UserOption name="DeleteWorksheetHeader" enabled="false" />

 <UserOption name="UpdateWorksheetHeader" enabled="false" />

 <UserOption name="DeleteWorksheetLine" enabled="false" />

 <UserOption name="UpdateWorksheetLine" enabled="false" />

</UserOptions>

(16)  标签CompanyAccounts,可以用来创建公司帐号,有3个属性:

 

 

 

 

ID

3个字母

公司ID

 

Name

String

公司名称

 

overwirte

True,false

是否重写该ID所对应的所有数据

 

E.G.

<CompanyAccounts>

 <Company id="NWT" name="Northwind Traders" overwrite="true" />

</CompanyAccounts>

该代码在SysAutoRun执行后会创建一个IdNWT,名字为Northwind Traders的公司帐号。

参考:http://msdn.microsoft.com/en-us/library/aa855216.aspx

(17)  标签DataImport,导入dat数据文件到某公司,属性如下:

 

 

 

 

CompanyId

String

 

 

file

String

Dat文件路径,在该文件路径下要存在一个对应的.def文件

 

includeSystemTables

True,false

是否导入系统表和共享表,默认不导入

 

definitionGroupId

string

使用一个已存在的组来进行导入

 

E.G.

<DataImport companyId="DAT" includeSystemTables="true"

    file="d:/data/demodata.dat" />

参考:http://msdn.microsoft.com/en-us/library/aa584930.aspx

(18)  标签XpoImport,使用xpo文件导入对象。该标签只有一个属性file,其值为要导入xpo文件的路径。

E.G.:

<XpoImport file="d:/xpo/class_TestCase_SalesOrderCreate.xpo" />

参考:http://msdn.microsoft.com/en-us/library/aa872677.aspx

(19)标签Run,当AX启动后运行知道方法或Menuitem.有如下属性:

 

 

 

 

type

ClassactionMenuItemdisplayMenuItem

outputMenuItem

要运行对象的类别

 

name

String

方法所属的类名或MenuItem的名字,如果使用类那么一定要在new方法里实例化这个类

 

method

True,false

方法名

 

parameters

string

只有简单数据类型或全局数据类型可以做参数,不能给Main方法赋参数。

 

E.G.:

<Run type="class" name="MyClass" method="run"

    parameters="'my text',7" />

参考:http://msdn.microsoft.com/en-us/library/aa876533.aspx

(20)标签RunXML,可以同时使用其他的XML文件来配置。将我们当前的XML文件称为parent,那么runXML中属性所指的XMLchild, 系统会忽略child中的master settings,包括cwd, exitWhenDone, logFile, logToScreen,它们分别指:

当前工作目录;

是否在执行完xml文件后关闭AX

日志文件的路径;

日志文件是否被写入日志文件或写到屏幕。

E.G.:

<RunXml file="/MyAutoRun.xml" />

参考:http://msdn.microsoft.com/en-us/library/aa677902.aspx

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值