在表单数据源(SalesLine)上,我有一个validateWrite方法,该方法又调用super()方法来调用validateWriteSalesLine表上的方法,以及其他检查.
在SaleLine表中,我有自定义功能,用于记录,有时停止数据更改.
当我从新表单写入SalesLine时,我不希望触发此功能.因此,我想validateWrite在SalesLine表的方法中检查一个条件,以确定是否从validateWrite我的新表单调用.如果从我的新表单调用SalesLine写入,这将允许我跳过数据更改记录/停止.
什么是正确的方法?
我可以创建一个布尔值recordSaveChecks并在调用之前设置它SalesLine.write(),但是有更好的方法吗?
编辑:为了澄清,我没有要添加的表单特定的自定义验证,我有一个系统范围的验证(因此坐在SaleLine表上),当从1个特定表单调用时需要跳过它.
如何打开在SysQueryForm中作为容器保存在表中的查询,编辑查询,然后再次将其保存在表中?
我已经知道如何将其保存到表中并从表中读取它,但是我无法找到如何在SysQueryForm中打开查询并让用户对其进行编辑然后保存的方法。
要么
有什么好方法可以存储或查询用户可以调整并可以在代码中运行的查询?
我想知道在AX 2009下进行自定义的正确部署工作流程是什么.对于AX 2012,我找到了一个很好的白皮书,在Microsoft Dynamics AX 2012环境中部署自定义.
但这并没有多大帮助,因为AX 2009没有模型商店部署的概念(除非我弄错了).
XPO是采用AX 2009的方式吗?如果有人能指出我正确的方向,这将是伟大的.
我正在Microsoft Dynamics AX 2009中生成Excel文件.我想从第9行在Excel中创建一个表.即使我设置了一个范围,表格总是显示在单元格A1上.
SysExcelRange xlsRange;
SysExcelListObject listObj;
#define.ListObjectName("xlGuess")
Run Code Online (Sandbox Code Playgroud)
...
xlsRange = xlsWorkSheet.range("A9");
listObj = xlsWorkSheet.listObjects().add(xlsRange, #ListObjectName);
Run Code Online (Sandbox Code Playgroud)
我也尝试设置全范围如"A9:E13"和"A9:A13",但它也没有用.也许,它可以用COM对象来做,但我无法实现它.为什么它不起作用?
我尝试构建某种X ++脚本执行器,因此可以使用runbuf函数.只要我传入的X ++代码有效,它就可以工作,但是当我传递无效代码时,它只会抛出一个错误,它无法编译代码但没有进一步的细节.例如,当我尝试以下代码时
runbuf('void dynAdd(int lhs, int rhs) { return lhs + rhs; }');
Run Code Online (Sandbox Code Playgroud)
它因错误而失败
无法编译"void dynAdd(int lhs,int rhs){return lhs + rhs;}".
有没有办法获得有关错误的更多信息?
提前致谢
x++ axapta dynamics-ax-2009 dynamics-ax-2012 dynamics-ax-2012-r3
有人知道如何将地址设为主要地址VendTable吗?
我需要在VendTable的Address选项卡中创建一个新字段(复选框)(VendTable中Address的数据源来自DirpartyAddressRelationship和Address).
任何人都可以一步一步让我知道如何使地址成为主要的?
似乎有很多关系.我不确定这是如何工作的.
我收到了错误
操作数类型与运算符不兼容
在尝试比较两个"真实"数据类型时的标题中.
任何人都可以帮我解决错误吗?
public void clicked()
{
real localAnnualUsage = itemSetup_DS.AnnualUsage();
real localSalesPrice = itemSetup.StockPrice;
real localCost = itemSetup.StockCost;
real localstockInventAvg = itemSetup.StockInventAvg;
real localTurnAndEarn;
real localAnnualGP;
real localAvgInvCost;
;
localAvgInvCost = itemSetup.StockInventAvg;
if (localStockInventAvg != itemSetup_StockInventAvg)
{
localAvgInvCost = itemSetup_StockInventAvg;
}
//...
}
Run Code Online (Sandbox Code Playgroud)
错误发生在条件行上.
我试图避免直接通过SQL进行批量更新,并希望使用X ++作业来做,但我想要做的是相当慢.
我有大约3500多条客户记录(CustTable)要更新,这就是我所拥有的:
static void fixCustLanguageId(Args _args)
{
CustTable custTable;
;
ttsbegin;
try {
update_recordset custTable
setting
LanguageId = 'fr'
where custTable.AccountNum like 'LML*' && custTable.LanguageId == 'fr-ca';
ttscommit;
info('Done updating customers');
}
catch
{
ttsabort;
error('Error updating customers');
}
}
Run Code Online (Sandbox Code Playgroud)
这需要很长时间才能完成,这是正常的吗?有什么办法更快地实现这个目标
谢谢
是否可以确保用户只能打开特定表单的一个实例,例如来自CustTable的CustTrans?模态形式不是一种选择.某种单身人士模式?