此脚本基本可实现只用键盘操作录入会计凭证,没有使用辅助核算项目和外币的可忽视 因目前int init_row()函数没有开放,所以在录入过程中可能会无法修改日期、凭证号、其他明细分录的辅助项目等,必须全部录入完并保存后才能修改,目前还没有想到可以解决的方法,也请各位大拿能不吝赐教。 int cell_change() { int a,b,c,d,e,f,g,h string sql if(change_col=="amount_a"||change_col=="amount_b") { gui_enable("Edit_Ass_Dept") gui_enable("Edit_Ass_Dept") gui_enable("Edit_Ass_Eba") gui_enable("Edit_Ass_Sup") gui_enable("Edit_Ass_Project") gui_enable("Edit_Ass_Emp") gui_enable("Edit_Ass_Res") gui_enable("Edit_Ass_Num") gui_enable("Edit_Amount") gui_enable("Edit_Mark_No") sql="select ass_dept_flag,ass_eba_flag,ass_sup_flag,ass_project_flag,ass_emp_flag,ass_res_flag,adjust_rate_flag from evm_subject " sql=sql+"where subject_id='"+subject_id+"'" db_run(sql) a=db_res(0) //部门 b=db_res(1) //客户 c=db_res(2) //供应商 d=db_res(3) //项目 e=db_res(4) //员工 f=db_res(5) //产品 g=db_res(6) //外币 h=a+b+c+d+e+f+g if(h>0) //如有辅助项目,则表头控件不可操作 { gui_disable("Edit_Mark_No") gui_disable("DateTimePicker_Voucher_Date") gui_disable("ComboBox_Ext_Mark_Id") gui_disable("Edit_Attachment_Num") } if(a!=1) //如没有该辅助项目,则不可操作 { gui_disable("Edit_Ass_Dept") } if(b!=1) { gui_disable("Edit_Ass_Eba") } if(c!=1) { gui_disable("Edit_Ass_Sup") } if(d!=1) { gui_disable("Edit_Ass_Project") } if(e!=1) { gui_disable("Edit_Ass_Emp") } if(f!=1) { gui_disable("Edit_Ass_Res") gui_disable("Edit_Ass_Num") } if(g!=1) { gui_disable("Edit_Amount") } if(a!=0) //根据是否有该辅助项目,进行光标定位 { gui_focus("Edit_Ass_Dept") } else { if(b!=0) { gui_focus("Edit_Ass_Eba") } else { if(c!=0) { gui_focus("Edit_Ass_Sup") } else { if(d!=0) { gui_focus("Edit_Ass_Project") } else { if(e!=0) { gui_focus("Edit_Ass_Emp") } else { if(f!=0) { gui_focus("Edit_Ass_Res") } else { if(g!=0) { gui_focus("Edit_Org_Amount") } else { } } } } } } } } //change_col,change_col_id,change_row_id return 1; }; int func_after_save() { gui_enable("Edit_Ass_Dept") gui_enable("Edit_Ass_Dept") gui_enable("Edit_Ass_Eba") gui_enable("Edit_Ass_Sup") gui_enable("Edit_Ass_Project") gui_enable("Edit_Ass_Emp") gui_enable("Edit_Ass_Res") gui_enable("Edit_Ass_Num") gui_enable("Edit_Amount") gui_enable("Edit_Mark_No") gui_enable("DateTimePicker_Voucher_Date") gui_enable("ComboBox_Ext_Mark_Id") gui_enable("Edit_Attachment_Num") return 1; }; |