老师,多用户 sql server 环境 有时候,A用户创建了资料或者修改了资料,B用户打开了有引用此资料的单据,然后进行打印 这个时候数据库字典在同步时会有时间差异,导致打印出来的资讯 出现了差异。 后来,搞了好久才明白,客户端字典 差异的问题。 现在,有个建议,就是在打印之前,我给他重新 dt_refresh_key 一下,但这个有一个缺点: 1、refresh之后,字典上是更新了,但单据里显示它没更新,还是修改前的资讯,还得再一次加载单据Ctrl+L,这样就比较困扰 2、那可不可以 vr_add_main_res_check / vr_add_res_check 这两个函数 或者 dt_refresh dt_refresh_key 的 更新能够作用于单据界面呢? 估计 dt_refresh dt_refresh_key 没法做到,但在打印前 ,进行 vr_add_res_check 来实现呢 vr_add_res_check 本身会遍历res字典并更新单据明细,在它遍历的时候,顺便把dt_refresh_key的工作给做了,是不是就能解决这个问题呢 感谢感谢 因为我作了脚本测试: 1、对单据的明细的res_id,进行 for 遍历刷新字典 2、在脚本 最后,进行 vr_add_res_check 这两步操作下来之后,还是会有未同步情况,接着再加个grid_trigger_change 好像也会有 未更新的情况 |