我的销售订单表(SalesTable)中有一些字段需要在另一个字段设置为特定值时被禁用.为此,我覆盖了表单字段上的enter和gotFocus方法(我做了两个测试).代码编译并没有任何问题.
我的问题是,当我单击相应网格列中的字段时,这些被覆盖的方法都不会被调用.什么会导致在网格字段上不调用enter和gotFocus方法?
如何在axapta中的表单之间传递单个参数?我想从表单A中的单击按钮事件运行表单B并传递...例如客户ID?我如何在目标表单中读取它,也许在init方法中?谢谢
我通过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) 我有一个有两个网格的表格.我有一个包含行的表,其中每行的状态为"是"或"否".我想在顶部显示所有"是",在底部网格中显示"否".
类似的情况是,如果我想显示SalesTable标题记录.顶部网格只是那些状态为已交付的网格,而底部网格则是状态为已开票的网格.
我怎么能做到这一点?
我已经接近添加了同一个表类型的另一个数据源.我添加了一个QueryBuildRange来过滤记录,但我遇到两个问题:
我有一个显示字段的方法,它执行以下操作;
return InventSum::find(_salesLine.ItemId, InventDim::_salesLine.InventDimId).AvailPhysical();
Run Code Online (Sandbox Code Playgroud)
这为线路站点/仓库/位置提供了现有的可用物理.
我需要查看网站/仓库的可用总数.我想我需要通过Item/Warehouse搜索inventDim来获取我的inventdimid,但我找不到方法所以我怀疑这是不正确的.
有人可以帮忙吗?
我正在调查AX 2012中新代表和事件订阅模式的功能.
目前,我希望检测特定字段何时被修改,例如何时SalesTable.SalesStatus更改为SalesStatus::Invoiced.
我创建了以下事件后处理程序并附加到SalesTable.Update方法;
public static void SalesTable_UpdatePosteventHandler(XppPrePostArgs _args)
{
Info("Sales Update Event Handler");
}
Run Code Online (Sandbox Code Playgroud)
现在我知道我可以得到SalesTable从_args,但我怎么能检测场发生了变化?我真的可以使用前后版本,这让我觉得我在这里订阅了错误的事件.
我想在两个表单之间传递多个记录.用户打开Form-A,选择多个记录,然后单击打开Form-B的按钮.在Form-B中有两个(或更多)StringEdit控件,它们应显示所选记录的值.
我知道如何只传递一条记录,为此我在Form-B的方法中使用以下代码:
if (element.args().parmEnumType() == enumNum(NoYes)
&& element.args().parmEnum() == NoYes::Yes)
{
myTable = element.args().record();
stringEdit.text(myTable.Field);
}
Run Code Online (Sandbox Code Playgroud)
我应该如何更改我的代码,以便我可以将另一个StringEdit控件的文本设置为用户选择的下一条记录的字段值?
我正在为Microsoft Dynamics Business Connector .net程序集编写一个python包装器.
这是我的代码:
"""Implements wrapper for axapta bussiness connector."""
import pathlib
from msl.loadlib import LoadLibrary
import clr
DLL_PATH = pathlib.Path(__file__).parent / 'Microsoft.Dynamics.BusinessConnectorNet.dll'
def test_msl_connector():
"""Get Axapta object via msl-loadlib package."""
connectorLL = LoadLibrary(DLL_PATH, 'net')
Axapta = getattr(connectorLL.lib,
'Microsoft.Dynamics.BusinessConnectorNet').Axapta
return Axapta
def test_pure_pythonnet_connector():
"""Get Axapta object via pythonnet package."""
clr.AddReference(str(DLL_PATH))
from Microsoft.Dynamics.BusinessConnectorNet import Axapta
return Axapta
Run Code Online (Sandbox Code Playgroud)
运行pytest时这是我的错误:
============================= test session starts =============================
platform win32 -- Python 3.6.2, pytest-3.4.0, py-1.5.2, pluggy-0.6.0
rootdir: C:\Users\AZ\Desktop\test_bom-mcs, inifile:
collected 2 items
test_main.py FF …Run Code Online (Sandbox Code Playgroud)