应用场景:  有很多时候, 需要做一些自动化的工作.  比如目前 产品卡片 中, 增加了一个, 整包标准数, 拣货区库容量.  而这个数量 , 是需要打包人员在做 打包入库, 发现缺少这两项数据,   就根据实测填写在单据里, 然后通过脚本写入到产品资料中, 比较方便.    所以添加了脚本    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)  |