Foxtable(狐表)用户栏目专家坐堂 → 每天自动更新日期


  共有4167人关注过本帖树形打印复制链接

主题:每天自动更新日期

美女呀,离线,留言给我吧!
tubairabbit
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:70 积分:971 威望:0 精华:0 注册:2014/2/18 14:27:00
每天自动更新日期  发帖心情 Post By:2014/11/4 9:33:00 [只看该作者]

根据录入的“入库日期”,计算出“库存天数”,即Date.today - e.datarow("入库日期"),需要每天更新。

 

目前想到的方案一是:在afteropenproject中写上重置“入库日期”的代码

DataTables("A").DataCols("入库日期").RaiseDataColChanged()

但是因为数据量比较大,所有行都重置一遍再保存需要较长时间,造成每个用户每次打开项目并保存的时间过长。

 

考虑到每天只需更新一次,不必每个用户每次打开项目都得重置,方案二是:

使用计划管理,且限定管理员执行重置“入库日期”的代码,另外在服务器上长时间开启客户端程序。

 

只知道在计划中设置时间间隔,请教如何实现每天早上6:00执行该重置列的计划呢?或者有更好的每天更新日期的方法?

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/4 9:35:00 [只看该作者]

1、弄一个地方,比如一个表格,设置一个标志。

 

2、在afterOpenProject的时候,如果今天没有更新过,就更新一下,在标识列那里记录;

 

3、在afterOpenProject查询标志


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/11/4 9:35:00 [只看该作者]

用方案1 可以用分页加载,这样就没有大量数据的效率烦恼

 回到顶部
美女呀,离线,留言给我吧!
tubairabbit
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:70 积分:971 威望:0 精华:0 注册:2014/2/18 14:27:00
  发帖心情 Post By:2014/11/4 9:56:00 [只看该作者]

通过标识列对我来说实现起来比较简单,但是意味着每天第一个开启项目的用户保存起来会慢。

想让这个工作由管理员承担,每天自动进行有否可能。

或者通过windows的计划任务,定时启动foxtable开发的客户端程序,再自动关闭,有没有可能?

[此贴子已经被作者于2014-11-4 9:57:05编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/4 10:17:00 [只看该作者]

 可以,你单独做一个带有更新代码的项目,在服务器那里定时打开,执行完以后,在afterOpenProject最后把项目关闭即可。


 回到顶部
美女呀,离线,留言给我吧!
tubairabbit
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:70 积分:971 威望:0 精华:0 注册:2014/2/18 14:27:00
  发帖心情 Post By:2014/11/4 10:24:00 [只看该作者]

如果用分页加载,在afteropenproject中的重置代码是只对加载的那部分数据起作用吧?

那翻页后的新数据,怎样写代码更新?

保存的时候,是只保存加载的当前页数据吗?

 


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/11/4 10:26:00 [只看该作者]

翻页后接着写上更新代码

 回到顶部
美女呀,离线,留言给我吧!
tubairabbit
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:70 积分:971 威望:0 精华:0 注册:2014/2/18 14:27:00
  发帖心情 Post By:2014/11/4 16:22:00 [只看该作者]

单独做了一个项目

在afteropenproject中加上

DataTables("A").DataCols("入库日期").RaiseDataColChanged()

Syscmd.Project.Save()

Syscmd.Project.Exit()

能实现自动更新、保存、关闭项目

 

现在问题是,登录需要输入用户名、密码,怎么让windows计划任务调用客户端程序时自动输入密码,打开项目呢?

(用默认用户的方法不行,我的用户表是外部数据源)


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/4 16:43:00 [只看该作者]

 你设置的这个项目不需要使用用户表的,单独一个项目就行。


 回到顶部
美女呀,离线,留言给我吧!
tubairabbit
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:70 积分:971 威望:0 精华:0 注册:2014/2/18 14:27:00
  发帖心情 Post By:2014/11/6 9:11:00 [只看该作者]

谢谢!

将服务器版的用户表去掉外部数据表的勾,设了默认用户,发了个版本放服务器。windows任务计划再调用一下。

经检验已经能够定时更新了。


 回到顶部
总数 11 1 2 下一页