作者 |
|
imqin [个人空间]
注册  2009-04-29 发贴数 20 精华贴 1 原创贴 0 来自 江苏常州 状态 正常
级别 会员 |
|
|
我使用HRM系统记录公司员工办理各类社会保险的记录(包括社保、公积金、意外险等多个险种) 每个月到社保中心办理保险,以及提供给领导的保险清单时,都需要制作类似以下附件中样式的表单(包括部门、姓名、工号、家庭住址、身份证号、险种、开始日期、停止日期、保险编号等) 但是目前系统的“保险标准“栏目下查看员工”保险清单“时,无法调用到”身份证号、家庭住址“字段,导致我每次做清单时,都要先从”保险清单“里导一份保险信息的表,再从”员工资料“里导一份员工”身份证号“”家庭住址“的表,然后进行比对后,合并为一张表。非常麻烦。 因为人数多,处理数据的工作量大,而且容易出错,所以能否在”保险标准“栏目下的”员工保险清单“直接调用”身份证号、家庭住址“字段呢? 非常感谢!! |
|
员工保险清单,显示定制,无身份证号和家庭住址选项 我需要制作的表单格式样本
|
|
|
awfixtdm [个人空间]
注册  2011-08-18 发贴数 445 精华贴 2 原创贴 5 来自 状态 正常
级别 版主 |
|
|
定义一个自定义报表就行了 在配置管理----数据脚本里,扩展查询右键,增加 脚本名称就填保险清单吧 然后把下面的内容替换掉脚本定义里的内容 int func_def_lmt() { def_lmt_set_val("aa","a") return 1; }; int func_def_field() { db_set_field_count(11); db_set_field_info(0,'dept_name',"部门",80); db_set_field_info(1,'emp_id',"工号",50); db_set_field_info(2,'name',"姓名",50); db_set_field_info(3,'paper_id',"身份证号",150); db_set_field_info(4,'home_address',"家庭住址",150); db_set_field_info(5,'insurance_name',"保险类型",50); db_set_field_info(6,'beg_month',"开始日期",50); db_set_field_info(7,'stop_flag',"是否停止",50); db_set_field_info(8,'end_month',"终止日期",50); db_set_field_info(9,'v_no',"保险编号",50); db_set_field_info(10,'note_info',"备注",50); return 1; }; int func_def_imp() { return 1; }; int func_init() { return 1; }; int func_query() { string sql; sql="select b.dept_name,a.emp_id,c.name,c.paper_id,c.home_address,d.insurance_name,a.beg_month,case a.stop_flag when 'N' THEN " sql=sql+"'否' else '是' end,a.end_month,a.v_no,a.note_info from emp_insurance a,emp_dept b,emp c,emp_insurance_type d " sql=sql+"where a.emp_id=c.emp_id and b.dept_id=c.dept_id and a.insurance_type_id=d.insurance_type_id" db_run(sql) return 1; }; |
|
|
QQ:80240800
|
|
awfixtdm [个人空间]
注册  2011-08-18 发贴数 445 精华贴 2 原创贴 5 来自 状态 正常
级别 版主 |
|
|
常用的话,可以直接加在任意模块下,如在人事资料,你就在人事资料图标列表空白处右键,选新建图标 填好编号和标题就行了 点击就直接出名单了,可以保存到excel |
|
|
QQ:80240800
|
|
ME865 [个人空间]
注册  2013-11-14 发贴数 4 精华数 0 原创贴 0 来自 状态 正常
级别 会员 |
|
imqin [个人空间]
注册  2009-04-29 发贴数 20 精华贴 1 原创贴 0 来自 江苏常州 状态 正常
级别 会员 |
|
|
按照高人指点的步骤做了,哪个需要的表单格式出来了,但是没有任何数据,点了“查询”,也没任何反应啊! |
|
出来就是这样的
|
|
|
awfixtdm [个人空间]
注册  2011-08-18 发贴数 445 精华贴 2 原创贴 5 来自 状态 正常
级别 版主 |
|
|
|
|
QQ:80240800
|
|
imqin [个人空间]
注册  2009-04-29 发贴数 20 精华贴 1 原创贴 0 来自 江苏常州 状态 正常
级别 会员 |
|
awfixtdm [个人空间]
注册  2011-08-18 发贴数 445 精华贴 2 原创贴 5 来自 状态 正常
级别 版主 |
|
|
查错,注意输入法状态,最多手打。代码给你了效果图给发上来了,兄弟,啥都没有怪谁呢? |
|
|
QQ:80240800
|
|
三生石 [个人空间] QQ名 Meng
注册  2005-09-20 发贴数 7383 精华贴 14 原创贴 6 来自 杭州 状态 正常
级别 版主 |
|
|
awfixtdm 的 sql语法是针对mssql的,access下面 sql="select b.dept_name,a.emp_id,c.name,c.paper_id,c.home_address,d.insurance_name,a.beg_month, " sql=sql+"a.stop_flag ,a.end_month,a.v_no,a.note_info from emp_insurance a,emp_dept b,emp " sql=sql+"c,emp_insurance_type d " sql=sql+"where a.emp_id=c.emp_id and b.dept_id=c.dept_id and a.insurance_type_id=d.insurance_type_id" |
|
|
三生石上旧精魂 赏月吟风莫要论 惭愧情人远相访 此身虽异性长存
|
|
awfixtdm [个人空间]
注册  2011-08-18 发贴数 445 精华贴 2 原创贴 5 来自 状态 正常
级别 版主 |
|
|
倒是没想过access的语法问题,一向不用垃圾access。 注意到两者区别没有,上面版主把是否停止的“是/否”的显示替换去掉了,因为access数据库不支持,出来的结果这一列就变成''Y"/"N" 可以再改改,选替换显示,显示完再换回来,按下面的 int func_def_lmt() { def_lmt_set_val("aa","a") return 1; }; int func_def_field() { db_set_field_count(11); db_set_field_info(0,'dept_name',"部门",80); db_set_field_info(1,'emp_id',"工号",50); db_set_field_info(2,'name',"姓名",50); db_set_field_info(3,'paper_id',"身份证号",150); db_set_field_info(4,'home_address',"家庭住址",150); db_set_field_info(5,'insurance_name',"保险类型",50); db_set_field_info(6,'beg_month',"开始日期",50); db_set_field_info(7,'stop_flag',"是否停止",50); db_set_field_info(8,'end_month',"终止日期",50); db_set_field_info(9,'v_no',"保险编号",50); db_set_field_info(10,'note_info',"备注",50); return 1; }; int func_def_imp() { return 1; }; int func_init() { return 1; }; int func_query() { string sql; db_run("update emp_insurance set stop_flag='是' where stop_flag='Y'") db_run("update emp_insurance set stop_flag='否' where stop_flag='N'") sql="select b.dept_name,a.emp_id,c.name,c.paper_id,c.home_address,d.insurance_name,a.beg_month, " sql=sql+"a.stop_flag ,a.end_month,a.v_no,a.note_info from emp_insurance a,emp_dept b,emp " sql=sql+"c,emp_insurance_type d " sql=sql+"where a.emp_id=c.emp_id and b.dept_id=c.dept_id and a.insurance_type_id=d.insurance_type_id" db_run(sql) db_run("update emp_insurance set stop_flag='Y' where stop_flag='是'") db_run("update emp_insurance set stop_flag='N' where stop_flag='否'") return 1; }; |
|
|
QQ:80240800
|
|
三生石 [个人空间] QQ名 Meng
注册  2005-09-20 发贴数 7383 精华贴 14 原创贴 6 来自 杭州 状态 正常
级别 版主 |
|
|
修改数据库的方法不好,db_run之后利用脚本函数 db_map 转换下就可以了。 db_map("bool","stop_flag","stop_flag"); |
|
|
三生石上旧精魂 赏月吟风莫要论 惭愧情人远相访 此身虽异性长存
|
|
awfixtdm [个人空间]
注册  2011-08-18 发贴数 445 精华贴 2 原创贴 5 来自 状态 正常
级别 版主 |
|
|
|
|
QQ:80240800
|
|
imqin [个人空间]
注册  2009-04-29 发贴数 20 精华贴 1 原创贴 0 来自 江苏常州 状态 正常
级别 会员 |
|
|
修改后的脚本,在单机模式下面可以使用了,但是在网络模式下,还是无法使用,显示不了任何数据~~~ 而且利用脚本只能显示所有的保险数据,没法实现按条件搜索查找的功能(比如按部门,保险险种,姓名等条件),还是有点不方便。 希望高人能够为我解决困难啊~~~ |
|
|
于 2014-06-26 22:53 被 imqin 修改
|
|
imqin [个人空间]
注册  2009-04-29 发贴数 20 精华贴 1 原创贴 0 来自 江苏常州 状态 正常
级别 会员 |
|
|
个人觉得还是在“员工保险标准清单管理”页面中增加显示“身份证号、家庭住址”这些字段显示比较方便实用! |
|
员工保险标准清单管理
|
于 2014-06-26 23:04 被 imqin 修改
|
|
awfixtdm [个人空间]
注册  2011-08-18 发贴数 445 精华贴 2 原创贴 5 来自 状态 正常
级别 版主 |
|
|
跟单机网络无关,语句只跟数据库有关,不知道你网络版用的是什么数据库,上面的已经是两种的语句了。你说的检索也都能实现,要举一反三兄弟,条件在int func_def_lmt()里面写,看csp |
|
|
QQ:80240800
|
|
|