标签: axapta

使用Axapta报告工具从同一行的不同表打印列的最佳方法是什么?

似乎axapta报告中的每个主体部分只能打印单个表中的列(相继).例如:我有一个包含以下表格的报表:SalesLine,InventTable和CustTable.然后我想在同一行上打印每个表中的列.看起来我可以在将字段放在可编程部分中时执行此操作,但在将其放置在正文部分时则不行.

我找到了一些难以理解或不具备性能的解决方法.必须有一个很好的干净方法来做到这一点?

x++ axapta

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

在Dynamics AX中进行调试

我在学习的过程中仍然面临着一些麻烦,所以一旦我和大孩子一起玩,我想它会变得更糟:动态警告不像VS那样精确和有用,没有鼠标悬停提示,例外告诉我我错在哪里.我已经习惯了Visual Studio,它是智能感知和所有工具(与Visual Studio相比,动态是相当新的)

除了解决简单的代码问题之外,我还想学习如何解决我可能在我编写的代码或者我在Visual Studio中3分钟内解决的其他任何代码中的upcomming问题,以及如何在没有所有Visual Studio工具的动态ax.

debugging x++ axapta visual-studio

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

Dynamics Ax 2009,异常处理

在我的x ++代码中,我有以下内容

void run() {
    try
    {
        startLengthyOperation();
        this.readFile();    
    }
    catch (Exception::Deadlock)
    {
        retry;
    }
    catch (Exception::Error)
    {
        error(strfmt("An error occured while trying to read the file %1", filename));
    }
    catch
    {
        error("An unkown error has occured");
    }

    endLengthyOperation();
}
Run Code Online (Sandbox Code Playgroud)

我正在进行最后一次捕获(之前,我没有得到关于异常的消息).但我想知道什么是真正发生并导致异常.我怎样才能找出异常是什么?

exception-handling x++ axapta dynamics-ax-2009

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

如何获取文件的文件创建日期?

如何使用X ++在Microsoft Dynamics AX 2009中获取PDF文件的创建日期?

如何在按钮单击中打开该PDF文件?

file x++ axapta dynamics-ax-2009

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

为什么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 2012 - X ++中编辑表单字段

我正在使用X ++开发AX 2012,我正在尝试向LogisticsPostalAddress表单部分添加功能.部分功能需要填充表单(保存更改之前),但我似乎无法填充字段.

我找到了使用以下代码的参考:

LogisticsPostalAddress_ZipCode.text("NewCode");
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用.如果我使用:

LogisticsPostalAddress.ZipCode = "NewCode";
Run Code Online (Sandbox Code Playgroud)

表单不会更改,但如果我保存并重新打开表单,则表示数据已更改.

我需要填充表单上的字段,以便用户可以在关闭表单之前查看新值.有什么建议?

凯文

x++ axapta dynamics-ax-2012

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

刷新列表页面网格时,光标移动到顶部

对于开发人员,我有一个自定义列表页面,用户可以在其中选择少量记录,在操作窗格中点击按钮,在一个类中运行一些逻辑,所有这些都可以正常工作.我的问题是光标不会停留在同一记录中,而是转到网格的顶部.听起来像一个熟悉的问题?

我使用具有所有逻辑的自定义类中的args存储列表页面的FormDataSource.

我尝试了一些东西,但都没有用.

  1. formDataSource.research(true) 真正的参数应该在研究完成其工作后保留位置.我猜这应该是最直接的解决方案.列表页面查询有两个使用外部联接加入的数据源,我的猜测是研究(true)仅适用于内部联接.

  2. formDatasource.setPosition(位置)

    int position;
    position = formDatasource.getPosition();

    formDatasource.research();

    formDatasource.setPosition(位置);

    我使用getPosition存储位置并使用setPosition再次设置它.没用

  3. formDataSource.findRecord()

    currentRecord = formDatasource.cursor();

    recId = currentRecord.RecId;
    formDatasource.reread();

    formDatasource.research();
    formDatasource.findRecord(currentRecord);

    我使用ds.cursor()获取当前记录并在research()之后将其传递给findRecord().没用

  4. formDataSource.findValue()

    currentRecord = formDatasource.cursor();

    recId = currentRecord.RecId;
    formDatasource.reread();

    formDatasource.research();
    formDatasource.findValue(fieldNum(Table,RecId),int642str(recId));

    我使用ds.cursor()获取当前记录和recId,并在research()之后将其传递给findValue().没用

我调试了上面的代码,而cursor()方法确实得到了当前记录及其recId.我开始相信它可能是列表页面的限制,并祈祷有人证明我错了.

任何帮助表示赞赏.

axapta dynamics-ax-2012

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

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

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

security axapta dynamics-ax-2009

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

什么处理动态:// URL?

我正在尝试创建自己的自定义深入分析功能,其中URL dynamics://0?myfunction_123456将启动我自己的代码.

C\SysStartupCmd\construct,这个基本代码:

    case 'viewalert':
        sysStartupCmd = new SysStartUpCmdViewAlert(s,parm);
        break;
    case 'drilldown':
        sysStartupCmd = new SysStartUpCmdDrillDown(s,parm);
        break;
    case 'viewalertrule':
        sysStartupCmd = new SysStartUpCmdViewAlertRule(s,parm);
        break;
Run Code Online (Sandbox Code Playgroud)

我已经测试了,所有这些都被这些网址解雇了:

  • 动态:// 0/DrillDown_382576
  • 动态:// 0/ViewAlert_382576
  • 动态:// 0/ViewAlertRule_382576

但是,如果我添加自己的案例,让所有其他代码保持不变,我就无法获取要触发的URL:

    case 'myFunction':
        sysStartupCmd = new SysStartUpCmdDrillDown(s,parm);
        break;
Run Code Online (Sandbox Code Playgroud)

我在整个系统中进行了挖掘,并且无法弄清楚是什么导致dynamics://URL只针对这三种情况触发.有注册表项还是什么?我发现C\EventDrillDownPoller哪个似乎创建了一个PipeServer来处理传入的内容?

startup x++ axapta dynamics-ax-2009

5
推荐指数
2
解决办法
3152
查看次数

如何在实际项目中的Microsoft Dynamics AX 2012中进行单元测试

Dynamics AX 2012附带单元测试支持.

要进行有意义的测试,需要提供一些测试数据(存储在数据库中的表中).

为了获得单元测试的可重现结果,我们需要在每次运行测试时将相同的数据存储在表中.现在的问题是,我们怎样才能做到这一点?

我了解到有可能将TestSuite的隔离级别设置为SysTestSuiteCompanyIsolateClass.这将创建一个空公司,并在测试运行后删除公司.在setup()方法中,我可以使用insert语句将我的testdata填充到表中.这适用于小场景,但如果你有一个真实的项目,它会很快变得很麻烦.

我想知道是否有任何人在实际场景中如何使用X ++单元测试框架的实用解决方案.任何输入都非常感谢.

unit-testing x++ axapta dynamics-ax-2012 dynamics-ax-2012-r3

5
推荐指数
2
解决办法
2246
查看次数