一种业务单据转换的方法、装置及系统制造方法及图纸

技术编号:4155964 阅读:212 留言:0更新日期:2012-04-11 18:40
本发明专利技术适用于计算机领域,提供了一种业务单据转换的方法、装置及系统,所述方法包括下述步骤:获取预设的正向公式脚本,并对所述正向公式脚本进行语法分析,生成与所述正向公式脚本对应的正向公式语法结构树;根据二叉树的结构,对所述正向公式语法结构树进行逆向操作,生成逆向公式语法结构树;根据逆向公式语法结构树生成与正向公式脚本逻辑完全相反的逆向公式脚本;根据所述逆向公式脚本以及获取的源业务单据的数据,将源业务单据的相应字段转换为反写前的原始值。本发明专利技术中,可以不依赖具体的代码逻辑实现实际场景中各种特殊反写和反反写逻辑的需求,减少了公式脚本配置的工作量,并且具有很好的适应性。

Method, device and system for converting service documents

The invention is applicable to the field of computer, provides business bill conversion method, device and system, wherein the method comprises the following steps: acquiring preset positive formula and the script, the script is formula for syntax analysis, generated with the formula of positive script tree positive formula grammar structure should be based on the structure; the two fork tree, reverse operation to the forward formula of syntactic structure tree generation, reverse formula grammar structure tree; according to the reverse formula syntactic structure tree generation and forward formula of opposite reverse script logic formula script; according to the reverse direction formula script and data source access to business documents, the corresponding field source business documents the conversion of the original value before the write back. The invention can realize the requirements of special anti write and reverse write logic in the actual scene without relying on the specific code logic, and reduces the workload of the configuration of the formula script, and has good adaptability.

【技术实现步骤摘要】

本专利技术属于计算机领域,尤其涉及一种业务单据转换的方法、装置及系统
技术介绍
企业的各种业务之间存在一定的逻辑关系,而且这种逻辑关系在不同企业或企业 的不同时期是不同的,体现在管理软件中就是一种业务单据的数据,是根据另一业务单据 的数据得来的,比如收款一般都是根据开票的金额决定的;发票或收款的金额需要做账生 成凭证等。 单据转换功能在ERP系统中已经开始发挥越来越重要的作用,在单据转换的过程 中,由于单据转换产生的目标业务单据与源业务单据之间存在着一定的业务逻辑关系,如 果目标业务单据被修改,则源业务单据对应的字段也要同步修改,通常称之为反写源单,这 种反写源单往往不仅是简单的字段赋值操作,而是需要对目标业务单据的字段值进行一定 的逻辑运算后,才能将结果反写到源单,具体可以通过生成公式脚本来配置相应的业务逻 辑来制定相应的转换逻辑,然而,当目标业务单据被删除或作废时,则需要将源业务单据的 状态恢复到反写前的状态,此时就需要对原来的正向公式脚本进行逆向运算操作,又被称 为反反写操作,否则源业务单据的状态就可能会发生错误。 例如,销售订单可以生成销售出库单,假设销售出库单上定义了一个字段叫出库 数量,销售订单上定义了一个字段叫已出库金额,初始状态下这两个字段值都是等于O,实 际业务中一张销售订单可能生成多张销售出库单,即出库行为可能发生多次,每次出库其 中一部分数量。 当用户修改并提交了某一张销售出库单的出库数量时,系统中销售订单上的已出 库金额也需要同时被反写为出库数量*单价,以公式来描述以上反写逻辑为 源单.已出库金额=源单.已出库金额+目标单.收货数量*目标单.单价 当删除此销售出库单时,源单的已出库金额字段值需要修改回来,即相当于执行 以下公式 源单.已出库金额=源单.已出库金额_目标单.收货数量*目标单.单价 由上述内容可以看出,对于同一个业务场景来说,反写源单逻辑在单据转换和单 据删除时需要执行完全相反的两种操作。 现有技术,一种通过编写代码来实现这两种相反的业务逻辑,但这种方式,开发成 本很高,并且不具备可维护性和可扩展性;另一种是写公式脚本来定义反写逻辑,但这意味 着用户除了定义正常的正向公式脚本外,还需要为每种反写逻辑再定义一种完全相反的逆 向公式脚本,由于实际的应用系统中单据种类很多,各种单据间的映射关系都不一样,正向 公式脚本的内容及结构也各不相同,如果每一种公式都需要用户去分析逻辑关系,再定义 一套逻辑完全相反的公式出来, 一方面成倍地增加了用户设置公式脚本的工作量,另一方 面需要由用户保证删除单据时的公式与定义的正常的正向公式脚本在逻辑上完全地相反, 当公式脚本的内部逻辑关系比较复杂时,风险较大,系统稳定性差。
技术实现思路
本专利技术实施例的目的在于提供一种业务单据转换的方法,旨在解决在ERP应用系 统中,业务单据自动转换过程中公式脚本的逆向运算的问题。 本专利技术实施例是这样实现的,一种业务单据转换的方法,所述方法包括下述步 骤 获取预设的正向公式脚本,并对所述正向公式脚本进行语法分析,生成与所述正 向公式脚本对应的正向公式语法结构树; 根据二叉树的结构,对所述正向公式语法结构树进行逆向操作,生成逆向公式语 法结构树; 根据逆向公式语法结构树生成与正向公式脚本逻辑完全相反的逆向公式脚本; 根据所述逆向公式脚本以及获取的源业务单据的数据,将源业务单据的相应字段 转换为反写前的原始值。本专利技术实施例的另一目的在于提供一种转换装置,所述转换装置包括 脚本执行引擎,用于获取预设的正向公式脚本,并对所述正向公式脚本进行语法分析,生成与所述正向公式脚本对应的正向公式语法结构树; 逆向公式生成器,用于根据二叉树的结构,对所述正向公式语法结构树语法结构 树进行逆向操作,生成逆向公式语法结构树; 逆向公式脚本生成单元,用于根据逆向公式语法结构树生成与正向公式脚本逻辑 完全相反的逆向公式脚本; 数据转换单元,用于根据所述逆向公式脚本以及获取的源业务单据的数据,将源 业务单据的相应字段转换为反写前的原始值。 本专利技术实施例的另一目的在于提供一种业务单据转换的系统,包括客户端和业 务单据存储端,所述系统还包括如上所述的转换装置。 本专利技术实施例,预先生成用于业务单据之间转换的正向公式脚本,根据该正向公 式脚本生成逆向公式脚本,调用逆向公式脚本,将源业务单据的相应字段转换为反写前的 原始值,从而不依赖具体的代码逻辑实现实际场景中各种特殊反写和反反写逻辑的需求, 减少了公式脚本配置的工作量,并且具有很好的适应性。附图说明 图1是本专利技术实施例提供的业务单据转换方法的实现流程图; 图2是本专利技术实施例提供的业务单据转换系统的结构示意图; 图3是本专利技术实施例提供的生成的正向公式语法结构树的示例图; 图4是本专利技术实施例提供的生成的逆向公式语法结构树的示意图; 图5是本专利技术实施例提供的生成的逆向公式语法结构树的示意图; 图6是本专利技术实施例提供的生成的逆向公式语法结构树的示意图; 图7是本专利技术实施例提供的利用如图2所示的单据转换系统实现业务单据的转换的方法的流程图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不 用于限定本专利技术。 在本专利技术实施例中,获取预设的正向公式脚本,并将其转换成逻辑完全相反的逆向公式脚本;根据该逆向公式脚本以及获取的源业务单据的数据,将源业务单据的相应字段转换为反写前的原始值,从而不依赖具体的代码逻辑实现实际场景中各种特殊反写和反反写逻辑的需求,减少了公式脚本配置的工作量,并且具有很好的适应性。 本专利技术提供了一种业务单据转换的方法、装置及系统 所述方法包括下述步骤 获取预设的正向公式脚本,并对所述正向公式脚本进行语法分析,生成与所述正 向公式脚本对应的正向公式语法结构树; 根据二叉树的结构,对所述正向公式语法结构树进行逆向操作,生成逆向公式语 法结构树; 根据逆向公式语法结构树生成与正向公式脚本逻辑完全相反的逆向公式脚本; 根据所述逆向公式脚本以及获取的源业务单据的数据,将源业务单据的相应字段 转换为反写前的原始值。 所述转换装置包括 脚本执行引擎,用于获取预设的正向公式脚本,并对所述正向公式脚本进行语法 分析,生成与所述正向公式脚本对应的正向公式语法结构树; 逆向公式生成器,用于根据二叉树的结构,对所述正向公式语法结构树语法结构 树进行逆向操作,生成逆向公式语法结构树; 逆向公式脚本生成单元,用于根据逆向公式语法结构树生成与正向公式脚本逻辑 完全相反的逆向公式脚本; 数据转换单元,用于根据所述逆向公式脚本以及获取的源业务单据的数据,将源 业务单据的相应字段转换为反写前的原始值。 所述业务单据转换的系统,包括客户端和业务单据存储端,所述系统还包括如上所述的转换装置。实施例一 图1是本专利技术实施例提供的业务单据转换方法的实现流程,详述如下 在步骤S101中,获取预设的正向公式脚本,并对正向公式脚本进行语法分析,生成与正向公式脚本对应的正向公式语法结构树。 在步骤S102中,根据二叉树的结构,对正向公式语法结构树进行逆向操作,生成 逆向公式语法结构本文档来自技高网
...

【技术保护点】
一种业务单据的转换方法,其特征在于,所述方法包括下述步骤:获取预设的正向公式脚本,并对所述正向公式脚本进行语法分析,生成与所述正向公式脚本对应的正向公式语法结构树;根据二叉树的结构,对所述正向公式语法结构树进行逆向操作,生成逆向公式语法结构树;根据逆向公式语法结构树生成与正向公式脚本逻辑完全相反的逆向公式脚本;根据所述逆向公式脚本以及获取的源业务单据的数据,将源业务单据的相应字段转换为反写前的原始值。

【技术特征摘要】
一种业务单据的转换方法,其特征在于,所述方法包括下述步骤获取预设的正向公式脚本,并对所述正向公式脚本进行语法分析,生成与所述正向公式脚本对应的正向公式语法结构树;根据二叉树的结构,对所述正向公式语法结构树进行逆向操作,生成逆向公式语法结构树;根据逆向公式语法结构树生成与正向公式脚本逻辑完全相反的逆向公式脚本;根据所述逆向公式脚本以及获取的源业务单据的数据,将源业务单据的相应字段转换为反写前的原始值。2. 如权利要求1所述的方法,其特征在于,所述根据二叉树的结构,对所述正向公式语 法结构树进行逆向操作,生成逆向公式语法结构树的步骤具体为创建一个空的逆向公式语法结构树,并创建一个根结点,该节点为一个赋值运算符,设 置根节点为该逆向公式语法结构树的当前节点;遍历正向公式语法结构树的所有节点,找到反写前的源单据字段的节点,将正向公式 语法结构树上的反写前的源单据字段的节点移除,增加为逆向公式语法结构树当前节点的 左侧子节点,设置反写前的源单据字段的节点的父节点为正向公式语法结构树的当前节 点;将正向公式语法结构树的当前节点的运算符修改为逻辑相反的运算符,然后连同子树 一次复制到逆向公式语法结构树,增加为逆向公式语法结构树的当前节点下的右侧子树;移除正向公式语法结构树的当前节点及其子树,设置其父节点为新的当前节点,并设 置逆向公式语法结构树的反向运算符节点为新的当前节点;继续处理正向公式语法结构树的当前节点,如果是运算符节点,则将正向公式语法结 构树的当前节点的运算符修改为逻辑相反的运算符,然后连同子树一次复制到逆向公式语 法结构树,增加为逆向公式语法结构树的当前节点下的左侧子节...

【专利技术属性】
技术研发人员:张俊
申请(专利权)人:金蝶软件中国有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1