wwx001的空间..原创-捕鱼app

学习.交流
专业源于专注
  
学习交流 文件下载 手册资料 交流qq群


文章分类
   ☉
   ☉
照片夹
手机版捕鱼的友情链接
游客:   注册 | 登录 | 论坛
 4  1/1   
# 1    发布于 2016-06-13 22:43

一年多前,分享了一个不成熟的自定义报表: 固定资产折旧明细表 
原地址:http://onlyit.cn/topic_list_detail?subject_id=3&page_id=1&topic_id=79932 
 
近期安徽-大志兄说建议加上资产名称栏,经过几番折腾,实现了这个功能,但是这个自定义的固定资产折旧明细表 
依然不完美。聊胜于无吧,各位有什么更好的方法、意见、建议请多多指教、交流。 
 
下次更新会实现按资产名称汇总,本人懒惰,请勿催促,更莫等待。 
 
还是分两部分: 
 
第一部分是在配制管理->数据脚本里面建立一个扩展查询:  
查询脚本如下:  
 
int func_can_run() 

  return 1; 
}; 
 
int func_def_lmt() 

  dt_define('cycle','select cycle_id,cycle_id  from asset_cycle'); 
  def_lmt_dict('lmt_dict_id','折旧月份','cycle'); 
 
  dt_define('dept','select max(a.dept_id) as deptid,b.dept_name from asset_dept_apart a left join app_dept b on a.dept_id = b.dept_id group by dept_name'); 
  def_lmt_dict('lmt_dept_yesno','部门汇总','dept'); 
 
  dt_define('subid','select max(a.subject_id) as subid,b.name from asset_dept_apart a left join evm_subject b on a.subject_id = b.subject_id group by name'); 
  def_lmt_dict('lmt_subid_yesno','科目汇总','subid'); 
 
  def_lmt_set_val('lmt_yes_no',"yes"); 
  return 1; 
}; 
 
int func_init_lmt_val() 

  return 1; 
}; 
 
int func_def_field() 

  db_set_field_count(7); 
  db_set_field_info(0,'dict_id',"折旧月份",100); 
  db_set_field_info(1,'code',"折旧金额",80); 
  db_set_field_info(2,'dept_id',"所属部门编号",80); 
  db_set_field_info(3,'name',"所属部门",100); 
  db_set_field_info(4,'sub_id',"科目id",100); 
  db_set_field_info(5,'sub_name',"科目名称",100); 
  db_set_field_info(6,'asset_name',"资产名称",300); 
  return 1; 
}; 
 
int func_def_imp() 

  return 1; 
}; 
 
int func_init() 

  return 1; 
}; 
 
int func_query() 

  string sql,sql_bydept,sql_normal,sql3,sql4,sql5,sql6,sql_special,logic; 
 
  sql_bydept="select a.cycle_id,sum(a.val_depre) as val,c.dept_id,d.dept_name,c.subject_id,e.name,'null' "; 
  sql_normal="select a.cycle_id,a.val_depre,c.dept_id,d.dept_name,c.subject_id,e.name,f.asset_name "; 
  sql3="from (((asset_acc a left join asset_dept_apart c on c.asset_id=a.asset_id) "; 
  sql4="left join app_dept d on d.dept_id=c.dept_id) "; 
  sql5="left join evm_subject e on c.subject_id=e.subject_id) "; 
  sql6="left join asset f on a.asset_id = f.asset_id"; 
 
  logic=lmt_checked("lmt_dict_id")  ""  lmt_checked("lmt_dept_yesno")  ""  lmt_checked("lmt_subid_yesno"); 
 
  switch(logic) 
  { 
    case "000": 
      sql=sql_normal sql3 sql4 sql5 sql6; 
      //msg("啥都没被勾选"); 
      break; 
    case "100": 
      sql=sql_normal sql3 sql4 sql5 sql6 " where a.cycle_id='"   lmt_val("lmt_dict_id")   "'"; 
      //msg("折旧月份被勾选"); 
      break; 
    case "010": 
      sql=sql_bydept sql3 sql4 sql5 " group by a.cycle_id,c.dept_id,d.dept_name,c.subject_id,e.name"; 
      //msg("部门汇总被勾选"); 
      break; 
    case "001": 
      sql="select a.cycle_id,sum(a.val_depre) as val,'null','null',c.subject_id,e.name,'null' "; 
      sql=sql "from ((asset_acc a left join asset_dept_apart c on c.asset_id=a.asset_id) "; 
      sql=sql "left join app_dept d on d.dept_id=c.dept_id) "; 
      sql=sql "left join evm_subject e on c.subject_id=e.subject_id "; 
      sql=sql " group by a.cycle_id,c.dept_id,c.subject_id,e.name"; 
      //msg("科目汇总被勾选"); 
      break; 
    case "110": 
      sql=sql_bydept sql3 sql4 sql5 " where a.cycle_id='"   lmt_val("lmt_dict_id")   "' group by a.cycle_id,c.dept_id,d.dept_name,c.subject_id,e.name"; 
      //msg("折旧月份、部门汇总被勾选"); 
      break; 
    case "011": 
      warn("请检查!部门汇总、科目汇总不能同时被勾选。"); 
      break; 
    case "101": 
      sql="select a.cycle_id,sum(a.val_depre) as val,'null','null',c.subject_id,e.name,'null' "; 
      sql=sql "from ((asset_acc a left join asset_dept_apart c on c.asset_id=a.asset_id) "; 
      sql=sql "left join app_dept d on d.dept_id=c.dept_id) "; 
      sql=sql "left join evm_subject e on c.subject_id=e.subject_id "; 
      sql=sql " where a.cycle_id='"   lmt_val("lmt_dict_id")   "' group by a.cycle_id,c.dept_id,c.subject_id,e.name"; 
      //msg("折旧月份、科目汇总被勾选"); 
      break; 
    case "111": 
      warn("折旧月份、部门汇总、科目汇总被勾选。" nl() "请检查!部门汇总、科目汇总不能同时被勾选。"); 
      break; 
  }; 
  db_run(sql); 
  return 1; 
}; 
 
int func_run_over() 

  grid_mark_sum("mg","code"); 
  return 1; 
}; 
 
int func_dbl_click() 

  return 1; 
}; 
 
第二部分是在固定资产报表里面的功能菜单-》报表分组脚本定义里面添加如下脚本:  
int init()  
{  
  rep_add_group("固定资产折旧");  
 // rep_add_rep("hello","eba_007","客户报表1");  
  rep_add_csp_rep("固定资产折旧","ds_001","固定资产折旧报表");  
  return 1;  
};




官方认证第三方服务团队  蒋逸凡(常德-zen) qq:50636277
服务介绍: http://www.onlyit.cn/user_home?user_id=13498
# 2    发布于 2016-06-13 22:48

感谢zen分享,设置为原创 精华了。


# 3    发布于 2018-07-13 13:13

留言收藏,好脚本。。。


# 4    发布于 2021-03-17 14:37

感谢zen分享  留言收藏,好脚本。。



 4  1/1   


登录后方可发贴



[ 电话: 0571-85462761 王先生 qq: 124520435 加入软件qq群 - - ]