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

    

 4  1/1   1  
作者
内容
afoo  [个人空间]
QQ名  常德-ZEN


注册  2010-04-08
发贴数  201
精华贴  6
原创贴  6
来自  常德-ZEN
状态  正常

级别  会员
#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

qf2016  [个人空间]
QQ名  meng 113779009


注册  2016-01-17
发贴数  1066
精华数  0
原创贴  0
来自  
状态  正常

级别  版主
#2»发布于2016-06-13 22:48

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


        


webshow  [个人空间]


注册  2009-02-09
发贴数  126
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#3»发布于2018-07-13 13:13

留言收藏,好脚本。。。


        


suan228  [个人空间]


注册  2014-06-12
发贴数  10
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#4»发布于2021-03-17 14:37

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


        



 4  1/1   1  


登录后方可发贴


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