使用帆软内置公式从身份证中获取出生日期获取的日期不对。

如题,我在身份证号码字段添加编辑结束JS,用帆软内置公式获取出生日期,但是获取到的出生日期是错误的!JS下:

var location = this.options.location; //获取当前控件的位置  

var cr = FR.cellStr2ColumnRow(location);

var col = cr.col; //列号  

var ro = cr.row; //行号

var t=contentPane.getCellValue(col-1,ro);

if(t=="居民身份证"){

if(this.getValue().length==18){

var birth=FR.remoteEvaluate('=Format(Date(MID(D2,7,4),MID(D2,11,2),MID(D2,13,2)),"yyyy-MM-dd")');

//contentPane.setCellValue(col+1,ro,birth);捕获.PNG

alert(birth);

}


FineReport linzycc 发布于 2018-12-28 11:00
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
1
cherishdqyLv7高级互助
发布于2018-12-28 11:33
var location = this.options.location; //获取当前控件的位置  
var cr = FR.cellStr2ColumnRow(location);
var col = cr.col; //列号  
var ro = cr.row; //行号
var t = contentPane.getCellValue(col - 1, ro);

if (t == "居民身份证") {
	var value = this.getValue();
	if (value.length == 18) {
		var birth = FR.remoteEvaluate('=Format(Date(MID(' + value + ',7,4),MID(' + value + ',11,2),MID(' + value + ',13,2)),"yyyy-MM-dd")');
		//contentPane.setCellValue(col+1,ro,birth);
		alert(birth);
	}
}


  • linzycc linzycc(提问者) 谢谢,这样获取的是对的,但是为啥用D2不行。。
    2018-12-28 12:01 
  • axing axing 回复 linzycc(提问者) 用D2只能获取固定的单元格值,获取不了扩展出来的
    2018-12-28 12:06 
  • linzycc linzycc(提问者) 回复 axing 哦,这样啊,谢谢
    2018-12-28 14:33 
最佳回答
0
touyuan001Lv6中级互助
发布于2018-12-28 11:04

你是不是弄到下一行上去了。 ro-1

  • linzycc linzycc(提问者) 没有,就是当前行,我是col+1,ro没有减
    2018-12-28 11:53 
最佳回答
0
孤陌Lv6资深互助
发布于2018-12-28 11:10

你的公式这样获取是错的啊  你没有把他们拼接起来 应该修改成这个公式

Format(CONCATENATE(MID(D2,7,4),MID(D2,11,2),MID(D2,13,2)),"yyyy-MM-dd")

  • 5关注人数
  • 857浏览人数
  • 最后回答于:2018-12-28 11:33
    请选择关闭问题的原因
    确定 取消
    返回顶部