对于webpos录入很多条记录,提交报错的问题
分析:其实是数据量大了,Oracle将varchar 类型转化为json类型,无法识别“/”,数据量小了,Oracle可以兼容,没事,数据量大了就出问题了,而对于DBJSON.calss,会将js中json转化为string的\"给隐藏掉,但是那些本身String中含有\"就没法转化了,比如,multisalers字段,放的是数组对象转化的String ,这种提交可定要报错。
解决方案:1.做很多条记录的时候,用单选营业员
2.在dosave:做上传的时候,将对象值是数组对象的给清空
修改:
datau=bpos.copyJsonObject(bpos.submititems);
datau.multisalers="";
evt.param=Object.toJSON(datau);
额外的优化:
dosave:增加 evt.isclob=true;
数据库m_retail_$r_insert_save ,p_param修改为clob
3.立即上传走的是dosave,处理方法如上,但是先保存到本地,再上传,是没有这个问题的,所以,这种情况下,控制canoffline为TRUE