null NC5.01会计平台
NC财务开发部
2007-3培训提纲培训提纲
应用需求
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
思想
开发步骤
UAP系统注册
会计平台信息注册
对外服务接口
业务实现接口
示例代码
常见问题
应用需求应用需求解决多个业务系统生成财务凭证的问题
会计平台一次开发完成,接入新的业务系统不需要代码修改
业务系统只需要注册部分信息和写少量的代码即可完成凭证的生成
可以更改的系统定义信息保证业务生成凭证的灵活性
保证财务系统和业务系统的独立性
财务人员可以不需要关心业务系统的数据
业务人员不需要了解财务知识
业务系统的代码和财务系统的代码完全隔离
业务系统和财务系统的独立运行
应用需求图示应用需求图示
设计思想-概念解释设计思想-概念解释影响因素
实时凭证
实时凭证是会计平台在生成会计凭证之前保存在平台的一个中间数据。在总账的相关账簿可以进行查询,但是不能做处理。
平台消息
业务传送平台的一个描述信息,记录了业务信息的一些特性,平台根据消息选择相应的凭证模板进行凭证生成。
事务处理
平台启用了独立的事务处理,保证业务传入平台之后操作的独立性,即使平台出现异常也不影响业务的完整性。
非独立的事务处理设计思想-信息注册设计思想-信息注册设计思想-处理流程设计思想-处理流程开发步骤-系统类型注册开发步骤-系统类型注册功能节点:客户化-》二次开发工具-》会计平台-》系统类型注册
主要功能:
定义系统类型
需要统一的管理,防止重名导致系统异常
注册类型对应的EJB的模块名称
注意问题:
是否发送到会计平台
使用业务类型
开发步骤-系统类型注册开发步骤-系统类型注册开发步骤-单据类型注册开发步骤-单据类型注册功能节点:客户化-》二次开发工具-》单据管理-》单据类型定义
主要功能:
定义系统模块的单据类型
需要统一的管理
注意问题:
会计平台取数接口注册(在列“会计平台类”)
单据联查接口注册(在列“单据对应类”)
会计平台自定义查询(在列“会计平台的自定义查询类”)
会计凭证保存时回写业务的接口实现类注册开发步骤-单据类型注册开发步骤-单据类型注册开发步骤-单据VO定义开发步骤-单据VO定义功能节点:客户化-》二次开发工具-》单据管理-》单据VO定义
主要功能:
定义系统模块的单据类型所对应的VO类。
定义的VO主子类需要继承nc.vo.pub.ValueObject
注意问题
开发步骤-单据VO定义开发步骤-单据VO定义开发步骤-单据项目定义开发步骤-单据项目定义功能节点:客户化-》二次开发工具-》单据管理-》单据项目定义
主要功能:
定义系统模块的单据类型对应的的VO类包含的属性。
注意问题
数据类型定义需要和VO的属性类型匹配
多语言资源的路径
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
头信息和表体信息分别注册开发步骤-单据项目定义开发步骤-单据项目定义开发步骤-系统影响因素定义开发步骤-系统影响因素定义功能节点:客户化-》二次开发工具-》会计平台-》影响因素定义
主要功能:
定义系统入账规则和入账科目存在的业务系统的影响因素
注意问题
影响因素的数值来源于系统档案
影响因素名称不能重复开发步骤-系统影响因素定义开发步骤-系统影响因素定义开发步骤-单据影响因素定义开发步骤-单据影响因素定义功能节点:客户化-》二次开发工具-》单据管理-》单据影响因素定义
主要功能:
定义每一个单据类型在取得影响因素值的时候对应的VO类的属性名称
注意问题:
影响因素来源于系统影响因素定义的数据
属性名称来源于单据
项目管理
工程项目管理制度介绍工程项目管理课程设计政府投资项目管理意见建设工程项目管理合同工程项目管理培训总结
定义的数据
使用入账规则定义对照表和入账科目对照表,必须定义单据影响因素
增加一个新的影响因素必须增加相应的单据影响因素,否则对照表无法生效。开发步骤-单据影响因素定义开发步骤-单据影响因素定义开发步骤-科目分类定义开发步骤-科目分类定义功能节点:客户化-》会计平台-》财务会计平台-》科目分类定义
主要功能:
根据系统定义的影响因素制定相应的入账科目对照表
注意问题:
每一个系统下的科目分类的编码和名称不能重复
每一个科目分类最多只能使用8个影响因素
对照表的查找规则是根据对照表的顺序进行查找
根据档案的编码进行对照表的上下级匹配
只使用系统档案的PK作为匹配依据开发步骤-科目分类定义开发步骤-科目分类定义支持根据下级自动匹配上级的基本档案
存货分类档案
资产类别档案
增减方式档案
收支项目档案
部门档案档案
地区分类档案
使用状况档案
项目档案档案
结算中心档案
结算单位档案开发步骤-科目分类定义开发步骤-科目分类定义开发步骤-科目分类定义-科目对照表开发步骤-科目分类定义-科目对照表开发步骤-凭证模板定义开发步骤-凭证模板定义功能节点:客户化-》会计平台-》财务会计平台-》凭证模板定义
主要功能:
定义业务生成会计凭证的模板
进行账簿的模板复制
注意问题:
目标系统的选择(总账凭证和结算凭证)
主体账簿的选择过滤
业务类型的选择过滤
执行方式的选择,以及影响(5种执行方式)
事务处理方式的选择(2种事务处理方式)
两个可以设置的参数(合计为零保存日志,账簿过滤单据分录)
审核人和审核日期可以为空。
开发步骤-凭证模板定义-执行方式开发步骤-凭证模板定义-执行方式立即取数,生成实时凭证
业务传入平台后立刻进行凭证生成处理,生成平台实时凭证,进行保存。
立即取数,生成会计凭证
业务传入平台后立刻进行凭证生成处理,生成平台实时凭证,然后再生成会计凭证进行保存。
条件取数,生成实时凭证
业务传入平台后只将消息保存,根据系统参数设定的时间,自动进行运算后台生成实时凭证。
条件取数,生成会计凭证
业务传入平台后只将消息保存,根据系统参数设定的时间,自动进行运算后台生成实时凭证,再生成会计平台进行保存。
开发步骤-凭证模板定义-事务处理方式开发步骤-凭证模板定义-事务处理方式同步方式处理
业务传入平台消息后,平台进行数据处理,处理完成后返回,业务的处理才可以继续。
异步方式处理
业务传入平台消息后,业务的处理即可继续。平台在后台采用调度引擎进行凭证生成。
同步的消息保存始终是和业务的事务一致。开发步骤-凭证模板定义-两个参数开发步骤-凭证模板定义-两个参数借贷合计为零平台是否保存日志
如果在借方和贷方生成的凭证都为零的情况下,系统默认会将该信息删除。选择该选项后,系统在此情况下会在平台日志记录一条信息。
单据表体行是否按照入账规则过滤
根据单据表体对应的影响因素决定每一条分录的数值进入的账簿。开发步骤-凭证模板定义开发步骤-凭证模板定义开发步骤-凭证生成开发步骤-凭证生成功能节点:客户化-》会计平台-》财务会计平台-》凭证生成
主要功能:
手动将平台的实时凭证生成会计凭证。
在平台的相关生成规则和模板更改后进行凭证的重新生成
设置凭证生成的控制条件,根据控制条件决定是否能够修改会计凭证
设置凭证生成的合并
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
,根据合并方案生成会计凭证
注意问题:
制单日期和审核人
业务关联号(批选条件)开发步骤-凭证生成开发步骤-凭证生成开发步骤-凭证生成-选项说明开发步骤-凭证生成-选项说明控制条件
根据单据类型决定控制条件
合并方案
根据主体账簿决定合并方案
合并方案的参数说明开发步骤-凭证生成-选项开发步骤-凭证生成-选项开发步骤-凭证生成-选项开发步骤-凭证生成-选项开发步骤-平台日志开发步骤-平台日志功能节点:客户化-》会计平台-》财务会计平台-》平台日志
主要功能:
记录平台在生成凭证过程中发生的错误信息。
从业务取数生成凭证
删除不需要生成凭证的消息
注意问题:
开发步骤-平台日志开发步骤-平台日志开发步骤-相关定义和接口开发步骤-相关定义和接口系统模块名:dap
EJB的部署:fip
功能节点:1014
对外服务接口:
nc.itf.dap.pub.IDapSendMessage 平台处理接口
nc.itf.dap.pub.IDapQueryMessage 平台查询接口
nc.ui.dap.service.DapBillQueryVoucher 单据联查凭证接口(UI)
nc.vo.dap.out.BillQueryVoucherVO 查询的VO类
nc.vo.dap.out.DapMsgVO 传入平台的消息VO类
nc.vo.pub.AggregatedValueObject 传入平台的业务数据聚合VO类
开发步骤-相关定义和接口开发步骤-相关定义和接口业务实现接口:
nc.bs.dap.out.IAccountRetVoucher
数据回写接口,在手动生成会计凭证时会调用该接口对单据的数据进行回写。业务组如有需要回写凭证信息,可以实现该接口并且在单据类型管理注册。
nc.bs.dap.out.IAccountProcMsgInBulk
平台定义的业务取数接口,完成重算时候的取数功能,需要传入平台的业务组实现,并且在单据类型管理进行注册。开发步骤-接口说明开发步骤-接口说明nc.itf.dap.pub.IDapSendMessage 平台处理接口
public nc.vo.dap.vouchtemp.RetVoucherVO sendMessage(DapMsgVO dapMsgVo ,AggregatedValueObject dataVo ) throws BusinessException;
向会计平台发送消息,生成总帐凭证或结算凭证
public boolean isEditBillType(String pkCorp, String pkSys, String pkProc,String pkBusiType, String procMsg) throws BusinessException;
判断业务单据是否能够编辑、弃审
pkCorp-公司PK
pkSys-模块号
pkProc-单据类型PK
pkBusiType-业务类型PK
procMsg-单据信息PK
开发步骤-接口说明开发步骤-接口说明
nc.vo.dap.out.DapMsgVO 传入平台的消息VO类
DapMsgVO msgvo = new DapMsgVO();
msgvo.setCorp(“公司PK”);
msgvo.setSys(“模块号”);
msgvo.setProc(“单据类型PK");
msgvo.setBillCode(“单据编码”);
msgvo.setBusiDate(“业务日期”);
msgvo.setBusiType(“业务类型PK”);
msgvo.setBusiName(“业务类型名称”)
msgvo.setCurrency(“币种PK”);
msgvo.setOperator(“操作员PK”);
msgvo.setRequestNewTranscation(“是否启用独立事务”);
msgvo.setMoney(“单据金额”);
msgvo.setDestSystem(“目标系统”);// 参照类nc.vo.dap.inteface.IAccountPlat
msgvo.setProcMsg(“单据主键,必须唯一”);
msgvo.setMsgType(“消息类型”)//DapMsgVO.ADDMSG 增加消息, DapMsgVO.DELMSG 删除消息
开发步骤-接口说明开发步骤-接口说明
业务传递平台的示例代码
DapMsgVO msgvo = “构造消息数据VO”;
BillVO billco = “单据的聚合VO”;
IDapSendMessage idap = (IDapSendMessage)NCLocator.getInstance().lookup(IDapSendMessage.class.getName());
RetVoucherVO voucher = idap.sendMessage(msgvo, billvo);
如果是反操作,只需要将消息的类新设置为删除即可。
开发步骤-接口说明开发步骤-接口说明nc.itf.dap.pub.IDapQueryMessage 平台查询接口
根据单据信息联查已生成的会计凭证
public BillQueryVoucherVO[] queryAllVouchers(BillQueryVoucherVO[] billDatas) throws BusinessException;开发步骤-单据联查凭证开发步骤-单据联查凭证nc.ui.dap.service.DapBillQueryVoucher 单据联查凭证接口(UI)
单条数据联查接口
public static void showVoucher(BillQueryVoucherVO billvo,java.awt.Container parent) throws Exception
多条数据联查接口
public static void showVoucher(BillQueryVoucherVO[] billvo,java.awt.Container parent) throws Exception
开发步骤-凭证联查单据开发步骤-凭证联查单据采用UAP的UI关联机制调用
具体看UAP的UI调用规范文档。
开发步骤-接口说明开发步骤-接口说明nc.vo.dap.out.BillQueryVoucherVO 查询的VO类
具体看Eclispe代码开发步骤-常见问题开发步骤-常见问题业务直接传平台生成的凭证数据和通过重算生成的凭证数据结果不一致
重算使用的是平台主动取数的方式,直接传平台使用的是业务发送的数据,看看两个是否返回一样的数据集。一般情况下是重算的取数发生错误,没有考虑到业务的处理。
开发步骤-常见问题开发步骤-常见问题科目对照表不能生效
单据影响因素是否注册了数据,每一种影响因素生效都需要该影响因素在对应单据的取值字段。
传入的数据不是系统档案(基本档案和自定义档案)的PK。会计平台对照表使用的是档案的PK,业务有可能使用档案的编码或者名称,如果传递的编码名称则会导致对照表不能匹配。
是否使用的是上下级匹配的档案数据。对照表的匹配顺序是按照录入的顺序进行从上而下的匹配,如果定义的上级档案优先级高,则下级的档案即使存在也不会再去匹配。
开发步骤-常见问题开发步骤-常见问题业务传入平台后没有找到任何数据
确认系统类型的注册和单据类型的注册正确性。
默认的主体和账簿是否存在,新的产品建账会自动建立
单据控制条件是否注册,新的产品建账会自动建立
传入平台的消息VO是否完整正确
检查每一个界面的查询条件是否一致。平台存在默认的查询条件,有可能会导致没有查询结果
是否生成的凭证借贷方合计都是零,而且模板没有配置保存到日志,所以系统会删除掉传入的数据。
凭证模板使用的单据项目如果是数值型字符,传入的单据为null会导致公式解析出错,数据丢失。
单据必须存在子表的VO,而且子表的VO的PK不能为空,否则会影响入账数据。开发步骤-常见问题开发步骤-常见问题平台出错导致业务回滚
采用异步调用即可解决。
设置平台消息的时候使用的是不启用独立事务。msgvo.setRequestNewTranscation(false);开发步骤-常见问题开发步骤-常见问题无法进行单据的重算
平台定义的业务取数接口是否实现正确,在自己接口的实现类看看返回的业务数据VO是否正确。
是否没有进行判断就将业务的数据进行反操作,导致平台存有垃圾数据无法重算。
开发步骤-常见问题开发步骤-常见问题直接生成会计凭证无法生成,通过手动生成凭证不存在问题
在凭证模板定义的时候,系统允许审核人和审核日期为空,如果审核人和审核日期为空,系统会在手动生成会计凭证的时候取当前的操作员和界面设定的日期。
确认凭证模板的审核人和审核日期是否已经配置了取数公式。
确认模板配置的审核人和审核日期配置的取数公式能否取得数据。
确认模板使用的字段在单据的VO中是否返回数据。开发步骤-常见问题开发步骤-常见问题单据调用反操作总是提示不能编辑
生成方式设置为直接生成实时凭证,而且已经生成了会计凭证。
生成方式设置为直接生成会计凭证,并且会计平台本身有一个系统公共参数KHH004(自动生成的凭证是否允许自动删除),如果该参数设置为否,则已经生成会计凭证的数据无法反操作。只能手动删除会计凭证后再进行业务的反操作,或将参数设置为“是” 。
开发步骤-常见问题开发步骤-常见问题死锁问题
在启用独立事务的情况下,立即生成会计凭证并且会计凭证需要回写业务接口,则会存在死锁。只能采用查询的方式进行业务数据的回写。
凭证模板定义取某个基本档案的数据,同时业务又在对基本档案进行修改,而且业务传平台采用了独立事务调用,则会在该基本档案表发生死锁。