标签: dynamics-ax-2009

使用Dynamics AX 2009业务连接器创建表和检索查询结果

我正在编写一个C#命令行工具来从AX获取数据并向AX添加数据(创建新表).

从AX表中获取数据很简单,并在此处记录:http://msdn.microsoft.com/en-us/library/cc197126.aspx

将数据添加到现有表格也很简单:http://msdn.microsoft.com/en-us/library/aa868997.aspx

但我无法弄清楚如何做两件事:

  • 创建一个新的 AX表
  • 从AX查询中检索数据

有人可以分享一些示例代码或指出从哪里开始寻找.我在谷歌和MSDN上的搜索没有透露太多.

注意:我不是经验丰富的AX或ERP开发人员.

c# axapta dynamics-ax-2009

6
推荐指数
2
解决办法
6387
查看次数

如何在调整表单大小时自动调整网格大小?

调整窗体大小时如何自动调整网格或其他子组件的大小?

ax axapta dynamics-ax-2009

6
推荐指数
1
解决办法
4465
查看次数

gotFocus并在Form字段上输入方法未被调用

我的销售订单表(SalesTable)中有一些字段需要在另一个字段设置为特定值时被禁用.为此,我覆盖了表单字段上的enter和gotFocus方法(我做了两个测试).代码编译并没有任何问题.

我的问题是,当我单击相应网格列中的字段时,这些被覆盖的方法都不会被调用.什么会导致在网格字段上不调用enter和gotFocus方法?

x++ axapta dynamics-ax-2009

6
推荐指数
1
解决办法
3702
查看次数

自定义查找和分组依据

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已被禁用,原因不明,我得到的结果与之前的结果相同.

为什么会这样?我怎么能克服这个?

x++ axapta dynamics-ax-2009

6
推荐指数
1
解决办法
5701
查看次数

表=表与表.数据(表)

下面这两个陈述有什么区别?

newTable = orginalTable
Run Code Online (Sandbox Code Playgroud)

要么

newTable.data(originalTable)
Run Code Online (Sandbox Code Playgroud)

我怀疑.data()方法有一个性能优势,因为它在标准AX中更常用.

x++ axapta dynamics-ax-2009

6
推荐指数
1
解决办法
5482
查看次数

如何获取对存储过程的直接SQL调用的结果?

我通过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)

sql x++ axapta dynamics-ax-2009

6
推荐指数
1
解决办法
4447
查看次数

如何在同一表单上显示具有不同数据的两个网格

我有一个有两个网格的表格.我有一个包含行的表,其中每行的状态为"是"或"否".我想在顶部显示所有"是",在底部网格中显示"否".

类似的情况是,如果我想显示SalesTable标题记录.顶部网格只是那些状态为已交付的网格,而底部网格则是状态为已开票的网格.

我怎么能做到这一点?

我已经接近添加了同一个表类型的另一个数据源.我添加了一个QueryBuildRange来过滤记录,但我遇到两个问题:

  1. 当我点击顶部/底部的一行时,它会同时移动两行行(突出显示的内容)
  2. 出于某种原因,它希望显示相同数量的顶行作为底行?如果我有3个交付的销售订单和5个已开票的销售订单,它将在顶部显示3,在底部显示3.

forms datasource x++ axapta dynamics-ax-2009

5
推荐指数
1
解决办法
3548
查看次数

为什么localmacro在Class Dec中工作,但是如果我把它放在Macro对象中呢?

我在AOT中创建了一个名为"MyMacro"的宏对象.我把它放在:

#localmacro.myStrFmt
    'Here is some text before (' + %1 + ') and some after'
#endmacro
Run Code Online (Sandbox Code Playgroud)

在我的课程中,如果我在run方法或类dec中本地定义它,它会起作用,但如果我使用#MyMacro则不行.是否有不同的语法或东西?

void run()
{
//    #MyMacro
    str retVal;

    #localmacro.myStrFmt
        'Here is some text before (' + %1 + ') and some after'
    #endmacro

    ;

    retVal = #myStrFmt("Text in parenthesis");

    info (retVal);

}
Run Code Online (Sandbox Code Playgroud)

x++ axapta dynamics-ax-2009

5
推荐指数
1
解决办法
899
查看次数

隐藏特定用户组的表单选项卡

需要隐藏表单上某些用户组的某些选项卡.事实是,隐藏选项卡中的所有字段似乎不起作用.任何想法都表示赞赏.与AX 2009合作.

security axapta dynamics-ax-2009

5
推荐指数
1
解决办法
1154
查看次数

Axapta用户权限

我正在研究AX2009中的一份报告,该报告将显示用户拥有哪些权限,我的问题是,

如果user1有权发布移动日志,我如何通过代码(在x ++中)找到?

谢谢

axapta dynamics-ax-2009 user-permissions

5
推荐指数
1
解决办法
1093
查看次数

标签 统计

axapta ×10

dynamics-ax-2009 ×10

x++ ×6

ax ×1

c# ×1

datasource ×1

forms ×1

security ×1

sql ×1

user-permissions ×1