Axapta 如何知道需要更改什么AOT类来修改取消采购订单行的行为

Axapta 如何知道需要更改什么AOT类来修改取消采购订单行的行为,axapta,x++,dynamics-ax-2012,dynamics-ax-2012-r3,aif,Axapta,X++,Dynamics Ax 2012,Dynamics Ax 2012 R3,Aif,尽管我对斧子了如指掌,但它仍然让我完全困惑不解。我有Visual Studio C#的背景,我总能找出特定代码段执行意外行为的位置,但在AX2012的一年半之后,这仍然是个谜 有一个遗留系统,每当取消采购订单行时,该系统不会从AX接收采购订单;我的目标是更改AX,以确保取消的线路被发送回这个遗留系统 取消采购订单行后,我需要修改行为。我知道用户通过进入采购和寻源=>普通->采购订单=>所有采购订单来取消该行。他们请求对采购订单进行更改,然后在“采购订单行”部分下,导航到更新行=>交付剩余;在这个

尽管我对斧子了如指掌,但它仍然让我完全困惑不解。我有Visual Studio C#的背景,我总能找出特定代码段执行意外行为的位置,但在AX2012的一年半之后,这仍然是个谜

有一个遗留系统,每当取消采购订单行时,该系统不会从AX接收采购订单;我的目标是更改AX,以确保取消的线路被发送回这个遗留系统

取消采购订单行后,我需要修改行为。我知道用户通过进入采购和寻源=>普通->采购订单=>所有采购订单来取消该行。他们请求对采购订单进行更改,然后在“采购订单行”部分下,导航到更新行=>交付剩余;在这个表单上进行个性化显示,表单被称为PurchUpdateRemain,一种基础形式。我点击取消行按钮,然后确认更改

我知道这会触发一个工作流,我已经完成了批准更改的整个过程,但是根据我在其上运行的跟踪,没有调用AIF服务,所以我不知道AIF服务应该处理什么


我的问题是:如何在AX中找到文件应该发送到的位置?AX似乎没有给出任何关于在取消一行后应该调用什么逻辑的指示。如果我能像在VisualStudio中一样看到整个代码流,我就可以确定在AX中需要在哪里进行更改,但我还没有弄清楚如何才能做到这一点。有什么建议吗?我在这里束手无策。

很多都是从经验中获得的知识。差不多是在想该去哪里找。将断点放入并跟踪代码并单步执行方法通常是最好的方法

这里有一个堆栈跟踪,它显示了状态的变化位置,这样您就可以知道将代码放在哪里。因为我的代码是定制的,它们不会对齐,所以我切断了行


很多只是从经验中获得的知识。差不多是在想该去哪里找。将断点放入并跟踪代码并单步执行方法通常是最好的方法

这里有一个堆栈跟踪,它显示了状态的变化位置,这样您就可以知道将代码放在哪里。因为我的代码是定制的,它们不会对齐,所以我切断了行


希望这不会太晚


检查类PurchCancel,在run方法中,您可以看到取消采购订单的过程。

希望这不会太晚


检查类PurchCancel,在运行方法中,您可以看到取消采购订单的过程。

调试时也禁用开发人员选项“在CIL中执行”也禁用开发人员选项“在CIL中执行”调试时,您希望在“取消行”功能完成后,还是在工作流批准取消后,将取消转移到旧系统?为什么您认为在批准更改后会调用AIF服务?@FH Inway我想在批准工作流后转移。问题是,我无法确定当前POs转移到传统系统的位置,以及取消行时调用的方法。是否要在“取消行”功能完成后或在工作流批准取消后立即将取消转移到传统系统?为什么您认为在批准更改后会调用AIF服务?@FH Inway我想在批准工作流后转移。问题是,我无法确定当前POs在何处转移到legacy,以及取消一行时调用了哪些方法。