单据公式自定义内容,支持浏览器代码。

单据公式自定义内容,支持浏览器代码。

比如:

1、单据自定义公式:取【文本自定义1】字段@符号前的内容

var ifa= function(str){
return String(str).indexOf('@');
}
var index = ifa( 【文本自定义1】 );
return String( 【文本自定义1】 ).substring(0,index)

 

2、单据自定义公式:取【文本自定义1】字段@符号后的内容

var ifa= function(str){
return String(str).indexOf('@');
}
var index = ifa( 【文本自定义1】 );
return String( 【文本自定义1】 ).substring(index+1)

 

----6.8版本支持如果没有@返回空

var ifa= function(str){
return String(str).indexOf('@');
}
var index = ifa( 【商品名称】 );
if( index == -1 ) return ' ' ; else return String( 【商品名称】 ).substring(index+1);

3、其他

1)【b1】字段的平方

Math.pow( 【b1】 , 2) ;

2)5.5变6,5.2也变6
Math.ceil(【b1】);

3)取系统当前时间十分秒
new Date().format("yyyyMMddHHmmssfff");

new Date().format("yyyy-M-d h:m:s");

4)录入数据自动计算

eval(【备注】)

在备注里面录入 1+2+3  ,那么就会自动算出6

 

4、【文本自定义1】内容是1234(只有4位)显示成12年34周

String(  【文本自定义1】 ).substring(0,2)+'年'+String(  【文本自定义1】 ).substring(2)+'周'

5、单据2个日期相减

function getifDaysBetweenDates(date1, date2) {
// 将日期字符串转换为Date对象
var d1 = new Date(date1);
var d2 = new Date(date2);

// 计算两个日期的时间差(毫秒)
var timeDiff = Math.abs(d2.getTime() - d1.getTime());

// 计算天数
var days = Math.ceil(timeDiff / (1000 * 3600 * 24));

return days;
}
if( 【生产日期】 == '' ) { return zte(0 ) } else
return getifDaysBetweenDates( 【表头.录单日期】 , 【生产日期】 )

 

6、容易错的点,因为浏览器的计算是js计算,会存在小数位数精度的问题,所以在写公式的时候,需要加上.toFixed(8) 

比如:

 parseInt( ((【销售数量】 - (【文本1】* 【辅助单位3换算率】))/ 【辅助单位2换算率】).toFixed(8))

 

posted @ 2023-08-14 14:51  天通事业部  阅读(68)  评论(0编辑  收藏  举报