实现分录反写的方法和系统的制作方法_2

文档序号:9929385阅读:来源:国知局
务对象模型的主体,包含分录共有的属性,如单据编号、单据名称等。表体是分录,包含 分录的各种信息数据,如数量、状态等。表头和表体中分别包括多个字段。表头字段与表体 字段分别存储在不同的数据表中。每个数据表都存储有内码,即主键。存储表头字段的数据 表中包含业务对象模型的唯一内码。存储表体字段的数据表中包含业务对象模型的内码和 多行分录的内码,它们之间的是一对多的关联关系。可以根据业务对象模型的内码在存储 表体字段的数据表中找到分录的数据。例如,存储表头字段的数据表为T_QM_Inspe CtBill, 存储表体字段的数据表为T_QM_InspectBillEntry,两个数据表的数据结构如下所示:
[0057] T_QM_InspectBill 数据结构:
[0058]
[0059] T_QM_InspectBillEntry 数据结构:
[0060]
[0061] 上面两个数据表展示了业务对象模型的存储结果,其中外键对应于T_QM_ InspectBill的主键,业务对象模型有两行分录,业务对象模型的主键即内码为100001,两 行分录的主键即内码分别为100010和100011。由于反写模型按照待反写分录定义并与待 反写分录共享数据,分录的内码即为对应的反写模型的内码。
[0062] 步骤106,利用内码调用反写模型的第一预设操作,第一预设操作预先配置有源业 务对象模型对应的反写规则。
[0063] 源业务对象模型是指业务对象模型上拉下推过程中的上游业务对象模型,目标业 务对象模型是指下游业务对象模型。例如,如生产订单下推生成生产入库单这一过程中,生 产订单即是源业务对象模型,也称作源单,生产入库单即是目标业务对象模型,也称作目标 单。源和目标只是相对而言,比如销售订单下推生成生产订单这一过程中,生产订单又被称 为目标业务对象模型。反写是指目标业务对象模型对源业务对象模型的关联更新过程。例 如,生产订单下推生成生产入库单后,入库单审核通过时,将更新生产订单上的入库数量备 查,这一过程即为反写。
[0064] 第一预设操作是指预先配置有对应的反写规则的操作,例如,审核、保存等。反写 规则可以采用ERP系统已有的反写规则,并且可以根据不同的业务对象模型预先进行配 置。不同的业务对象模型,反写规则可以不同。用户可在系统运行期间修改、增加或删除相 应的反写规则。配置好的反写规则可以保存在数据库中,或者是XMUExtensible Markup Language,可扩展标记语言)文件等中。如图2-1所示,为反写规则的基本信息配置界面。 在该界面中,可以对反写规则进行命名,并输入上游单据名称和下游单据名称。如图2-2所 示,为反写规则的反写配置界面。在该界面中,可以输入需要进行反写的操作,如审核、保存 等,可以输入反写条件、反写上游单据字段、反写模式等。由于采用现有ERP系统的反写规 贝1J,可充分利用ERP系统反写引擎稳定可靠的性能,并且无需再次开发繁琐的反写功能,使 得按分录反写变得简单有效。
[0065] 由于分录与对应的反写模型共用内码,在获取分录的内码后,即便获取到了反写 模型的内码。根据该内码,通过调用指令,调用反写模型的第一预设操作。具体的,调用指 令可以是 GetService〈ISetStatusService> (ctx) ? SetBillStatus (…)。由于对第一预设 操作配置了对应的反写规则,并通过调用指令来调用第一预设操作,因此克服了人工进行 第一预设操作时只能对整个业务模型进行反写的问题。
[0066] 步骤108,通过第一预设操作,将反写模型的数据反写至源业务对象模型。
[0067] 根据上述反写规则的配置方式,反写规则也就是相当于配置在了反写模型与源业 务对象模型之间。如图3所示,为目标业务对象模型、反写模型、源业务对象模型与反写规 则配置的示意图。其中目标业务对象模型302中的分录与反写模型304共享存储有分录字 段的数据表310,反写规则306配置在反写模型304与源业务对象模型308之间。根据第一 预设操作,通过反写规则306,将反写模型304中的数据,即将目标业务对象模型302中的分 录中的数据反写至源业务对象模型。反写完成后,如图4所示,在反写结果界面上显示各个 分录的反写结果。在前端显示的反写结果看起来就是按照分录进行反写。由此实现了按分 录进行反写的目的。
[0068] 本实施例中,通过接收对目标业务对象模型中待反写分录的反写请求,待反写分 录具有对应的反写模型,反写模型按照待反写分录定义并与待反写分录共享数据;根据反 写请求获取待反写分录的内码;利用内码调用反写模型的第一预设操作,第一预设操作预 先配置有源业务对象模型对应的反写规则;通过第一预设操作,将反写模型的数据反写至 源业务对象模型。由于反写模型按照待反写分录定义并与待反写分录共享数据,通过内码 调用配置有反写规则的第一预设操作,将反写模型的数据反写至源业务对象模型,由此简 单有效地实现了按分录进行反写。
[0069] 在一个实施例中,接收对目标业务对象模型中待反写分录的反写请求的步骤之 前,还包括:将目标业务对象模型的分录定义为对应的反写模型;获取对待反写分录的第 二预设操作;根据第二预设操作生成反写请求。
[0070] 本实施例中,每行分录都具有对应的反写模型,反写模型只是为了按分录反写的 需要而存在。由于反写模型与分录共享数据,只需对分录的数据进行修改,反写模型的数据 就对应进行了修改,因此不需要单独对反写模型进行修改。如果用户需要对某一行分录进 行反写,可以在前端的界面选中待反写分录,并选择对应的第二预设操作,根据该第二预设 操作生成该待反写分录的反写请求。第二预设操作是指将分录变更为业务对象模型中最终 状态的操作。例如,业务对象模型为质检单,其中包括三种状态:计划、质检开始和质检完 成。相应的,分录生成即为计划状态,质检开始状态表示当前分录中的物料开始进行检验 了,质检完成状态表示当前分录中的物料已检验完毕。如果实际工作中物料已检验完毕,用 户可通过"执行至质检完成"的操作,将分录的状态变更为最终的检验完成状态。那么"执 行至质检完成"即为第二预设操作。
[0071] 除了用户进行人工操作来选择第二预设操作之外,还可以通过参数配置,使系统 自动执行该第二预设操作。例如,参数配置为"当检验单审核时,自动执行至质检完成",如 果配置了这个参数,则只要检验单通过审核,系统就会自动将该检验单所有的分录都"执行 至质检完成",根据该操作生成反写请求。
[0072] 在一个实施例中,将目标业务对象模型的分录定义为对应的反写模型的步骤包 括:按照分录内码提取目标业务对象模型的分录中包含的字段;利用提取的字段构建对应 的反写模型。
[0073] 本实施例中,目标业务对象模型包括分录共有属性和多行分录,分录中包含多个 字段。分录内码即分录标识,按照内码提取分录中包含的字段,将提取到的字段建成分录 对应的反写模型,也可以将提取的字段和分录共有属性共同构建对应的反写模型,其中共 有属性可以是目标业务对象模型部分共有属性。目标业务对象模型的数据结构是表头和表 体。反写模型的数据结构是表头。反写模型中包括字段是目标业务对象模型的分录的字段 集合的子集,也就是说这些字段只是对应的分录的字段中的一部分。反写模型中不需要包 含全部分录的字段,只要包含反写规则所需的字段即可。目标业务对象模型有多少行分录, 就可以构建出多少个反写模型。目标业务对象模型与反写模型之间可以称为父子关系。即 目标业务对象模型为父业务对象模型,反写模型为子业务对象模型。以目标业务对象模型 为检验单为例,其分录对应的反写模型为检验反写单,如图5所示为目标业务对象模型的 界面图,包括分录的共有属性以及多行分录。如图6所示,为反写模型的界面图,检验反写 单中包括共有属性和检验反写字段。其中,检验反写字段中只包括了分录中的部分字段,如 接收数量、不良数量。从分录中提取的字段无需另外进行存储,可以与分录字段共享数据 表,由此实现了反写模型与分录共享数据。
[0074] 在一个实施例中,通过所述第一预设操作,通过第一预设操作,将反写模型的数据 反写至源业务对象模型的步骤之后,还包括:接收对分录的反执行指令,分录为选中状态; 根据反执行指令将源业务对象模型的数据回滚至分录。
[0075] 本实施例中,如果用户发现某一分录反写至源业务
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1