Foxtable(狐表)用户栏目专家坐堂 → 为什么计划不会执行 ?


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

主题:为什么计划不会执行 ?

帅哥哟,离线,有人找我吗?
YDS
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:628 积分:3594 威望:0 精华:0 注册:2011/5/21 18:05:00
为什么计划不会执行 ?  发帖心情 Post By:2018/9/13 8:22:00 [只看该作者]

计划代码如下   计划名称:upyc  间隔时间:30000
If Date.Today.DayOfWeek > 0 AndAlso Format(Date.now, "HHmm") >= 1130 AndAlso Format(Date.now, "HHmm") <= 1300 Then
    MyTimers("upyc").Enabled = False
    DataTables("pos").load()
    Dim d As Date = Date.Today
    Dim unn As String = Functions.Execute("ycun",d,"unn")
    Dim dr As DataRow = DataTables("yc").find("date = '" & d & "'")
    If dr IsNot Nothing Then
        dr("n_y") = unn
        dr.save
    End If
    MyTimers("upyc").Enabled = True
End If

为什么有时候不执行   必须重启一下才行

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


加好友 发短信
等级:三尾狐 帖子:628 积分:3594 威望:0 精华:0 注册:2011/5/21 18:05:00
  发帖心情 Post By:2018/9/13 8:25:00 [只看该作者]

我还在系统启动后加了个MyTimers("upyc").Enabled = True,计划管理已经设置启动和不允许暂停

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


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

1、代码没问题,重新打开后测试。

 

2、你修改了里面的代码以后才无效的?那你再加上msgbox看是否进入执行。

 

3、必须到达11:30到13:00才会进入执行的。


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


加好友 发短信
等级:三尾狐 帖子:628 积分:3594 威望:0 精华:0 注册:2011/5/21 18:05:00
  发帖心情 Post By:2018/9/13 12:32:00 [只看该作者]

不是周末   在11:30到13:00之间   计划不会自动执行    必须重启项目后这个计划才会执行

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


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

请加入msgbox测试,代码没问题。


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


加好友 发短信
等级:三尾狐 帖子:628 积分:3594 威望:0 精华:0 注册:2011/5/21 18:05:00
  发帖心情 Post By:2018/9/13 13:28:00 [只看该作者]

额  这个不用测试啊   他除了不会自动执行  没有别的问题   程序编译后在服务器上一直开着    但是时间一长就不会自动执行了   比如今天可以执行  每天到1130的时候就不会执行了   时间间隔我设置的是30秒啊

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


加好友 发短信
等级:三尾狐 帖子:628 积分:3594 威望:0 精华:0 注册:2011/5/21 18:05:00
  发帖心情 Post By:2018/9/13 13:32:00 [只看该作者]

可能我表述的有问题吧    不是不会执行    是时间长了就不会自动执行了   比如我现在设置的1130到1300点之间 30秒 DataTables("pos").load() 而且pos只加载当天的数据
 但是第二天来了来了以后   pos表里还是昨天的数据

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


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

以下是引用YDS在2018/9/13 13:32:00的发言:
可能我表述的有问题吧    不是不会执行    是时间长了就不会自动执行了   比如我现在设置的1130到1300点之间 30秒 DataTables("pos").load() 而且pos只加载当天的数据
 但是第二天来了来了以后   pos表里还是昨天的数据

 

1、要避免是不是你长时间不使用电脑的时候,电脑进入了休眠的状态,导致程序代码失效?

 

阻止休眠看看 http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=102477&skin=0

 

2、试试升级到最新版,看能否改善。


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


加好友 发短信
等级:三尾狐 帖子:628 积分:3594 威望:0 精华:0 注册:2011/5/21 18:05:00
  发帖心情 Post By:2018/9/13 16:12:00 [只看该作者]

我把这个全部代码贴出来吧     不是休眠   晚上的报餐提醒和上午的余额不足提醒都是正常的


图片点击可在新窗口打开查看此主题相关图片如下:tim截图20180913161127.jpg
图片点击可在新窗口打开查看


If Date.Today.DayOfWeek > 0 AndAlso Format(Date.now, "HHmm") >= Functions.Execute("Get","设置",2).split("-")(0) AndAlso Format(Date.now, "HHmm") <= Functions.Execute ("Get","设置",2).split("-")(1) Then
    MyTimers("upyc").Enabled = False
    DataTables("pos").load()
    Dim d As Date = Date.Today.AddDays(0)
    Dim unn As String = Functions.Execute("ycun",d,"unn")
    Dim dr As DataRow = DataTables("yc").find("date = '" & d & "'")
    If dr IsNot Nothing Then
        dr("n_y") = unn
        dr.save
    End If
    MyTimers("upyc").Enabled = True
End If
If Date.Today.DayOfWeek > 0 AndAlso Format(Date.now, "HHmm") >= Functions.Execute("Get","设置",3).split("-")(0) AndAlso Format(Date.now, "HHmm") <=  Functions.Execute("Get","设置",3).split("-")(1) Then
    MyTimers("upyc").Enabled = False
    DataTables("pos").load()
    Dim d As Date = Date.Today.AddDays(0)
    Dim une As String = Functions.Execute("ycun",d,"une")
    Dim dr As DataRow = DataTables("yc").find("date = '" & d & "'")
    If dr IsNot Nothing Then
        dr("e_y") = une
        dr.save
    End If
    MyTimers("upyc").Enabled = True
End If
Static dm As Date
If dm <> Date.today AndAlso Date.today.AddDays(1).DayOfWeek > 0 AndAlso Format(Date.now, "HHmm") >= Functions.Execute("Get","设置",12) AndAlso Format(Date.now, "HHmm") <= Functions.Execute("Get","设置",12) + 5 Then
    MyTimers("upyc").Enabled = False
    dm = Date.Today
    Dim drs As List(Of DataRow) = DataTables("Users").Select("tx = 1 and dc = 1")
    For Each dr As DataRow In drs
        If dr("userid") > "" And dr("name") > "" Then
            Dim dr1 As DataRow = DataTables("yc").SQLFind("date = '" & Date.today.AddDays(1) & "' and (n_b like '%" & dr("name") & "%' or e_b like '%" & dr("name") & "%')")
            If dr1 Is Nothing Then
                Functions.Execute("sendmsg","textcard",dr("userid"),"","报餐通知",Date.now & vbcrlf & "根据公司相关规定,在食堂用餐员工需要提前一天报餐,您" & Date.today.adddays(1) & "还没有报餐,如需用餐请尽快报餐,以便厨师根据报餐人数安排食材采购等相关事宜!","http://m.xoar.me:81/index.htm","详 情")
            End If
        End If
    Next
    MyTimers("upyc").Enabled = False
End If
Static dn As Date
If dn <> Date.today AndAlso Date.Today.DayOfWeek > 0 AndAlso Format(Date.now, "HHmm") >= Functions.Execute("Get","设置",14) AndAlso Format(Date.now, "HHmm") <= Functions.Execute("Get","设置",14) + 5 Then
    MyTimers("upyc").Enabled = False
    dn = Date.Today
    Dim drs As List(Of DataRow) = DataTables("Users").Select("dc = 1")
    For Each dr As DataRow In drs
        If dr("userid") > "" And dr("name") > "" Then
            Dim dr1 As DataRow = DataTables("pos").SQLFind("user_name = '" & dr("name") & "'","pos_time Desc",0)
            If dr1 IsNot Nothing Then
                dr("ye") = dr1("balance")
                dr.save
                If dr("ye") > 0 AndAlso dr("ye") <= 30 Then
                    Functions.Execute("sendmsg","textcard",dr("userid"),"","余额不足",Date.now & vbcrlf & "您的餐卡余额仅剩" & dr("ye") & "元,为了不影响您的用餐,请您尽快充值!----卓尔航空后勤部","http://m.xoar.me:81/cx.htm","详 情")
                End If
            End If
        End If
    Next
    MyTimers("upyc").Enabled = False
End If


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


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

1、加入msgbox测试,看能否弹出。你msgbox,把各个值也弹出看一下。

 

如果觉得msgbox碍事,你可以用output.show显示信息。

 

2、调整你的时钟,设置到对应时间去,等候运行。


 回到顶部