返回列表 发帖

[V12功能解说] 有重复导出相同记录的困扰?时序管理为你排忧解难!

* 本文由赛捷软件(上海)有限公司翻译完成,未经授权不得转载。如需转载,请先联系相应版块的版主取得授权。


你是否曾经从X3导出过记录,想要只获取以前没有导出过的记录,但最后却发现符合你设置的其他参数的所有记录都导出来了--包括那些已经导出的记录?不用怕,X3有一个选项可以避免这种情况,即所谓的时序管理。



你可能会问:“时序管理到底是做什么的?”要想知道完整的答案,我们可以求助于字段帮助:



很好!这个选项正是你想要的,它会告诉你的导出模板只要提取自上次导出模板后被更改的记录。让我们来看看它是如何运作的。

如果我们前往功能:参数设置→工具→导入/导出→导入/导出参数,我们可以看到当前的【序列号】值(即来自上述在线帮助信息的[C]EXPORT)。在当前的示例中,我们当前的值为36.

  

在本示例中,我创建了一个SOH导出模板的副本(功能路径:参数设置→工具→导入/导出→导入/导出模板),并将它命名为ZSOH。这个记录会存储在表AOBJEXT中,且字段CHRNUM初始化为0(稍后再议)。



我还创建了3个新的销售订单(功能路径:销售→订单→订单),并且快速检查了每个订单的EXPNUM值是否匹配当前的[C]EXPORT值。



现在,我们可以前往功能:工具→导入/导出→导出。首先,我们会在不勾选【时序管理】复选框的情况下导出这些记录。



看一眼导出的文件,我们可以看到三个销售订单(如预期的那样)都被导出了,且EXPNUM(表SORDER)和CHRNUM(表AOBJEXT)的值没有变化。





下一步,范围功能:销售→订单→订单,并更改最后一条记录(SONNA0110105)的数量,然后再次导出(仍然不勾选【时序管理】)。我们可以看到所有这3个销售订单再次被导出了,而且EXPNUM/CHRNUM的值没有变更。





此时,我们可以再次完成我们的导出了,最后终于把时序管理用上了。



请注意我们的日志显示这三个订单又被导出了。但我们还有一条信息,提示我们时序管理正在发挥它的作用。



再次运行我们的SQL查询,可以查实ZSOH模板的CHRNUM从0变成了36,而订单的EXPNUM没有变化。



如果我们在不改变任何东西的情况下再次运行导出会发生什么? 首先我们会发现,时序管理已经被我们选中了。 还记得我说过我们会再来检查CHRNUM吗? 当模板的CHRNUM值为0时,Chrono管理默认为未被选中的。而如果CHRNUM为任何非零的值,则时序管理将默认为被选中的。 很简单,对吧? 现在回到我们常规安排的演示。

通过日志,我们可以看到没有导出任何订单,而ZSOH的CHRNUM已经增加至了37。



那么,如果我们修改了一个订单,最后一次尝试导出,会发生什么呢?让我们一起来看看吧!在修改了销售订单SONNA0110105的数量后,再次导出,我们会从日志中得到以下结果。



而我们的SQL查询:



为什么SONNA0110105的EXPNUM更改为了38,而之前是36呢?还记得在我们进行修改之前,ZSOH的CHRNUM更新为了37吗?这意味着[C]EXPORT的当前值在那个时候被增量至38。按照在线帮助中的逻辑,当我们修改销售订单时,EXPNUM被更新为[C]EXPORT的当前值,就得到了我们上面看到的38这个值。当我们完成最后的导出时,ZSOH的CHRNUM也变成了38。在“导入/导出参数”功能中,我们可以看到,我们当前的[C]EXPORT值现在是39(因为这个值在分配给CHRNUM后会递增1)。

  

时序管理终于给我们带来了我们一开始寻找的东西,使用特定模板成功导出了自从上次导出后更改的订单。希望这能让你更好地了解时序管理的工作原理,从而可以它来简化未来的导出任务。
附件: 您需要登录才可以下载或查看附件。没有帐号?申请用户

返回列表