我想在X ++ for Microsoft Axapta 3.0(Dynamics AX)中创建批处理作业.
如何创建一个执行像这样的X ++函数的作业?
static void ExternalDataRead(Args _args)
{
...
}
Run Code Online (Sandbox Code Playgroud) 这似乎是一个简单的问题,但出于某种原因,我很烦恼.
我有3个数据源形式- ,InventTable,.InventSumInventDim
所以,例如,我的网格显示;
项目,名称,网站,仓库,实物库存
我已经在InventDim表单DataSource 上放置了一个显示方法,但我需要访问ItemId来自inventTrans或者InventSum.(显然正在寻找"当前"项目ID).
我可以访问的是inventDim作为参数传递的_inventDim标准.
访问"当前"itemId的最佳方法是什么?
我想用X ++存储对象列表.我在msdn中读到数组和容器不能存储对象,因此唯一的选择是创建一个Collection列表.我写了下面的代码,并试图用Collection = new List(Types::AnyType);和Collection = new List(Types::Classes);,但双方都没有工作.请看看我是否在以下工作中犯了一些错误.
static void TestList(Args _args)
{
List Collection;
ListIterator iter;
anytype iVar, sVar, oVar;
PlmSizeRange PlmSizeRange;
;
Collection = new List(Types::AnyType);
iVar = 1;
sVar = "abc";
oVar = PlmSizeRange;
Collection.addEnd(iVar);
Collection.addEnd(sVar);
Collection.addEnd(oVar);
iter = new ListIterator(Collection);
while (iter.more())
{
info(any2str(iter.value()));
iter.next();
}
}
Run Code Online (Sandbox Code Playgroud)
而且,我们不能将一些变量或对象转换为Anytype变量,我读出类型转换是以这种方式自动完成的;
anytype iVar;
iVar = 1;
Run Code Online (Sandbox Code Playgroud)
但是在运行它时抛出一个错误,期望类型是Anytype,但遇到的类型是int.
如何使用多个值构建查询.我需要创建过滤器,在网格中只显示活动的BOM,我正在寻找解决方案.这是我的代码,它不起作用:
public void executeQuery()
{
QueryBuildRange qbr;
QueryRun queryRun;
Query q = new Query();
qbr = SysQuery::findOrCreateRange(BOMTable_q.dataSourceTable(tableNum(BOMTable)), fieldNum(BOMTable, BOMId));
if (activeButton==false)
{
qbr.value(SysQuery::valueUnlimited());
}
else
{
while select BOMVersion where BOMVersion.Active==true && BOMVersion.Approved==true{
qbr.value(queryValue(BOMVersion.BOMId));
}
super();
Run Code Online (Sandbox Code Playgroud) 我创建了我的是/否EDT,名为IsSpecialCustomer.当我选择Extends属性时NoYesId,它会触发数据库同步.
如果我使用基本枚举NoYes,它将不会触发同步.有没有理由NoYesId在NoYes枚举上使用EDT ?
我理解为什么我会使用它,如果我扩展SalesQty为例,但因为NoYes是一个低级别的枚举,你永远不会添加Maybe,我可以使用枚举,仍然是最好的做法?
有没有理由NoYesId在枚举上使用EDT NoYes?
我必须changeCompany()在现有类中添加一个控件.
我想下面的代码是可以的,但我有一个疑问:"返回"命令是否意味着回归原始公司?还是要添加一个我不知道的声明,类似的声明revertToPreviousCompany()?
try
{
changeCompany(companyId)
{
// the method will produce a message and return false if an error
if (!this.doSomeChecks()) {
return;
}
// much more code below
Run Code Online (Sandbox Code Playgroud) 在AX编程最佳实践中,这是最好的方法:
何时使用它们中的每一个?
我使用向导向导在AX 2012中创建了一个向导...现在我需要根据用户输入放置1个功能,即启用或禁用FINISH按钮.
我已经尝试过这3种方法但没有成功..
this.finishenabled() - 关于向导类的SetupNavigation方法
finishenabled [formrun.tabidx()] = false - 关于向导类的SetupNavigation方法
syswizard.finishenable(false,curtabidx(),false) - 在向导表单的Tabpage上
如果有人有解决方案,请回复....