应用场景: 有很多时候, 需要做一些自动化的工作. 比如目前 产品卡片 中, 增加了一个, 整包标准数, 拣货区库容量. 而这个数量 , 是需要打包人员在做 打包入库, 发现缺少这两项数据, 就根据实测填写在单据里, 然后通过脚本写入到产品资料中, 比较方便. 所以添加了脚本 int func_after_check() { // 更新产品的拣货库容量 num pick_stor_capa; pick_stor_capa = gui_get_val("imask_pick_stor_capa"); if (pick_stor_capa > 0) { string sql, res_id; res_id = grid_get_v("MG_Item", 'res_id', 1); if (res_id != '') { sql = "delete from res_attr where res_id='" + res_id + "' and attr_id='pick_stor_capa'"; db_run(sql); db_run('commit'); sql = "insert into res_attr (res_id,attr_id,attr_val) values ('" + res_id + "', 'pick_stor_capa', '" + pick_stor_capa + "')"; db_run(sql); db_run('commit'); } } // 更新产品的包装标准数量 num pack_num; pack_num = gui_get_val("imask_pack_num"); if (pack_num > 0) { string sql, res_id; res_id = grid_get_v("MG_Item", 'res_id', 1); if (res_id != '') { sql = "delete from res_attr where res_id='" + res_id + "' and attr_id='pack_num'"; // dbg(sql); db_run(sql); db_run('commit'); sql = "insert into res_attr (res_id,attr_id,attr_val) values ('" + res_id + "', 'pack_num', '" + pack_num + "')"; // dbg(sql); db_run(sql); db_run('commit'); } } return 1; }; 发现 因为像产品资料, 客户, 供应商 的基础信息, 扩展, 附加属性, 都是有可能会跟 单据有关联. 如果增加 基础资料的设置函数, 会提升不少效率. 建议增加下列函数 set_res(res_id, col, val) set_res_attr(res_id, attr_id, attr_val) set_eba(eba_id, col, val) set_eba_attr(eba_id, attr_id, attr_val) set_sup(sup_id, col, val) set_sup_attr(sup_id, attr_id, attr_val) |