U9AAI 使用方法范例说明 版 本 号 :V1.0 作者:韩庆旺 版本记录 【此部分要记录该文档形成过程中的历次版本变更过程及变更的内容】 版本 修改与参与人 修改时间 修改原因 修改概述 审批人1.0 韩庆旺 0 2008/06/23 原始文档建立 一.问题域说明 本范例提供了 U9 业务系统中需要对交易分录进行操作的使用说明。 其中包含了产生、删除、合并和取消合并交易分录等操作。 二.基本原理 1、AAI 基本概念: 系统提供的自动进行会计核算工具。也是企业实现财务、业务一体化应用的重要手段。 以会计凭证形式,用会计语言,对经济业务活动进行的描述。 2、交易分录与会计凭证的主要区别及联系: 交易分录是针对每张交易单据产生的,而会计凭证可以是对交易分录的汇总、合并; 交易分录可以在任何组织、任何账簿生成;而会计凭证只能在法人组织的主账簿、内账、多币种核算账簿中; 将交易分录设置转换规则后,通过“转总账”功能,可以生成总账系统的会计凭证。 目前,应收、应付、票据、现金银行、固定资产、采购、库存、成本、薪资福利系统提供了“转总账”功能,这些系统的交易分录可以通过“转总账”功能,自动生成对应法人组织的主账簿的会计凭证。 通过交易分录提供的系列服务对交易分录进行操作。 项目中需要对交易分录服务以及相关的程序集进行引用。 如下: 三.关键代码及说明 提供以下示例代码,各个应用使用根据不同的应用场景执行不同的交易分录操作。 产生、删除和修改交易分录 产生交易分录 ///
/// 生成交易分录 /// ///
主单Key ///
主单SOBID ///
应用ID internal static List
CreateTransactionVoucher(BusinessEntity.EntityKey billKey, long sobID, AppTypeForAAI appType) { //创建交易分录的处理 long applicationID = 0; switch (appType) { case AppTypeForAAI.AR: applicationID = FIHelper.GetARApplication().ID; if (!ARProfile.Current.Other_IsGenAAI) return null; break; case AppTypeForAAI.AP: applicationID = FIHelper.GetAPApplication().ID; if (!APProfile.Current.Other_IsGenAAI) return null; break; } GenerateTransactionEntriesProxy bp = new GenerateTransactionEntriesProxy(); bp.ApplicationKey = applicationID; bp.EntityKeySet = new List(); bp.EntityKeySet.Add(billKey); bp.OrgKey = Base.Context.LoginOrg.ID; bp.SOBKeySet = new List(); bp.SOBKeySet.Add(sobID); return bp.Do(); } 删除交易分录 /// /// 删除交易分录 /// /// 主单Key /// 主单SOBID internal static void DeleteTransactionVoucher(BusinessEntity.EntityKey billKey, long sobID) { DeleteTransactionEntriesProxy bp = new DeleteTransactionEntriesProxy(); bp.EntityKey = billKey; bp.SOBKeys = new List(); bp.SOBKeys.Add(sobID); bp.Do(); } 合并交易分录 /// /// 合并交易分录。 /// 只适用于主单生成多个单据的场景。 /// /// /// internal static void MergeTransactionVoucher(List fromEntityKeyList, BusinessEntity.EntityKey toEntityKey) { if (!ARProfile.Current.Other_IsGenAAI || fromEntityKeyList.Count == 0) return; //调用合并交易分录AAI服务。 MergeTransactionEntriesProxy bp = new MergeTransactionEntriesProxy(); bp.FromEntityKeys = fromEntityKeyList; bp.ToEntityKey = toEntityKey; bp.OrgKey = Base...