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

    

 6  1/1   1  
作者
内容
fwj3861  [个人空间]
QQ名  叶子


注册  2010-09-09
发贴数  215
精华贴  8
原创贴  13
来自  越南
状态  正常

级别  贵宾
#1»发布于2021-12-31 12:46

公司关务需要一次性提取所有BOM,因目前不能从res_bom_item表提取出数据,改为从产品组成 res_composing 表提取 
思路: 
1. 公司分为3个独立核算的部门,把3个部门维护BOM的操作员放在对应的分组,在BOM编辑脚本设置BOM明细的定位码:pcode 根据操作员分组自动保存为3个部门的代码 
2. 根据我之前BOM脚本(启用8个扩展属性)详见http://myoit.cn/topic_list_detail?subject_id=3&topic_id=102340&topic_page_id=1设置,BOM的4个自定义分别设置为获取行号,BOM编号,BOM版本日期,反向需求数量(主要用来反向计算内外箱和标签需求量有无限小数位的时候的标准需求量,订单数量/反向需求量=标准需求量),保存BOM之后,点击复制到产品控件(找十二老师定制的dll文件)把当前BOM明细复制到对应的产品组成里面 
3. 按照BOM定位码为查询条件(若没有单独核算的部门,定位码可以使用固定一个数值,只要一个脚本文件就可以),定义4个脚本文件,分别提取全部BOM和3个部门的BOM,加入按照操作员分组执行。 
4. 添加一个主菜单:BOM清单,下面设置4个子菜单,执行对应的脚本文件来提取产品组成清单(用固定数值作为定位码的,这里不用添加主菜单,直接添加一个菜单到生产模块下面即可) 
5. 在BOM列表界面添加4个控件,执行对应的脚本文件来提取产品组成清单(用固定数值作为定位码的,只要添加一个控件即可) 
这里列举查询包含3个定位码的产品组成清单的脚本: 
在此感谢 常德老师,十二老师,孟老师的指导。 
int test() 

  return 1; 
}; 
 
int main() 

 if(is_user_in_group("BOM完整版")) 
 { 
     string v,v1; 
 
     v="select pcode as 部门,a.res_id as 成品编号,a.ext_2 as BOM编号,a.ext_3 as BOM版本日期,a.ext_1 as 序号,a.sub_res_id as 组成材料编号,b.res_name as 组成材料名称,a.ext_4 as 反向用量,"; 
     v=v+"a.num as 需求量,a.note_info as 备注,b.res_unit_type as 标准单位编码 from res_composing a,res b where a.sub_res_id=b.res_id and pcode in ('XC','MB','DY')";//根据产品组成的定位码查询所有产品组成明细,根据组成产品编码提取产品名称 
     v1 = "select o.*, p.name as 标准单位 from ( " + v + " ) o left join (select * from app_dict_def where dict_id = 'res_unit_type') p on o.标准单位编码 = p.code"//根据标准单位编码提取标准单位名称 
  // dbg(v1); 
     db_run(v1); 
     db_drop_field('标准单位编码');//隐藏标准单位编码 
     db_sort_ext('成品编号,序号');//按照成品编号,序号排序 
     db_show('产品组成清单') 
  }; 
  else{ 
  msg('没有权限查看全部BOM清单,请联系管理员!Không được phép xem toàn bộ danh sách BOM, vui lòng liên hệ quản trị viên!')}; 
  //msg('更新完成'); 
  return 1; 
};




        




没有最好,只有更好!
越南-叶子

fwj3861  [个人空间]
QQ名  叶子


注册  2010-09-09
发贴数  215
精华贴  8
原创贴  13
来自  越南
状态  正常

级别  贵宾
#2»发布于2021-12-31 12:53

把显示出来的产品组成清单保存即可



        于 2021-12-31 12:53 被 fwj3861 修改




没有最好,只有更好!
越南-叶子

fwj3861  [个人空间]
QQ名  叶子


注册  2010-09-09
发贴数  215
精华贴  8
原创贴  13
来自  越南
状态  正常

级别  贵宾
#3»发布于2022-07-18 09:15

2022.07.18更新BOM附加成品产品资料相关信息(标准单位,扩展属性4,5),感谢常德老师的左连接的写法指导,感谢十二老师的指导 
int test() 

  return 1; 
}; 
 
int main() 

 if(is_user_in_group("BOM完整版")) 
 { 
    string v,v1; 
     v="select pcode as 部门,a.res_id as 成品编号,a.res_id as 成品名称,"; 
     v=v+"a.ext_2 as BOM编号,a.ext_3 as BOM版本日期,a.ext_1 as 序号,a.sub_res_id as 组成材料编号,b.res_name as 组成材料名称,"; 
     v=v+"b.res_unit_type as 材料单位,a.num as 需求量,a.ext_4 as 反向用量,a.note_info as 备注 from res_composing a,res b where a.sub_res_id=b.res_id and pcode in ('XC','MB','DY')"; 
     v1="select o.部门,p.ext_5 as 客户,o.成品编号,o.成品名称,p.res_unit_type as 成品单位,p.ext_4 as 每箱数量,o.BOM编号,o.BOM版本日期,o.序号,o.组成材料编号,o.组成材料名称,o.材料单位," 
     v1=v1+"o.需求量,o.反向用量,o.备注 from ( " + v + " ) o left join (select * from res) p on o.成品编号 = p.res_id" 
     db_run(v1); 
     db_map("res_unit_type","成品单位","成品单位"); 
     db_map("eba","客户","客户"); 
     db_map("res_unit_type","材料单位","材料单位"); 
     db_map("res","成品名称","成品名称"); 
     db_sort_ext('成品编号,序号'); 
     db_show('线材部&面板部&电源部_BOM清单合并版') 
  }; 
  else{ 
  msg('没有权限查看全部BOM清单,请联系管理员!Không được phép xem toàn bộ danh sách BOM, vui lòng liên hệ quản trị viên!')}; 
  //msg('更新完成'); 
  return 1; 
};







没有最好,只有更好!
越南-叶子

ychiou  [个人空间]


注册  2018-04-12
发贴数  4
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#4»发布于2022-08-19 09:28

请问bom表需要用到脚本吗,能不能不用脚本也用到这个功能呢?




fwj3861  [个人空间]
QQ名  叶子


注册  2010-09-09
发贴数  215
精华贴  8
原创贴  13
来自  越南
状态  正常

级别  贵宾
#5»发布于2022-08-19 10:35

不用脚本需要官方添加支持才行






没有最好,只有更好!
越南-叶子

林先生  [个人空间]


注册  2022-05-21
发贴数  5
精华数  0
原创贴  0
来自  
状态  正常

级别  会员
#6»发布于2022-08-20 09:09

系统脚本学会了就可以自己各方面DIY了…赞一个…





 6  1/1   1  

登录后方可发贴


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