学习.交流
专业源于专注
www. myoit. cn   
学习交流 文件下载 手册资料 交流QQ群

    

 4  1/1   1  
作者
内容
beforeraining@163.co  [个人空间]


注册  2016-11-19
发贴数  14
精华数  0
原创贴  1
来自  
状态  正常

级别  会员
#1»发布于2020-08-26 17:34

我在func_edit_rec()函数下写了一小段代码,就是在职工的在职状态不等于"未入职"时,入职日期这个控件失效(gui_disable),但是我发现: 
如果我刚登录到软件后,在员工资料里打开的第一个职工的状态就不是未入职,例如是合同期,这个职工的入职日期是不能修改的,这说明gui_disable函数生效了。但是,我再此之后,再打开另一个状态是“未入职”的职工时,入职日期这个控件仍然是不可编辑的。 
此时,我退出软件后重新登录,直接打开这个状态是”未入职”的职工,这个入职日期控件,能够编辑。 
 
也就是说,这个func_edit_rec函数,在软件运行过程中,gui_disable函数并不是每次打开编辑页面都运行的,它只运行了一次。我觉得这样不大合理啊。 
 int func_edit_rec() 

  //msg('edit rec'); 
string empstate 
string banstate 
empstate=gui_get_text("ComboBox_Ext_State") 
banstate="未入职" 
 if (empstate != banstate){ 
  gui_disable("ComboBox_Culture_Degree"); 
  gui_disable("ComboBox_Ext_Culture_Level"); 
  gui_disable("ComboBox_Ext_Employ_Type"); 
  gui_disable("MDate_Hire_Date"); 
  gui_disable("ComboBox_Ext_Company"); 
  gui_disable("ComboBox_Dept"); 
  gui_disable("ComboBox_Ext_Post_Degree"); 
  gui_disable("ComboBox_Ext_Leave_Method"); 
  gui_disable("ComboBox_Ext_Leave_Cause"); 
  gui_disable("ComboBox_Ext_State"); 
  gui_disable("Edit_Emp_Id"); 
  } 
 else{ 
  msg("该员工还没有入职") 
  }; 
 
return 1; 
 
}; 
 
请问这是我的脚本写错了吗?还是程序本身设计时就是这样的,谢谢!


        





固定資産設備 管理軟體, 綠色免費

beforeraining@163.co  [个人空间]


注册  2016-11-19
发贴数  14
精华数  0
原创贴  1
来自  
状态  正常

级别  会员
#2»发布于2020-08-26 17:47

得在if-else里面加上gui_enable()函数,就好了 
/擦汗

得在if-else里面加上gui_enable()函数


        





商贸进销存 管理軟體, 綠色免費

beforeraining@163.co  [个人空间]


注册  2016-11-19
发贴数  14
精华数  0
原创贴  1
来自  
状态  正常

级别  会员
#3»发布于2020-08-27 08:41

我现在看,这个不是if-else的问题,而是这个gui_disable,只要运行一次之后,如果不enable的话,控件就会一直处在disable的状态。


        





人力資源管理軟體, 綠色免費

daibiaoge  [个人空间]


注册  2020-04-30
发贴数  93
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#4»发布于2020-08-27 11:07

放到 func_show 試試  
disable的話,要做兩個預測 
 
if  
  disable 
else 
  enable


        





庫存管理軟體, 綠色免費


 4  1/1   1  


登录后方可发贴


[ 电话: 0571-85462761 王先生 QQ: 124520435 加入软件QQ群 - 杭州 - 浙ICP备19051128号 网安 33010402003225 ]