最新消息:ww12345678 的部落格重装上线,希望大家继续支持。

[原创]Microsoft Dynamics AX中的凭证摘要文本

Uncategorized William 4807浏览 0评论

AX凭证来源和凭证中的摘要文本

Dynamics AX系统中的凭证可以大致分为两类,一类为财务人员在“总账->日志->普通记账日志”和“总账->日志->固定资产”中手工录入的凭证,另一类为系统其它模块在过账、确认等操作过程中由AX自动产生的凭证。这两大类凭证摘要文本的录入和维护各不相同,下面做分别介绍:

1.  在“总账->日志->普通记账日志”中手工录入的凭证

该类凭证的摘要文本可以直接在“行”窗体的“摘要”中直接录入或从下拉列表中选择常用摘要。

2.  在“总账->日志->固定资产”中手工录入的凭证

该类凭证的摘要文本也可以直接在“行”窗体的“摘要”中直接录入或从下拉列表中选择常用摘要。

备注:常用的摘要文本在“总账->设置->日志->日志文本” 窗体中定义。

技巧:搜索名称用于快速输入摘要,例如:当你在凭证的“摘要”录入框中输入“D1”后,系统自动将于“D1”对应的摘要文本填充到“摘要”录入框。

3.  AX自动产生的凭证

Dynamics AX系统会随着各种过账、确认等操作自动生成会计凭证,例如:当过账销售订单发票后,系统自动产生关于销售订单发票的凭证(该凭证包含四行:借主营业务成本、贷产成品、借应收账款、贷主营业务收入),这些自动产生的凭证的摘要文本需要在“基础设置->设置->摘要”窗体根据凭证类型预先设置,然后这些摘要文本会在系统产生凭证时自动填写摘要内容。

AX系统自动产生的凭证摘要的定义

AX自动产生的凭证的摘要文本在“基础设置->设置->摘要”窗体设置

该摘要文本支持多国语言,支持以“1%、2%、3%、4%、5%、6%”命名的参数、最大长度60个字符或30个汉字(可以通过二次开发增加长度,但会出现部分报表该信息无法显示完全的问题,需要特别注意)。

参数名 含义 备注
1% 过账日期
2% 表格(Form Letter)
3% 凭证号
4% 参数1 凭证行科目类型不同,参数代表的含义不同
5% 参数2 凭证行科目类型不同,参数代表的含义不同
6% 参数3 凭证行科目类型不同,参数代表的含义不同

例如:新建“销售订单 – 发票,客户/zh-cn/ 过账日期:%1,原始凭证:%2,凭证号:%3,销售订单:%4,客户:%5,客户组:%6”记录,当我们过账销售订单发票后,AX自动产生的凭证的摘要为:“过账日期:实际过账日期,原始凭证:实际发票号,凭证号:实际凭证号,销售订单:实际的销售订单号,客户:实际的客户编号,客户组:实际的客户组”。

AX系统自动产生的凭证摘要的二次开发

查找“4%、5%、6%”参数的具体含义和定义位置:

AX自动产生的凭证的摘要信息由“ClassTransactionTxt”类产生和维护,TransactionTxt类的结构如下:

class TransactionTxt
{
	LedgerTransTxt	type;
	LanguageId	languageId;
	TransDate	transDate;
	str 20		formLetterNum;
	Voucher		voucherNum;
	str 20		key1;
	str 20		key2;
	str 20		key3;
	void		new(…);
	void		resetLanguage(….);
	void		setDate(…);
	void		setFormLetter(…);
	void		setKey1(…);
	void		setKey2(…);
	void		setKey3(…);
	void		setLanguage(…);
	void		setType(…);
	void		setVoucher(…);
	TransTxt	txt(…);
}

AX自动产生凭证摘要时,需要执行TransactionTxt类的New方法,所有我们可以在TransactionTxt类的New方法中设置断点,跟踪代码,找到AX生成凭证的位置和传入的参数。

下面以过账销售订单发票为例说明:

1.  设置断点

2.  销售订单过账发票,进入断点调试模式。在Call Stack窗口中我们可以看到,过账销售订单发票功能是由ClassSalesFormLetter_Invoice类处理,其中initTransactionTxt()方法值得我们注意。

3.  进一步跟踪代码,从ClassSalesFormLetter_InvoiceinitTransactionTxt()方法可知3%(FormLetter)、4%(Key1)、5%(Key2)、6%(Key3)参数分别表示发票号、销售订单、客户、客户组。

注意:AX系统中很多地方一次操作可能同时产生多条会计凭证,只要继续跟踪代码,不难找出所有产生凭证的位置,在此不再赘述。

摘要的二次开发

从上面的分析不难看出,我们可以通过在ClassTransactionTxt类中添加更多的参数(Keyn),然后在产生凭证摘要的initTransactionTxt()方法中传入变量的方法实现灵活自定义凭证摘要的目的。

感谢MBS社区enjoywithme提供部分思路
版本:1.0.0
ww12345678
2007-12-28

转载请注明:ww12345678 的部落格 | AX Helper » [原创]Microsoft Dynamics AX中的凭证摘要文本

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址