GS历史数据结转功能说明.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GS历史数据结转功能说明

历史数据结转功能说明 需求,参考《GS5.0需求规格说明书-库存存货部分》中的历史数据结转部分。 简要说明,就是从系统性能方面考虑,将原有的库存、存货等模块的账本、单据信息导入到历史数据表中,提高当前数据库模块运行的效率。 开发环境:Windows XP 、Visual Studio 2005 WinForm 、 Visual c# 、SqlServer数据库(2000、2005) SMO 是一种 Microsoft? .NET Framework 对象库,可管理一个或多个数据库服务器。使用 SQL Server 2005 引入的新功能,支持 SQL Server 2000 数据库Microsoft.SqlServer.Smo.dll 核心SMO类(如数据库、服务器、备份和恢复、sql、存储过程执行等) Microsoft.SqlServer.ConnectionInfo.dll 有助于管理与 SQL Server 对象之间连接的类库VarBalAccount) 特殊库存往来账(ConsignDebtAccount) 数据表: 入库通知单(GRReqBills、GRReqBillItems) 移库申请单(GMReqBillsInit、GMReqBillItemsInit) 移库通知单(GMReqBills、GMReqBillItems) 采购申请单(PRBills、PRBillItems) 发货申请单(GIReqBills、GIReqBillItems) 库存盘点表(CheckBills、CheckBillItems) 差异计算单(VarComBill、VarComBillItem) 批次表(Batches) 可用库存量表(EstQuantity) 区分移动类型 库存入库单(所有的入库单据,库存、存货都记账) 库存出库单(所有的出库单据,库存、存货都记账) 库存移动单(公司间、组织间的所有移库单据) 货位移动单(GoodsMovement,MoveTypeID=333) 物料移动单(GoodsMovement,MoveTypeID = 403、421) 金额调整单(GoodsMovemnt,MoveTypeID like ‘9%’) 【导出】:根据选择条件,将对应条件的数据导出到历史数据表中 【导入】:根据选择条件,将对应条件的历史数据表中的数据恢复到工作表中。 【关闭】:退出当前功能页面。 【创建历史数据表】:对应创建所有历史表,减少导入、导出操作,且能同时建立对应的聚集索引。 【数据备份】:只备份选择的数据表的工作表和对应的历史数据表。 【备份数据删除】:在进行导出、导入操作都提示成功后,将备份的数据表删除,减少数据库空间,当然这可以不删除,以验证数据。 【数据还原】:在进行导出、导入、bcp导出、bcp导入过程中,出现错误,执行该步骤,将选择操作的表的工作表、历史数据表全部还原,如果在还原过程中出现错误,那么可以重新执行数据恢复。 【BCP 导出】:采用bcp工具的导出 【BCP 导入】:采用BCP工具的导入 其他说明: 历史数据表:工作表+HistoryBackup 导出:利用数据库工具BCP来实现的。 账本: 数据表: 区分移动类型: 导入:利用数据库工具BCP实现 利用bcp工具批量处理的时候,对于杀毒软件可能会有不安全操作提示。 备份表名格式:工作表名或者历史数据表名+年月日+”9999” 需要考虑问题: 滚动条:考虑加上个什么样的滚动条处理,本来想通过ProgressBar实现,但是在database对象中事件不太好处理。 关联表是否需要导出,以及导出的时机。 存货过程简单说明: 导出(导入原理同导出)数据大概经历了以下几个实现过程。 在存储过程中建立历史数据表、中间表,建立对应的索引,将数据表中的数据先导入到中间表,然后在从中间表将数据导入到历史数据表中,如果成功,那么将数据表中的对应数据删除。 在第一步的基础上,不在采用中间表,直接在数据库中根据工作表的主键建立临时表,将满足条件的数据的主键字段值保存到临时表中,然后通过临时表关联将数据导入到历史数据表中,在根据临时表关联删除工作数据表中的对应数据。 在第二步的基础上考虑,将历史数据库表等外围的工作,完全可以单独拿出来,减少导入导出的性能开销,同时在程序中启用线程。但是效果仍旧不理想。 在前面的基础上考虑到,基于数据的处理这样,性能太差。所以现在选用BCP工具,先根据条件将满足条件的数据导入到一个txt文件中,然后在读取txt文件导入历史数据表中,成功后,在根据对应条件删除工作表中的记录。只有在具有分录的单据表处理的时候,将单据ID放入了临时表进行处理。 导入是导出的逆向操作。 开始的时候,所有的备份都在一个存储过程中实现的,后来考虑安全、性能问题,拆分

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档