我目前正在使用底部有网格的表单.每当我点击f5时,网格都会刷新,但表单的其余部分却没有.我该怎么做才能让整个表单刷新它的数据?
谢谢.
我的销售订单表(SalesTable)中有一些字段需要在另一个字段设置为特定值时被禁用.为此,我覆盖了表单字段上的enter和gotFocus方法(我做了两个测试).代码编译并没有任何问题.
我的问题是,当我单击相应网格列中的字段时,这些被覆盖的方法都不会被调用.什么会导致在网格字段上不调用enter和gotFocus方法?
TLDR:当使用查找的字段不为空时,为什么在查找中禁用group by子句?
我想对表单中的字段进行自定义查找.该表CTable如下所示:
Val Spec
------------
A alpha
A beta
A gamma
B delta
C epsilon
Run Code Online (Sandbox Code Playgroud)
查找仅涉及Val使用具有基本关系的EDT定义的列:Val == CTable.Val
查找显然给了我一个这样的列表:
A
A
A
B
C
Run Code Online (Sandbox Code Playgroud)
让我们去一个小组来摆脱所有重复的As,我想!有点像:
QueryBuildDataSource.orderMode(OrderMode::GroupBy);
QueryBuildDataSource.addGroupByField(fieldNum(CTable, Val));
Run Code Online (Sandbox Code Playgroud)
现在出现了我的奇怪行为以及我的问题的实际观点.在一个空字段上,group by被正确执行,我得到了这个:
A
B
C
Run Code Online (Sandbox Code Playgroud)
现在让我们在查找中选择"A",然后再次执行查找,因为我想点击"B".现在,group by已被禁用,原因不明,我得到的结果与之前的结果相同.
为什么会这样?我怎么能克服这个?
下面这两个陈述有什么区别?
newTable = orginalTable
Run Code Online (Sandbox Code Playgroud)
要么
newTable.data(originalTable)
Run Code Online (Sandbox Code Playgroud)
我怀疑.data()方法有一个性能优势,因为它在标准AX中更常用.
我通过X ++中的直接SQL调用存储过程,我无法弄清楚如何从中获取整数返回值.0很好,-1很差.
// Login to SQL DB
loginProperty = new LoginProperty();
loginProperty.setServer('localhost');
loginProperty.setDatabase('SQL_DB');
odbcConnection = new OdbcConnection(loginProperty);
statement = odbcConnection.createStatement();
/*
@in_customer_id INT
,@status INT
,@dlvmode NVARCHAR(25)
,@dlvmodedesc NVARCHAR(50)
,@tracking_id NVARCHAR(50)
,@note NVARCHAR(MAX)
,@modified SMALLDATETIME = null
,@override_email NVARCHAR(200) = null
*/
sqlStatement = strfmt(' EXEC pr_send_status_email ' +
' %1,' + // CustomerId
' %2,' + // Status
' %3,' + // DlvMode
' %4,' + // DlvMode description
' %5,' + // Tracking #
' %6,' + // …Run Code Online (Sandbox Code Playgroud) 如何使用高级过滤(使用x ++)在Ax中进行查询:
我想在SalesTable表单上显示这样的过滤条件SalesTable.SalesId == "001" || SalesLine.LineAmount == 100.
那么结果应该显示SalesOrder 001和其他salesOrders至少有一个SalesLine与LineAmount = 100?
任何人都有任何提示/代码片段,以防止一次打开自定义X ++表单的多个副本?
最佳案例:尝试打开表单的另一个副本,原始收益集中
可接受:用户收到表单已打开的通知
我想在对话框中添加一个 CheckBox.
我用过这段代码:
Dialog dialog;
DialogField dialogField;
NoYesId checkValue;
;
dialog = new Dialog("New dialog with checkBox");
dialogField = dialog.addFieldValue(identifierStr(NoYes) , checkValue);
checkValue= dialogField.value();
dialog.run();
info(strfmt("Value %1" , checkValue));
Run Code Online (Sandbox Code Playgroud)
所以,在Debug中我看到变量(checkValue)的值始终为NO.
在网络教程中,我看到了这段代码:
dialog.addFieldValue(typeid(NoYes), NoYes::Yes, "tip");
Run Code Online (Sandbox Code Playgroud)
但我有一个错误方法typeid不存在.
这是什么方式?谢谢大家,
请享用!